(58)【調査した分野】(Int.Cl.,DB名)
前記エラー通知手段は、前記エラーイメージを、前記エラー情報が格納されたアイテムの画像に一部重ねて表示させることを特徴とする請求項2または3記載のプログラマブル表示器。
【発明を実施するための最良の形態】
【0016】
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本例のプログラマブル表示器1を含むシステム全体の概略構成図である。
図1に示すプログラマブルコントローラシステムは、各種接続機器4と、通信ライン6を介して各種接続機器4に接続するプログラマブル表示器1とを有する。更に、プログラマブル表示器1が、通信ライン3を介して作画エディタ装置5に接続された構成であってもよい。但し、作画エディタ装置5は、必ずしも必要なわけではない(一例を示しているに過ぎない)。
【0017】
プログラマブル表示器1には、複数の通信インタフェース2(通信ポート)が備えられており、各通信インタフェース2に接続された通信ライン3/通信ライン6によって各種接続機器4や作画エディタ装置5と接続されている。
【0018】
図2は、本例のプログラマブル表示器1の構成例である。
プログラマブル表示器1は、上述した従来例と略同様に上述した画面データ等に基づく操作表示画面の表示等を行う機能を有するが、更に、特定のエラーが生じた場合に当該エラーに関係するアイテム表示に対応させて特定マーク等を表示する機能を有する。詳しくは後述する。
【0019】
図示のプログラマブル表示器1は、表示操作制御装置10と、タッチパネル18、ディスプレイ19、上記通信インタフェース2等を有する。
表示操作制御装置10は、CPU11、ROM12(フラッシュメモリ等)、RAM13、通信コントローラ14、グラフィックコントローラ15、タッチパネルコントローラ16等より成り、これらがバス17に接続されている。
【0020】
CPU11は、表示操作制御装置10全体を制御する中央処理装置(演算プロセッサ)である。CPU11は、ROM12に予め格納されているプログラム(例えば後述する本体プログラム21等)を実行することで、所定の演算動作(処理)を行う。例えば後述する
図5や
図7、
図8等で説明する処理を実行する。各種の演算結果は、例えばRAM13やROM12に格納される。
【0021】
また、ROM12には、上記背景技術で説明した画面データ(後述する画面データ22)等が格納されている。上記のように、画面データは、例えば上述したスイッチ、ランプ等の各アイテム毎に、そのアイテムの画像や表示位置座標や大きさ等の表示に係わるデータや、上記割当メモリアドレス(割当メモリ領域)等のメモリアクセスに係わるデータ等を有する。
【0022】
上記CPU11の処理には、例えば上記背景技術で説明した“各アイテム毎の割当メモリアドレス等の格納データ”(上記外部メモリの所定領域の格納データ)を取得する処理等が含まれる。この取得データは、例えば後述する共有メモリ45に一時的に格納される。尚、共有メモリ45は、上記RAM13やROM12の記憶領域の一部であってもよいし、不図示の他のメモリであってもよい。
【0023】
また、上記CPU11の処理によって、例えば上記画面データや上記取得データ等に基づく表示対象データが、例えばRAM13(あるいは不図示のビデオRAM)上に展開(描画)される。この描画に基づいてグラフィックコントローラ15が、ディスプレイ19上に上述した操作表示画面等を表示する。例えばランプを例にすると、上記画面データには消灯画像と点灯画像とが含まれており、上記取得データが‘0’であれば消灯画像、‘1’であれば点灯画像が、上記表示対象データとなる。
【0024】
尚、上記画面データや取得データ等に基づく操作表示画面の表示処理自体は、従来と略同様であってよい。本手法では、この様な表示に加えて、更に後述する特定マーク(!など)を表示する場合があるものである。
【0025】
すなわち、操作表示画面の表示内容には、上記のように取得データ(外部メモリの所定領域の格納データ)の内容が反映される場合がある。例えば上記ランプの例の場合、ある時点での取得データが‘1’であった為に点灯画像を表示している状態で、格納データが‘0’に変わったとする。しかし、何らかの原因でこの格納データの取得に失敗した場合、本来であれば消灯画像に切り替わらなければならないのに、点灯画像が表示されたままとなってしまう。
【0026】
本手法においても、この様なケースでは点灯画像が表示されたままとなる。しかしながら、この点灯画像に対応させて(この点灯画像に重ねて;あるいはこの点灯画像の近くに)後述する特定マーク(!など)を表示する。これによって、オペレータ等は、この点灯画像の表示が間違っている(現状を反映させていない;過去の状態のままである)可能性があると認識できる。
【0027】
ディスプレイ19は、例えば液晶パネル等より成り、この液晶パネル上に重ねるようにしてタッチパネル18が設けられる。ディスプレイ19上には、基本的には、複数のアイテム画像が所定位置に配置されて成る上記操作表示画面が表示される。但し、本手法の場合、上記の通り、特定マーク(!など)が更に表示される場合もある。
【0028】
また、通信コントローラ14は、通信インタフェース2を介して、不図示のPLC本体等や温調装置等である接続機器4や作画エディタ装置5との通信(データ送受信等)を行う。
【0029】
オペレータ等によるタッチパネル18上での押圧操作(タッチ)位置の検知結果は、タッチパネルコントローラ16を介してCPU11等に取り込まれて解析される。例えば各アイテムの上記表示位置座標や大きさのデータ等に基づいて、解析することになる。例えば、上記スイッチの画像の表示位置をオペレータ等がタッチすると、CPU11等は、このスイッチに対する操作が行われたものと解析することになる。
【0030】
図3に、上記本システムのソフトウェア構成図を示す。
プログラマブル表示器1においては、本体プログラム21、画面データ22、通信プログラム23等の各種プログラム/データが、例えば上記ROM12(フラッシュメモリ等)に格納されている。これらのプログラム/データ等をCPU11が読出し・実行/参照等することで、プログラマブル表示器用の上記操作表示画面等の表示制御等が行なわれる。この操作表示画面は、上述した数値表示、ランプ、スイッチ等の各種アイテムの画像表示から成り、各アイテム画像の表示内容は、例えば各接続機器4(外部メモリ;割当メモリ領域)から取得したデータ(上記取得データ)を反映させる形で随時更新される。
【0031】
基本的には、CPU11が本体プログラム21と画面データ22とに基づく処理を行うことで、上記操作表示画面が表示される。そして、この操作表示画面上の各画面部品の表示内容(温度等の数値表示やランプの点灯/消灯など)は、通信プログラム23による各接続機器4との通信結果(上記取得データ等)等に基づいて、随時、更新等されるものである。
【0032】
上記画面データ22は、例えば予め作画エディタ装置5側で任意に作成された画面データファイル32が、プログラマブル表示器1にダウンロードされた格納されたものである。また、上記通信プログラム23も、例えば予め作画エディタ装置5側に格納されていた通信プログラムファイル33(その一部)が、プログラマブル表示器1にダウンロードされて格納されたものである。
【0033】
上述したように、基本的には、CPU11が、本体プログラム21と画面データ22と取得データ等に基づく上記操作表示画面の表示制御を行う。例えば、数値表示やランプ等のアイテムに関して、定期的に、そのアイテムの割当メモリ領域からデータを読み出して、そのアイテムの表示内容を当該読出データに基づいて更新する。あるいは、例えばスイッチ等のアイテムに関しては、ユーザが、この操作表示画面上の所望のスイッチをタッチすると(ON/OFF操作すると)、スイッチON画像表示/スイッチOFF画像表示が行われる。また、CPU11は、このスイッチ操作に応じた接続機器4の制御も行う。
【0034】
尚、上記割当メモリ領域は、上記背景技術における外部メモリの所定の記憶領域(割当メモリアドレス)に相当するものである。尚、以後、上記外部メモリに相当するメモリを“機器メモリ”と呼ぶものとする。また、上記内部メモリに相当するメモリを“表示器メモリ”と呼ぶものとする。
【0035】
尚、既に従来で述べたように、上記“機器メモリ”(外部メモリ)は、接続機器4が備えるメモリであって、各アイテムのメモリ割当が行われるものである。上記のように、各アイテムの表示内容は、この割当メモリ領域の格納データに基づいて決定・更新される。
【0036】
そして、従来で述べたように、この割当メモリ領域からの読出しデータを、プログラマブル表示器1内の“表示器メモリ”(内部メモリ)に一時的に格納し、これに基づいてアイテム表示制御を行う構成がある。
【0037】
すなわち、例えば後述する各通信処理部44等によって定期的に、接続機器4内のメモリデバイス(機器メモリ)の所定の記憶領域からデータを読み出して、この読出データを上記表示器メモリに格納する処理が行われる。そして、表示器メモリの格納データ等に基づいて、上記操作表示画面の表示制御が行われることになる。これによって、操作表示画面上の各アイテム画像の表示内容が、そのアイテムに対応する割当メモリ領域の最新の格納データの内容を反映させたものとなる。
【0038】
但し、何らかの原因によって任意のアイテムの割当メモリ領域の格納データを取得できなかった場合等には、そのアイテム画像の表示内容が最新データを反映させたものではない(よって信頼性が低い)ものとなる可能性がある。通信エラーが原因の場合、エラーとなった通信相手の接続機器4に係わるアイテム全てについて、その表示内容が信頼性が低いものとなる可能性がある。従来では上記の通り、オペレータ等は、エラー発生したことは知ることが出来ても、どのアイテム画像の表示内容が信頼性が低いのかを判断することは困難であった。これに対して、本手法によれば、誰でも簡単に、どのアイテム画像の表示内容が信頼性が低いのかを認識することができる。
【0039】
プログラマブル表示器1の通信プログラム23は、通信ライン6を介して接続機器4と通信を行うためのプログラムである。通常、接続機器4の機種毎等に固有の通信プロトコル(通信規定)を持ち、この通信規定に従って、プログラマブル表示器1−接続機器4間での通信を行う。そのため、通信プログラム23は、各接続機器4の機種毎等に開発が必要となる。尚、当然、CPU11などが通信プログラム23を実行することで、接続機器4との通信処理が実現される。
【0040】
尚、プログラマブル表示器1−作画エディタ装置5間の通信は、例えば本体プログラム21と作画エディタ31とによって行う(通信機能が作画エディタ31に組み込まれている)。これについては特に関係ないので、図示・説明しない。PLC本体等である接続機器4は、様々なメーカー・機種があり、各メーカー/機種毎に独自の通信プログラムがあり、上記通信プログラム23は、接続機器4のメーカー/機種に応じて場合によっては複数種類備えられるものとなる。
【0041】
通信プログラム23は、通常、作画エディタ装置5内の不図示のHD(ハードディスク)内に、複数の通信プログラムファイル33(各機種毎に開発済の複数の通信プログラム)として予め記憶されている。そして、作画エディタ装置5は、作画エディタ31によりユーザが任意の接続機器4を選択・指定すると、該選択された接続機器4に応じた通信プログラムファイル33を、プログラマブル表示器1に転送して、上記通信プログラム23として記憶させる。
【0042】
接続機器4内の機器メモリへのアクセスは、作画エディタ31の各種設定(画面データファイル32作成時の設定)により行う。
例えば、ユーザが、画面データファイル32作成時に、画面内に数値表示アイテムを配置すると共にこの数値表示アイテムに関して機器メモリの任意のアドレスを指定することで、プログラマブル表示器1が機器メモリの指定アドレスのデータを周期的に読み込んで表示する動作を設定できる。換言すれば、この画面データファイル32をプログラマブル表示器1にダウンロードして画面データ22として使用させれば、プログラマブル表示器1は、機器メモリの指定アドレスのデータを周期的に読み込む動作(更に取得データを表示器メモリに一時的に格納する動作)と、取得データに基づいて画面上に数値表示する動作等を行うことになる。
【0043】
尚、上記機器メモリへのアクセスや取得データの一時的格納や画面表示等の各種処理を実現させるプログラムは、例えば本体プログラム21に含まれていてもよいし、画面データファイル32(画面データ22)に含まれていてもよい。何れにしても、この様なプログラムを例えば上記CPU11が実行することで、上記各種動作(あるいは後述する
図5、
図7、
図8で説明する動作など)が実現されることになる。
【0044】
あるいは、画面データファイル32作成時に、例えば画面内にスイッチを配置すると共に出力メモリとして機器メモリの任意のアドレスを指定すると、プログラマブル表示器1の表示操作画面上でスイッチが押されたときに該機器メモリの指定アドレスに書き込む動作を設定できる。
【0045】
何れにしても、上記機器メモリへのアクセス処理や、アイテム表示内容の更新処理自体は、従来と略同様であっても構わない。本手法では、上記操作表示画面上に更に後述する特定マーク(!など)が表示される場合があるものである(例えば任意の接続機器4との通信エラー発生時など)。これについて、以下、
図4以降を参照して詳しく説明する。
【0046】
図4に、本例のプログラマブル表示器1における特定のエラー発生時の上記操作表示画面例を示す。
上記特定のエラーとは、任意のアイテムに係わる上記機器メモリの割当メモリ領域からのデータ読出し(データ取得)失敗であり、例えば接続機器4との通信エラー等が原因となる。このデータ取得失敗に係るアイテムの画像表示に対応して、予め登録されている特定のマーク(ここでは図示の!マークとする)を表示することが、本手法の特徴の1つである。
【0047】
図4に示す例では、図示の各アイテム画像に一部重ねるようにして、所定のエラー画像の一例である特定マーク(!)が表示されている。但し、この例に限らず、例えば各アイテム画像の近くに特定マーク(!)が表示されるようにしてもよい。何れにしても、データ取得失敗に係るアイテムの画像表示に対応させて、特定マーク(!)が表示されるように構成する。
【0048】
尚、所定のエラー画像は、例えば一例としては何らかの静止画であり、この静止画の一例が上記“!”であるが、勿論、この例に限らず、予め登録された何らかの静止画であってよい。また、所定のエラー画像は、静止画に限るものではなく、動画、写真、文章、アニメーション等であってもよく、あるいはこれらの組み合わせ等であってもよい。本発明では、何らかの静止画、予め登録された静止画、そして動画、写真、文章、アニメーション等、あるいはこれらの組み合わせたものを所定のエラー画像と定義する(エラーイメージともいう)。
【0049】
図示の例では、3種類のアイテム画像を示すが、全てに上記特定マーク(!)が表示されているので、ユーザは、例えば、3つのアイテム画像全ての表示内容が、信用できない状態であると認識できる。
【0050】
あるいは図示しないが例えば3種類のアイテム画像のうちの1つのアイテム画像のみに対応して特定マーク(!)が表示されるケースも有り得る。この例の場合、この1つのアイテム画像の表示内容は信用できない状態であるが、残りの2つのアイテム画像の表示内容は信用できる状態であると認識できる。
【0051】
図5は、本例のプログラマブル表示器の処理機能図である。
CPU11が、例えば上記ROM12に記憶されている所定のプログラム(例えば上記本体プログラム21、通信プログラム23等)を実行することにより、例えば
図5の点線内に示す各種処理機能部が実現される。すなわち、図示のアイテム生成部41、アイテム処理スケジュール部42、アイテム処理部43、通信処理部44(44−1、44−2等)等の各種処理機能部の下記の処理機能が実現される。
【0052】
尚、例えば、アイテム生成部41とアイテム処理スケジュール部42とアイテム処理部43とは、本体プログラム21によって実現される。通信処理部44は、本体プログラム21と通信プログラム23とによって実現される。
【0053】
また、これら処理機能の処理実行の際には、上記画面データ22や図示のエラー表示画像データ47が用いられる。尚、エラー表示画像データ47は、本例では予めROM12等に記憶されている上記特定マーク(本例では!)であるが、この例に限らない。
【0054】
アイテム生成部41は、上記画面データ22等に基づいて、アイテムリスト46を生成する。これは、例えば、画面データ22の一部を抽出する形で生成する(更に後述する処理済みフラグ67を追加する)。
【0055】
ここで、
図9(a)に、アイテムリスト46のデータ構成図を示す。
図示の例のアイテムリスト46は、アイテムタイプ61、座標62、サイズ63、デバイス名64、アドレス65、“アイテムタイプ毎のデータ”66、処理済みフラグ67の各データ項目より成る。処理済みフラグ67以外は従来と同様と見做してよく、以下、簡単に説明する。
【0056】
アイテムタイプ61には、そのアイテムの種類(スイッチ、ランプ、数値表示等)を示すアイテム種別識別情報が格納される。
“アイテムタイプ毎のデータ”66には、そのアイテムの画像データ(アイテム画像;アイテムタイプがスイッチであれば何らかのスイッチの画像)等の付随情報等が格納される。このアイテム画像の画面上での表示位置と大きさを示すデータが、上記座標62、サイズ63に格納される。これらが、各アイテムの操作表示画面上での画像表示に係わるデータである。
【0057】
また、デバイス名64とアドレス65は、各アイテムに関するメモリ割当情報であり、上記割当メモリアドレスに相当する。つまり、デバイス名64が示すメモリにおけるアドレス65が示す記憶領域が、そのアイテムに割り当てられた領域(上記割当メモリ領域)である。この記憶領域に、例えばアイテムタイプ61がランプであれば、ランプの点灯/消灯を示すフラグデータ等が格納されることになる。尚、デバイス名64が示すメモリは、上記機器メモリ(任意の接続機器4内のメモリ)である。
【0058】
アイテム処理スケジュール部42は、アイテム処理部43による各アイテム画像の表示状態更新処理等のスケジュール管理を行う。つまり、アイテム処理スケジュール部42は、例えば定期的にアイテム処理部43を呼び出して例えば後述する
図8の処理を実行させる(換言すれば、
図8の処理をサイクリックに実行させる)。
【0059】
アイテム処理部43は、上記アイテムリスト46や後述する共有メモリ45の格納データ等に基づいて、各アイテム毎に、その画像の表示内容の更新等に係わる処理(アイテム表示手段としての処理)を実行する。その際、本手法では更に、場合によっては特定マーク(!)を表示する。
【0060】
すなわち、アイテム処理部43は、特定のエラー(アイテム表示に係るデータ取得失敗;例えば接続機器4との通信エラー等が原因となる)に係わるアイテムの画像表示に対応させて(例えば一部重ねる形で)、エラー表示画像データ47(特定マーク(!))を表示する処理(エラー通知手段としての処理)も行うものである。詳細については、
図6に示す共有メモリ45の格納データの具体例を用いて後に説明するものとする。尚、共有メモリ45は上記表示器メモリに相当する。
【0061】
また、アイテム処理部43は、各アイテム画像をRAM13上に描画(展開)する。その際、アイテムの種類によっては上記取得データも一緒にRAM13上に描画(展開)する。これによって、グラフィックコントローラ15が当該描画データをディスプレイ上に表示することで、上記表示操作画面が表示されることになる。この描画データは、アイテム処理部43によって例えば後述する
図8の処理実行毎に随時更新される。また、場合によっては上記特定マーク(!)等も描画されることで、例えば
図4に示すような表示となる場合もある。
【0062】
通信処理部44は、各接続機器4(4−1、4−2)毎に対応して備えられる通信処理部44−1、44−1(通信処理手段)である。すなわち、図示の通信処理部44−1は、接続機器4−1に対応する通信ポートWAY1を使用して、通信ライン6を介して、接続機器4−1との通信を行って、その機器メモリの所定領域(割当メモリ領域)の格納データを取得する。取得データは、共有メモリ45の所定領域に上書き格納する。
【0063】
同様に、図示の通信処理部44−2は、接続機器4−2に対応する通信ポートWAY2を使用して、通信ライン6を介して、接続機器4−2との通信を行って、その機器メモリの所定領域(割当メモリ領域)の格納データを取得する。取得データは、共有メモリ45の所定領域に上書き格納する。
【0064】
上記割当メモリ領域の格納データの取得処理や共有メモリへの格納処理自体は、従来と略同様であってもよいが、本手法では更にデータ取得失敗があった場合には、上記共有メモリ45の該当領域にエラー情報を記録する。この該当領域とは、例えば任意のアイテムに係わるデータ取得失敗があった場合、このアイテムに関する共有メモリ45上の該当レコードの後述するエラー情報55の欄である。
【0065】
これによって、その後に上記アイテム処理部43によるRAM13上の描画処理の際に、データ取得失敗したアイテムに関しては上記特定マーク(!)が描画される。これによって、操作表示画面上において上記データ取得失敗したアイテムの画像に対応して特定マーク(!)が表示されることになる。
【0066】
図6に、上記共有メモリ45の具体例を示す。
図6(a)には共有メモリ45のデータ構造例、
図6(b)にはデータ格納例を示す。
図6(a)に示す例では、共有メモリ45の格納データ50は、ポート51、デバイス名52、アドレス53、データ54、エラー情報55の各データ項目より成る。尚、これらのうち、エラー情報55以外のデータ項目は、従来と略同様であっても構わない。よって、以下、簡単に説明する。
【0067】
ポート51は、上記通信ポートの識別情報等であり、実質的には通信相手の接続機器4を識別する情報となる。デバイス52は、通信相手の接続機器4内のメモリデバイス(機器メモリ)の識別情報である。アドレス53は、デバイス52が示す機器メモリにおける所定の記憶領域のアドレスであり、データ54にはこの記憶領域から取得したデータが格納される。
【0068】
尚、ポート51とデバイス名52とアドレス53とが、各アイテムの上記“割当メモリアドレス”に相当すると見做してよい。つまり、
図6(b)に示す各レコードは、各アイテムに対応するものである。画面データ22等に含まれる各アイテム毎の上記割当メモリアドレスを、ポート51、デバイス名52、及びアドレス53に格納することで、
図6(b)に示す各レコードが生成される。尚、その際に、レコードとアイテムとのリンクを形成しておく。これによって、任意のアイテムの表示更新処理等を行う際には、共有メモリ45においてこのアイテムに対応するレコードを参照することになる。
【0069】
そして、エラー情報55には、通信処理部44によって特定のエラー発生を示す情報が格納される場合がある。すなわち、通信処理部44は、任意のアイテムに係わる上記割当メモリ領域からのデータ取得に失敗した場合、共有メモリ45におけるこのアイテムの該当レコードにおけるエラー情報55に、特定のエラー発生を示す情報(図示の“エラー”)を格納する。
【0070】
上記のことから、あるアイテムに関するレコードが
図6(b)に示す例の2番目のレコードである場合、接続機器4−1のメモリデバイスDにおけるアドレス200番地が、このアイテムの“割当メモリアドレス”であり、図示の例ではこの“割当メモリアドレス”の現在の格納データは‘1000’であることになる。但し、エラー情報55が“エラー”である場合には、この数値が正しいとは限らない。
【0071】
たとえば、
図6(b)に示す例の1番目のレコードの場合、接続機器4−1のメモリデバイスDにおけるアドレス100番地に、データ‘12345’が格納されてことが示されているが、これが正しい情報とは限らない。なぜなら、1番目のレコードのエラー情報55に“エラー”が格納されているからである。
【0072】
つまり、通信処理部44−1が、接続機器4−1のメモリデバイスDのアドレス100番地からのデータ取得を試みたが、通信エラー等が原因でデータ取得失敗した為、1番目のレコードのエラー情報55に図示のように“エラー”を格納している。この場合、上記データ‘12345’は、現在のデータではなく、古いデータであるかもしれない。本手法では、この様な場合、例えば1番目のレコードに対応するアイテム(例えば上記リンクにより判別できる)の画像表示に、特定マーク(!)を例えば一部重ねて表示する。これによって、オペレータ等は、例えば画面に表示されている上記‘12345’が、正しい数値ではない可能性があることを認識できる。
【0073】
アイテム処理部43は、例えば後述する
図8の処理のように、例えば定期的に各アイテム毎に、共有メモリ45の該当レコードを参照して、そのデータ54を取得して、これに基づいてそのアイテム画像の表示内容を決定・更新する処理を行う。この処理自体は従来と略同様であってもよいが、本例のアイテム処理部43は、更に、エラー情報45を参照して、これに基づいた処理を行う。
【0074】
すなわち、アイテム処理部43は、エラー情報55が“正常”であれば、上記従来と同様の処理を行うだけである。一方、任意のアイテムに係わるエラー情報55が“エラー”である場合には、アイテム処理部43は、エラー表示画像データ47(特定マーク(!))を、そのアイテムの画像の表示位置に、例えば当該アイテム画像に重ねる形で表示する(例えば
図4に示す例のように表示する)。但し、これは一例であり、この例に限らない。
【0075】
図7は、通信処理部44の処理フローチャート図である。
例えば
図5の例では各通信処理部44−1、44−2が、各々、
図7の処理をサイクリックに(定周期で)実行するものである。
【0076】
図7の処理例では、まず、共有メモリ45を参照して、自己が担当する接続機器4に係るメモリリスト101を生成する(ステップS1)。例えば、通信処理部44−1による処理の場合には、接続機器4−1に係るメモリリスト101を生成することになる。
【0077】
図9(b)に、このメモリリスト101のデータ構成例を示す。
図示の例では、メモリリスト101は、デバイス名71、アドレス72、データ73、エラー情報74の各データ項目より成る。例えば上記通信処理部44−1の例の場合、共有メモリ45からポート51が“WAY1”であるレコードを全て抽出して、該各抽出レコードのデバイス名52、アドレス53、データ54、エラー情報55の情報を、上記デバイス名71、アドレス72、データ73、エラー情報74に格納することで、上記接続機器4−1に係るメモリリスト101を生成することになる。尚、データ73、エラー情報74は、必ずしも必要ないものである。代わりに、処理済みか否かを示すフラグ情報が格納されていてもよい。
【0078】
その後は、生成したメモリリスト101を参照しながら、ステップS7の判定がNOとなるまで、ステップS2〜S7の処理を繰り返し実行する。
すなわち、メモリリスト101から未処理のレコードを取り出して(処理対象レコードとし)、このレコードの内容に基づくメモリ読込コマンドを生成して自己が担当する接続機器4に通信ライン6を介して送信する(ステップS2)。そして、このコマンドに対する接続機器4からの応答待ちとなる(ステップS3)。このコマンドには、上記デバイス名71やアドレス72等のアクセス先を特定する情報(割当メモリアドレス)が含まれ、接続機器4はこの割当メモリアドレスが示す記憶領域からデータを読み出して、この読出しデータを返信する応答処理を行う。但し、何らかの理由でデータ読出しに失敗した場合には、メモリリードエラー等を返信する。
【0079】
通信処理部44は、例えば上記コマンド送信時から所定時間経過しても応答が無かった場合(通信エラーの場合など)、あるいは応答内容がメモリリードエラー等であった場合には、特定のエラーが発生したものと判定し(ステップS4,YES)、上記共有メモリ45において処理対象レコードに相当するレコードにおける上記エラー情報55の欄に“エラー”を格納する(ステップS6)。
【0080】
一方、接続機器4から正常応答があった場合には(ステップS4,NO)、この応答に含まれる上記読出しデータを、上記共有メモリ45において処理対象レコードに相当するレコードにおける上記データ54の欄に格納する(ステップS5)。尚、その際、エラー情報55の欄に“エラー”が格納されていた場合には、これをクリアする(あるいは“正常”を格納する)。
【0081】
そして、上記ステップS5、S6の何れかの処理を実行後、メモリリスト101に未処理のレコードが残っているか否かをチェックし、残っている場合には(ステップS7,YES)ステップS2に戻り、残っていない場合には(ステップS7,NO)本処理を終了する。
【0082】
図8は、アイテム処理部43の処理フローチャート図である。
上記の通り、
図8の処理は、アイテム処理スケジュール部42の管理のもとでサイクリックに実行される。
【0083】
図8の処理例では、アイテム処理部43は、まず、アイテムリスト46の初期化処理を実行する(ステップS11)。これは、例えば、アイテムリスト46の全レコードの処理済みフラグ67を“未処理”にする。その後は、後述するステップS19がNOとなるまで、ステップS12〜S19の処理を繰り返し実行する。
【0084】
すなわち、アイテムリスト46においてフラグ67が“未処理”であるレコードのなかの任意のレコードを処理対象レコードとして、該処理対象レコードを参照してそのデバイス名64、アドレス65等を取得して(ステップS12)、これらを用いて共有メモリ45の該当レコードを検索してそのデータを取得する(ステップS13)。つまり、例えば、そのデバイス名52及びアドレス53が、上記デバイス名64及びアドレス65と同一であるレコードが、上記該当レコードである。そして、該当レコードのデータ54とエラー情報55をメモリ情報102として取得する(ステップS13)。
【0085】
尚、メモリ情報102は、
図9(c)に示すデータ81、エラー情報82から成るものとし、これらは上記取得したデータ54とエラー情報55である。
そして、上記メモリ情報102に基づいて、特定エラー(通信エラー、メモリリードエラー等)が発生したか否かを判定する(ステップS14)。これは、エラー情報82が“エラー”であるか“正常”であるかによって判定する。当然、エラー情報82が“エラー”であれば特定エラーが発生したと判定し(ステップS14,YES)ステップS16の処理へ移行する。一方、エラー情報82が“正常”であれば特定エラーは無いと判定し(ステップS14,NO)ステップS15の処理へ移行する。
【0086】
特定エラーが無い場合には(ステップS14,NO)、従来通りの表示処理を行う。すなわち、データ81と上記処理対象レコードの情報(アイテムの画像や座標、サイズ等)を用いた通常のアイテム描画処理(例えばRAM13上に展開する)を行う(ステップS15)。
【0087】
一方、特定エラーがある場合には(ステップS14,YES)、上記処理対象レコードの情報とエラー表示画像データ47を用いた、本手法によるエラー時のアイテム描画処理を行う(ステップS16、S17)。これは、まず、エラー表示画像データ47(特定マーク(!など))の表示位置座標を決定する処理を行う(ステップS16)。
【0088】
このステップS16の処理自体は、様々であってよいが、基本的には座標62(=X,Y)に基づいて、予め決められた所定のオフセット値等を用いることで、特定マーク(!)の表示位置座標を決定する。例えば、座標62はアイテム表示領域の左上角の座標である場合が多いので、特定マーク(!)をアイテム表示領域の右上角に表示させたい場合には、例えばサイズ63の“幅”を用いて、(X+幅,Y)を特定マーク(!)の表示位置座標とすればよい。
【0089】
そして、上記ステップS16で決定した座標に上記特定マーク(!)を描画する(例えばRAM13上に展開する)処理を行う(ステップS17)。尚、その前に、ステップS15と同様のアイテム描画処理も行うようにしてもよいが、この処理は行わなくても良い。
【0090】
尚、既に述べた通り、グラフィックコントローラ15が、RAM13上の描画データ等をディスプレイ上に表示させる。従って、上述した処理例では、特定エラーが生じたアイテムの画像の右上角に、特定マーク(!)が表示されることになる。
【0091】
この様にして、特定エラーが生じたアイテムを特定すると共に、このアイテムの画像に対応させて(重ねて;あるいは近辺に)上記特定マーク(!)を表示させることで、オペレータ等は一目で、当該アイテム画像の内容は信頼できない等と認識することができる。
【0092】
上記ステップS15またはステップS16,S17の処理を実行完了したら、アイテムリスト46の処理対象レコードのフラグ67を“処理済”に変更する(ステップS18)。
【0093】
そして、アイテムリスト46に未処理のレコードが残っていれば(ステップS19,YES)ステップS12に戻り、全て処理済みであれば(ステップS19,NO)本処理を終了する。
【0094】
以上説明したように、本例のプログラマブル表示器1等によれば、任意のアイテムに関連付けられたメモリデータの取得が何らかの原因で出来ない状態となった場合、このアイテムを特定すると共にこのアイテムに対応したエラー表示を行うことで、オペレータが一目で異常なアイテムを判別することができるようにする。