(57)【特許請求の範囲】
【請求項１】
プログラマブル表示器と該プログラマブル表示器に接続する支援装置を有するプログラマブルコントローラシステムであって、
前記支援装置は、
外部メモリ領域と演算式が登録されたシンボルの情報を記憶するシンボル情報記憶手段と、
前記プログラマブル表示器用の画面データを構成するアイテムに、任意の前記シンボルを関連付けさせるシンボル関連付手段とを有し、
前記プログラマブル表示器は、
前記シンボルが関連付けられたアイテムを含む前記画面データを記憶する画面データ記憶手段と、
前記シンボルが関連付けられたアイテムに関しては、前記演算式を用いた演算処理を実行するアイテムデータ処理手段と、
前記各アイテムによる画面表示を行う手段であって、前記シンボルが関連付けられたアイテムに関しては、前記演算処理の結果を用いた表示を行う画面表示手段とを有し、
前記演算式は、前記外部メモリ領域のデータに係る演算式であり、
前記アイテムデータ処理手段は、該外部メモリ領域からデータを読出し、該読出しデータと該演算式に基づいて前記演算処理を実行することを特徴とするプログラマブルコントローラシステム。
【請求項２】
前記プログラマブル表示器は内部メモリを有し、
前記アイテムデータ処理手段は、前記演算処理結果を該内部メモリに格納し、
前記画面表示手段は、該内部メモリから前記演算処理結果を読み出して、該演算処理結果を用いた表示を行うことを特徴とする請求項１記載のプログラマブルコントローラシステム。
【請求項３】
前記アイテムデータ処理手段は、前記外部メモリ領域からの読出しデータが、前回の読出しデータと同一である場合には、前記演算処理を実行しないことを特徴とする請求項１記載のプログラマブルコントローラシステム。
【請求項４】
前記プログラマブル表示器は、接続機器に接続されており、
前記外部メモリ領域は、該接続機器内のメモリデバイスにおける所定の記憶領域であることを特徴とする請求項１記載のプログラマブルコントローラシステム。
【請求項５】
任意の１つのシンボルに対して複数のアイテムが関連付けられることを特徴とする請求項１記載のプログラマブルコントローラシステム。
【請求項６】
前記支援装置は、
前記シンボルの情報を任意に設定させて前記シンボル情報記憶手段に記憶するシンボル情報登録手段を更に有することを特徴とする請求項１記載のプログラマブルコントローラシステム。
【請求項７】
外部メモリ領域と演算式が登録されたシンボルが関連付けられたアイテムを含む画面データを記憶する画面データ記憶手段と、
前記シンボルが関連付けられたアイテムに関しては、前記演算式を用いた演算処理を実行するアイテムデータ処理手段と、
前記各アイテムによる画面表示を行う手段であって、前記シンボルが関連付けられたアイテムに関しては、前記演算処理の結果を用いた表示を行う画面表示手段とを有し、
前記演算式は、前記外部メモリ領域のデータに係る演算式であり、
前記アイテムデータ処理手段は、該外部メモリ領域からデータを読出し、該読出しデータと該演算式に基づいて前記演算処理を実行することを特徴とするプログラマブル表示器。
【請求項８】
内部メモリを有し、
前記アイテムデータ処理手段は、前記演算処理結果を該内部メモリに格納し、
前記画面表示手段は、該内部メモリから前記演算処理結果を読み出して、該演算処理結果を用いた表示を行うことを特徴とする請求項７記載のプログラマブル表示器。
【請求項９】
プログラマブル表示器に接続する支援装置であって、
外部メモリ領域と該外部メモリ領域のデータに係る演算式とが登録されたシンボルの情報を記憶するシンボル情報記憶手段と、
前記プログラマブル表示器用の画面データを構成するアイテムに、任意の前記シンボルを関連付けさせるシンボル関連付手段と、
前記シンボルが関連付けられたアイテムを含む前記画面データを前記プログラマブル表示器にダウンロードすることで、該プログラマブル表示器に、該画面データを記憶させ、該画面データに基づいて、前記シンボルが関連付けられたアイテムに関しては、前記外部メモリ領域からデータを読出させ、該読出しデータと前記演算式に基づいて演算処理を実行させ、該演算処理の結果を用いた表示を行わせるダウンロード手段と、
を有することを特徴とする支援装置。
【請求項１０】
前記シンボルの情報を任意に設定させて前記シンボル情報記憶手段に記憶するシンボル情報登録手段を更に有することを特徴とする請求項９記載の支援装置。
【請求項１１】
プログラマブル表示器のコンピュータを、
外部メモリ領域と演算式が登録されたシンボルが関連付けられたアイテムを含む画面データを記憶する画面データ記憶手段と、
前記シンボルが関連付けられたアイテムに関しては、前記演算式を用いた演算処理を実行する手段であって、前記外部メモリ領域からデータを読出し、該読出しデータと、前記外部メモリ領域のデータに係る演算式である前記演算式とに基づいて、前記演算処理を実行するアイテムデータ処理手段と、
前記各アイテムによる画面表示を行う手段であって、前記シンボルが関連付けられたアイテムに関しては、前記演算処理結果を用いた表示を行う画面表示手段、
として機能させるためのプログラム。
【請求項１２】
支援装置のコンピュータを、
外部メモリ領域と該外部メモリ領域のデータに係る演算式とが登録されたシンボルの情報を記憶するシンボル情報記憶手段と、
前記プログラマブル表示器用の画面データを構成するアイテムに、任意の前記シンボルを関連付けさせるシンボル関連付手段と、
前記シンボルが関連付けられたアイテムを含む前記画面データを前記プログラマブル表示器にダウンロードすることで、該プログラマブル表示器に、該画面データを記憶させ、該画面データに基づいて、前記シンボルが関連付けられたアイテムに関しては、前記外部メモリ領域からデータを読出させ、該読出しデータと前記演算式に基づいて演算処理を実行させ、該演算処理の結果を用いた表示を行わせるダウンロード手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル表示器等を有するシステムに関する。
【背景技術】
【０００２】
プログラマブル表示器は、一般的に、ＰＬＣ本体や温調装置等の各種接続機器と接続して、これら接続機器の状態表示を行う数値表示やランプ等のアイテムや、ユーザが任意の指示を出す為のスイッチ等のアイテムの画像を表示する。尚、アイテムは、画面部品等とも呼ばれている。プログラマブル表示器の画面（操作表示画面と呼ぶものとする）には、通常、複数の画面部品（アイテム）の画像が表示される。この様な操作表示画面を表示する為のデータ等（画面データ等と呼ばれる）は、予め不図示の支援装置において開発者等によって任意に作成されて、支援装置からプログラマブル表示器にダウンロードされている。【０００３】
上記画面データには、上記各アイテム毎に、そのアイテムの画像（スイッチの画像やランプの画像）や表示位置座標、更に後述する外部メモリの所定領域のアドレス（割当メモリアドレス）等のデータが含まれている。更に何らかのプログラム等が含まれている場合もある。【０００４】
上記各アイテムは、例えば、それぞれが任意の接続機器の任意の構成要素に対応して、当該構成要素の状態表示を行ったり、当該構成要素のＯＮ／ＯＦＦの指示を受け付けるものである。例えば、温調装置の温度測定値を数値表示するアイテムの場合、随時、現在の温度を数値で表示することになる。【０００５】
上記各種アイテムに係る表示制御は、上記各アイテム毎に、例えば定期的に所定の処理を実行することで実現される。所定の処理とは、例えば、接続機器内のメモリデバイス（外部メモリというものとする）の上記所定領域（割当メモリ）の格納データを読出して、この格納データに基づいてアイテムの表示内容を決定・表示するものである。尚、接続機器は、随時、上記外部メモリの所定領域の格納データを更新している（例えば上記温調装置において上記温度測定値を随時更新している）。【０００６】
また、上記外部メモリから読出したデータを、プログラマブル表示器内のメモリデバイス（共有メモリとする）の所定領域に一時的に格納して、この格納データに基づいてアイテムの表示内容を決定・表示する構成もある。【０００７】
この例の場合、外部メモリの格納データを読み出して共有メモリに格納する処理は、プログラマブル表示器の所定の機能部（ここでは不図示の通信部とする）が、例えば定期的に実行する。上記通信部は、例えば、上記ＰＬＣ本体や温調装置等の各種接続機器と通信を行って、接続機器内の上記外部メモリの所定の記憶領域の格納データを取得して、このデータを上記共有メモリの所定領域に上書き格納する。【０００８】
そして、プログラマブル表示器における上記各種アイテムに係る表示制御を行う機能部（アイテム表示部というものとする）は、定期的に共有メモリにアクセスすることで、アイテム表示内容を制御する。【０００９】
その際、アイテムによっては、共有メモリから取得したデータ（割当メモリ領域の格納データ）に対して所定の演算を行って、この演算結果を表示させる場合もある。例えば上記割当メモリ領域の格納データがｇ（グラム）単位の数値であるのに対して、ｋｇ（キログラム）単位の表示を行うアイテムがあった場合、取得したデータを１０００で除算する演算を行って、この演算結果を表示させることになる。【００１０】
尚、アイテムにレンジ変換などの機能が付与されている場合には、この機能を利用して演算処理を行う例もある。
また、例えば特許文献１の発明は、ＰＬＣの制御手順プログラム（ラダー図など）におけるシンボルやプログラマブル表示器などで表示する画面に配置される部品についての付帯情報の入力を簡素化して、プログラムおよび画面を効率的に作成できるようにする発明である。【００１１】
特許文献１の発明では、制御手順プログラムをラダーエディタ３２ａによりラダーウインドウ上で作成し、画面を作画エディタ３２ｂにより作画ウインドウ上で作成する。例えば、プログラム作成時に、ラダー記号に関する入出力機器４のアドレスおよびそれに対応する変数名（例えばＳＷ１）を含むデータをデータファイル３３に登録する。続いて、画面作成時に、ラダーウインドウ上のラダー記号を作画ウインドウにドラッグ＆ドロップする。この操作に応じて、作画エディタ３２ｂは、複写機能部３２ｃによりメモリ部３４に複写された変数名を参照し、それに対応するマーク（部品）を作画ウインドウに表示するとともに、その変数名を付帯情報としてマーク上に表示する。
【特許文献１】特開２００１−７５６１６号公報
【発明の開示】
【００１２】
従来では、演算処理が必要となるアイテム全てについて、それぞれ、所定の演算処理を定義（付加）しておく必要があった。あるいは、レンジ変換を利用する場合でも、全てのアイテムにレンジ変換機能があるわけではない。また、レンジ変換機能によって全ての演算処理を実現できるわけでもない。
【００１３】
また、従来では、同じ演算機能を複数のアイテムに付加することがあり、その為の作業負担が少なくなく、また、リソースの無駄使いという問題もあった。特に、近年のプログラマブル表示器用の画面の大規模化、多様化、複雑化に伴い、各アイテム毎に演算機能を付加する作業が煩雑になっている。
【００１４】
また、従来では、サイクリックなアイテム表示処理を行う毎に、その都度、演算処理を行う必要があった。この為、演算に用いるデータに変化がなく、従って演算結果（表示内容）が変わらないような場合でも、無駄に演算が行われていた。
【００１５】
本発明の課題は、予め任意の演算式が記述された各シンボル情報を登録しておき、任意のアイテムを任意のシンボル情報に関連付けることで、このアイテムに関して演算処理に基づく表示を行わせることができるプログラマブルコントローラシステム、そのプログラマブル表示器、支援装置等を提供することである。
【００１６】
本発明のプログラマブルコントローラシステムは、プログラマブル表示器と該プログラマブル表示器に接続する支援装置を有するプログラマブルコントローラシステムであって、以下の各構成を有する。
【００１７】
上記支援装置は、シンボル情報記憶手段とシンボル関連付手段を有する。
シンボル情報記憶手段は、外部メモリ領域と演算式が登録されたシンボルの情報を記憶する。
【００１８】
シンボル関連付手段は、前記プログラマブル表示器用の画面データを構成するアイテムに、任意の前記シンボルを関連付けさせる。
上記プログラマブル表示器は、画面データ記憶手段、アイテムデータ処理手段、画面表示手段を有する。
【００１９】
画面データ記憶手段は、前記シンボルが関連付けられたアイテムを含む前記画面データを記憶する。
アイテムデータ処理手段は、前記シンボルが関連付けられたアイテムに関しては、前記演算式を用いた演算処理を実行する。
【００２０】
画面表示手段は、前記各アイテムによる画面表示を行う手段であって、前記シンボルが関連付けられたアイテムに関しては、前記演算処理結果を用いた表示を行う。
そして、前記演算式は、前記外部メモリ領域のデータに係る演算式であり、前記アイテムデータ処理手段は、該外部メモリ領域からデータを読出し、該読出しデータと該演算式に基づいて前記演算処理を実行する。
【図面の簡単な説明】
【００２１】
【図１】本例のプログラマブル表示器を含むシステム全体の概略構成図である。
【図２】本例のプログラマブル表示器の構成例である。
【図３】本システムのソフトウェア構成図である。
【図４】（ａ）〜（ｆ）は、シンボル情報の登録や関連付け作業に係る各種画面例である。
【図５】本例のプログラマブル表示器の処理機能図である。
【図６】（ａ）、（ｂ）は、各種データの具体例（その１）である。
【図７】（ａ）〜（ｃ）は、各種データの具体例（その２）である。
【図８】通信処理部の処理フローチャート図である。
【図９】アイテム処理部の処理フローチャート図である。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本例のプログラマブル表示器１を含むシステム全体の概略構成図である。
尚、図１に示す構成は、一例であり、この例に限らない。例えば、必ずしもプログラマブル表示器１が作画エディタ装置５に接続された構成でなくてもよく、プログラマブル表示器１と作画エディタ装置５とが別々に存在していてもよい。プログラマブル表示器１が、本手法による画面データ（シンボル情報含む）等を格納して、この画面データ（シンボル情報含む）等を用いてプログラマブル表示器用の画面の表示等を行うものであれば、何でも良い。【００２３】
図１に示すプログラマブルコントローラシステムは、各種接続機器４と、通信ライン６を介して各種接続機器４に接続するプログラマブル表示器１とを有する。更に、プログラマブル表示器１が、通信ライン３を介して作画エディタ装置５に接続された構成となっている。【００２４】
プログラマブル表示器１には、複数の通信インタフェース２（通信ポート）が備えられており、各通信インタフェース２に接続された通信ライン３／通信ライン６によって各種接続機器４や作画エディタ装置５と接続されている。【００２５】
プログラマブル表示器１は、既存の機能としては、上記背景技術で説明したように、画面データに基づいて操作表示画面を表示すると共に、この画面上の各アイテム毎に接続機器４のメモリデバイス（外部メモリ）の所定の記憶領域（割当メモリ領域）からデータを取得してその表示内容を制御する。【００２６】
作画エディタ装置５は、上記背景技術における支援装置に相当するものであり、上記操作表示画面をプログラマブル表示器１で表示させる為のデータ等（画面データ）を、ユーザが任意に作成できるように支援する機能を有する。【００２７】
従来と同様に本例でも、作画エディタ装置５には予め各種アイテム画像が登録されており、ユーザは所望のアイテム画像を選択して所望の位置に配置させる作業を繰り返して、上記画面データの作成を行う。尚、作画エディタ装置５は、プログラマブル表示器用の画面（画面データ）の作成を支援するための支援装置の一例と見做してよい。更に、ユーザが、上記画面上に配置されるアイテムに関して、接続機器４内のメモリデバイスに係る所望の記憶領域を、割当メモリ領域として設定する場合もある。【００２８】
上記画面データには、上記画面上に配置される各アイテム毎の所定の情報（アイテム情報というものとする；例えば上記アイテム画像、配置位置座標、上記割当メモリ領域のアドレス（割当メモリアドレス）等）が含まれる。【００２９】
以上、本例の作画エディタ装置５に関して、従来と略同様の機能について述べた。
ここで、本手法では、上記割当メモリ領域が後述するシンボル情報に登録される場合もある。この場合、上記アイテム情報には該当するシンボル情報の識別情報（後述するシンボル名称やシンボルＩＤなど）等が含まれる。【００３０】
更に、従来では、上述した演算処理が必要なアイテムに関しては、そのアイテム情報に演算処理が登録されたが、本手法ではアイテム情報に演算処理が登録されることはない。本手法では、演算処理は、上記シンボル情報に登録される。【００３１】
上記シンボル情報は、上記画面データに付加されてプログラマブル表示器１へダウンロードされる。
プログラマブル表示器１は、上述した画面データ（シンボル情報含む）等に基づいて、上記操作表示画面の表示を行う。但し、上記演算処理は、接続機器４との通信処理に伴って実行されて、演算結果を格納しておく。操作表示画面の表示処理の際には（演算処理は実行しないで）演算結果を用いて表示を行う。詳しくは後述する。【００３２】
図２は、本例のプログラマブル表示器１の構成例である。
図示のプログラマブル表示器１は、表示操作制御装置１０と、タッチパネル１８、ディスプレイ１９、上記通信インタフェース２等を有する。【００３３】
表示操作制御装置１０は、ＣＰＵ１１、ＲＯＭ１２（フラッシュメモリ等）、ＲＡＭ１３、通信コントローラ１４、グラフィックコントローラ１５、タッチパネルコントローラ１６等より成り、これらがバス１７に接続されている。【００３４】
ＣＰＵ１１は、表示操作制御装置１０全体を制御する中央処理装置（演算プロセッサ）である。ＣＰＵ１１は、ＲＯＭ１２に予め格納されているプログラム（例えば後述する本体プログラム２１等）を実行することで、所定の演算動作（処理）を行う。各種の演算結果は、例えばＲＡＭ１３やＲＯＭ１２に格納される。【００３５】
また、ＲＯＭ１２には、後述する画面データ２２やシンボル情報５１等が格納されている。尚、その意味で、ＲＯＭ１２は、画面データ記憶部あるいはシンボル情報記憶部と言うこともできる。【００３６】
上記背景技術で説明したように、画面データ２２は、例えば上述したスイッチ、ランプ等の各アイテム毎に、そのアイテムの画像や表示位置座標や大きさ等の表示に係わるデータ等を有する。また、画面データ２２は、従来と同様に、接続機器４のメモリへのアクセスに係わるデータ（割当メモリアドレス等）を有するものであってもよい。但し、本例では、この様な接続機器４のメモリへのアクセスに係わるデータは、画面データ２２ではなくシンボル情報５１に含まれる場合もある。尚、割当メモリアドレスは、上記割当メモリ領域のアドレスである。【００３７】
尚、割当メモリ領域は、上記“外部メモリ”（接続機器内のメモリデバイス）の記憶領域という点から“外部メモリ領域”と呼んでも良い。特に、シンボル情報５１の場合には、“割当メモリ領域”よりは“外部メモリ領域”と呼ぶべきものである。なぜなら、シンボル情報５１の場合「各アイテムに予め割り当てられるメモリ領域」ではないからである。【００３８】
但し、シンボルの“外部メモリ領域”は、そのシンボルにアイテムが関連付けられることによって、実質的にこのアイテムの割当メモリ領域に相当するものと見做せるものとなる。【００３９】
上記ＣＰＵ１１の処理には、例えば定期的に上記割当メモリ領域の格納データを取得する処理等が含まれる。この取得データは、例えば後述する共有メモリ５３に一時的に格納される。このデータ取得・格納処理は、各アイテム毎に、画面データ２２に基づいて（場合によってはシンボル情報５１に基づいて）、実行される。また、アイテムによっては、シンボル情報５１に基づいて、取得データに対する所定の演算処理が実行される場合もある。この演算処理結果は後述する演算結果格納メモリ５４に格納される。【００４０】
尚、共有メモリ５３や演算結果格納メモリ５４は、上記ＲＡＭ１３やＲＯＭ１２の記憶領域の一部であってもよいし、不図示の他のメモリであってもよい。
また、上記ＣＰＵ１１の処理によって、例えば上記画面データ２２や上記取得データや上記演算処理結果等に基づく表示対象データが、例えばＲＡＭ１３（あるいは不図示のビデオＲＡＭ）上に展開（描画）される。この描画に基づいてグラフィックコントローラ１５が、ディスプレイ１９上に上述した操作表示画面等を表示する。【００４１】
ディスプレイ１９は、例えば液晶パネル等より成り、この液晶パネル上に重ねるようにしてタッチパネル１８が設けられる。ディスプレイ１９上には、基本的には、複数のアイテム画像が所定位置に配置されて成る上記操作表示画面が表示される。【００４２】
また、通信コントローラ１４は、通信インタフェース２を介して、不図示のＰＬＣ本体等や温調装置等である接続機器４や作画エディタ装置５との通信（データ送受信等）を行う。【００４３】
オペレータ等によるタッチパネル１８上での押圧操作（タッチ）位置の検知結果は、タッチパネルコントローラ１６を介してＣＰＵ１１等に取り込まれて解析される。例えば各アイテムの上記表示位置座標や大きさのデータ等に基づいて、解析することになる。例えば、上記スイッチの画像の表示位置をオペレータ等がタッチすると、ＣＰＵ１１等は、このスイッチに対する操作が行われたものと解析することになる。【００４４】
図３に、上記本システムのソフトウェア構成図を示す。
作画エディタ装置５は、作画エディタ３１を有する。作画エディタ３１は、ユーザが、任意のプログラマブル表示器用の画面（操作表示画面）を作成するのを支援する機能を有する。この支援機能に係る既存の機能として、予め登録された各種アイテムのなかから所望の各アイテムを選択させて、これを画面上の所望の位置に配置させる機能がある。更に、ユーザに、当該画面上に配置させたアイテムに任意の接続機器４の任意のメモリデバイスのアドレス（割当メモリアドレス）を設定させる既存機能もある。【００４５】
そして、本例の作画エディタ３１は、上記既存機能に加えて、図示のシンボル情報登録部３１ａ、シンボル関連付部３１ｂの各種機能を有する。
シンボル情報登録部３１ａは、例えば後述する図４（ａ）〜（ｅ）の各種ウィンドウを表示する等して、ユーザに所望のシンボルの情報を登録させる機能を有する。シンボル情報は、後に図４（ａ）等で説明するように、シンボル名称、シンボルタイプ（「アドレス」または「演算」）、アドレス等である。この“アドレス”は、上記割当メモリアドレスに相当するものであるが、更に演算式が含まれる場合もある。尚、シンボル情報登録部３１ａはよって作成されたシンボル情報は、シンボル情報記憶部３１ｃに記憶される。【００４６】
シンボル関連付部３１ｂは、ユーザに、上記画面上に配置させた任意のアイテムに任意のシンボルを関連付けさせる機能部である。この関連付けは、例えば上記シンボル名称を用いて行うが、この例に限らない。尚、シンボルが関連付けられるアイテムについては、上記割当メモリアドレスを設定させる必要はないし、演算式を逐一設定する必要もない。【００４７】
また、１つのシンボルに複数のアイテムを関連付けても構わない。これによって、例えば割当メモリアドレスの設定の手間も軽減できる。
プログラマブル表示器１においては、本体プログラム２１、画面データ２２、通信プログラム２３等の各種プログラム／データが、例えば上記ＲＯＭ１２（フラッシュメモリ等）に格納されている。これらのプログラム／データ等をＣＰＵ１１が読出し・実行／参照等することで、プログラマブル表示器用の上記操作表示画面等の表示制御等が行なわれる。【００４８】
この操作表示画面は、上述した数値表示、ランプ、スイッチ等の各種アイテムの画像表示から成り、各アイテムの表示内容は、例えば各接続機器４内のメモリデバイスの割当メモリ領域から取得したデータ（上記取得データ）を反映させる形で随時更新される。尚、以下の説明では上記接続機器４内のメモリデバイスを“外部メモリ”と呼ぶ場合もあるものとする。尚、これより、後述する共有メモリ５３や演算結果格納メモリ５４等は、“内部メモリ”と呼んでも良い。【００４９】
基本的には、ＣＰＵ１１が、本体プログラム２１や通信プログラム２３に基づいて、上記取得データの取得・格納処理や、演算処理や、操作表示画面の表示制御処理などを行う。
画面データ２２やシンボル情報５１や取得データや演算処理結果等を用いることで、上記操作表示画面の表示制御処理が行われる。この様に、操作表示画面上の各アイテム画像の表示内容（温度等の数値表示やランプの点灯／消灯など）は、取得データや演算処理結果等に基づいて、随時、更新等されるものである。【００５０】
上記画面データ２２（シンボル情報５１が付加される）は、例えば予め作画エディタ装置５側で任意に作成された画面データファイル３２（シンボル情報５１が付加される）が、プログラマブル表示器１にダウンロードされて格納されたものである。また、上記通信プログラム２３も、例えば予め作画エディタ装置５側に格納されていた通信プログラムファイル３３群の一部が、プログラマブル表示器１にダウンロードされて格納されたものである。【００５１】
上述したように、基本的には、ＣＰＵ１１が、本体プログラム２１、通信プログラム２３、画面データ２２、シンボル情報５１、取得データ、当該取得データに基づく演算処理結果等に基づいて、上記操作表示画面の表示制御を行う。【００５２】
例えば、数値表示アイテムに関しては、定期的に、当該数値表示アイテムの割当メモリ領域からデータを読み出して、この取得データに応じて、あるいは当該取得データに基づく演算処理結果に応じて、当該数値表示アイテムの表示内容を更新する。【００５３】
プログラマブル表示器１の通信プログラム２３は、通信ライン６を介して接続機器４と通信を行うためのプログラムである。通常、接続機器４の機種毎等に固有の通信プロトコル（通信規定）を持ち、この通信規定に従って、プログラマブル表示器１−接続機器４間での通信を行う。そのため、通信プログラム２３は、各接続機器４の機種毎等に開発が必要となる。尚、当然、ＣＰＵ１１などが通信プログラム２３を実行することで、接続機器４との通信処理が実現される。【００５４】
尚、プログラマブル表示器１−作画エディタ装置５間の通信は、例えば本体プログラム２１と作画エディタ３１とによって行う（通信機能が作画エディタ３１に組み込まれている）。これについては特に関係ないので、図示・説明しない。ＰＬＣ本体等である接続機器４は、様々なメーカー・機種があり、各メーカー／機種毎に独自の通信プログラムがあり、上記通信プログラム２３は、接続機器４のメーカー／機種に応じて場合によっては複数種類備えられるものとなる。【００５５】
通信プログラム２３は、通常、作画エディタ装置５内の不図示のＨＤ（ハードディスク）内に、複数の通信プログラムファイル３３（各機種毎に開発済の複数の通信プログラム）として予め記憶されている。そして、作画エディタ装置５は、作画エディタ３１によりユーザが任意の接続機器４を選択・指定すると、該選択された接続機器４に応じた通信プログラムファイル３３を、プログラマブル表示器１に転送して、上記通信プログラム２３として記憶させる。【００５６】
本例のプログラマブル表示器１の各種処理機能は、基本的には、ＣＰＵ１１が、本体プログラム２１や通信プログラム２３を実行し、それによる処理中に必要な各種データを参照することで実現される。但し、取得データに基づく演算処理は、シンボル情報５１に含まれる演算を実行することになる。【００５７】
また、この演算処理は、表示更新に係る処理中にではなく、データ取得（接続機器４との通信など）に係る処理中に実行されて、演算結果が後述する演算結果格納メモリ５４に格納される。上記表示更新に係る処理は、演算結果格納メモリ５４にアクセスして演算結果を取得して表示させる。これより、表示更新に係る処理毎に逐演算処理を実行する必要はなく、処理効率が向上する。詳しくは後述する。【００５８】
ここで、作画エディタ３１は、上記シンボル情報をユーザ（開発者等）に任意に設定させる機能を有する。
図４に、シンボル情報の設定作業に係る各種ウィンドウ例を示す。【００５９】
図４（ａ）は、シンボル情報登録ウィンドウ３４（メイン設定ウィンドウ）の一例である。ユーザが、例えばシンボル情報登録ウィンドウ３４上の任意のアイテムのレコードの図示の“シンボルタイプ”の欄や“アドレス”の欄を指定（クリック等）すると、図４（ｂ）〜（ｄ）に示す各種ウィンドウが表示される。これによって、ユーザによる設定作業を支援する。また、図４（ｄ）のウィンドウ３７上の所定の操作によって図４（ｅ）のウィンドウ３８が表示される。【００６０】
ユーザは、上記シンボル情報登録ウィンドウ３４上で、各シンボル毎の図示のシンボル名称、シンボルタイプ、アドレス等の各種シンボル情報を任意に設定できる。尚、図示のシンボルＩＤは、各シンボルの識別用のＩＤであるが、本例では新規登録毎に順次、図示の０、１、２、・・・等のシリアル番号が割り当てられるものとする。【００６１】
ユーザは、各シンボル毎に、図示の“シンボル名称”の欄に所望の名称を設定できる。また、そのシンボルのタイプ（データ取得のみか演算も行うか等）を設定できる。これは、ユーザが図示の“シンボルタイプ”の欄を指定すると、例えば図４（ｂ）に示すシンボルタイプ選択ウィンドウ３５が表示される。これより、ユーザは、シンボルタイプ選択ウィンドウ３５上で、図示の「アドレス」と「演算」の何れか一方を選択する。データ取得のみの場合は「アドレス」を選択し、演算も行う場合には「演算」を選択する。【００６２】
また、ユーザは、シンボル情報登録ウィンドウ３４上の“アドレス”の欄において、上記割当メモリアドレスに相当するアドレス等を設定できる。その際、シンボルタイプが「アドレス」のシンボルに関しては、図４（ｃ）に示すアドレス選択ウィンドウ３６が表示される。これより、ユーザは、例えば所望の接続機器、その所望のメモリデバイス、当該メモリデバイスにおける所望の記憶領域のアドレスを、アドレス選択ウィンドウ３６上で設定できる。【００６３】
尚、図４（ｃ）に示すように、所望の接続機器（ここでは“PLC1メモリ”）が設定されてもよく、この場合にはこの接続機器設定情報もアイテムリスト５２またはシンボル情報５１や共有メモリ５３等に含まれることになる。但し、図６（ａ）、（ｂ）や図７（ａ）に示す例や本説明では、基本的に、接続機器の設定情報については省略して示すものとする。但し、省略しているだけであり、実際には、デバイス名７４、８２や被演算デバイス名７７には、メモリデバイス名だけでなく、上記設定された接続機器の識別情報（接続機器名とする）も含まれていてもよい。【００６４】
一方、シンボルタイプが「演算」のシンボル（「演算」タイプのシンボル）に関しては、図４（ｄ）に示す演算選択ウィンドウ３７が表示される。これより、ユーザは、演算選択ウィンドウ３７上で所望の演算式等を設定できる。この演算式は、例えば上記“取得データ”に基づく演算となる。これより、図示の“演算メモリ”の欄には上記割当メモリアドレスに相当するアドレス等が設定される。また、図示の“演算モード”の欄には、加減、減算等の演算が設定される。尚、これは例えば図４（ｅ）に示す演算モード選択ウィンドウ３８上で選択できるものであってもよい。更に、演算選択ウィンドウ３７上の図示の“被演算メモリ”の欄には、例えば１００や１０００等の数値が任意に設定できるが、上記割当メモリアドレス以外の他のアドレスも設定できる。【００６５】
図示の演算選択ウィンドウ３７の例では、メモリデバイスＤのアドレス02100を意味する「D02100」が“演算メモリ”に設定されると共に、「D00300」が“被演算メモリ”に設定される。また、“演算モード”は加算となっている。つまり、「D02100」の格納データに「D00300」の格納データを加算するという演算式が設定されている。【００６６】
上述したようにユーザ等によって任意に設定されたシンボル情報（例えば図４（ａ）に示す内容を含む）は、作画エディタ装置５の記憶装置に記憶され、以下に図４（ｆ）で説明する関連付け作業の際に参照される。また、シンボル情報は、画面データと一緒にプログラマブル表示器１にダウンロードされる。【００６７】
図４（ｆ）は、アイテムに対するシンボルの関連付け作業について説明する為の図である。
作画エディタ装置５上で任意の操作表示画面作成のためにユーザが画面上に所望の複数のアイテム画像を配置する等した状態で、任意のアイテム画像を選択指定すると、このアイテムに対する各種設定を行えるウィンドウが表示される。このウィンドウ上にはこのアイテムに任意のシンボルを関連付ける為の図示のシンボル情報関連付ウィンドウ３９も表示される。【００６８】
シンボル情報関連付ウィンドウ３９上では、例えば図示のようにシンボル名称一覧が表示され、ユーザがこの一覧中から所望のシンボル名称を選択すると、このシンボルがこのアイテムに関連付けられる。例えば、画面データファイル３２におけるこのアイテムの情報（画像や配置座標等）として更に上記選択されたシンボルの名称あるいはＩＤが加わる。【００６９】
ここで、画面データ２２において、シンボルが関連付けられたアイテムに関しては、割当メモリアドレスや演算式等の情報は無く、代わりに上記関連付けられたシンボルの名称等がある。一方、シンボル情報５１には、図４（ａ）に示す“アドレス”の欄に設定された情報（割当メモリアドレスまたは割当メモリアドレス等を用いた演算式等）が含まれる。これより、任意のシンボルが関連付けられたアイテムに関しては、当該関連付けられたシンボルの上記設定情報等を用いて、割当メモリ領域へのアクセスや演算処理等が行われることになる。【００７０】
尚、アイテムとシンボルとの対応付けは、１対１に限らず、例えば多対１であっても構わない。例えば、同一のアドレスの格納データに基づいて、異なる表示形態（例えば数値表示とグラフ表示）する場合もあるので、１つのシンボルに対して例えば数値表示アイテムとグラフ表示アイテムとを関連付けるものであってもよい。これによって、割当メモリアドレス等の設定の手間を軽減できる。【００７１】
図５は、本例のプログラマブル表示器の処理機能図である。
ＣＰＵ１１が、例えば上記ＲＯＭ１２に記憶されている所定のプログラム（例えば上記本体プログラム２１、通信プログラム２３等）を実行することにより、例えば図５の点線内に示す各種処理機能部が実現される。すなわち、図示のアイテム生成部４１、アイテム処理スケジュール部４２、アイテム処理部４３、通信処理部４４（４４−１、４４−２等）、共有メモリ生成処理部４５、メモリ読込処理部４６、メモリ書込処理部４７等の各種処理機能部の下記の処理機能が実現される。【００７２】
また、プログラマブル表示器１は、上記の通り、シンボル情報５１が付加された画面データ２２を保持している。また、プログラマブル表示器１内には、図示の共有メモリ５３、演算結果格納メモリ５４の各メモリ領域が存在している。【００７３】
尚、例えば、アイテム生成部４１とアイテム処理スケジュール部４２とアイテム処理部４３と共有メモリ生成処理部４５とメモリ読込処理部４６とメモリ書込処理部４７は、本体プログラム２１によって実現される。通信処理部４４は、本体プログラム２１と通信プログラム２３とによって実現される。また、上記各種処理機能の処理実行の際には、上記画面データ２２やシンボル情報５１等が参照される場合がある。【００７４】
アイテム生成部４１は、上記画面データ２２等に基づいて、アイテムリスト５２を生成する。これは、例えば、画面データ２２の一部を抽出する形で生成する（更に後述する処理済みフラグ６８を追加してもよい）。【００７５】
ここで、図６（ａ）に、アイテムリスト５２のデータ構成図を示す。
図示の例のアイテムリスト５２は、アイテムタイプ６１、座標６２、サイズ６３、デバイス名６４、アドレス６５、“アイテムタイプ毎のデータ”６６、シンボル情報６７、処理済みフラグ６８の各データ項目より成る。尚、詳しくは後述するが、シンボル情報６７は、シンボルが関連付けられたアイテムの場合のみ登録される。シンボル情報６７以外は従来と同様と見做してよく、以下、簡単に説明する。【００７６】
アイテムタイプ６１には、そのアイテムの種類（スイッチ、ランプ、数値表示等）を示すアイテム種別識別情報が格納される。
“アイテムタイプ毎のデータ”６６には、そのアイテムの画像データ（アイテム画像；アイテムタイプがスイッチであれば何らかのスイッチの画像）等の付随情報等が格納される。このアイテム画像の画面上での表示位置と大きさを示すデータが、上記座標６２、サイズ６３に格納される。これらが、各アイテムの操作表示画面上での画像表示に係わるデータである。【００７７】
また、デバイス名６４とアドレス６５は、各アイテムに関するメモリ割当情報であり、上記割当メモリアドレスに相当する。つまり、デバイス名６４が示すメモリデバイスにおけるアドレス６５が示す記憶領域が、そのアイテムに割り当てられた領域（上記割当メモリ領域）である。尚、デバイス名６４が示すメモリデバイスは、接続機器４内のメモリデバイスである。【００７８】
ここで、シンボルが関連付けられているアイテムの場合、基本的には、シンボル情報６７にはデータがある一方で、デバイス名６４とアドレス６５にはデータが無いことになる。その逆に、シンボルが関連付けられていないアイテムの場合、基本的には、シンボル情報６７にはデータが無い一方で、デバイス名６４とアドレス６５にはデータがあることになる。【００７９】
シンボル情報６７には、そのアイテムに関連付けられたシンボル（例えば上記図４（ｆ）で選択されたシンボル）を示す情報（シンボル名称やシンボルＩＤ等）が格納される。尚、シンボル名称やシンボルＩＤに限らず、アイテムに関連付けられたシンボルを特定できる情報であれば何でも良い。また、シンボル情報６７には、更にアイテムタイプ（「アドレス」か「演算」か）が格納されるものであってもよい。【００８０】
また、図６（ｂ）に、シンボル情報５１のデータ構成図を示す。
図示の例のシンボル情報５１は、シンボルＩＤ７１、シンボル名称７２、シンボルタイプ７３、デバイス名７４、アドレス７５、演算タイプ７６、被演算デバイス名７７、被演算アドレス７８の各データ項目より成る。【００８１】
シンボルＩＤ７１は、各シンボルの識別用ＩＤであり、例えば図４（ａ）に示す“シンボルＩＤ”のように新規シンボル登録毎に割り当てられる通番等であるが、この例に限らない。【００８２】
シンボル名称７２は、各シンボルの名称であり、例えば図４（ａ）でユーザが任意に設定した名称である。
シンボルタイプ７３には、例えば図４（ａ）で説明した「アドレス」と「演算」の何れかが格納される（例えば図４（ｂ）のシンボルタイプ選択ウィンドウ３５上での選択結果が格納される）。【００８３】
シンボルタイプ７３が「アドレス」の場合には、デバイス名７４とアドレス７５には、例えば図４（ａ）や図４（ｃ）のウィンドウ上で設定されたメモリデバイス名とアドレスが格納される。しかし、演算タイプ７６と被演算デバイス名７７と被演算アドレス７８にはデータは格納されない。【００８４】
一方、シンボルタイプ７３が「演算」の場合には、デバイス名７４とアドレス７５には、例えば図４（ｄ）の“演算メモリ”の欄に設定されたメモリデバイス名とアドレスが格納される。更に、被演算デバイス名７７、被演算アドレス７８には、図４（ｄ）の“被演算メモリ”の欄に設定されたメモリデバイス名とアドレスが格納される。但し、図４（ｄ）の“被演算メモリ”の欄に任意の数値（例えば１００のように、メモリデバイス名（例えばＤ）ではないもの）が設定された場合には、被演算デバイス名７７にはデータはなく、被演算アドレス７８に設定値が格納される。【００８５】
尚、これより例えば、通信処理部４４による後述する処理の際には、被演算デバイス名７７にデータがある場合には被演算デバイス名７７と被演算アドレス７８とに基づくデータ取得処理を行う。しかし、被演算デバイス名７７にデータが無い場合には、被演算デバイス名７７と被演算アドレス７８とに基づくデータ取得処理は行わない。被演算デバイス名７７にデータが無い場合には、被演算アドレス７８の値をそのまま用いて演算を行う。更に、演算タイプ７６には、図４（ｄ）のウィンドウ上の“演算モード”の欄に設定された加算、減算等の演算式が格納される。【００８６】
尚、既に述べたように、デバイス名７４や被演算デバイス名７７には、メモリデバイス名だけでなく更に上述した接続機器名等が含まれていても良い。また、尚、メモリデバイス名は、名称に限らず、何らかのメモリデバイス識別用の情報であってよい。【００８７】
後にプログラマブル表示器１が、シンボル情報５１に基づいて割当メモリ領域へのアクセス（あるいは更に該アクセス結果に基づく演算）を行う場合には、例えば下記のような処理となる。【００８８】
シンボルタイプ７３を参照して、「アドレス」と「演算」の何れであるかを認識する。
シンボルタイプ７３が「アドレス」である場合には、デバイス名７４とアドレス７５によって示される割当メモリ領域の格納データを取得する。【００８９】
シンボルタイプ７３が「演算」である場合には、デバイス名７４とアドレス７５によって示される割当メモリ領域の格納データを取得すると共に、被演算デバイス名７７と被演算アドレス７８によって示されるメモリアドレスの格納データを被演算用として取得する。そして、これら取得した２つのデータを用いて演算タイプ７６が示す演算を実行する。【００９０】
アイテム処理スケジュール部４２は、アイテム処理部４３による各アイテム画像の表示状態更新処理等のスケジュール管理を行う。つまり、アイテム処理スケジュール部４２は、例えば定期的にアイテム処理部４３を呼び出して例えば後述する図９の処理を実行させる（換言すれば、図９の処理をサイクリックに実行させる）。【００９１】
アイテム処理部４３は、上記アイテムリスト５２や後述する共有メモリ５３や演算結果格納メモリ５４等の格納データ等に基づいて、各アイテム毎に、その画像の表示内容の更新等に係わる処理を実行する。その際、手法では、これらメモリ５３，５４からのデータ読出し処理は、メモリ読込処理部４６が実行する。但し、メモリ読込処理部４６はアイテム処理部４３の機能の一部と見做してもよい。本説明では、基本的には、メモリ読込処理部４６はアイテム処理部４３の機能の一部として説明する。これより、後述する図９のアイテム処理部４３の処理フローチャート中にメモリ読込処理部４６の処理も含まれている。【００９２】
尚、アイテム処理部４３（メモリ読込処理部４６含む）を、画面表示部と呼ぶ場合もあるものする。
メモリ読込処理部４６は、各アイテム毎に該当するデータを読み出すが、これはアイテムによって、共有メモリ５３から読み出す場合もあれば演算結果格納メモリ５４から読み出す場合もある。【００９３】
共有メモリ生成処理部４５は、アイテムリスト５２やシンボル情報５１等に基づいて、共有メモリ５３に各アイテム毎のデータ格納領域（レコード）を生成する。
ここで、共有メモリ５３と演算結果格納メモリ５４について説明しておく。【００９４】
図７（ａ）に共有メモリ５３の具体例を示し、図７（ｂ）に演算結果格納メモリ５４の具体例を示す。
図７（ａ）に示す例の共有メモリ５３は、ポート８１、デバイス名８２、アドレス８３、データ８４、“演算シンボルへの関連付け情報”８５の各データ項目より成る。尚、これらのうち、“演算シンボルへの関連付け情報”８５以外のデータ項目は、従来と略同様であっても構わない。よって、以下、簡単に説明する。【００９５】
ポート８１は、上記通信ポートの識別情報（通信ポート番号とする）であり、実質的には通信相手の接続機器４を識別する情報となる。例えば上記デバイス名６４（７４）に含まれる上記接続機器名に基づいて、この接続機器に対応する通信ポート番号が判別できるようになっている（不図示の接続機器−通信ポート番号対応テーブル等が、予め登録されている）。【００９６】
デバイス８２は、通信相手の接続機器４内のメモリデバイス（外部メモリ）の識別情報である。アドレス８３は、デバイス８２が示す外部メモリにおける所定の記憶領域のアドレスであり、データ８４にはこの記憶領域から取得したデータが格納される。【００９７】
共有メモリ生成処理部４５は、各アイテム毎に、上記判別した通信ポート番号をポート８１に格納する。また、デバイス名８２とアドレス８３に関しては、下記のようにデータ格納することによって、上述した各アイテム毎のデータ格納領域（レコード）が生成される。【００９８】
例えば図７（ａ）の例の場合、共有メモリ生成処理部４５は、例えば、アイテムリスト５２の各アイテムの情報毎に、シンボル情報６７にデータが無い場合にはそのデバイス名６４、アドレス６５を、共有メモリ５３のデバイス名８２、アドレス８３に格納する。【００９９】
一方、シンボル情報６７にデータがあるアイテムの場合には、当該シンボル情報６７を用いてシンボル情報５１を検索して該当レコードを認識し、この該当レコードのデバイス名７４、アドレス７５を、共有メモリ５３のデバイス名８２、アドレス８３に格納する。【０１００】
更に、シンボルタイプ７３が「演算」である場合には、そのシンボルＩＤ７１を“演算シンボルへの関連付け情報”８５に格納する。換言すれば、“演算シンボルへの関連付け情報”８５にデータが格納されるのは、「演算」タイプのシンボルに関連付けられたアイテムのみである。【０１０１】
図８（ｂ）に示す例の演算結果格納メモリ５４は、シンボルＩＤ９１に対応付けて演算結果９２が格納されている。
「演算」タイプのシンボルに関連付けられたアイテムに関する割当メモリ領域からのデータ取得処理の際には、演算処理が実行され、この演算処理結果が上記演算結果９２に格納されることになる。そして、この様なアイテムに関しては、メモリ読込処理部４６は、演算結果９２のデータを取得することになる。【０１０２】
以下、メモリ読込処理部４６について更に詳しく説明する。
メモリ読込処理部４６は、まずアイテムリスト５２を参照して、各アイテム毎に、そのアイテムがシンボルに関連付けられているか否かを判定する。本例では上記シンボル情報６７にデータがある場合には、シンボルに関連付けられていると判定する。シンボルに関連付けられていないアイテムに関しては、上記デバイス名６４とアドレス６５にデータがあるはずであるので、これらに基づいて共有メモリ５３の該当レコードのデータ８４を読出す。【０１０３】
一方、シンボルに関連付けられているアイテムに関しては、上記シンボル情報６７を用いてシンボル情報５１を検索して該当レコードを参照する。該当レコードにおける上記シンボルタイプ７３が「アドレス」の場合、そのデバイス名７４とアドレス７５に基づいて共有メモリ５３の該当レコードのデータ８４を読出す。【０１０４】
一方、該当レコードにおける上記シンボルタイプ７３が「演算」の場合、そのシンボルＩＤ７１に基づいて演算結果格納メモリ５４から演算結果を読み出す。このように、本手法では、アイテム処理部４３は、表示更新毎に逐一演算処理を実行する必要はなく、処理負荷が軽減される。演算処理は、後述するように通信処理部４４が通信処理（割当メモリ領域からのデータ取得処理）の際に実行する。【０１０５】
また、アイテム処理部４３は、各アイテム画像をＲＡＭ１３上に描画（展開）する。その際、アイテムの種類によっては上記取得データも一緒にＲＡＭ１３上に描画（展開）する。これによって、グラフィックコントローラ１５が当該描画データをディスプレイ上に表示することで、上記操作表示画面が表示されることになる。この描画データは、アイテム処理部４３によって例えば後述する図９の処理実行毎に随時更新される。【０１０６】
通信処理部４４は、各接続機器４（４−１、４−２）毎に備えられる通信処理部４４−１、４４−１である。すなわち、図示の通信処理部４４−１は、接続機器４−１に対応する通信ポートＷＡＹ１を使用して、通信ライン６を介して、接続機器４−１との通信を行って、その外部メモリの所定領域（割当メモリ領域）の格納データを取得する。【０１０７】
同様に、図示の通信処理部４４−２は、接続機器４−２に対応する通信ポートＷＡＹ２を使用して、通信ライン６を介して、接続機器４−２との通信を行って、その外部メモリの所定領域（割当メモリ領域）の格納データを取得する。【０１０８】
上記割当メモリ領域の格納データの取得処理自体は、基本的には従来と略同様であってよいが、本手法の場合、アイテムによっては、複数のメモリ領域からデータ取得する場合もある。この様なアイテムは、基本的に、「演算」タイプのシンボルと関連付けられたアイテムであって、且つ、上記被演算デバイス名７７にもデータが格納されているものである。尚、上述したように、例えば「×１００」などという演算の場合には、被演算デバイス名７７にはデータは無い。【０１０９】
そして、本例の各通信処理部４４−１，４４−２は、それぞれ、更にメモリ書込処理部４７の処理機能も備える。尚、図では別にして示しているが、本説明ではメモリ書込処理部４７は通信処理部４４の機能の一部と見做して説明するものとする。よって、後述する図８の通信処理部４４のフローチャート中にメモリ書込処理部４７の処理も含まれている。【０１１０】
メモリ書込処理部４７（アイテムデータ処理部）は、まず、上記取得した格納データ（取得データというものとする）を、共有メモリ５３の所定領域に上書き格納する。更に、上記「演算」タイプのシンボルと関連付けられたアイテムに関しては、所定の演算を行って、この演算結果を演算結果格納メモリ５４に格納する。【０１１１】
但し、メモリ書込処理部４７は、共有メモリ５３の所定領域の既存のデータが、取得データと異なる場合のみ、上記取得データを共有メモリ５３の所定領域に上書き格納するようにしてもよい。更に、上記取得データを共有メモリ５３の所定領域に上書き格納した場合のみ、上記所定の演算処理を実行して演算結果を演算結果格納メモリ５４に格納する処理を実行するようにしてもよい。これにより、無駄な演算（演算結果が前回と同じとなる演算）が実行されないようにでき、処理負荷を軽減でき、処理効率が向上する。【０１１２】
図８は、通信処理部４４の処理フローチャート図である。
例えば図５の例では各通信処理部４４−１、４４−２が、各々、図８の処理をサイクリックに（定周期で）実行するものである。【０１１３】
図８の処理例では、まず、共有メモリ５３を参照して、自己が担当する接続機器４に係るメモリリスト５５を生成する（ステップＳ１）。例えば、通信処理部４４−１による処理の場合には、接続機器４−１に係るメモリリスト５５を生成することになる。【０１１４】
図７（ｃ）に、このメモリリスト５５のデータ構成例を示す。
図示の例では、メモリリスト５５は、デバイス名１０１、アドレス１０２、データ１０３、エラー情報１０４の各データ項目より成る。【０１１５】
例えば上記通信処理部４４−１は、共有メモリ５３からポート８１が“ＷＡＹ１”であるレコードを全て抽出する。そして、該各抽出レコードのデバイス名８２、アドレス８３、データ８４の情報を、上記デバイス名１０１、アドレス１０２、データ１０３に格納する。これによって、上記接続機器４−１に係るメモリリスト５５が生成されることになる。【０１１６】
尚、エラー情報７４は、必ずしも必要ないものである。代わりに、処理済みか否かを示すフラグ情報が格納されていてもよい。
その後は、生成したメモリリスト５５を参照しながら、ステップＳ７の判定がＮＯとなるまで、ステップＳ２〜Ｓ７の処理を繰り返し実行する。【０１１７】
すなわち、メモリリスト５５から未処理のレコードを取り出して（処理対象レコードとし）、このレコードの内容に基づくメモリ読込コマンドを生成して自己が担当する接続機器４に通信ライン６を介して送信する（ステップＳ２）。そして、このメモリ読込コマンドに対する接続機器４からの応答待ちとなる（ステップＳ３）。【０１１８】
上記メモリ読込コマンドには、上記デバイス名７１やアドレス７２等のアクセス先を特定する情報（割当メモリアドレス）が含まれる。接続機器４は、この割当メモリアドレスが示す記憶領域からデータを読み出して、この読出しデータを返信する応答処理を行う。但し、何らかの理由でデータ読出しに失敗した場合には、メモリリードエラー等を返信する。【０１１９】
通信処理部４４は、接続機器４から正常応答があった場合には、この応答に含まれる読出しデータを、上記共有メモリ５３において処理対象レコードに相当するレコードにおける上記データ８４の欄に上書き格納する（ステップＳ４）。【０１２０】
但し、既に述べたように、データ８４の欄に格納されている既存のデータが、上記応答に含まれる読出しデータと同一の場合には、ステップＳ４の上書き格納処理は行わないようにしてもよい。【０１２１】
そして、演算シンボルへの関連付けがあるか否かを判定する（ステップＳ５）。これは、例えば、上記ステップＳ４でデータ格納したレコードにおける上記“演算シンボルへの関連付け情報”５５に、任意のシンボルＩＤが格納されている場合には、演算シンボルへの関連付けがあると判定する（ステップＳ５,ＹＥＳ）。【０１２２】
上記ステップＳ５がＹＥＳの場合には、所定の演算処理（ステップＳ６）を実行する。
但し、既に述べたように、上記ステップＳ４の上書き格納処理を行わない場合には、ステップＳ５の判定結果に関係なく、ステップＳ６の処理は実行しないようにしてもよい。つまり、割当メモリ領域からの読出しデータが、当該割当メモリ領域からの前回の読出しデータと同一である場合には、演算結果が前回と同じとなるので、演算を行わないようにする。これによって、無駄な演算実行を回避することができる。【０１２３】
ステップＳ６の処理は、例えば、上記“演算シンボルへの関連付け情報”５５に格納されているシンボルＩＤを用いて、シンボル情報５１における該当レコードを検索する。そして、該当レコードにおける被演算デバイス名７７及び被演算アドレス７８を用いて接続機器４にアクセスして該当記憶領域の格納データを取得して、この取得データと上記ステップＳ４で格納したデータ（データ８４）とを用いて、上記該当レコードの演算タイプ７６の演算を実行する。【０１２４】
但し、該当レコードにおける被演算デバイス名７７にデータが無い場合には、既に述べたように、被演算アドレス７８の格納データはアドレスではなく任意の数値と見做す。よって、この場合には、被演算アドレス７８の格納データと上記ステップＳ４で格納したデータ（データ８４）とを用いて、上記該当レコードの演算タイプ７６の演算を実行する。【０１２５】
また、上記の例に限らず、例えば共有メモリ５３、メモリリスト５５に上記“被演算メモリ”（被演算デバイス名７７及び被演算アドレス７８）も格納するようにし、上記ステップＳ３、Ｓ４の処理の際に“被演算メモリ”の格納データの読出しと共有メモリ５３への格納処理も実行するようにしてもよい。この場合、当然、上記ステップＳ６では“被演算メモリ”の格納データの読出しを行う必要はなくなる。【０１２６】
そして、ステップＳ６では、最後に、上記演算結果を上記演算結果格納メモリ５４の該当レコードに格納する。尚、この該当レコードとは、そのシンボルＩＤ９１が上記“演算シンボルへの関連付け情報”５５のシンボルＩＤと同一であるレコードである。【０１２７】
上記ステップＳ５がＮＯの場合またはステップＳ６の処理を実行後、メモリリスト５５に未処理のレコードが残っているか否かをチェックし、残っている場合には（ステップＳ７，ＹＥＳ）ステップＳ２に戻り、残っていない場合には（ステップＳ７，ＮＯ）本処理を終了する。【０１２８】
図９は、アイテム処理部４３の処理フローチャート図である。
上記の通り、図９の処理は、アイテム処理スケジュール部４２の管理のもとでサイクリックに実行される。【０１２９】
図９の処理例では、アイテム処理部４３は、まず、アイテムリスト５２の初期化処理を実行する（ステップＳ１１）。これは、例えば、アイテムリスト５２の全レコードの処理済みフラグ６８を“未処理”にする。その後は、後述するステップＳ２０がＮＯとなるまで、ステップＳ１２〜Ｓ２０の処理を繰り返し実行する。【０１３０】
すなわち、アイテムリスト５２においてフラグ６８が“未処理”であるレコードのなかの任意のレコードを処理対象レコードとして以下の各処理を実行する。
尚、ここでは、上記シンボル情報６７には、関連付けられたシンボルの識別情報（シンボル名称、シンボルＩＤなど）だけでなく、シンボルタイプも含まれている例を用いて説明するものとする。尚、シンボル情報６７がシンボル名称やシンボルＩＤだけである例の場合には、このシンボル名称やシンボルＩＤによってシンボル情報５１を検索して該当するシンボルタイプ７３を取得すればよい。【０１３１】
本例の場合、まず、処理対象レコードのシンボル情報６７を参照して、シンボルタイプが「演算」であるか「アドレス」であるか、あるいはシンボル関連付けが無いかを判別する。これは、上記の通り、シンボル情報６７に格納データが無ければシンボル関連付けが無いと見做して（ステップＳ１３がＮＯ且つステップＳ１４がＮＯ）、そのままステップＳ１７の処理を実行する。【０１３２】
すなわち、この場合にはステップＳ１７の処理では、処理対象レコードのデバイス名６４、アドレス６５を用いて共有メモリ５３の該当レコードを検索してそのデータを取得する（ステップＳ１７）。つまり、例えば、そのデバイス名８２及びアドレス８３が、上記処理対象レコードのデバイス名６４及びアドレス６５と同一であるレコードが、上記該当レコードである。そして、該当レコードのデータ８４を取得する（ステップＳ１７）。【０１３３】
また、シンボル関連付けがある場合、上述した一例ではシンボル情報６７にシンボルタイプ（「演算」または「アドレス」）も格納されるので、これを参照することで、「演算」であるか「アドレス」であるかを判定する。【０１３４】
シンボルタイプが「アドレス」の場合には（ステップＳ１３がＮＯでステップＳ１４がＹＥＳ）、シンボル情報６７に格納されるシンボル名称を用いてシンボル情報５１を検索して該当レコードのデバイス名７４及びアドレス７５を取得する（ステップＳ１５）。そして、ステップＳ１７の処理を実行する。この場合のステップＳ１７の処理では、そのデバイス名８２及びアドレス８３が、上記取得したデバイス名７４及びアドレス７５と同一であるレコードが、上記該当レコードとなる。そして、該当レコードのデータ８４を取得する（ステップＳ１７）。【０１３５】
一方、シンボルタイプが「演算」の場合には（ステップＳ１３，ＹＥＳ）、上記シンボル情報６７のシンボルＩＤを用いて上記演算結果格納メモリ５４を検索して、該当レコードの演算結果９２を取得する（ステップＳ１６）。【０１３６】
その後は、従来通りの表示処理を行うものであって構わない。すなわち、ステップＳ１６またはステップＳ１７で取得したデータを用いて、更に上記処理対象レコードの情報（アイテムの画像や座標、サイズ等）を用いて、通常のアイテム描画処理（例えばＲＡＭ１３上に展開する）を行う（ステップＳ１８）。【０１３７】
上記ステップＳ１８の処理を実行完了したら、アイテムリスト５２の処理対象レコードの処理済みフラグ６８を“処理済”に変更する（ステップＳ１９）。
そして、アイテムリスト５２に未処理のレコードが残っていれば（ステップＳ２０，ＹＥＳ）ステップＳ１２に戻り、全て処理済みであれば（ステップＳ１９，ＮＯ）本処理を終了する。【０１３８】
以上説明したように、本例のプログラマブルコントローラシステム、そのプログラマブル表示器、支援装置等によれば、支援装置において、予め任意の演算式が記述された各シンボル情報を登録しておき、任意のアイテムを任意のシンボル情報に関連付ける。これによって、プログラマブル表示器において、このアイテムに関して演算処理に基づく表示を行わせることができる。【０１３９】
特に、割当メモリ領域からの取得データに基づいて所定の演算処理を行ってから表示等する必要があるアイテムに関しては、予め外部メモリ領域と所定の演算式が登録されたシンボル情報を用いることで、各アイテム毎に演算機能を付加する必要はなくなり、開発者等の手間を軽減できる。特に、従来では同じ演算機能を複数のアイテムに付加することがあり、その為の作業負担が少なくなく、また、リソースの無駄使いという問題もあったが、本手法ではこの様な従来の問題を解消できる。【０１４０】
更に、プログラマブル表示器において、データ取得の際に演算処理を実行して演算結果を格納しておくことで、サイクリックの画面表示更新処理の際には、この演算結果を用いて表示更新を行えばよく、表示更新処理の度に演算処理を行う必要がなく、処理効率が良くなる。この効果は、特に、上記図９の処理周期が、図８の処理周期よりも短い場合、換言すれば図９の処理が図８の処理よりも頻繁に実行される場合に、顕著なものとなる。【０１４１】
更に、無駄な演算実行を防止することもできる。
【図１】
0005870214.tif 000002
【図２】
0005870214.tif 000003
【図３】
0005870214.tif 000004
【図４】
0005870214.tif 000005
【図５】
0005870214.tif 000006
【図６】
0005870214.tif 000007
【図７】
0005870214.tif 000008
【図８】
0005870214.tif 000009
【図９】
0005870214.tif 000010