(57)【要約】【課題】  ユーザが、表示器とコントローラ間の通信コマンドや通信設定を意識せずに、ＰＬＣのＩ／Ｏメモリに割り付けられていないループコントローラが保有するデータに基づいて表示器の画面データを生成することが可能となるツールを提供すること【解決手段】  Ｓ１１の処理を実行して取得したループコントローラに実装されるファンクションブロックについてタグ名とアドレス情報と種類情報を関連づけたタグ情報に基づき表示器がアクセスすべきデータであって、そのループコントローラが実装されたプログラマブルコントローラのＩ／Ｏメモリに反映されないデータを有するプログラム要素を抽出する抽出機能（Ｓ１５）と、その抽出機能により抽出されたプログラム要素に対し、前記アドレス情報を用いてそのプログラム要素にアクセスする通信コマンドを作成するとともに、対応する画面要素に割り付けて機能部品を生成する機能（Ｓ１４）を備えた。そして、生成した機能部品を表示器に出力する（Ｓ１７）。【選択図】        図５
2005259079.tif 000002
【特許請求の範囲】
【請求項１】
ループコントローラにアクセスする表示器用のツールであって、
ループコントローラに実装されるプログラム要素のアドレス情報と種類情報を関連づけた関連情報の前記種類情報に基づき、表示器がアクセスすべきデータであって、そのループコントローラが実装されたプログラマブルコントローラのＩ／Ｏメモリに反映されないデータを有するプログラム要素を抽出する抽出機能と、
その抽出機能により抽出されたプログラム要素に対し、前記アドレス情報を用いてそのプログラム要素にアクセスする通信コマンドを作成するとともに、対応する画面要素に割り付けて機能部品を生成する機能を備えたことを特徴とするツール。
【請求項２】
前記ループコントローラのデータが前記Ｉ／Ｏメモリに反映される場合に、そのＩ／Ｏメモリのアドレス情報も前記関連情報に関連づけられ、
前記表示器がアクセスすべきデータが、前記Ｉ／Ｏメモリに反映される場合には、前記関連情報を用いてそのＩ／Ｏメモリにアクセスする部品を生成する機能を備えたことを特徴とする請求項１に記載のツール。
【請求項３】
前記プログラム要素には、タグ名が設定されており、前記関連情報は、そのタグ名も関連づけられたタグ情報であることを特徴とする請求項１または２に記載のツール。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ループコントローラにアクセスする表示器用のツールに関するものである。
【背景技術】
【０００２】
生産工場（製造現場）に設置されるファクトリーオートメーション（ＦＡ）の制御装置として、プログラマブルコントローラ（ＰＬＣ）が用いられている。このＰＬＣは、複数のユニットから構成される。すなわち、電源供給源の電源ユニット，ＰＬＣ全体の制御を統率するＣＰＵユニット，ＦＡの生産装置や設備装置の適所に取り付けたスイッチやセンサの信号を入力する入力ユニット，アクチュエータなどに制御出力を出す出力ユニット，通信ネットワークに接続するための通信ユニットなどの各種のユニットを適宜組み合わせて構成される。
【０００３】
ＰＬＣのＣＰＵユニットにおける制御は、入力ユニットで入力した信号をＣＰＵユニットのＩ／Ｏメモリに取り込み（ＩＮリフレッシュ）、予め登録されたユーザプログラム記述言語（例えばラダー言語）で組まれたユーザプログラムに基づき論理演算をし（演算実行）、その演算実行結果をＩ／Ｏメモリに書き込んで出力ユニットに送り出し（ＯＵＴリフレッシュ）、その後、通信ユニットを介して通信ネットワーク上の他のＰＬＣとデータ送受信を行ったり、ＣＰＵユニットに備えられた通信ポートを介して外部の機器とデータ送受信などを行ったりする（周辺処理）ことをサイクリックに繰り返し処理するようになる。なお、ＩＮリフレッシュとＯＵＴリフレッシュと一括して行なう（Ｉ／Ｏリフレッシュ）場合もある。
【０００４】
ところで、ＰＬＣを構成するユニットの中には、インテリジェントな高機能な制御を行うための高機能ユニットもある。この高機能ユニットで行う制御の一つとしては、例えば、温度等のアナログ値を受け、ＰＩＤ制御を行う等の専用のプロセス制御（アナログ制御）のプログラムを実施する機能を持つものや、モーションコントロール制御を行うものなど、各種のものがある。そして、これら各ユニットは、実行される機能名をつけて呼ばれることもり、アナログユニットやモーションコントロールユニットと称されることもある。また、これらの機能を備えた機器は、独立した筐体に実装されるユニットと、ＣＰＵユニットなどにインナーボードとして実装されるボードタイプのものがある。なお、本明細書では、それらを総称してループコントローラと称する。
【０００５】
これらループコントローラは、ＣＰＵユニットの演算処理とは非同期に所定の制御を実行することにより、制御の高速化・高度化を図ることができるようになっている。また、ループコントローラは、自らの運転状態をＣＰＵユニットのＩ／Ｏメモリ上に常に反映させている。
【０００６】
一方、ＰＬＣシステムの場合、ＰＬＣのメモリや、スレーブの各ユニットの情報その他の状態を表示させたり、ＰＬＣに対して各種の設定をすることができるプログラマブル表示器（以下、「表示器」と称する）を設け、ＰＬＣシステムの管理・監視等を行うようにしたものがある。また、監視対象の情報は、Ｉ／Ｏ情報に限ることはなく、例えば温度調節器の設定温度と現在の温度のような情報でも良い。
【０００７】
そして、実際の作業時に表示器を用いて監視等するための動作画面は、予めプログラマブル表示器用の専用ソフトウェアを使用し、表示画面のレイアウトを作成し、それを表示器に転送することにより行う。つまり、表示画面内に、監視するＰＬＣの内部メモリの内容（Ｉ／Ｏ情報）を表示する領域や、各領域に併記する文字等の構成要素（部品）を配置し、表示画面を作成する。さらに、実際にデータ等を表示するために、各部品に対して各種の設定項目を割り付ける。この設定項目の具体的な内容としては、例えば、監視対象の情報を呼び出す際に使用するＰＬＣのＩ／Ｏメモリなどへの割付アドレス等がある。上記した表示器は、例えば特許文献１などにより公開されている。
【特許文献１】特開平１０−１１６１０９号公報（段落［００１０］から［００２８］，図２から図４等）。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した従来の表示器を用いたモニタシステムでは、以下に示す問題を有する。すなわち、図１に示すように、ＰＬＣ１を構成するＣＰＵユニット２とループコントローラ３は、内部のＣＰＵバスを介して通信を行なう。そして、ループコントローラ３のメモリ３ａに記憶された一部のデータＡ，Ｂは、ＣＰＵユニット２のＩ／Ｏメモリ２ａに定期的に反映されている。また、表示器４は、ＣＰＵユニット２のＩ／Ｏメモリ２ａにアクセスし、データの読み書きをすることができる。従って、（１）表示器４がＩ／Ｏメモリ２ａに所定のデータを書き込み、（２）その書き込んだデータをループコントローラ３のメモリ３ａに転送することで、ループコントローラ３の設定を変更することが可能となる。また、（３）ループコントローラ３のメモリ３ａに記憶された所定のデータＢは、Ｉ／Ｏメモリ２ａに転送されるため、（４）表示器４は、そのＩ／Ｏメモリ２ａにアクセスすることにより、その格納したデータＢを取得することができる。これにより、その取得したデータＢに基づいて表示器４の表示画面に所定の表示をすることができる。
【０００９】
しかし、Ｉ／Ｏメモリにもメモリ容量の制限があり、ループコントローラ３のすべてのデータをＩ／Ｏメモリ２ａに割り付けて反映することはできない。したがって、例えば図１中のループコントローラ３のメモリ３ａに格納されたデータＣ，Ｄについては、表示器４から読み書きすることができない。よって、Ｉ／Ｏメモリ２ａに割り付けられていないデータに基づいて、より詳細な情報を見たいという要求に対して、簡単に対応することは困難であった。
【００１０】
また、係るデータＣ，Ｄに対しては、所定の通信コマンドを設定することによりアクセスすることは可能であるが、係る通信コマンドを用いたアクセスは、メーカ側で設定されるものであり、ユーザが表示器４を操作して簡単にアクセスすることはできなかった。
【００１１】
この発明は、ユーザは、表示器とコントローラ間の通信コマンドや通信設定を意識せずに、ＰＬＣ（ＣＰＵユニット）のＩ／Ｏメモリに割り付けられていないループコントローラが保有するデータに基づいて表示器の画面データを生成することが可能となり、ユーザのエンジニアリング工数の削減に寄与することのできるツールを提供することを目的とする。
【課題を解決するための手段】
【００１２】
この発明によるツールは、ループコントローラにアクセスする表示器用のツールであって、ループコントローラに実装されるプログラム要素についてアドレス情報と種類情報を関連づけた関連情報の前記種類情報に基づき、表示器がアクセスすべきデータであって、そのループコントローラが実装されたプログラマブルコントローラのＩ／Ｏメモリに反映されないデータを有するプログラム要素を抽出する抽出機能と、その抽出機能により抽出されたプログラム要素に対し、前記アドレス情報を用いてそのプログラム要素にアクセスする通信コマンドを作成するとともに、対応する画面要素（表示器に表示する表示画面を構成する部品）に割り付けて機能部品を生成する機能を備えて構成した。関連情報は、自己の揮発性あるいは不揮発性の記憶手段に格納したものでもよいし、別途用意されたデータベース等にアクセスして取得してもよい。
【００１３】
ここで、プログラム要素は、実施の形態では、ファンクションブロックに対応する。アドレス情報は、実施の形態では、図７の（１）通信アドレスと（４）計器ブロック番地に対応する。種類情報は、実施の形態では、図７の（３）計器ブロック番地に対応する。抽出機能は、図５のフローチャートのＳ１３を実行する機能である。もちろん、Ｓ１２の実行機能を含めても良い。さらに、機能部品を生成する機能は、図５のフローチャートのＳ１４を実行する機能に対応する。ループコントローラに実装されるプログラム要素についての関連情報は、実際にループコントローラに実装されているものを呼び出して取得しても良いし、プログラミングツール等にてループコントローラに実装するプログラムを作成した際に作成したものを取得しても良く、入手経路は任意である。
【００１４】
前記ループコントローラのデータが前記Ｉ／Ｏメモリに反映される場合に、そのＩ／Ｏメモリのアドレス情報も前記関連情報に関連づけられ、前記表示器がアクセスすべきデータが、前記Ｉ／Ｏメモリに反映される場合には、前記関連情報を用いてそのＩ／Ｏメモリにアクセスする部品を生成する機能を備えるようにしてもよい。さらに、前記プログラム要素には、タグ名が設定されており、前記関連情報は、そのタグ名も関連づけられたタグ情報ですることができる。
【００１５】
この発明によれば、ループコントローラに実装されるプログラム要素についての関連情報に基づき、表示器がＩ／Ｏメモリ経由でデータの読み書きが可能か否かを判断し、読み書きできない場合には、ループコントローラにアクセスする通信コマンドを作成し、表示器の表示画面に表示する画像部品と関連づけた機能部品が生成される。従って、その機能部品を表示器に実装することにより、ユーザは、表示器を操作して格納された機能部品を読み出すことで適宜表示器の画面を操作することにより、ループコントローラにアクセスできる。そして、本発明のツールを用いることにより、機能部品を自動的に生成することができ、ユーザは、表示器とコントローラ間の通信コマンドや通信設定を意識せずに、表示器の画面データを生成することが可能となり、ユーザのエンジニアリング工数の削減に寄与する。
【発明の効果】
【００１６】
この発明では、ユーザは、表示器とコントローラ間の通信コマンドや通信設定を意識せずに、ＰＬＣのＩ／Ｏメモリに割り付けられていないループコントローラが保有するデータに基づいて表示器の画面データを生成することが可能となる。
【発明を実施するための最良の形態】
【００１７】
図２は、本発明か適用されるシステムの一例を示している。この図示した例では、ＰＬＣ１０に表示器２０およびツール３０が、ネットワークを介して接続されている。ＰＬＣ１０は、複数のユニットを連結して構成されている。すなわち、電源ユニット１１と、ＣＰＵユニット１２と、ツールコントローラユニット１３と、その他の所定のユニット１４とを備えている。もちろん、ＰＬＣの構成は、図示するものに限ることなく、必要に応じて所望のユニットを追加接続可能である。
【００１８】
表示器２０およびツール３０は、ＣＰＵユニット１２のシリアルポートに接続される。そして、本発明との関係で言うと、ツール３０からＰＬＣ１０に対しては、例えばループコントロールユニット１３へのプログラム転送がＣＰＵユニット１２を経由しループコントロールユニット１３へ与えられる。また、表示器２０はＰＬＣ１０の所定のユニットと通信を行い、取得した情報に基づきループコントロールユニット１３の動作状態を表示する。さらに、ツール３０を表示器２０に接続し、ツール３０から画面データを転送する。この転送する画面データ（画面要素）は、ＰＬＣ１０との通信に基づいて表示されるループコントロールユニット１３の動作状態を表示するための表示画面に関するものである。
【００１９】
図３は、ループコントロールユニット１３を含むＰＬＣ１０の内部構造並びに外部の装置等との接続形態を示している。図示するように、このＰＬＣ１０では、他のユニットとしてＡＤユニット１４ａとＤＡユニット１４ｂを用意している。そして、実際の制御対象３２に設置したセンサから、例えば液面，圧力，温度などのアナログデータを取得するとともに、ＡＤユニット１４ａのＩ／Ｏメモリ１４ａ′の所定エリアに格納する。このＩ／Ｏメモリ１４ａ′に格納されたデータ（ＡＤ変換値（入力））は、Ｉ／Ｏバス１０ａを介してＣＰＵユニット１２のＩ／Ｏメモリ１２ａの所定エリアに転送される。ループコントロールユニット１３は、予め設定されたＣＰＵユニット１２のＩ／Ｏメモリ１２ａの所定エリアを定期的にアクセスして取得するため、そのＩ／Ｏメモリ１２ａに格納されたＡＤ変換値（入力）は、ＣＰＵバス１０ｂを介して入力インタフェース１３ａが取得し、所定のファンクションブロック１３ｂに渡す。ここでは、係るＡＤ変換値（入力）を、ＰＩＤ制御を実行するＰＩＤブロックに対し、入力値として渡している。ＰＩＤブロックは、与えられた入力値に基づきＰＩＤ演算を行なう。そして、算出して得られた出力値は、出力インタフェース１３ｃを介してＣＰＵバス１０ｂ経由でＣＰＵユニット１２のＩ／Ｏメモリ１２ｂに格納する。この格納されたデータがＤＡユニット１０ｂのＩ／Ｏメモリ１４ｂ′に転送され、制御対象３２のバルブの開度などの指令値として出力される。
【００２０】
このようにすることにより、アナログデータに基づくＰＩＤ制御が行なわれる。なお、ループコントロールユニット１３に替えて、ループコントロールボードにした場合には、ＣＰＵバス１０ｂはインナーバスになる。また、ファンクションブロック１３ｂには、図示したＰＩＤブロックに加え、折れ線プログラムを作成するブロックを例示したが、これ以外にも多数のブロックが存在する。図示の便宜上、入出力インタフェース１３ａ，１３ｃとＰＩＤブロックが直接接続されているように示しているが、実際には、図示省略するがメモリが存在し、入力インタフェース１３ａは、メモリの所定エリアに書き込むことにより、そのエリアを参照するＰＩＤブロックが入力データを取得し、演算結果を上記と異なる記憶エリアに格納することにより出力インタフェース１３ｃがそれを読み出してＣＰＵユニット１２のＩ／Ｏメモリ１２ｂに転送する処理を行なう。
【００２１】
また、ループコントロールユニット１３のメモリに格納され、使用されるデータは、上述したようにＩ／Ｏメモリ１２ａ，１２ｂを介して転送されるもの以外に、通信コマンドを用いて外部の機器（例えばツール３０）と送受されるものもある。この場合、例えばＣＰＵユニット１２の通信ポート１２ｃ（シリアルポート等）にツール３０を接続し、ツール３０から送られる通信コマンドに従いＣＰＵユニット１２経由でループコントロールユニット１３の所定のメモリに設定が書き込まれ、また、係るメモリに書き込まれている設定をツール３０が読み出すことができるようになっている。係るメモリへの読み書きは、通信サーバ機能１３ｄが稼働して行なわれる。なお、上述した各機能は、基本的に従来と同様である。
【００２２】
ここで本発明では、上述したようにツール３０からのコマンド入力によりループコントロールユニット１３の任意のメモリにアクセスするのではなく、図４に示すように、表示器２０から直接（ＣＰＵユニット１２経由で）ループコントロールユニット１３のメモリ１３ｅにアクセスし、Ｉ／Ｏメモリ１２ａ，１２ｂに反映されないデータＣを設定したり、データＤを読み出したりできるようにしている。これにより、ユーザは表示器２０を操作することにより、データＣ，Ｄが格納されるループコントロールユニット１３のメモリエリアに格納されるデータを読み書きすることができ、各種の設定や、情報を読み出してそのループコントロールユニット１３の動作状況を表示器２０に表示することができるようになる。しかも、ユーザは、通信コマンドや、アドレスなどを気にすることなく係る処理を行えるようになる。
【００２３】
すなわち、ループコントロールユニット１３は、保有する機能により、従来と同様に、ＰＬＣ１０（ＣＰＵユニット１２）上のＩ／Ｏメモリ１２ａ，１２ｂ経由でデータの送受信を定期的に実行することにより、データＢを定期的に表示器４に送り、そのデータＢに基づいて表示器２０の表示画面に動作状況を表示すること、および、表示器２０からＩ／Ｏメモリ１２ａに書き込むことで、ループコントロールユニット１３の設定（データＡ）を変更することに加え、ＰＬＣ１０（ＣＰＵユニット１２）のＩ／Ｏメモリ１２ａ，１２ｂ経由で読み書きを行えないデータＣ，Ｄに関しては、後述する機能部品（デバイスライブラリ）を使用することで、表示器２０からループコントロールユニット１３宛に通信コマンドを送信することで、設定の読み書きが行えるようになる。
【００２４】
そして、係る処理ができるようにするために、本発明では、ツール３０に図５に示すフローチャートを実行する機能を持たせ、そのフローチャートを実行して得られた情報（データ：機能部品）を表示器２０にダウンロードするようにしている。係る処理を実行するツール３０は、パソコンに所望の機能を実行するソフトウェアアプリケーションを実装することにより実現される。すなわち、図６に示すように、ツール３０は、キーボード，ポインティングデバイスなどの入力部３１と、アプリケーションを実行する制御部３２と、制御部３２でアプリケーションを実行中に使用するワークメモリや必要なデータが格納されたメモリ３３と、ディスプレイ等の出力部３４と、外部機器（本実施の形態では、ＣＰＵユニット１２や表示器２０）と通信するためのインタフェース３５を備えている。係るハードウェア構成は一般のものと同じである。このメモリ３３は、図６では１つのブロックとして示しているが、ＲＡＭなどの揮発性メモリと、ハードディスクその他の不揮発性メモリを適宜混在して設けて実現しても良い。
【００２５】
そして、本実施の形態では、図５に示すフローチャートが制御部３２で実行されるとともに、係る処理を実行するに必要なタグ情報がメモリ３３内にタグ情報データベースとして格納されている。さらに、各機能部品（テンプレート）などもライブラリとしてメモリ３３に格納されている。
【００２６】
タグ情報は、図７に示すように、（１）通信アドレスと、（２）タグ名と、（３）計器ブロック番号と、（４）計器ブロック番地と、（５）ＰＬＣ上のメモリエリア種別と、（６）ＰＬＣ上のメモリアドレスを関連づけたテープルとなっている。ループコントローラ（ループコントロールユニット１３）で使用される全てのファンクションブロックに対して個々に設定されている。各項目の具体的な内容は以下の通りである。
【００２７】
（１）通信アドレスは、ネットワーク上のループコントローラ（ユニット，ボード）のアドレスを特定する情報である。そのループコントローラが実装されたＰＬＣが存在するネットワーク番号と、そのネットワークにおけるＰＬＣのノード番号と、そのＰＬＣ内でのユニット番号などにより特定される。  
（２）タグ名の欄には、ファンクションブロックに付された名前が格納される。  
（３）計器ブロック番号の欄には、それぞれのファンクションブロックの種類が格納される。例えばＰＩＤブロックであれば何番、折れ線プログラムであれば何番などである。この種類より、表示器に表示する対象となるファンクションブロックであるか否かが特定される。  
（４）計器ブロック番地の欄には、ループコントローラ内のファンクションブロックの位置情報を特定するものである。上記の（１）の通信アドレス情報と、この計器ブロック番地の情報により、対象となるファンクションブロックがネットワーク上で一意に特定できる。すなわち、たとえばＰＩＤブロックを複数使用しているように同じ計器ブロック番号のファンクションブロックが複数存在している場合であっても、存在位置は必ず異なるため、この（４）の情報まで使用することにより目的のファンクションブロックを特定できる。  
（５）ＰＬＣ上のメモリエリア種別の欄には、各ファンクションブロックの情報が反映されるＰＬＣ（ＣＰＵユニット１２）上のＩ／Ｏメモリのメモリエリア種別を格納する。  
（６）ＰＬＣ上のメモリアドレスの欄には、各ファンクションブロックの情報が反映されるＰＬＣ（ＣＰＵユニット１２）上のメモリアドレスが格納される。
【００２８】
次に、上述したタグ情報に基づき、制御部３２は、図５に示すフローチャートを実行して割付・変換処理を行なう。すなわち、まずメモリ３３にアクセスし、タグ情報を読み込む（Ｓ１１）。
【００２９】
次いで、読み込んだタグ情報のうち、（３）の計器ブロック番号を検索し、変換すべき計器ブロックが存在するか否かを判断する（Ｓ１２）。すなわち、ファンクションブロックは多数の種類が存在するが、表示器２０の表示画面に表示すべきデータに関係するファンクションブロックはそのうちの一部の限られたものである。そして、係る一部の限られたファンクションブロックが変換すべき計器ブロックとなる。そこで、その一部の限られたファンクションブロックの計器フロック番号の一覧を予めメモリ３３に記憶保持しておき、タグ情報中に該当する計器ブロック番号が存在するか否かを判断する。存在しない場合には、このＳ１２の分岐判断はＮｏとなるので、処理を終了する。
【００３０】
また、該当する計器ブロック番号が存在する場合には、この分岐判断がＹｅｓとなるので、次は、（３）の計器ブロック番号の情報を元にデバイスライブラリの割付が必要か否かを判断する（Ｓ１３）。この分岐判断の処理対象は、Ｓ１２でＹｅｓとされたファンクションブロックのみである。そして、この分岐判断では、ＣＰＵユニット１２のＩ／Ｏメモリに割り付けられていないデータが存在し、そのデータがループコントロールユニット１３に実装の動作状態を表示する際に使用するものが有るか否かを判断する。例えば、ＰＩＤブロックの場合には、少なくとも表示器２０の表示画面に表示するために使用するデータは、Ｉ／Ｏメモリに反映されているため、デバイスライブラリの割付は不要となるが、折れ線プログラムのように、ファンクションブロックのあるデータを時系列にサンプリングし、その経時変化の状態を折れ線グラフにして表示するようなプログラムの場合、そのデータがＩ／Ｏメモリに反映されていないので、デバイスライブラリの割付が必要となる。そして、Ｓ１２でＹｅｓとなって抽出されるファンクションブロックのうち、どのファンクションブロックが割付が必要であるかは、ファンクションブロックの種類により決まっているので、この判断も該当する計器ブロック番号の一覧を予めメモリ３３に記憶保持しておき、該当する計器ブロック番号があるか否かにより判断する。
【００３１】
そして、割付が必要な計器ブロックがあると、Ｓ１４に飛び、（１）の通信アドレスと、（４）の計器ブロック番地の情報を元に詳細設定画面にデバイスライブラリを割り付ける。すなわち、ファンクションブロックに対応した表示画面のテンプレートが用意されているため、まず、それを読み出し、処理対象のファンクションブロックのアドレスと関連づける。一例を挙げると、図８のＡ，Ｂで示す表示領域は、折れ線プログラムのデータを用いて状態表示する部品（機能部品）のテンプレートである。そして、どの表示部分にファンクションブロックのどのデータを割り付けるかが予め決まっている。すなわち、あるファンクションブロックが使用するデータは予め分かっており、たとえば、入力値はそのファンクションブロックに割り当てられたメモリエリアの先頭から何番目の記憶エリアに格納するなど、先頭アドレスからのオフセット値が各データごとに決まっている。そして、先頭アドレスは、（１），（４）の情報により一意に決まるため、それらの情報を用いることにより、機能部品の各エリアに関連づけられるデータのアドレスも特定される。そこで、それらの関連づけを行なう。
【００３２】
また、各機能部品には、マクロとして、データ収集のための通信コマンドを割り付けておき、所定のトリガ（定期的あるいはボタンの押下など）に基づきマクロを実行して通信コマンドを発行する。この通信コマンド内に定義された宛先に、（１），（４）で特定されるループコントロールユニット１３のアドレスを設定することにより、通信コマンドがループコントロールユニット１３に伝達される。そして、係る通信コマンドに対するレスポンスが、通信コマンドの宛先であるループコントロールユニット１３から返信されてくるので、そのレスポンスを表示器２０内の内部メモリの所定アドレスに格納する。各機能部品は、常時内部メモリの所定アドレスを参照し、その所定アドレスに格納されたデータを表示するようになっている。これにより、レスポンスにより送られてきたデータが内部メモリに格納されることにより、機能部品１の表示に反映される。
【００３３】
さらに本実施の形態では、図８に示すように、表示器２０に表示する複数の部品の集合体である部品群Ａ，Ｂを予めデバイスライブラリとして用意しておき、それを提供することができるようにしている。ここで言う部品群は、表示器の制御対象機器（デバイス）を管理等するために必要な部品１１の集合体であり、表示画２０上での表示レイアウト並びに各部品に関連付ける通信コマンドも登録されたものである。
【００３４】
すなわち、例えばある制御対象に関係するアナログ量を管理するために、具体的な数値の履歴を表形式で表示する部品Ａと、履歴をグラフにして表示する部品Ｂが必要である場合に、各部品Ａ，Ｂに、データ収集するための通信コマンドや、各種の命令・データ設定を送る通信コマンドなどを割り付けておく。また、部品Ａ自体も複数の部品から構成されているため、部品Ａ自体を１つの部品群として見ることもできる。
【００３５】
このＳ１４の処理を実行後、あるいはＳ１３の分岐判断でＮｏとされたならば、Ｓ１５に進み、（１）（４）（５）（６）の情報を元に、読み込んだタグ情報に基づいて絶対アドレスに変換する（Ｓ１５）。このＳ１５の処理は、Ｉ／Ｏメモリに反映されるループコントロールユニット１３のメモリに対してアクセスするためのものである。つまり、表示器２０が、ループコントロールユニット１３の対象となるファンクションブロックに関係するデータが反映されるＩ／Ｏメモリのアドレスと種別が特定されるため、そのメモリのアドレスを絶対アドレスに変換する。また、表示器２０がそのＩ／Ｏメモリの所定エリアに読み書きするための設定も行なう。なお、これらの処理は、従来のものと同様である。
【００３６】
その後、上記の変換結果に基づいて、タグごとの部品（アドレス，通信コマンド等のマクロ付）を生成し（Ｓ１６）、生成した画面要素／部品を組み合わせたプロジェクトデータを表示器２０に出力する（Ｓ１７）。
【００３７】
上記した処理を実行し、所定のデータがセットされた表示器２０を実際に稼働すると、Ｉ／Ｏメモリにアクセスして読み書きしたり、ループコントロールユニット１３宛に通信コマンドを発行して所望のデータを読み書きしたりできる。これにより、例えば図８に示すように、符号Ｃで示すように、Ｉ／Ｏメモリに反映されたデータに基づいてＰＩＤブロックの動作状況を表示したり、符号Ａ，Ｂで示すようにループコントロールユニット１３に直接アクセスして得られたデータに基づき折れ線プログラムによる動作状況を表示したりできる。
【図面の簡単な説明】
【００３８】
【図１】従来例を示す図である。
【図２】本発明の一実施の形態が適用されたシステムを示す図である。
【図３】ループコントロールユニットが組み込まれたＰＬＣの内部構成を示すブロック図である。
【図４】本発明による効果を説明する図である。
【図５】本発明に係るツールの一実施の形態の機能を示すフローチャートである。
【図６】そのツールの内部構成図である。
【図７】タグ情報のデータ構造の一例を示す図である。
【図８】表示器２０の表示画面の一例を示す図である。
【符号の説明】
【００３９】
１０  ＰＬＣ
１１  電源ユニット
１２  ＣＰＵユニット
１２ａ，１２ｂ  Ｉ／Ｏメモリ
１３  ループコントロールユニット
１３ａ  入力インタフェース
１３ｂ  ファンクションブロック
１３ｃ  出力インタフェース
１３ｄ  通信サーバ機能
１３ｅ  メモリ
１４  その他のユニット
１４ａ  ＡＤユニット
１４ｂ  ＤＡユニット
２０  表示器
３０  ツール
【図１】
2005259079.tif 000003
【図２】
2005259079.tif 000004
【図３】
2005259079.tif 000005
【図４】
2005259079.tif 000006
【図５】
2005259079.tif 000007
【図６】
2005259079.tif 000008
【図７】
2005259079.tif 000009
【図８】
2005259079.tif 000010