(57)【特許請求の範囲】
【請求項１】
複数の第１デバイスのうち状態が変化する第１デバイスの状態を取得する一方、複数の第１デバイスのうち状態の変更が可能な第１デバイスの状態を変更する制御装置と通信する通信手段と、
上記通信手段が取得した各第１デバイスの状態を表示する一方、入力された操作に応じた上記第１デバイスの状態変更指示を上記制御装置に送信するように上記通信手段を制御する制御表示手段と、
第２デバイスに対応する変数および該変数で対象を特定した制御のための制御手順プログラムを記憶する記憶手段と、
上記第２デバイスの状態をそれぞれに対応付けられた変数の内容として取得する一方、変数の内容に基づいて、上記制御手順プログラムが示す手順で更新すべき変数の内容を更新するとともに、該変数の内容に応じて、該変数に対応する上記第２デバイスの状態を変更する制御手段とを備えた制御表示装置において、
上記記憶手段が、上記第１デバイスに対応する変数を上記第１デバイスの種類を特定するデバイスコードおよび上記第１デバイスを特定する番号と対応付けた関連情報を記憶可能であり、
制御表示装置が、
上記変数に対応する状態が変化する上記第１デバイスの状態を書き替えるための第１テーブルと、
前記通信手段が取得した状態が変化する上記第１デバイスの状態が当該第１デバイスに対応する変数と対応付けられて書き込まれる第２テーブルと、
上記記憶手段に記憶された関連情報に対応する上記第１デバイスについての状態を取得するように上記通信手段に指示し、取得結果に応じて前記第２テーブルにおける上記第１デバイスの状態を更新し、上記第１テーブルにおける上記第１デバイスの状態を更新された上記第２テーブルにおける第１デバイスの状態と一致するように上記関連情報を参照して書き替える一方、上記第１テーブルにおいて書き替えられた上記第１デバイスの状態に応じた状態変更指示を上記制御装置に送信するように、上記通信手段へ指示する仲介手段とを備え、
上記制御手段が、上記第１テーブルにおいて書き替えられた上記第１デバイスの状態に基づいて、上記制御手順プログラムが示す手順で更新すべき上記第１デバイスの状態を更新するための上記状態更新指示を上記仲介手段に与えることを特徴とする制御表示装置。
【請求項２】
上記仲介手段による上記通信手段への指示手順が、上記制御表示手段による上記通信手段への指示手順と同一になるように設定されていることを特徴とする請求項１に記載の制御表示装置。
【請求項３】
請求項１または２に記載の制御表示装置を動作させる制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
【請求項４】
請求項３に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部の制御装置に接続されたデバイスを指定してその状態を取得または変更できるようにした制御表示装置、制御プログラムおよびそれを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
プログラマブルロジックコントローラ（以降、ＰＬＣと称する）などと呼ばれる産業用制御装置は、シーケンス制御をはじめとする各種制御を実現するために、ＣＰＵおよびメモリを中心とするハードウェアの部分と、制御を司るソフトウェアの部分とを備えている。ソフトウェアの部分は、ＰＬＣを設計当初の制御システム通りに動作させるためのシーケンス制御フローの設計、その制御フローの命令語への変換、命令語のメモリへの書き込みなどを含んでいる。一般に、この一連の作業をプログラミングと称している。
【０００３】
このようなプログラミングにおいては、コンピュータの専門知識を持たなくても簡単にプログラム作成ができるように、独自の言語を用いており、利用者に使いやすい各種のプログラミング言語が次々と開発されるようになった。現在、ＩＥＣ(International Electrotechnical Commission) において、標準のプログラミング言語が制定されている（ＩＥＣ 6 1131-3 ）。それは、ＳＦＣ(Sequentia  l Function Chart) 、ＬＤ(Ladder Diagram)、ＩＬ(Instruction List)、ＦＢＤ(Function Block Diagram)およびＳＴ(Structured Text) の５言語である。
【０００４】
上記のように、各種のプログラミング言語を用いてプログラム開発を行うことができるように環境が整えられつつある。例えば、ラダー図（ＬＤ）は、リレー記号を用いて比較的容易にラダー回路を設計することができるので従来から広く普及しており、現在でも最もよく用いられているプログラミング言語である。このようなプログラミング言語によるプログラミング作業において用いられるプログラミングツールとしては、ラダーエディタなどのプログラミングソフトウェアが普及してきている。このソフトウェアは、パーソナルコンピュータなどのコンピュータ装置において、ラダー図などをラダー記号を含む形態で作成できるので、プログラムの作成および編集を容易に行える。
【０００５】
また、作成されたプログラムを実行するには、予めＰＬＣの入力端子および出力端子のそれぞれに付与されている入力番号および出力番号（Ｉ／Ｏアドレス）と、各入出力端子に接続される制御対象機器（デバイス）との割り付けを行う必要がある。このため、上記のプログラミングソフトウェア（エディタ）では、その割り付けのための設定や登録を行えるようになっている。
【０００６】
また、近年、ＨＭＩ(Human Machine Interface) 機器としてのプログラマブル表示器やパネルコンピュータには、メーカ独自の仕様で構成されるＰＬＣに対して、ＰＬＣの機能をソフトウェアで実現するとともに、Ｉ／Ｏなどを搭載することによってＰＬＣ機能を備えた機種が登場してきている。このようなＨＭＩ機器では、通常のプログラマブル表示器と同様、ＰＬＣを接続して、ディスプレイ上にＰＬＣへの制御指示の入力やＰＬＣの可動状況の表示などを行うとともに、上記のＰＬＣ機能を兼ね備えている機種もある。この機種では、自身のＰＬＣ機能によってＩ／Ｏに接続されたデバイスとデータのやり取りを行うとともに、専用のＰＬＣを接続して、このＰＬＣを介してデバイスとデータのやり取りを行うことができる。
【０００７】
このようなＰＬＣ機能を備えた機器にも、ＰＬＣと同様、割り付けのための設定が必要となる。
【０００８】
従来、Ｉ／Ｏアドレスの表記はＰＬＣのメーカによって異なるが、上記のような割り付けは、基本的には、Ｉ／Ｏアドレスとして固定された絶対アドレスに１対１でデバイスを割り付ける。ただし、上記のＰＬＣ機能を備えたＨＭＩ機器では、ＩＥＣに準拠した標準化されたプログラミング言語によるエディタを用いることによって、変数（自由変数）を介してデバイスとＩ／Ｏアドレスとを割り付けるので、Ｉ／Ｏ構成の変更などによってＩ／Ｏアドレスが変わっても、一度決定した割り付けを容易に変更することができる。
【０００９】
【発明が解決しようとする課題】
複数のＰＬＣ同士を接続して相互にデータをやり取りするには、ＰＬＣ間に共通のメモリを設け、あるＰＬＣがその共有メモリにデータを書き込むと、他のＰＬＣがそのデータを読み出すように構成するか、あるいは、複数のＰＬＣ間でネットワークを介してリンク通信を行うように構成する。このようなシステムでは、Ｉ／Ｏアドレスを介してデータの読み書きを行うので、Ｉ／Ｏアドレスが上記のようにＰＬＣのメーカ毎に異なると、異なるメーカのＰＬＣ間ではデータをやり取りすることができない。
【００１０】
また、前述のＰＬＣ機能を有するＨＭＩ機器では、外部に接続されたＰＬＣと通信を行う場合、絶対アドレスを介してデバイスのデータを授受する通信手段を用いる一方、ＰＬＣ機能を用いてデバイスと通信する場合、変数を介してデータを授受する通信手段を用いている。このため、上記のＨＭＩ機器は、ＰＬＣ機能から直接ＰＬＣのデバイスを指定して、そのデバイスのデータを読み書きすることができない。
【００１１】
本発明は、上記の事情に鑑みてなされたものであって、ＰＬＣから他のメーカの異なる他のＰＬＣのデバイスを指定して、そのデバイスのデータを読み書きできる制御表示装置、制御プログラムおよびそれを記録した記録媒体を提供することを目的としている。
【００１２】
【課題を解決するための手段】
本発明の制御表示装置は、複数の第１デバイスのうち状態が変化する第１デバイスの状態を取得する一方、複数の第１デバイスのうち状態の変更が可能な第１デバイスの状態を変更する制御装置と通信する通信手段と、上記通信手段が取得した各第１デバイスの状態を表示する一方、入力された操作に応じた上記第１デバイスの状態変更指示を上記制御装置に送信するように上記通信手段を制御する制御表示手段と、第２デバイスに対応する変数および該変数で対象（入出力の対象、演算の対象など）を特定した制御のための制御手順プログラムを記憶する記憶手段と、上記第２デバイスの状態をそれぞれに対応付けられた変数の内容として取得する一方、変数の内容に基づいて、上記制御手順プログラムが示す手順で更新すべき変数の内容を更新するとともに、該変数の内容に応じて、該変数に対応する上記第２デバイスの状態を変更する制御手段とを備えた制御表示装置において、上記の課題を解決するために、上記記憶手段が、上記第１デバイスに対応する変数を上記第１デバイスの種類を特定するデバイスコードおよび上記第１デバイスを特定する番号と対応付けた関連情報を記憶可能であり、制御表示装置が、上記変数に対応する状態が変化する上記第１デバイスの状態を書き替えるための第１テーブルと、前記通信手段が取得した状態が変化する上記第１デバイスの状態が当該第１デバイスに対応する変数と対応付けられて書き込まれる第２テーブルと、上記記憶手段に記憶された関連情報に対応する上記第１デバイスについての状態を取得するように上記通信手段に指示し、取得結果に応じて前記第２テーブルにおける上記第１デバイスの状態を更新し、上記第１テーブルにおける上記第１デバイスの状態を更新された上記第２テーブルにおける第１デバイスの状態と一致するように上記関連情報を参照して書き替える一方、上記第１テーブルにおいて書き替えられた上記第１デバイスの状態に応じた状態変更指示を上記制御装置に送信するように、上記通信手段へ指示する仲介手段とを備え、上記制御手段が、上記第１テーブルにおいて書き替えられた上記第１デバイスの状態に基づいて、上記制御手順プログラムが示す手順で更新すべき上記第１デバイスの状態を更新するための上記状態更新指示を上記仲介手段に与えることを特徴としている。
【００１３】
上記の構成では、例えば、制御装置がＰＬＣであり、制御表示装置がＰＬＣ機能を備えたプログラマブル表示器である。第２デバイスの状態（例えば、デバイスのＯＮ・ＯＦＦの状態を示すデータや数値データ）を取得する際、制御手段によって、第２デバイスの状態がそれぞれに対応付けられた変数の内容として取得される。そして、記憶手段に記憶された変数の内容が取得された内容に更新される。一方、第２デバイスの状態を変更する際、制御手段によって、変数の内容に基づいて、制御手順プログラムが示す手順で更新すべき変数の内容が更新され、また、その変数の内容に応じて、その変数に対応する第２デバイスの状態が更新される。例えば、スイッチがＯＮするとランプがＯＮする手順を含む制御手順プログラムの場合、スイッチの変数の内容がＯＮ（“１”）であるとき、ランプの変数をＯＮ（“１”）にするように、ランプの変数がＯＦＦ（“０”）からＯＮ（“１”）に変わるとともに、ランプの状態がＯＦＦからＯＮに変わる。
【００１４】
制御手段から第１デバイスの状態を取得する際、制御手段が、第２デバイスの状態取得と同様に第１デバイスの状態を取得しようとすると、仲介手段は、それを受けて、記憶手段に記憶された関連情報に対応する第１デバイスについての状態を取得するように通信手段に指示する。通信手段は、その指示を受けて、制御装置との通信によって、変数で第１デバイスを指定して第１デバイスの状態を制御装置から取得する。そして、第２テーブルにおける第１デバイスの状態が取得された状態に更新され、第１テーブルにおける第１デバイスの状態が、更新された第２テーブルにおける第１デバイスの状態と一致するように関連情報を参照して書き替えられる。一方、制御手段から第１デバイスの状態を変更する際、制御手段は、第１テーブルにおいて書き替えられた第１デバイスの状態に基づいて、第１デバイスの状態を変更するための状態更新指示を仲介手段に与える。仲介手段は、制御手順プログラムが示す手順で更新すべき第１デバイスの状態を第１テーブルにおいて書き替えられた第１デバイスの状態に応じて変更する状態変更指示を制御装置に送信するように指示する。通信手段は、その指示を受けて、制御装置との通信によって、変数で第１デバイスを指定して第１デバイスの状態を制御装置に変更させる。
【００１５】
このように、記憶手段に第１デバイスに対応する変数を記憶させるとともに、仲介手段がその変数で第１デバイスを指定して第１デバイスの状態取得および状態変更を通信手段に指示することによって、第２デバイスの状態取得および状態変更を行う制御手段から第１デバイスの状態取得および状態変更を行うことができる。
【００１６】
上記の制御表示装置は、上記仲介手段による上記通信手段への指示手順が、上記制御表示手段による上記通信手段への指示手順と同一になるように設定されていることが好ましい。このような構成では、第１デバイスの状態取得のための指示が、表示制御手段および仲介手段のいずれからでも同じ手順で行われるので、仲介手段に合わせた特別の手順を用意する必要がない。
【００１７】
本発明の制御プログラムは、上記制御表示装置を動作させ、コンピュータを上記制御表示装置を上記各手段として機能させるものである。また、本発明の記録媒体は、上記の制御プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１８】
これらの制御プログラムおよび記録媒体を用いても、上記の各制御表示装置で実現される制御表示装置から他のメーカのＰＬＣ（制御装置）の第１デバイスを指定して、データの読み書きを行うことを同様に実現することができる。
【００１９】
【発明の実施の形態】
本発明の実施の一形態について図１ないし図６に基づいて説明すれば、以下の通りである。
【００２０】
本実施の形態に係る表示／制御システムは、図２に示すように、プログラマブル表示器１およびＰＬＣ２を含んでいる。
【００２１】
制御装置としてのＰＬＣ２は、ＣＰＵ／電源モジュールと、入力ユニットと、出力ユニットとを備えている。ＣＰＵ／電源モジュールは、ＣＰＵやメモリを含むＣＰＵ部と、ＰＬＣ２の各部に電力を供給する電源部とからなっている。ＣＰＵ部は、制御システムプログラムにしたがって、入力ユニットを介して入力機器から入力される信号に基づいて出力機器に与える制御データの演算処理を行う。入力ユニットおよび出力ユニットは、それぞれ入力機器および出力機器に接続されるインターフェース機能を有する部分であって、これらの機器との間で入出力されるデジタル信号またはアナログ信号を上記のＣＰＵ部とやり取りするようになっている。
【００２２】
第１デバイスである入出力機器４を構成する上記の入力機器としては、センサ（温度センサ、光センサなど）、スイッチ（押ボタンスイッチ、リミットスイッチ、圧力スイッチなど）のような機器が用いられる。入出力機器４を構成する上記の出力機器としては、アクチュエータ、リレー、電磁弁、表示器などが用いられる。これらの入力機器および出力機器は、製造ラインなどの各種のターゲットシステムの所要各部に配置される。
【００２３】
制御表示装置としてのプログラマブル表示器１は、ＣＰＵ１１、メモリ部１２、ＶＲＡＭ１３、ディスプレイ１４、グラフィックコントローラ１５、タッチパネル１６、タッチパネルコントローラ１７、メンテナンスポート１８、Ｉ／Ｏユニット１９およびＩ／Ｏ制御インターフェース２０を備えている。
【００２４】
記憶手段としてのメモリ部１２は、ＤＲＡＭ１２ａ、ＦＥＰＲＯＭ(Flash Era sable and Programmable ROM) １２ｂ等のメモリを含んでいる。ＤＲＡＭ１２ａ は、主に、表示制御などの演算処理時の作業用に用いられる他、通信コントローラ１９またはＩ／Ｏユニット２０を介して入出力される入出力機器５のデータの一時的な記憶に用いられる。ＳＲＡＭ１２ｃは、入出力機器５（入力機器）から得られたデータをロギングしたり、入出力機器５（出力機器）に与える制御データ（レシピデータ）を記憶したりするために用いられる。ＦＥＰＲＯＭ１２ｂは、書き替え可能な読み出し専用のフラッシュメモリであり、一般のパーソナルコンピュータにおけるハードディスクドライブの役割を果たす。フラッシュメモリは、可動部を持たず、かつ衝撃に強いので、劣悪な周囲環境でも安定して動作する。
【００２５】
第２デバイスとしての上記の入出力機器５は、ＰＬＣ２に接続される前述の入出力機器４と同様な機器である。
【００２６】
また、上記のＦＥＰＲＯＭ１２ｂは、図３に示すように、表示制御システムプログラムと、通信プロトコルと、画面データと、制御機能プログラムと、ラダープログラムとをそれぞれ格納するエリアを有している。
【００２７】
表示制御システムプログラムは、画像表示制御を行うための基本機能を実現するためのプログラムである。この表示制御システムプログラムは、ＰＬＣ２との通信を行って、ＰＬＣ２への作業指示（データの書き込み）や入出力機器５…のデータ収集（データの読み出し）などを実行し、そのために必要な表示処理やディスプレイ１４からの操作入力処理を行う。また、ＰＬＣ機能を利用した、Ｉ／Ｏユニット２０を介しての入出力機器５…のデータの読み書きを実行し、そのために必要な表示処理やディスプレイ１４からの操作入力処理を行う。
【００２８】
通信プロトコルは、ＰＬＣ２との通信処理で用いられるプロトコルであり、ＰＬＣ２の機種（メーカ）に応じて固有に定められている。ＦＥＰＲＯＭ１２ｂは、プログラマブル表示器１で接続が保証されているＰＬＣ２の通信プロトコルを格納している。
【００２９】
画面データは、後述する作画エディタ３２ｂによって作成されて、ＦＥＰＲＯＭ１２ｂにダウンロードされている。この画面データは、ディスプレイ１４に表示すべきベース画面や図形要素としての部品のデータおよび各マークに付与された後述する処理指示語Ｗ（図４参照）などを含んでおり、表示内容プログラムを構成している。
【００３０】
制御機能プログラムは、シーケンス制御の基本機能を実現するためのプログラムである。この制御機能プログラムは、ラダープログラムを実行するとともに、ラダーエディタ３２ａとの通信制御や、ＰＬＣ２に接続された入出力機器４を指定してそのデータの読み書きを行う。
【００３１】
ラダープログラム（制御手順プログラム）は、後述するラダーエディタ３２ａを用いてユーザによる入力操作によって作成されて、ＦＥＰＲＯＭ１２ｂにダウンロードされている。このラダープログラムは、入出力機器４・５（以降、入出力機器４・５に限定しない場合はデバイスと総称する）が所望のシーケンスにしたがって動作するように制御手順を定めるプログラムである。制御機能プログラムおよびラダープログラムは、プログラマブル表示器１のＰＬＣ機能を利用する際に用いられる。
【００３２】
上記の画面データに含まれる部品は、タッチスイッチ、ランプ、各種表示器（例えば、数値表示器やメータ表示器）などの画像化された基本的な部品として予め用意されている。また、部品としては、スイッチや数値表示器などの動的変化を画面上の任意の位置で表現させるために、所望の位置に設定された矩形エリアに所望の動画機能が設定された機能部（タグ）も含まれる。このような部品を含むユーザ画面においては、部品がデバイスの動作に応じて動くようになっており、デバイスの動作状況が視覚化されている。
【００３３】
図４に示すように、画面データに含まれる処理指示語Ｗは、ベース画面上で実行されるべき事象毎に作成されている。この処理指示語Ｗは、基本的には、表示制御動作を実行すべきベース画面のファイル番号Ｆと、このベース画面上で実行されるべき動作内容を特定する事象名Ｔと、各実行事象毎に参照される１または複数のデータからなる参照情報Ｉとを一組として備えている。
【００３４】
ＣＰＵ１１は、前述のＦＥＰＲＯＭ１２ｂに格納された表示制御システムプログラムにしたがって、プログラマブル表示器１の各部の動作を制御する。また、ＣＰＵ１１は、後述するメンテナンスポート１８を介しての後述するコンピュータ装置３との通信を制御する機能を有しており、作画エディタからの画面データやユーザプログラムエディタからのユーザプログラムを受け取るとＦＥＰＲＯＭ１２ｂに格納する。
【００３５】
ＶＲＡＭ１３は、ディスプレイ１４に表示される画面のイメージを一時的に保持するメモリであり、ＦＥＰＲＯＭ１２ｂからの画面データのイメージを水平方向に表示される順にドットデータとして格納している。
【００３６】
ディスプレイ１４は、液晶パネルやＥＬパネルのような平板型表示素子によって構成されている。グラフィックコントローラ１５は、ＶＲＡＭ１３に展開された画面のイメージを、ディスプレイ１４に描画するドライバソフトウェアである。タッチパネル１６は、ディスプレイ１４の表示画面上で入力を行うために設けられており、アナログ抵抗膜式タッチパネルなどが好適である。タッチパネルコントローラ１７は、タッチパネル１６の出力電圧を入力位置情報に変換してＣＰＵ１１に出力する。
【００３７】
メンテナンスポート１８は、後述するコンピュータ装置３との間の通信を行うための通信ポートである。
【００３８】
通信コントローラ１９は、通信ケーブル（例えばＲＳ−２３２Ｃ）を介してＰＬＣ２との間で入出力機器４…の制御や監視に関するデータなどの転送やＰＬＣ２の出力データの取り込みを制御するインターフェースである。
【００３９】
また、プログラマブル表示器１は、ＰＬＣ機能を備えて入出力機器５…を直接制御するように構成されている。このため、プログラマブル表示器１は、図２に示すように、Ｉ／Ｏユニット２０およびＩ／Ｏ制御インターフェース２１を備えている。
【００４０】
Ｉ／Ｏユニット２０は、入出力機器５…が接続可能となるように、多数の入出力端子、入出力回路などを備えている。このＩ／Ｏユニット２０は、接続される通信システムに応じて異なる機種が、プログラマブル表示器１の本体に着脱可能に取り付けられる。例えば、Ｉ／Ｏユニット２０としては、デジタルデータの入出力を行うためのＤＩＯユニットや、リモートＩ／Ｏユニット（アナログ／デジタル変換ユニット、高速カウンタユニットなど）が用いられる。プログラマブル表示器１には、装着可能であり、かつ動作を保証しているＩ／Ｏユニット２０が予め規定されている。
【００４１】
Ｉ／Ｏ制御インターフェース２１は、ＣＰＵ１１と入出力ユニット２０との間の信号の授受を仲介するインターフェース回路であって、入出力メモリ、Ｄ／Ａ変換器、Ａ／Ｄ変換器などを備えている。
【００４２】
ここで、前述の表示制御システムプログラムおよび制御機能プログラムについて詳細に説明する。
【００４３】
図１に示すように、表示制御システムプログラムは、制御表示部４１およびＰＬＣ通信制御部４２を含んでおり、制御機能システムプログラムは、実行部４３、外部通信制御部４４および中間処理部４５を含んでいる。
【００４４】
制御表示手段としての制御表示部４１は、画面データ（ユーザ画面）やアラーム画面の表示、ラダープログラムのモニタリングといった各種の表示処理を行う。また、制御表示部４１は、ディスプレイ１４に表示されたユーザ画面上での操作入力にしたがったＰＬＣ２への作業指示（レシピデータの書き込み）操作入力処理や、ＰＬＣ２からデータの読み出しなどの処理を行う。
【００４５】
ＰＬＣ２内のメモリには、アドレスを指定することにより、ワードデバイスおよびビットデバイスが格納場所を特定可能に設定されている。ワードデバイスは、入出力されるデータが数値のようなワードデータに対して設定され、ビットデバイスは、オン・オフ状態のようなビットデータに対して設定される。このような設定により、制御表示部４１は、ＰＬＣ２内の任意のワードデバイスまたはビットデバイスをアクセスするように、ＰＬＣ通信制御部４２に指示することによって、入出力機器４…の状態を個別に変更するとともに、入出力機器４の状態を個別に取得することができる。
【００４６】
また、プログラマブル表示器１のＳＲＡＭ１２ｃには、ＰＬＣ２内のメモリと同様、アドレスを指定することにより、ワードデバイスおよびビットデバイスが格納場所を特定可能に設定されている。このような設定により、制御表示部４１は、ＳＲＡＭ１２ｃ内の任意のワードデバイスまたはビットデバイスをアクセスするだけで、入出力機器５…の状態を個別に変更するとともに、入出力機器５…の状態を個別に取得することができる。
【００４７】
通信手段としてのＰＬＣ通信制御部４２は、ＰＬＣ２との通信を制御するために、ＦＥＰＲＯＭ１２ｂに格納された前述の通信プロトコルに基づいて通信を行うための手順を定めている。ＰＬＣ通信制御部４２は、制御表示部４１によって、指定された入出力機器４のデータの読み出しが指示されると、ＰＬＣ２のメモリに取り込まれたデータを読み込む。また、ＰＬＣ通信制御部４２は、制御表示部４１によって、指定された入出力機器４のデータの書き込みが指示されると、ＰＬＣ２のメモリに指定されたデータを書き込む。
【００４８】
ＰＬＣ通信制御部４２は、制御表示部４１の指示にしたがって、ＰＬＣ２から入出力機器４のデータを読み出す（取得する）際、前述のビットデバイスまたはワードデバイスが示す状態情報のうち、必要な情報を適時（例えば、周期的）にメモリ部１２に読み込む一方、上記の処理指示語Ｗを繰り返し読み出して各処理指示語Ｗの事象名Ｔで特定される内容の動作をＰＬＣ２側の状態情報を参照しながら実行する。これによって、ビットデバイスまたはワードデバイスの状態の変化に応じて変化する表示動作が実行される。
【００４９】
また、ＰＬＣ通信制御部４２は、後述する中間処理部４５の指示にしたがって、入出力機器５のデータを読み出す（取得する）際、上記のビットデバイスまたはワードデバイスが示す状態情報のうち、必要な情報を適時（例えば、周期的）にメモリ部１２に読み込む一方、上記の処理指示語Ｗを繰り返し読み出して各処理指示語Ｗの事象名Ｔで特定される内容の動作をメモリ部１２内の状態情報を参照しながら実行する。これによって、ビットデバイスまたはワードデバイスの状態の変化に応じて変化する表示動作が実行される。
【００５０】
制御手段としての実行部４３は、制御機能プログラムの中核をなしており、ＦＥＰＲＯＭ１２ｂに格納されたラダープログラムを所定のスキャンタイムで実行する。この実行部４３は、ラダープログラムの実行に伴って、後述する変数で入出力機器４・５を指定して、入出力機器４・５へのデータの書き込みや入出力機器４・５からのデータの読み出しを行う。実行部４３は、より詳しくは、入出力機器４・５の状態をそれぞれに対応付けられた変数のデータ（変数の内容）として後述するリフレッシュテーブルＴｒから取得する一方、リフレッシュテーブルＴｒに書き込んだ変数の内容に基づいて、ラダープログラムが示す手順で更新すべき変数のデータをリフレッシュテーブルＴｒにおいて更新するとともに、その変数のデータに応じて、その変数に対応する入出力機器４・５の状態を変更する。
【００５１】
プログラマブル表示器１内のメモリ部１２には、前述のＰＬＣ２のメモリと同様に、ワードデバイスおよびビットデバイスが格納場所を特定可能に設定されている。実行部４３は、上記のビットデバイスまたはワードデバイスが示す状態情報のうち、必要な情報を適時にメモリ部１２の他のエリアに読み込んで、制御表示部４１と同様に、処理指示語Ｗを用いた表示動作を実行する。
【００５２】
外部通信制御部４４は、メンテナンスポート１８による通信を制御する通信ドライバプログラムである。この外部通信制御部４４の制御による通信で、コンピュータ装置３におけるラダーエディタ３２ａとの連携が行われる。
【００５３】
中間処理部４５は、実行部４３によるＰＬＣ２に接続されたデバイスへのデータの読み書きを行うために、実行部４３と前述の制御表示部４１との間でデータのやり取りに必要な処理を行う。仲介手段としての中間処理部４５は、制御表示部４１から供給されたデバイスコード、割付番号および後述するメモリテーブルＴｍ（図１参照）のポインタを含む基本デバイス情報（特定情報）に、後述する参照ファイルＦ（図１参照）に記述された参照デバイス情報（関連情報）を追加してＰＬＣ通信制御部４２に送信して与えるとともに、その情報に基づいてＰＬＣ２に対するデータの読み書きを指示する。中間処理部４５は、ＰＬＣ２からのデータの読み出し（入出力機器４の状態の取得）およびデータの書き込み（入出力機器４の状態の変更）をＰＬＣ通信制御部４２に指示する際、その指示を前述の制御表示部４１と同一の手順で行う。
【００５４】
デバイスコードは、ＰＬＣ２の入出力端子に接続される入出力機器４の種類およびＰＬＣ２の内部デバイスの種類を特定するＸ（入力デバイス）、Ｙ（出力デバイス）、Ｍ（内部リレー）、Ｔ（タイマー）、Ｃ（カウンタ）、Ｒ（シフトレジスタ）、Ｄ（データレジスタ）などを示すコードであり、１６ビットで表される。割付番号（０，１，２，３，…）は、ＰＬＣ２の入出力端子や内部デバイスの個々に付与された番号であり、１６ビットで表される。上記のようなデバイスコードおよび割付番号は、ＰＬＣ２のメーカ毎に独自に規定されており、これらの組み合わせからなるＩ／Ｏアドレスも同様に各メーカ間で異なっている。
【００５５】
第２テーブルとしてのメモリテーブルＴｍは、ＰＬＣ通信制御部４２がＰＬＣ２から読み込んだデータを書き込むために、メモリ部１２のＳＲＡＭ１２ｃに設けられたテーブルであって、データを変数と対応付けて格納している。ポインタは、読み込まれたデータをメモリテーブルＴｍにおいて書き込む位置を指定するために用いられる。
【００５６】
参照デバイス情報は、ＰＬＣ２に対してデータの読み書きを行う際に用いられる上記のデバイスコードおよび割付番号が変数と対応付けられた関係である。この参照デバイス情報は、後述するように、参照ファイル作成部３２ｃで作成された参照ファイルＦに特定されている。
【００５７】
また、中間処理部４５は、変数に対応するデバイスのデータを書き替えるためのリフレッシュテーブルＴｒ（第１テーブル）を上記の参照ファイルＦに基づいてＳＲＡＭ１２ｃに作成するとともに、ＰＬＣ通信制御部４２によってＰＬＣ２から読み出されたデータを書き込むためのメモリテーブルＴｍを作業領域としてのＤＲＡＭ１２ａに作成する。中間処理部４５は、メモリテーブルＴｍに書き込まれたデバイスデータと一致するように、リフレッシュテーブルＴｒのデータを書き替える。
【００５８】
上記の制御表示部４１、ＰＬＣ通信制御部４２、実行部４３、外部通信制御部４４および中間処理部４５の間の相互の通信は、プログラマブル表示器１のＯＳ（オペレーティングシステム）を介したタスク間メールによって行われる。
【００５９】
また、上記の表示制御システムプログラムおよび制御機能プログラムは、通常、出荷時に予めプログラマブル表示器１のメモリ部１２にインストールされているが、プログラマブル表示器１に対して着脱自在の記録媒体７によってインストールされてもよい。振動などの影響を受けても動作上の不都合がないように、プログラマブル表示器１が可動部を有する機械部品などを備えないことが好ましいことから、上記の記録媒体７としては、フラッシュメモリなどからなるメモリカードが適している。このような記録媒体７を利用すれば、上記の両プログラムのバージョンアップがされる際にも、最新バージョンのプログラムを記録媒体７によって提供することができる。
【００６０】
続いて、コンピュータ装置３について説明する。
【００６１】
コンピュータ装置３は、パーソナルコンピュータなどの汎用コンピュータによって構成されている。このコンピュータ装置３は、図２に示すように、ＣＰＵ３１、エディタ部３２、ラダーファイル３３、画面ファイル３４、メモリ部３５、ディスプレイ３６、入力装置３７、外部記憶装置３８およびインターフェース部（図中、Ｉ／Ｆ）３９を備えている。
【００６２】
ＣＰＵ３１は、コンピュータ装置３にインストールされているＯＳ上でエディタ部３２を含む各種のアプリケーションソフトウェアを動作させる際の各部の制御や演算処理を行う。
【００６３】
メモリ部３５は、ＲＡＭ、ＲＯＭなどのメモリを備えており、固定データの格納、一時的なデータ記憶、ＣＰＵ３１の演算処理時における作業エリアの提供といった役割を果たしている。
【００６４】
エディタ部３２は、ラダーエディタ３２ａ、作画エディタ３２ｂおよび参照ファイル作成部３２ｃを含んでいる。
【００６５】
ラダーエディタ３２ａは、デバイスが所望のシーケンスにしたがって動作するようにＰＬＣ２またはプログラマブル表示器１のＰＬＣ機能の制御手順を定めるラダープログラムを作成するためのプログラミングソフトウェアであり、ディスプレイ３６の表示画面上でデバイスの動作に対応するラダー記号（図形要素）を配置してラダー図を作成できるように構成されている。このラダーエディタ３２ａにおいては、例えば、国際基準ＩＥＣに準拠した前述のプログラミング言語が用いられる。ラダーエディタ３２ａで作成されたラダープログラムは、後述するＩ／Ｏ設定データとともに、プログラマブル表示器１を介して（または直接）ＰＬＣ２に転送され、ＰＬＣ２内のＦＥＰＲＯＭ１２ｂにダウンロードされる。
【００６６】
また、上記のラダーエディタ３２ａは、シンボルエディタを含んでいる。シンボルエディタは、デバイスに個々に対応付けられる変数（シンボル）を作成するためのエディタである。ラダープログラムに関するデータである変数としては、スイッチに対応するＳＷ１やランプに対応するＬＡＭＰ１のようにデバイスに対応する符号や、操作指示、デバイスの動作状態のような事象名やコメントが挙げられる。
【００６７】
また、シンボルエディタは、Ｉ／Ｏユニット２０の入力端子および出力端子に付与されている番号と、各入出力端子に接続されるデバイスについて設定された変数との対応付けを入出力番号の割り付け（Ｉ／Ｏアサイン）として行う。この割り付けの結果は、割り付け作業時には、メモリ部３５のＲＡＭにテンポラリファイルとして登録され、設定完了後にはＩ／Ｏ設定データとしてプログラムファイル３４に保存される。
【００６８】
ＩＥＣに準拠したラダーエディタ３２ａは、自由変数によってユーザが入出力を決定できるので、一度決定した割り付けも、後に変更することができる。したがって、Ｉ／Ｏユニット２０の機種が変更されても、すでに設定した変数にＩ／Ｏアドレスの対応付けを行うことによって、割り付けの変更を行うことができる。
【００６９】
ＰＬＣ２については、メーカに応じて使用するラダー命令が異なったり、Ｉ／Ｏアドレスの設定が異なったりするため、ラダーエディタ３２ａと異なる専用のプログラミングソフトウェアでラダープログラムが作成される。また、ＰＬＣ２について割り付けを行う際、前述のデバイスコードおよび割付番号からなるＩ／Ｏアドレスと、各Ｉ／Ｏアドレスに対応するデバイスの名称（デバイス名）とを１組にしてＩ／Ｏ設定データが作成される。
【００７０】
さらに、シンボルエディタでは、デバイスに入力されるデータおよびデバイスから出力されるデータである入出力データのタイプ（属性データ）として、「ディスクリート（ビット）」、「カウンタ」、「タイマ」、「整数」、「実数」または「文字列」が設定可能である。例えば、スイッチなど、デバイスがオン／オフの状態を取る場合には、「ディスクリート」が選択される。また、例えば、製品の生産個数を計数するようなカウンタである場合には、「カウンタ」が選択され、所定時間までの計時を行うようなタイマである場合には、「タイマ」が選択される。さらに、例えば、メータなどの数値を扱う場合は、「整数」または「実数」が選択される。
【００７１】
加えて、シンボルエディタでは、変数が、ＰＬＣ２を介して接続されるデバイス（入力デバイスおよび出力デバイス）に対応しているか、あるいは、プログラマブル表示器１の内部デバイスに対応しているかを属性データとして設定できる。内部デバイスは、例えば、操作回数を示すカウンタなど、プログラマブル表示器１の計算機能を利用して、ＰＬＣ２と通信することなくデータを取得可能なプログラマブル表示器１に設けられるデバイスである。前者の場合は、「入力」または「出力」の設定入力を受け入れた後、デバイスに対応付けるＩ／Ｏアドレスの入力を受け付ける一方、後者の場合は「インターナル」の設定入力を受け入れる。
【００７２】
作画エディタ３２ｂは、プログラマブル表示器１が、デバイスの稼働状況や作業指示のような管理のための各種のモニタ、機器に対する設定値を入力する端末としての機能を備えるように、ディスプレイ１４に表示させる画面を作成する画面作成ソフトウェアである。一般に、作画エディタ３２ｂは、ユーザ独自の画面（ユーザ画面）を作成できるように、スイッチ、ランプ、テンキー、各種表示器（例えば、数値表示器、メータ表示器およびグラフ表示器）などの部品（図形要素）、描画機能、テキスト入力機能などを備えている。また、作画エディタ３２ｂは、後述するシンボルエディタ３２ｃによって設定された変数を部品に対応付けることができる。
【００７３】
このようにして作成されたユーザ画面は、画面データとして画面ファイル３４に格納され、必要に応じて、後述するＩ／Ｏ設定データとともに、インターフェース部３９を介してプログラマブル表示器１に転送され、ＦＥＰＲＯＭ１２ｂに画面データとしてダウンロードされる。
【００７４】
参照ファイル作成部３２ｃは、前述の制御表示部４１での処理に用いられる参照ファイルＦを作成するために、シンボルエディタで作成された変数から、ＰＬＣ２に接続される入出力機器４に付与された変数を検索し、その変数にデバイスコードおよび端子番号を対応付けて参照ファイルＦを作成する。
【００７５】
ＰＬＣ２に接続される入出力機器の名称（デバイス名）は、ユーザによって、シンボルエディタに予め変数として入力されている。一般のＰＬＣ２において、デバイス名は、操作者が入出力機器４を特定しやすいように、便宜上、入出力機器４に付与する名称である。このため、入出力機器４のデータの読み書きは、デバイス名を介してではなく、デバイスコードおよび端子番号からなるＩ／Ｏアドレスを介して行われる。これに対し、本プログラマブル表示器１のＰＬＣ機能では、変数を介して入出力機器５のデータの読み書きを行うので、ＰＬＣ２に対しても同様に読み書きを行うことができるように、デバイス名を変数として設定しておく。
【００７６】
コンピュータ装置３は、エディタ部３２を備えることによってラダープログラム、画面データなどの作成および編集を行うためのエディタ装置として機能する。
【００７７】
エディタ部３２は、パッケージソフトウェアまたはオーダーメイドソフトウェアとしてプログラムメディアの形態で提供可能なソフトウェアであって、例えば、コンピュータ装置３と分離可能な記録媒体６に記録されている。そして、エディタ部３２は、記録媒体６からコンピュータ装置３にインストールされることによってエディタ機能を発揮することができる。また、エディタ部３２は、共通のフレーム上に設けられた単一のアプリケーションプログラムとしてコンピュータ装置３にインストールされている。
【００７８】
上記のプログラムメディアは、磁気テープやカセットテープなどのテープ系、フロッピディスクやハードディスクなどの磁気ディスク系、ＣＤ−ＲＯＭ、ＭＯ、ＭＤ、ＤＶＤなどの光ディスク系、ＩＣカード（メモリカードを含む）、光カードなどのカード系が好適である。その他、上記のプログラムメディアは、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどによる半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
【００７９】
また、コンピュータ装置３は、インターネットを含む通信ネットワークと接続可能であることから、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。ただし、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予めコンピュータ装置３に格納されるか、あるいは別な記録媒体からインストールされるものであってもよい。
【００８０】
なお、プログラマブル表示器１が上記の通信ネットワークと接続可能に構成されていれば、このようなプログラマブル表示器１でも、表示制御システムプログラムおよび制御機能プログラムを上記と同様にダウンロードすることが可能である。
【００８１】
ラダーファイル３３は、ラダープログラムを格納している。ラダープログラムは、入力されたラダー記号に対応するニーモニック（ラダー命令）およびオペランドを含んでいる。
【００８２】
画面ファイル３４は、画面データを格納している。画面データは、入力された部品などについての図形データなどを含んでいる。この図形データは、グラフィックデータ、テキストデータおよび部品データを含んでいる。グラフィックデータは、線、円、楕円、三角形、四角形、塗り込み図形などのデータである。テキストデータは、文字や記号などによって構成されるユーザ画面のタイトルや文章などを含んでいる。部品データは、予め作画エディタ３２ｂに用意されている前述の部品に関するデータである。
【００８３】
ディスプレイ３６は、ＣＲＴ、ＬＣＤなどによって構成されるが、パネルコンピュータであるコンピュータ装置３においては、液晶パネルやＥＬパネルのような平板型表示素子によって構成される。入力装置３７は、キーボード、マウスなどの入力操作を行うための装置であり、特に、ＧＵＩ(Graphical User Interface)環境上で動作するエディタ部３２での入力作業にはマウスなどの装置が適している。
【００８４】
外部記憶装置３８は、ハードディスク装置などの磁気ディスクドライブ、ＣＤ−ＲＯＭドライブなどの光ディスクドライブ、ＩＣカードなどのメモリカードドライブといった装置である。この外部記憶装置３８は、少なくとも、前記の記録媒体６に記録されたプログラムなどの情報を読み出すことができる装置を含んでいる。
【００８５】
インターフェース部３９は、プログラマブル表示器１との間でデータ通信を行う入出力部である。ラダーエディタ３２ａで作成されたラダープログラムおよび作画エディタ３２ｂで作成された画面データは、このインターフェース部３９を介してプログラマブル表示器１に転送される。
【００８６】
続いて、上記のように構成される表示／制御システムにおけるプログラマブル表示器１のＰＬＣ機能（制御機能プログラム）によるＰＬＣ２へのデバイスデータの読み書きについて説明する。
【００８７】
まず、デバイスデータの読み書きに先立って、ラダーエディタ３２ａにより、デバイス名を変数として登録する作業が行われる。このとき、コンピュータ装置３において、ラダーエディタ３２ａが起動されており、シンボルエディタによる変数の入力が可能になっている。この状態で、ユーザによる操作で、ＰＬＣ２に接続される入出力機器４の名称（デバイス名）が、変数として入力される。
【００８８】
参照ファイル作成部３２ｃは、まず、プログラマブル表示器１に接続されているＰＬＣ２のメーカ（機種）を選択させるとともに、ＰＬＣ２に接続される入出力機器４を指定させる。すると、参照ファイル作成部３２ｃは、上記のシンボルエディタで作成された全ての変数をインポートし、その変数から、指定された上記の入出力機器４についてのデバイス名（変数）を検索する。そして、参照ファイル作成部３２ｃは、検索された入出力機器４に対応するデバイスコードおよび割付番号を、予めＰＬＣ２についてのデバイスコードおよび割付番号を格納したファイル（図示せず）から読み出して、これらと検索された変数とを対応付けることによって参照ファイルＦを作成する。
【００８９】
このようにして作成された参照ファイルＦは、プログラマブル表示器１のＦＥＰＲＯＭ１２ｂにダウンロードされる。
【００９０】
プログラマブル表示器１において、実行部４３からＰＬＣ２に対してデバイスデータの読み書きを行う場合、中間処理部４５が、図５のフローチャートにしたがった次の処理を行う。
【００９１】
まず、参照ファイルＦに基づいて、リフレッシュテーブルＴｒを作成し（Ｓ１）、メモリテーブルＴｍを作成する（Ｓ２）。次いで、制御表示部４１から供給される基本デバイス情報に、参照ファイルＦに記述されている参照デバイス情報を追加して、ＰＬＣ通信制御部４２に送信する（Ｓ３）。
【００９２】
ＰＬＣ通信制御部４２は、中間処理部４５から送信された上記の情報に含まれる基本デバイス情報（デバイスコードおよび割付番号）に基づいた読み出しの指示を受けて、ＰＬＣ２の内部メモリに書き込まれている入出力機器４のデータを読み出す。このとき、ＰＬＣ通信制御部４２は、参照デバイス情報で特定された入出力機器４のデータのみを読み出して、メモリテーブルＴｍにおける、基本デバイス情報のポインタで指定された領域に書き込む。
【００９３】
そして、メモリテーブルＴｍに書き込まれたデータと一致するように、参照ファイルＦを参照しながら、リフレッシュテーブルＴｒの変数のデータを書き替える（Ｓ４）。このとき、中間処理部４５は、データを書き替えるべき変数に対応するデバイスコードおよび割付番号の変数に対応したポインタからデータを読み出し、リフレッシュテーブルＴｒにおいて、その変数のデータを読み出したデータに書き替える。
【００９４】
さらに、何らかの障害によるラダープログラムの異常終了や強制終了などを表すアボートフラグがＯＮしているか否かを監視する（Ｓ５）。ここで、アボートフラグがＯＮしていない場合は、データの書き替え処理を続行し、アボートフラグがＯＮしている場合は、処理を終える。
【００９５】
ラダープログラムが実行されていく過程で、データを読み込むべき入出力機器４が変わると、そのデバイスに対応する変数も変わる。これに対し、中間処理部４５は、変数が変わると、リフレッシュテーブルＴｒにおいて、その変数のデータ（変数の内容）を、メモリテーブルＴｍに読み込まれているその変数のデータに書き替える（更新する）。
【００９６】
この結果、制御表示部４１は、上記のメモリテーブルＴｍのポインタで指定されるデータをディスプレイ１４に表示された画面上で必要に応じて更新する。一方、実行部４３は、リフレッシュテーブルＴｒに書き込まれたデータを取り込む。このように、中間処理部４５によるＰＬＣ２からのデータの読み出しおよび参照ファイルＦを用いたデータの書き替えによって、入出力機器４に対しても、実行部４３から変数を指定してデータを読み込む（取得する）ことが可能になる。
【００９７】
なお、プログラマブル表示器１では、画面に表示されるデバイスデータの更新周期が、人間が認識できる程度の時間間隔（例えば、０．５秒）に設定されているので、ラダープログラムの実行周期であるスキャンタイム（μｓオーダー）と同期しない。しかしながら、ＰＬＣ２から読み出されたデバイスデータは、ラダープログラムのスキャンが終了したときの最終的な値がリフレッシュテーブルＴｒに書き替えられていればよい。
【００９８】
実行部４３からＰＬＣ２の入出力機器４へのデータの書き込みは、次のように行われる。例えば、テーブルが所定の位置まで移動したら方向を反転して移動させるというテーブルの運転制御において、テーブルが所定位置まで移動したことをリミットスイッチで検出したＯＮデータとして読み込み、テーブルの移動方向を反転させるために、モータを逆回転させる指示をデータとしてＰＬＣ２に書き込む必要がある。
【００９９】
上記のような指示または値（物理量）をデータとして入出力機器４に与える場合、まず、実行部４３が、変数とデータ（変更すべき入出力機器４の状態）とを中間処理部４５に送信する。すると、中間処理部４５は、データ読み込みの場合と同様、制御表示部４１から供給される基本デバイス情報に、参照ファイルＦに記述されている参照デバイス情報を追加して、ＰＬＣ通信制御部４２に送信する。ＰＬＣ通信制御部４２は、中間処理部４５から送信された上記の情報に含まれる基本デバイス情報（デバイスコードおよび割付番号）に基づいて、ＰＬＣ２の内部メモリに、上記の変数に対応する入出力機器４のデータを書き込む。
【０１００】
また、プログラマブル表示器１のタッチパネル１６からユーザによる入力操作で指示（作業開始指示、製品カウント数など）がなされた場合は、その指示が、制御表示部４１から中間処理部４５を介して実行部４３に送信される。実行部４３は、この指示を受けて、上記の手順で、ＰＬＣ２の内部メモリに入出力機器４のデータを書き込む。
【０１０１】
例えば、製品の良品検査で被検査対象となる製品の数をプログラマブル表示器１から入力した場合は、その数がデータとしてＰＬＣ２に書き込まれる。すると、ＰＬＣ２では、その値が指定されたカウンタにプリセットされる。
【０１０２】
以下に、デバイスデータの読み書きについての具体例について説明する。
【０１０３】
例えば、図６（ａ）に示すように、ラダー図において、上の桁では、押しボタンスイッチに対応するａ接点（常開接点）５１と、ランプに対応するコイル出力５２が設けられており、下の桁では、リミットスイッチに対応するａ接点５３と、加算器５４とが設けられている。ａ接点５１については、デバイスコード“Ｘ”および割付番号“０”からなる“Ｘ０”が変数として設定されており、コイル出力５２については、同様に“Ｙ０”が変数として設定されている。同様に、ａ接点５３については、“Ｘ１０”が変数として設定されており、加算器５４については“Ｄ００００”、“Ｄ０００１”、“Ｄ００１０”が変数として設定されている。
【０１０４】
このようなラダープログラムが実行部４３で実行されると、中間処理部４５からＰＬＣ通信制御部４２へ、入出力機器４としての押しボタンスイッチのＯＮ／ＯＦＦ状態の読み込みが指示される。押しボタンスイッチがＯＮすると、その状態が、ＰＬＣ通信制御部４２によって、ＰＬＣ２からメモリテーブルＴｍに読み込まれ、さらに、中間処理部４５によって、リフレッシュテーブルＴｒにおける変数“Ｘ０”のデータがＯＮに書き替えられる。
【０１０５】
すると、実行部４３は、変数“Ｘ０”のデータがＯＮになったことを受けて、出力コイル５２の変数“Ｙ０”をＯＮに書き替えるように、中間処理部４５に指示する。ＰＬＣ通信制御部４２は、中間処理部４５から、そのデータの書き替えの要求を受けると、ＰＬＣ２における内部メモリのランプに割り当てられたエリアにＯＮを書き込む。これにより、ＰＬＣ２は入出力機器４としてのランプをＯＮさせる。
【０１０６】
続いて、中間処理部４５からＰＬＣ通信制御部４２へ、入出力機器４としてのリミットスイッチのＯＮ／ＯＦＦ状態の読み込みが要求される。リミットスイッチがＯＮすると、その状態が、ＰＬＣ通信制御部４２によって、ＰＬＣ２からメモリテーブルＴｍに読み込まれ、さらに、中間処理部４５によって、リフレッシュテーブルＴｒにおける変数“Ｘ１”のデータがＯＮに書き替えられる。
【０１０７】
すると、実行部４３は、変数“Ｘ１”のデータがＯＮになったことを受けて、加算器５４のデータレジスタ“Ｄ００００”の値“１”とデータレジスタ“Ｄ０００１”の値“２”とを加算して、その結果をデータレジスタ“Ｄ００１０”に書き込むように、中間処理部４５に指示する。ＰＬＣ通信制御部４２は、中間処理部４５から、そのデータの書き替えの要求を受けると、ＰＬＣ２におけるデータレジスタ“Ｄ００００”・“Ｄ０００１”にそれぞれ上記の値“１”・“２”およびその加算結果をデータレジスタ“Ｄ００１０”に書き込む指示を与える。
【０１０８】
さらに、中間処理部４５からＰＬＣ通信制御部４２へ、加算器５４の演算結果の読み込みが要求されると、ＰＬＣ通信制御部４２によって、ＰＬＣ２からメモリテーブルＴｍに読み込まれたデータレジスタ“Ｄ００１０”の値“３”が、中間処理部４５によって、リフレッシュテーブルＴｒにおける変数“Ｄ００１０”のデータが“３”に書き替えられる。
【０１０９】
また、プログラマブル表示器１において、ラダープログラムのモニタリング機能によって、ラダープログラムの実行状況を表示させる場合、上記のａ接点５1 ・５３およびコイル出力５２の状態、ならびに加算器の被演算値および演算結果が、図６（ｂ）に示すように表示される。例えば、ａ接点５１の状態は“on”として表され、ａ接点５３の状態は“off ”として表され、コイル出力５４の状態は“on”として表示されるか、あるいは表示色の変更で表される。このとき、制御表示部４１は、ＰＬＣ２から読み出されたデータをメモリテーブルＴｍを参照してモニタリングの表示に反映させるとともに、ＰＬＣ２への書き込みのデータを制御部４３から中間処理部４５を介して受け取ってモニタリングの表示に反映させる。
【０１１０】
以上に述べたように、本実施の形態に係るのプログラマブル表示器１は、入出力機器４の名称に関連付けられて入出力機器４を特定する固定の特定情報（Ｉ／Ｏアドレス）で指定した入出力機器４に対してデータの読み書きを行うＰＬＣ２が接続され、変数で指定した入出力機器４・５に対してデータの読み書きを指示する実行部４３、入出力機器４・５の制御状態を表示し、かつＰＬＣ２および実行部４３を制御するための操作入力機能を有する制御表示部４１、ならびに制御表示部４１とＰＬＣ２との間の通信を制御するＰＬＣ通信制御部４２を有しており、実行部４３によって変数で指定された入出力機器４へのデータの読み書き（状態の変更）が指示されると、ＰＬＣ通信制御部４２がその変数で入出力機器４を指定できるように、変数として設定された入出力機器４の名称と上記の特定情報とを関連付けた関連情報（参照ファイルＦ）をＰＬＣ通信制御部４２に与える中間処理部４５（関連情報付与部）を備えている。
【０１１１】
このように、本実施の形態に係るプログラマブル表示器１は、中間処理部４５を備えることによって、ＰＬＣ２に接続された入出力機器４を実行部４５から変数で指定して、参照ファイルＦを参照しながら、そのデバイスのデータの読み書きを行うことができる。また、入出力機器４のデバイス名を変数として利用することで、デバイスコードおよび割付番号で入出力機器４を指定するＰＬＣ２に対しても、プログラマブル表示器１のＰＬＣ機能によってデバイスデータの読み書きが可能になる。
【０１１２】
その結果、外部のＰＬＣ２をプログラマブル表示器１のリモートＩ／Ｏとして利用することができる。また、プログラマブル表示器１のメモリ部１２がＰＬＣ機能およびＰＬＣ２の双方のデータの読み書きに使用されることから、メモリ部１２を、同一メーカの複数のＰＬＣが相互に接続される際にＰＬＣ間で用いられるリンクリレーと呼ばれる共有メモリとして用いることができる。
【０１１３】
また、プログラマブル表示器１は、ソフトウェア上で中間処理部４５を設けることによって、前述のように、ＰＬＣ機能による外部デバイス（ＰＬＣ２に接続された入出力機器４）のデータの読み書きが可能になるので、ハードウェア上の改造が不要である。しかも、ＰＬＣ２に応じた参照ファイルＦをコンピュータ装置１におけるエディタ部３２で作成してプログラマブル表示器１にダウンロードすることによって、ＰＬＣ２のメーカに関わらず、ＰＬＣ機能による外部デバイスのデータの読み書きを実現することかできる。
【０１１４】
また、プログラマブル表示器１においては、中間処理部４５が、変数とデータとを対応付けたリフレッシュテーブルＴｒと、ＰＬＣ通信制御部４２がＰＬＣ２から読み出した入出力機器４のデータを上記の変数に対応付けて書き込むメモリテーブルＴｍとを作成するとともに、リフレッシュテーブルＴｒのデータをメモリテーブルＴｍの対応するデータに更新するデータ更新部として機能する。
【０１１５】
これにより、ＰＬＣ２から読み出されたデータは、ＰＬＣ通信制御部４２によって、メモリテーブルＴｍに書き込まれる。中間処理部４５は、リフレッシュテーブルＴｒにおいて、変数に対応するデータを、メモリテーブルＴｍに新たに書き込まれた、その変数に対応するデータに書き替えて更新する。実行部４３は、リフレッシュテーブルＴｒに書き替えられたデータを取得することによって、ＰＬＣ２からのデータの読み出しを完了する。
【０１１６】
このように、ＰＬＣ２から読み出されたデータを一旦メモリテーブルＴｍに書き込むことによって、ＰＬＣ通信制御部４２によるデータの読み出しと実行部４３によるデータ取得とのタイミングが異なっても、実行部４３が、中間処理部４５によって更新されたデータをリフレッシュテーブルＴｒから取得することができる。
【０１１７】
さらに、中間処理部４５によるＰＬＣ通信制御部４２への指示手順が、制御表示部４１によるＰＬＣ通信制御部４２への指示手順と同一になるように設定されていることにより、入出力機器４の状態取得のための指示が、制御表示部４１および中間処理部４５のいずれからでも同じ手順で行われるので、中間処理部４５に合わせた特別の手順を用意する必要がない。したがって、ＰＬＣ通信制御部４２の変更を不要にすることができ、ソフトウェアの開発コストを低減することができる。
【０１１８】
なお、本実施の形態では、制御手順プログラムとしてラダー図を用いた例について説明したが、本発明は、ラダー図だけではなく、前述のＩＥＣ 6 1131-3 で規定された５言語を含む他の言語によるプログラミングにおいても適用されるのは勿論である。
【０１１９】
【発明の効果】
以上のように、本発明の制御表示装置は、複数の第１デバイスのうち状態が変化する第１デバイスの状態を取得する一方、複数の第１デバイスのうち状態の変更が可能な第１デバイスの状態を変更する制御装置と通信する通信手段と、上記通信手段が取得した各第１デバイスの状態を表示する一方、入力された操作に応じた上記第１デバイスの状態変更指示を上記制御装置に送信するように上記通信手段を制御する制御表示手段と、第２デバイスに対応する変数および該変数で対象を特定した制御のための制御手順プログラムを記憶する記憶手段と、上記第２デバイスの状態をそれぞれに対応付けられた変数の内容として取得する一方、変数の内容に基づいて、上記制御手順プログラムが示す手順で更新すべき変数の内容を更新するとともに、該変数の内容に応じて、該変数に対応する上記第２デバイスの状態を変更する制御手段とを備え、上記記憶手段が、上記第１デバイスに対応する変数を上記第１デバイスの種類を特定するデバイスコードおよび上記第１デバイスを特定する番号と対応付けた関連情報を記憶可能である。さらに、制御表示装置は、上記変数に対応する状態が変化する上記第１デバイスの状態を書き替えるための第１テーブルと、前記通信手段が取得した状態が変化する上記第１デバイスの状態が当該第１デバイスに対応する変数と対応付けられて書き込まれる第２テーブルと、上記記憶手段に記憶された関連情報に対応する上記第１デバイスについての状態を取得するように上記通信手段に指示し、取得結果に応じて前記第２テーブルにおける上記第１デバイスの状態を更新し、上記第１テーブルにおける上記第１デバイスの状態を更新された上記第２テーブルにおける第１デバイスの状態と一致するように上記関連情報を参照して書き替える一方、上記第１テーブルにおいて書き替えられた上記第１デバイスの状態に応じた状態変更指示を上記制御装置に送信するように、上記通信手段へ指示する仲介手段とを備え、上記制御手段が、上記第１テーブルにおいて書き替えられた上記第１デバイスの状態に基づいて、上記制御手順プログラムが示す手順で更新すべき上記第１デバイスの状態を更新するための上記状態更新指示を上記仲介手段に与える構成である。
【０１２０】
このように、記憶手段に関連情報を記憶させるとともに、仲介手段がその関連情報で第１デバイスを指定して第１デバイスの状態を取得し、取得結果に応じて第２テーブルにおける第１デバイスの状態を更新し、第１テーブルにおける第１デバイスの状態を更新された第２テーブルにおける第１デバイスの状態と一致するように関連情報を参照して書き替える一方、第１テーブルにおいて書き替えられた第１デバイスの状態に応じた状態変更を通信手段に指示することによって、第２デバイスの状態取得および状態変更を行う制御手段から第１デバイスの状態取得および状態変更を行うことができる。したがって、制御表示装置（制御手段）からデバイスの指定形態が異なる他のメーカのＰＬＣ（制御装置）の第１デバイスを指定して、データの読み書きを行うことができ、制御システムにおける制御装置間での高度な連携を実現することができるという効果を奏する。
【０１２１】
上記の制御システムは、上記仲介手段による上記通信手段への指示手順が、上記制御表示手段による上記通信手段への指示手順と同一になるように設定されているので、第１デバイスの状態取得のための指示が、表示制御手段および仲介手段のいずれからでも同じ手順で行われることになり、仲介手段に合わせた特別の手順を用意する必要がない。したがって、通信手段の変更を不要にすることができ、ソフトウェアの開発コストを低減することができるという効果を奏する。
【０１２２】
本発明の制御プログラムは、上記制御表示装置を動作させ、コンピュータを上記制御表示装置を上記各手段として機能させるものである。また、本発明の記録媒体は、上記の制御プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【０１２３】
これらの制御プログラムおよび記録媒体を用いても、各制御表示装置によって奏される上記の効果を同様に奏することができる。
【図面の簡単な説明】
【図１】本発明の実施の一形態に係る表示／制御システムにおけるプログラマブル表示器のＦＥＰＲＯＭに格納される表示制御システムプログラムおよび制御機能プログラムの構成を示す説明図である。
【図２】上記表示／制御システムの構成を示すブロック図である。
【図３】上記表示／制御システムにおけるプログラマブル表示器のＦＥＰＲＯＭに格納されるプログラム構成を示す説明図である。
【図４】上記プログラマブル表示器で表示されるユーザ画面の画面データに含まれる指示処理語の基本的フォーマットを示す説明図である。
【図５】上記制御機能プログラムにおける中間処理部によるデータリフレッシュの処理手順を示すフローチャートである。
【図６】（ａ）はプログラマブル表示器のＰＬＣ機能で実行されるラダープログラムを示す説明図であり、（ｂ）は上記ラダープログラムが実行に伴って、プログラマブル表示器に接続されるＰＬＣに対しデータの読み書きが行われた結果をモニタリングした状態を示す説明図である。
【符号の説明】
１        プログラマブル表示器（制御表示装置）
２        ＰＬＣ（制御装置）
３        コンピュータ装置
４        入出力機器（第１デバイス）
５        入出力機器（第２デバイス）
６・７    記録媒体
１２        メモリ部（記憶手段）
４１        制御表示部（制御表示手段）
４２        ＰＬＣ通信制御部（通信手段）
４３        実行部（制御手段）
４５        中間処理部（仲介手段）
Ｆ          参照ファイル
Ｔｍ        メモリテーブル
Ｔｒ        リフレッシュテーブル
【図１】
0003847601.tif 000002
【図２】
0003847601.tif 000003
【図３】
0003847601.tif 000004
【図４】
0003847601.tif 000005
【図５】
0003847601.tif 000006
【図６】
0003847601.tif 000007