(57)【特許請求の範囲】
【請求項１】
デバイスの状態を表示する表示手段と、他の制御用表示装置に通信可能な通信手段とを有する制御用表示装置において、
自機器と相互通信可能な機器群が予め登録されたプロジェクトファイルを記憶する記憶手段と、
上記プロジェクトファイルに登録されている機器にのみ、名前で特定可能な変数の内容を公開する変数公開手段と、
上記変数の内容と、デバイスまたは制御用表示装置自体の状態とが一致するように、両者の少なくとも一方を制御する制御手段とを備え、
上記変数公開手段は、プロジェクトファイルに登録されていない機器から上記変数へのアクセスを拒否するものであり、かつ、
変数の各属性のうち、現在値を示す属性に限って、上記プロジェクトファイルに登録されている機器からのアクセスを許可するものであることを特徴とする制御用表示装置。
【請求項２】
上記変数のうち、デバイス変数は、デバイスの機種に拘らず、予め定められた特定形式で、対応するデバイスの状態を格納するデータ領域を含み、
上記制御手段は、上記特定形式でデバイスの状態を表現して、上記データ領域へアクセスすることを特徴とする請求項１記載の制御用表示装置。
【請求項３】
請求項１または２に記載の制御用表示装置、および上記制御用表示装置と相互通信可能な機器を含む制御システムであって、
上記機器には、この機器から上記制御用表示装置の各変数へアクセスするためのＡＰＩが用意されており、このＡＰＩは、汎用のコンピュータのプログラムに記述されたコードによって呼び出し可能であることを特徴とする制御システム。
【請求項４】
デバイスの状態を表示可能な表示手段と他の制御用表示装置に通信可能な通信手段とを有するコンピュータを、制御用表示装置として動作させるためのプログラムであって、
自機器と相互通信可能な機器群が予め登録されたプロジェクトファイルを記憶する記憶手段、
上記プロジェクトファイルに登録されている機器にのみ、名前で特定可能な変数の内容を公開し、プロジェクトファイルに登録されていない機器から上記変数へのアクセスを拒否し、変数の各属性のうち、現在値を示す属性に限って、上記プロジェクトファイルに登録されている機器からのアクセスを許可する変数公開手段、並びに、
上記変数の内容と、デバイスまたは制御用表示装置自体の状態とが一致するように、両者の少なくとも一方を制御する制御手段として、上記コンピュータを動作させるプログラム。
【請求項５】
デバイスの状態を表示可能な表示手段と他の制御用表示装置に通信可能な通信手段とを有するコンピュータを、制御用表示装置として動作させるためのプログラムが記録された記録媒体であって、
自機器と相互通信可能な機器群が予め登録されたプロジェクトファイルを記憶する記憶手段、
上記プロジェクトファイルに登録されている機器にのみ、名前で特定可能な変数の内容を公開し、プロジェクトファイルに登録されていない機器から上記変数へのアクセスを拒否し、変数の各属性のうち、現在値を示す属性に限って、上記プロジェクトファイルに登録されている機器からのアクセスを許可する変数公開手段、並びに、
上記変数の内容と、デバイスまたは制御用表示装置自体の状態とが一致するように、両者の少なくとも一方を制御する制御手段として、上記コンピュータを動作させるプログラムが記録された記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御システムのＨＭＩ（Human Machine Interface ）として使用される制御用表示装置、そのプログラム、および、それを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
従来から、プログラマブル・ロジック・コントローラ（以下、ＰＬＣと略称する）は、例えば、ベルトコンベアー式の自動組付機など、種々のターゲットシステムを制御する制御装置として、広く使用されている。さらに、近年では、ターゲットシステムの複雑化に伴って、複数台のＰＬＣを互いに連携させて使用することも行われている。また、各ＰＬＣからのデータの表示、あるいは、ＰＬＣへの制御指示は、当該ＰＬＣの近傍などに配される制御用の表示装置で行われるだけではなく、例えば、これらの表示装置から離れた場所に設置した制御用ホストコンピュータでも、表示あるいは操作できるように、制御システムを構築することもある。
【０００３】
このように、複数のＰＬＣを連携させて使用する場合、従来は、図３に示す制御システム５０１のように、ＰＬＣ５０３同士をネットワーク５０６で接続していた。当該構成において、ＰＬＣ５０３は、ターゲットシステム５０２のデバイス５２１の状態を予め定められたメモリ領域５３１に読み込み、当該メモリ領域を参照しながら、例えば、ラダープログラムなど、予め格納された制御プログラムに基づいてメモリ領域の内容を変更する。さらに、ＰＬＣ５０３は、メモリ領域５３１の内容を各デバイス５２１へ書き込んで、各デバイス５２１の状態を制御する。上記読み込み処理、制御プログラム実行および書き込み処理は、所定の周期（スキャンタイム）で繰り返され、ＰＬＣ５０３は、各デバイス５２１の状態を、制御プログラムと、それぞれの状態とに応じて制御する。また、各ＰＬＣ５０３には、表示装置５０５が接続されており、当該表示装置５０５は、ＰＬＣ５０３と通信して、デバイス５２１の状態を取得し、オペレータに表示すると共に、オペレータからの指示に基づいて、ＰＬＣ５０３へデバイス５２１の制御指示を送信できる。
【０００４】
ここで、各ＰＬＣ５０３が連携して動作する場合、各ＰＬＣ５０３には、配信設定として、上記デバイス５２１の状態が配信すべきメモリ領域（配信元領域）５３２を示すアドレスと、配信のトリガとなる事象と、配信先のＰＬＣ５０３、および、そのメモリ領域（配信先領域）５３３を示すアドレスとが設定される。これにより、送信元となるＰＬＣ５０３（５０３ａ）は、上記トリガ発生時に配信元領域５３２の内容を、送信先のＰＬＣ５０３（５０３ｂ）の配信先領域５３３へ複写する。一方、送信先となるＰＬＣ５０３ｂは、制御プログラムに基づき、配信先領域５３３も参照しながら、デバイス５２１を制御する。このように、各ＰＬＣ５０３は、必要なデータを配信し合うことで、制御システム５０１内の全デバイス５２１…を連携して制御できる。
【０００５】
しかしながら、上記制御システム５０１のように、ＰＬＣ５０３同士を接続すると、ＰＬＣ５０３の負担が大きくなり、より演算能力の高い機器を採用する必要がある。具体的には、他のＰＬＣ５０３と通信しない場合、ＰＬＣ５０３は、上述のように、所定のスキャンタイムで、状態の読み込み、制御プログラムの実行、および、状態の書き込みを繰り返しているが、これらの処理に要する演算量は、概ね一定であり、略正確に推測できる。したがって、ＰＬＣ５０３の演算能力は、ある程度の余裕は設けられているものの、上記各処理を実行可能な程度の演算能力に設定されている。この結果、上記各処理に加えて、他のＰＬＣ５０３との通信もＰＬＣ５０３に実行させるためには、他のＰＬＣ５０３と通信しない場合よりも演算能力の大きなＰＬＣ５０３を用意する必要がある。
【０００６】
したがって、近年では、図４に示す制御システム１０１のように、各ＰＬＣ１０３に接続された表示装置１０５同士をローカルエリアネットワーク（ＬＡＮ）１０６で接続するシステムが考案されている。ここで、表示装置１０５は、制御システム１０１のＨＭＩとして動作しており、ターゲットシステム１０２の各デバイス１２１の状態を高精細なグラフィック表示によってオペレータへ通知すると共に、オペレータからの操作を受けた場合に十分な速度で応答できるように、ＰＬＣ１０３に比べて、演算能力が高く設定されている。また、いつ操作を受けても、十分な速度で応答できるように、ＰＬＣ１０３よりも、演算能力の余裕が大きく設定される。
【０００７】
この結果、表示装置１０５の演算能力が、通信しない場合と同じ演算能力に設定されていたとしても、何ら支障なく、他の表示装置１０５と通信できる。このように、制御システム１０１に必須の表示装置１０５同士を接続することで、ＰＬＣ５０３同士を接続する場合に比べて、制御システム１０１内の各デバイス１
２１…を連携動作させる際、制御システム全体で必要な演算能力を削減できる。
【０００８】
また、ＰＬＣ５０３（１０３）は、リレーを使用したシーケンサから発達してきた経緯もあって製造会社によってあるいは同一会社であっても製品毎にデータ通信に使用する通信プロトコルが異なることが多い。したがって、あるＰＬＣ５０３に接続可能なＰＬＣ５０３は、同じ機種に限定されがちである。これに対して、表示装置１０５同士を接続する際、表示装置１０５間のプロトコルを予め定められたプロトコル（共通のプロトコル）に設定し、表示装置１０５が、自機器に接続されるＰＬＣ１０３に固有のプロトコルと、当該共通のプロトコルとを相互変換すれば、制御システム１０１内に、通信プロトコルの互いに異なるＰＬＣ１０３を容易に混在させることができる。この結果、表示装置１０５間を接続することで、制御システム５０１に比べて、大規模な、すなわち、構成する機器数の多いシステムを容易に実現できる。
【０００９】
【発明が解決しようとする課題】
しかしながら、上記構成の制御システム１０１において、制御システム５０１と略同様に、各表示装置１０５が他の表示装置１０５へデータを配信することで、連携動作しようとすると、各表示装置１０５の設定が複雑になるという問題を生ずる。
【００１０】
具体的には、制御システム１０１の規模が大きくなると、相互に連携すべきデバイス１２１の数も増加し、表示装置１０５がデータを配信すべき表示装置１０５の数も増加する。この結果、規模の増大に伴って、各表示装置１０５で配信設定する際に、配信先や配信先領域のアドレスを設定する手間が増大してしまう。また、規模が大きくなると、制御システム１０１のいずれかの部材（１０３・１０５や１２１など）が変更されることも多くなる。この場合、各表示装置１０５にて配信設定を変更する必要があるので、手間がかかる。
【００１１】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、大規模な制御システムであっても、設定に手間をかけずに連携可能な制御用表示装置を実現することにある。
【００１２】
【課題を解決するための手段】
請求項１の発明に係る制御用表示装置は、上記課題を解決するために、デバイスの状態を表示する表示手段と、他の制御用表示装置に通信可能な通信手段とを有する制御用表示装置において、以下の手段を講じたことを特徴としている。
【００１３】
すなわち、自機器と相互通信可能な機器群が予め登録されたプロジェクトファイルを記憶する記憶手段と、上記プロジェクトファイルに登録されている機器にのみ、名前で特定可能な変数の内容を公開する変数公開手段と、上記変数の内容と、デバイスまたは制御用表示装置自体の状態とが一致するように、両者の少なくとも一方を制御する制御手段とを備え、上記変数公開手段は、プロジェクトファイルに登録されていない機器から上記変数へのアクセスを拒否するものであり、かつ、変数の各属性のうち、現在値を示す属性に限って、上記プロジェクトファイルに登録されている機器からのアクセスを許可するものであることを特徴としている。
【００１４】
上記構成の制御用表示装置では、デバイスまたは制御用表示装置の状態に対応し、しかも、名前で特定可能な変数が設けられており、制御手段は、例えば、変数の内容に応じて上記状態を制御したり、上記状態に応じて変数の内容を更新したりして、変数の内容と上記状態とを一致させている。一方、変数公開手段は、自機器と通信可能な機器のうち、例えば、同じ製造ラインに配置された他の制御用表示装置など、予めプロジェクトファイルに登録されている機器（正規の機器）にのみ変数を公開する。
【００１５】
これにより、正規の機器は、変数にアクセスして、デバイスや制御用表示装置の状態を取得したり変更したりできる。これとは逆に、変数公開手段は、正規の機器ではない機器には変数を公開しないので、当該機器からの不正なアクセスを防止できる。
【００１６】
また、他の正規の機器からアクセスされるのは、変数の内容なので、制御手段が変数の内容と上記状態とを一致させる動作は、変数公開の有無や、他の正規の機器からのアクセスの有無に拘らず、同一である。したがって、他の機器が必要とするデータを配信するために、データを管理する機器に配信先を設定する従来技術の構成とは異なり、データを管理する機器側の動作を変更せずに、当該データを参照する機器を変更したり、当該機器の数を増やしたりできる。この結果、正規の機器間がデータを相互参照するために、各機器を設定する手間を削減できる。
【００１７】
なお、いずれの構成であっても、データを参照あるいは変更指示する側では、データを処理するための設定が不可欠である。したがって、データを管理する側の設定を削減することで、システム全体における設定時の手間が削減される。
【００１８】
加えて、変数を名前で特定できるので、正規の機器がデバイスのアドレスなどのアドレスを指定してアクセスすると共に、アドレスを変更した場合、各機器にて、参照するアドレスを変更する場合と異なり、制御用表示装置において、変数とアドレスとの対応関係を変更すれば、他の正規の機器の設定を変更する必要がない。
【００１９】
また、請求項１記載の発明の構成において、上記変数公開手段は、自機器の変数を公開するか否かを予め設定可能であることが好ましい。
【００２０】
上記構成によれば、制御用表示装置の変数公開手段により、変数を非公開と設定することで、正規の機器からであってもアクセスを拒否できる。また、変数を公開と設定したとしても、プロジェクトファイルに登録されていない機器からのアクセスは拒否される。したがって、安全性を低下させることなく、変数公開の可否を設定できる。
【００２１】
なお、変数公開手段は、自機器の変数全体を一括して設定してもよいが、変数の一部について、公開／非公開を設定できる場合は、正規の機器か否かで公開／非公開を判定する場合よりも柔軟に、変数へのアクセス権を設定できる。
【００２２】
さらに、請求項２の発明に係る制御用表示装置は、請求項１記載の発明の構成において、上記変数のうち、デバイス変数は、デバイスの機種に拘らず、予め定められた特定形式で、対応するデバイスの状態を格納するデータ領域を含み、上記制御手段は、上記特定形式でデバイスの状態を表現して、上記データ領域へアクセスすることを特徴としている。
【００２３】
上記構成では、デバイス変数のデータ領域には、デバイスの状態を示すデータが、デバイスの機種に拘らず、特定形式で格納され、制御手段は、当該形式で表現されたデバイス変数の内容と、対応するデバイスの状態とが一致するように制御する。したがって、デバイスの機種に拘らず、他の正規の機器が変数にアクセスする際のデータ形式を統一できる。
【００２４】
ところで、制御用表示装置は、ハードウェアのみで実現してもよいが、コンピュータがプログラムを実行することで実現してもよい。具体的には、請求項４の発明に係るプログラムは、デバイスの状態を表示可能な表示手段と他の制御用表示装置に通信可能な通信手段とを有するコンピュータを、制御用表示装置として動作させるためのプログラムであって、上記課題を解決するために、自機器と相互通信可能な機器群が予め登録されたプロジェクトファイルを記憶する記憶手段、上記プロジェクトファイルに登録されている機器にのみ、名前で特定可能な変数の内容を公開し、プロジェクトファイルに登録されていない機器から上記変数へのアクセスを拒否し、変数の各属性のうち、現在値を示す属性に限って、上記プロジェクトファイルに登録されている機器からのアクセスを許可する変数公開手段、並びに、上記変数の内容と、デバイスまたは制御用表示装置自体の状態とが一致するように、両者の少なくとも一方を制御する制御手段として、上記コンピュータを動作させるプログラムであることを特徴としている。また、請求項５の発明に係る記録媒体には、上記プログラムが記録されている。
【００２５】
上記プログラムがコンピュータで実行されると、当該コンピュータは、請求項１記載の制御用表示装置として動作する。したがって、請求項１と同様に、正規の機器間がデータを安全に相互参照するために、各機器を設定する手間を削減できる。
【００２６】
【発明の実施の形態】
本発明の一実施形態について図１および図２に基づいて説明すると以下の通りである。すなわち、本実施形態に係る制御システム１は、例えば、ターゲットシステムがベルトコンベアー式の自動組付機の場合など、複数のＰＬＣが互いに連携して制御するようなターゲットシステムを制御する場合に、特に好適に使用されるシステムであって、例えば、図１に示すように、ターゲットシステム２の各デバイス２１を制御するＰＬＣ３と、各ＰＬＣ３に固有の通信プロトコルにて通信する通信ライン４を介して、当該ＰＬＣ３に接続され、多くの場合、ターゲットシステム２の近傍でターゲットシステム２のオペレータにより操作されるグラフィック操作パネル（制御用表示装置）５と、各グラフィック操作パネル５間を共通の通信プロトコルで接続するＬＡＮ６と、当該ＬＡＮ６に接続され、多くの場合、グラフィック操作パネル５よりも離れた場所から制御システム１全体の監視制御あるいは設定などを行う制御用ホストコンピュータ７とを備えている。
【００２７】
上記グラフィック操作パネル５には、例えば、液晶表示パネルなどからなり、オペレータへデバイス２１の状態を表示する表示部（表示手段）５１と、例えば、上記パネル上に配されたタッチパネルなどからなり、オペレータからの指示を受け付ける入力部５２と、上記通信ライン４およびＬＡＮ６に、それぞれ接続されるＰＬＣ側ＩＦ部５３・ＬＡＮ側ＩＦ部（通信手段）５４と、画面表示および制御指示を行う際の動作を特定する画面データが予め格納される記憶部５５と、記憶部５５の画面データに基づいて、上記各部材５１〜５４を制御するＨＭＩランタイム部（制御手段）５６とが設けられている。
【００２８】
また、ＨＭＩランタイム部５６は、通信ラインでの通信プロトコルとＬＡＮ６での通信プロトコルとが異なる場合、両通信プロトコルを相互変換して、自らに接続されたＰＬＣ３と、制御用ホストコンピュータ７あるいは他のグラフィック操作パネル５との間の通信を中継する。これにより、各グラフィック操作パネル５に接続されたＰＬＣ３が採用する通信プロトコルが互いに異なる場合であっても、各グラフィック操作パネル５および制御用ホストコンピュータ７間は、共通の通信プロトコルにて通信できる。この結果、同じ制御システム１内に、複数機種のＰＬＣ３を混在させることができ、機種選択の幅が広くなる。これにより、制御システム１の規模を容易に拡大できる。なお、上記通信プロトコルは、各キャラクタの送受タイミング、あるいは、送信先や受信先の特定方法など、送信元および送信先を含むネットワーク内で統一されていないとデータ自体を正常に伝送できない取決め（伝送プロトコル）と、コマンド体系、すなわち、送信元および送信先で統一されていないと、一方が所望とする動作と他方が実施する動作とが一致せず、正常に制御動作などの動作を行えないコマンド体系との組み合わせである。
【００２９】
上記ＨＭＩランタイム部５６は、上記画面データに基づき、必要に応じて、両ＩＦ５３・５４へ指示して、自機器に接続されているＰＬＣ３や、他のグラフィック操作パネル５と通信し、所望のデバイス２１の状態を取得できる。さらに、画面データに基づいて、表示部５１の表示画面へ、各デバイス２１に対応する複数の部品を表示すると共に、ＰＬＣ３を介して取得したデバイス２１のデータに応じて、例えば、形状や色あるいは数値など、部品の表示状態を変更することで、グラフィック操作パネル５のオペレータにデバイス２１の状態を報知できる。一方、ＨＭＩランタイム部５６は、オペレータが入力部５２によって画面上の部品を操作した場合、画面データに基づいて、操作対象となるデバイス２１、および、当該デバイス２１へ送信すべき制御指示を特定する。さらに、ＨＭＩランタイム部５６は、必要に応じて、各ＩＦ部５３・５４を介し、ＰＬＣ３や他のグラフィック操作パネル５と通信し、デバイス２１の状態制御指示を送信できる。
【００３０】
本実施形態に係る画面データは、例えば、解像度などの点で互いに異なる表示部５１を有するグラフィック操作パネル５間であっても共用できるように抽象化されたオブジェクトデータ（手続きおよびデータ）で表現されており、上記ＨＭＩランタイム部５６は、当該画面データを、自機器に応じた機械語に翻訳して実行することで画面を表示する。
【００３１】
具体的には、画面データは、例えば、Ｊａｖａ（登録商標）のソースコードをコンパイルして生成したバイトコードであり、上記ＨＭＩランタイム部５６は、図２に示すように、当該バイトコードを逐次翻訳・実行するＪａｖａ仮想マシン（ＶＭ）層６１と、グラフィック操作パネル５のオペレーティングシステム（ＯＳ）層６３および上記ＪａｖａＶＭ層６１間に介在し、ＯＳ層６３間の相違を吸収する中間層６２とを備えており、上記バイトコードを実行することで、デバイス２１の状態に応じたマーク（部品）を表示部５１の画面上に表示できる。
【００３２】
上記中間層６２は、例えば、ＪａｖａＶＭ層６１から呼出し（使用）可能な関数、コマンドあるいはユーティリティ群として実現されており、グラフィック操作パネル５の機種に拘わらず、ＪａｖａＶＭ層６１からの呼出し（使用）方法（ＡＰＩ：Application Programming Interface ）が統一されている。上記関数、コマンドあるいはユーティリティとしては、上記ＪａｖａＶＭ層６１がバイトコードを実行してデバイス２１の状態を表示する際に必要な処理、具体的には、ＪａｖａＶＭ層６１が表示部５１への画面表示を指示したり、ＰＬＣ３との通信、あるいは、ＰＬＣ３の状態に連動するように制御されるグラフィック操作パネル５上のメモリへのアクセスしたりする際に必要な処理を行うものが用意されており、ＪａｖａＶＭ層６１から見て、ＯＳ層６３の相違を隠蔽できる。
【００３３】
ここで、ＨＭＩランタイム部５６は、画面データ（バイトコード）に基づいて画面表示するので、画面データを変更すれば、異なる画面を表示できる。したがって、用途が異なるグラフィック操作パネル５であっても、機種が同一であれば共用できる。本実施形態では、ＯＳ層６３として、例えば、ＷｉｎｄｏｗｓＮＴ（マイクロソフト社：登録商標）、ＷｉｎｄｏｗｓＣＥ（マイクロソフト社：登録商標）、あるいは、ｐＳＯＳ（ Integrated Systems, Inc：登録商標）を採用する機種用のＨＭＩランタイム部５６ａ〜５６ｄが用意されている。なお、同図において、ＨＭＩランタイム部５６ｂおよび５６ｃは、ＷｉｎｄｏｗｓＣＥを採用しているが、ＣＰＵが互いに異なっている。
【００３４】
いずれのＨＭＩランライム部５６ａ〜５６ｄであっても、図１に示す上記ＨＭＩランタイム部５６は、デバイス２１のデータやグラフィック操作パネル５の内部状態を示すデータを処理する際、これらを抽象化した変数として処理している。各変数には、例えば、画面データを設計する作画エディタなどによって、文字列などからなる変数名を設定できる。当該変数名は、詳細は後述するように、変数が公開されている場合、他のグラフィック操作パネル５がアクセス対象の変数を特定するために使用されたり、公開されている変数の一覧を表示する際などに使用される。
【００３５】
また、変数には、機種に依存した属性（例えば、デバイス２１のアドレスなど）、あるいは、機種に依存しない属性（用途や機能など）を付けることができる。なお、各変数には、例えば、説明用の属性を設けてもよく、当該属性の値には、変数の説明が設定される。
【００３６】
例えば、デバイス２１に対応するデバイス変数は、対応するデバイス２１の入出力を抽象化したものであり、デバイス２１の機能、入力元、および、現在値を示す属性などが設定できる。
【００３７】
上記機能の属性には、属性値として、例えば、”１ビット”、”整数”、”実数”または”文字列”などの値が設定可能であり、例えば、スイッチなど、デバイス２１がオン／オフの状態を取る場合には、”１ビット”が設定され、例えば、メーターなどの場合は、”整数”または”実数”が設定される。
【００３８】
また、入力元の属性には、属性値として、”ＰＬＣ”または”内部”が設定され、当該変数が、ＰＬＣ３を介して接続されるデバイス２１に対応している場合は、”ＰＬＣ”が設定される。なお、この場合は、デバイス２１を示す属性と、デバイス２１におけるアドレスを示す属性に、それぞれを示す値が設定される。
【００３９】
一方、変数の入力元が、例えば、操作回数を示すカウンタなど、グラフィック操作パネル５の計算機能を利用して、ＰＬＣ３と通信することなくデータを取得可能な内部デバイスである場合、入力元の属性の値は、”内部”に設定される。なお、”内部”の場合は、初期値や計算式を示す属性に、それぞれを示す値が設定される。
【００４０】
また、上述の機能の属性が”整数”または”実数”に設定されている場合、データスケーリングの要否を示す属性を設定でき、当該属性が”要”に設定さされている場合、さらに、入力されるデータ範囲、および、出力するデータ範囲の属性に値を設定できる。この場合、ＨＭＩランタイム部５６は、出力するデータ範囲と入力されたデータ範囲とが一致するようにデータをスケーリングして表示する。
【００４１】
さらに、入力元を示す属性が”ＰＬＣ”の場合、グラフィック操作パネル５とＰＬＣ３とが通信する際に使用するデータ形式の属性を設定できる。当該属性には、通信時のデータ形式に合わせて、例えば、”ｓｉｇｎｅｄ”、”ｕｎｓｉｇｎｅｄ”あるいは”ＢＣＤ”の値が設定される。この場合、ＨＭＩランタイム部５６は、当該属性に応じたデータ形式で通信するよう、各ＩＦ部５３・５４へ指示するので、実際のデータ形式が上記のいずれであっても、正常に通信できる。
【００４２】
また、ＨＭＩランタイム部５６は、デバイス変数の現在値を示す属性に値を設定する際、実際のデータ形式に拘らず、例えば、”ｓｉｇｎｅｄ”など、予め定められた特定のデータ形式で、データを格納しており、通信時などには、データ形式の属性を参照して、必要に応じて、データ形式を変換する。これにより、上記属性は、機種非依存となり、データ形式の不一致に起因する誤表示や、誤った演算を防止できる。また、現在値の属性の値を参照／変更すれば、実際のデータ形式に応じてデータ変換する必要がなくなるので、ユーザが当該属性を参照／変更するプログラムを作成する際の負担を軽減できる。なお、上記現在値を示す属性が、特許請求の範囲に記載のデータ領域に対応する。
【００４３】
ＨＭＩランタイム部５６は、各デバイス変数について、例えば、所定の周期や、デバイス２１との通信毎など、所定のタイミングで、上記現在値の属性の値を更新している。また、オペレータの操作、他のグラフィック操作パネル５や制御用ホストコンピュータ７からの通信、あるいは、ＨＭＩランタイム部５６自体のスクリプト処理などによって、デバイスの状態制御が指示された場合、ＨＭＩランタイム部５６は、制御対象となるデバイス変数について、現在値を示す属性の値を変更する。これにより、デバイス変数の上記属性値と、対応するデバイスの状態とは、常時一致するように制御される。
【００４４】
このように、本実施形態では、例えば、グラフィック操作パネル５とＰＬＣ３とが通信する際のデータ形式や、ＰＬＣ３から受け取るデバイス２１の数値範囲も、変数の機種依存の属性の１つとして定義されており、ＨＭＩランタイム部５６は、機種非依存の属性については、機種に拘らず、同一の方法でアクセスできる。さらに、ＨＭＩランタイム部５６は、例えば、条件判断や表示処理あるいは演算処理など、機種に依存せずに処理可能な演算は、上記変数の属性のうち、機種非依存の属性を参照して実行し、特定のデータ形式での通信や特定のデバイスアドレスへの制御指示など、機種に依存した処理が必要な場合は、上記属性のうち、機種に依存する属性を参照して実行する。したがって、デバイス２１やＰＬＣ３の機種が変更され、ＰＬＣ３から受け取るデータ形式が変更されたとしても、デバイス２１やＰＬＣ３に対応する変数において、機種に依存する属性の値を変更するだけで、ＨＭＩランタイム部５６は、正しい画面を表示できる。
【００４５】
なお、上記では、グラフィック操作パネル５の変数の一例として、デバイス変数を例にして説明したが、記憶部５５には、例えば、現在表示中の画面の番号など、現在の制御用表示装置の動作状態が現在値を示す属性に設定されるシステム変数や、表示処理やスクリプト処理の際、作業用として利用する内部変数も格納されており、ＨＭＩランタイム部５６は、これらの変数についても、現在値の属性に値を設定したり、値を取得したりできる。
【００４６】
さらに、本実施形態に係るグラフィック操作パネル５には、安全性を損なうことなく、しかも、簡単な設定で、上記変数を各グラフィック操作パネル５間で共有するために、プロジェクトファイルを格納するプロジェクトファイル記憶部（記憶手段）５７と、プロジェクトファイル記憶部５７を参照しながら、変数公開の可否を決定する変数公開部（変数公開手段）５８とが設けられている。
【００４７】
上記プロジェクトファイルには、例えば、同じ製造ライン内のグラフィック操作パネル５など、同じプロジェクトに属し、互いに連携することが予め定められたグラフィック操作パネル５が登録されている。当該プロジェクトファイルは、例えば、制御用ホストコンピュータ７でグラフィック操作パネル５をＬＡＮ６に加入させるための設定を行う際などに作成され、制御用ホストコンピュータ７からＬＡＮ６を介してグラフィック操作パネル５に予め格納される。
【００４８】
一方、変数公開部５８は、他のグラフィック操作パネル５など、ＬＡＮ６に接続された機器のうち、プロジェクトファイルに登録されている機器にのみ、変数を公開する。また、本実施形態に係る変数公開部５８は、各変数について、グラフィック操作パネル５側にて、変数公開の可否を個別に設定できる。
【００４９】
上記構成において、グラフィック操作パネル５の記憶部５５には、予め定められたシステム変数に加えて、画面データやスクリプトが作成された段階で、操作画面表示処理や、操作の受け付け処理あるいはスクリプト実行処理など、各処理に必要なデバイスに対応するデバイス変数および内部変数が記憶され、ＨＭＩランタイム部５６は、各処理に応じて、変数の内容（現在値を示す属性の値）を更新する。上記変数の内容更新は、上記処理自体で必要な処理であり、変数公開の可否に拘らず、繰り返される。
【００５０】
一方、他のグラフィック操作パネル５との連携が必要になった場合など、変数の公開が必要になった場合、例えば、グラフィック操作パネル５のオペレータの操作や制御用ホストコンピュータ７からの指示などに応じて、変数公開部５８は、必要な変数を公開するように設定する。
【００５１】
この状態において、他のグラフィック操作パネル５（５ｂ）が、変数名でアクセス対象となる変数を指定してアクセスした場合、自機器（５ａ）の変数公開部５８は、当該グラフィック操作パネル５ｂがプロジェクトファイルに登録されており、しかも、変数公開に設定されているときに限って、当該変数へのアクセスを許可する。
【００５２】
ここで、デバイス変数の内容（例えば、現在値を示す属性の値）は、自機器５ａに接続されたデバイス２１の状態に応じて更新されている。したがって、他のグラフィック操作パネル５ｂは、間接的に、自機器５ａにＰＬＣ３を介して接続されたデバイス２１の状態を取得したり、状態を制御したりできる。また、現在表示中の画面番号を示すシステム変数にアクセスすることで、他のグラフィック操作パネル５ｂから、自機器５ａの画面を切り換えできる。また、他のグラフィック操作パネル５ｂの画面に応じて、自機器５ａの画面を切り換えることで、複数のグラフィック操作パネル５が連携して、互いに関連する画面を表示できる。
【００５３】
また、デバイス変数か否かに拘らず、変数の実体が直接アクセスされるため、効率よくデータ交換できる。さらに、データ配信する場合と異なり、アクセスされる可能性があるデータ全てを、所定の送信先にコピーしておく必要がない。したがって、アクセスしたい変数や属性が変化しても、当該変数が公開されていれば、例えば、送信先のデバイスやアドレスの設定など、送信元の配信設定を変更する必要がない。また、変数を参照したいグラフィック操作パネル５が増加しても、送信元のグラフィック操作パネル５の設定を変更する必要がない。これらの結果、より少ない設定で、多くのグラフィック操作パネル５間で、詳細・多量のデータを交換できる。
【００５４】
なお、変数自体の設定は、上述のように、変数を公開するか否かに拘らず、グラフィック操作パネル５自体の処理のために必要である。したがって、当該設定を流用することで、例えば、変数を公開するために機能を設定する必要がなく、変数公開のために増加する設定は、変数の公開／非公開の設定のように、非常に少ない。
【００５５】
一方、アクセス対象となる変数が公開に設定されていない場合、あるいは、アクセス元のグラフィック操作パネル５ｂがプロジェクトファイルに登録されていない場合、変数公開部５８は、当該変数へのアクセスを拒否する。したがって、不正な機器からのアクセスを確実に防止できる。
【００５６】
また、本実施形態では、他のグラフィック操作パネル５ｂからグラフィック操作パネル５の各変数へアクセスする際のＡＰＩは、予め定められている。したがって、例えば、Ｗｉｎｄｏｗｓ（登録商標）をＯＳとして採用した汎用のコンピュータなど、グラフィック操作パネル５ではない機器からであっても、当該ＡＰＩを利用すれば、例えば、公開されている変数のリストを取得したり、変数の属性のリストを取得したり、変数の属性の値を設定あるいは変更したりして、変数にアクセスできる。この結果、汎用のコンピュータで実行されるアプリケーションとも連携しやすくなる。
【００５７】
具体的には、上記汎用のコンピュータにおいて、上記ＡＰＩでグラフィック操作パネル５へアクセスするためのプログラム群を、例えば、ＤＬＬ（ Dynamic Link Library)などの形式で予め用意しておき、所定のＡＰＩでプログラム群にアクセスできるようにすれば、例えば、当該汎用のコンピュータのユーザは、プログラム群のＡＰＩを呼び出すコードを記述するだけで、グラフィック操作パネル５の変数にアクセス可能なプログラムを作成できる。
【００５８】
さらに、本実施形態では、変数公開部５８で各変数について公開の可否を設定できるので、変数を公開する場合、プロジェクトファイルを変更する必要がない。したがって、変数の公開／非公開を決定可能なオペレータにプロジェクトファイルの変更権限を与える必要がない。したがって、公開／非公開設定用の権限が奪われても、変数が公開される範囲を正規の機器内に限定できる。
【００５９】
また、本実施形態では、変数の属性が機種依存の属性と非依存の属性とに分けられており、他のグラフィック操作パネル５は、例えば、現在値を示す属性など、機種非依存の属性には、機種に拘らず、同一の方法でアクセスできる。
【００６０】
ここで、変数公開部５８は、他のグラフィック操作パネル５から変数の全属性へのアクセスを許可してもよいが、本実施形態では、変数の各属性のうち、現在値を示す属性に限って、アクセスを許可している。これにより、全属性へのアクセスを許可する場合よりも安全に、他のグラフィック操作パネル５は、ＰＬＣ３に接続されたデバイス２１や内部デバイスの状態を制御／取得できる。
【００６１】
なお、上記では、変数名でアクセスする場合を例にして説明したが、最初のアクセス時に、変数名に対応する識別コードを取得し、その後は、当該識別コードでアクセスしてもよい。いずれの場合であっても、変数が変数名で特定できれば、同様の効果が得られる。
【００６２】
なお、上記の各部材５１〜５８・６１ａ〜６３ａ…は、例えば、ＣＰＵ（Central Processing Unit)などの演算手段が、ＲＡＭ（ Random Access Memory ）やＲＯＭ（ Read-Only Memory ）などの記憶手段に記憶されたプログラムを実行して、例えば、液晶表示パネルやタッチパネルなどの入出力手段、あるいは、例えば、イーサネット（登録商標）へのインタフェース回路などの通信手段を制御することで実現される機能ブロックである。したがって、これらの手段を有するコンピュータが、上記プログラムが記録された記録媒体（例えば、ＣＤ−ＲＯＭなど）を読み取り、当該プログラムを実行するだけで、本実施形態に係るグラフィック操作パネル５を実現できる。なお、例えば、ＬＡＮ６などのネットワークからダウンロードするためのプログラムが、上記コンピュータに予めインストールされていれば、当該ネットワークを介して、各グラフィック操作パネル５へ当該プログラムを配付することもできる。
【００６３】
【発明の効果】
請求項１の発明に係る制御用表示装置は、以上のように、自機器と相互通信可能な機器群が予め登録されたプロジェクトファイルを記憶する記憶手段と、上記プロジェクトファイルに登録されている機器にのみ、名前で特定可能な変数の内容を公開する変数公開手段と、上記変数の内容と、デバイスまたは制御用表示装置自体の状態とが一致するように、両者の少なくとも一方を制御する制御手段とを備え、上記変数公開手段は、プロジェクトファイルに登録されていない機器から上記変数へのアクセスを拒否するものであり、かつ、変数の各属性のうち、現在値を示す属性に限って、上記プロジェクトファイルに登録されている機器からのアクセスを許可する構成である。また、請求項４のプログラムおよび請求項５の記録媒体に記録されたプログラムは、上記各手段を実現するためのプログラムであり、当該プログラムを実行するコンピュータは、上記制御用表示装置として動作する。
【００６４】
上記構成では、他の正規の機器からアクセスされるのは、変数の内容であり、制御手段が変数の内容と上記状態とを一致させる動作は、変数公開の有無や、他の正規の機器からのアクセスの有無に拘らず、同一である。したがって、他の機器が必要とするデータを配信するために、データを管理する機器に配信先を設定する従来技術の構成とは異なり、データを管理する機器側の動作を変更せずに、当該データを参照する機器を変更したり、当該機器の数を増やしたりできる。また、変数公開手段は、正規の機器ではない機器には変数を公開しないので、当該機器からの不正なアクセスを防止できる。これらの結果、正規の機器間が安全にデータを相互参照できるにも拘らず、各機器を設定する手間を削減できるという効果を奏する。
【００６５】
請求項２の発明に係る制御用表示装置は、以上のように、請求項１記載の発明の構成において、上記変数のうち、デバイス変数は、デバイスの機種に拘らず、予め定められた特定形式で、対応するデバイスの状態を格納するデータ領域を含み、上記制御手段は、上記特定形式でデバイスの状態を表現して、上記データ領域へアクセスする構成である。
【００６６】
上記構成では、デバイス変数のデータ領域には、デバイスの状態を示すデータが、デバイスの機種に拘らず、特定形式で格納され、制御手段は、当該形式で表現されたデバイス変数の内容と、対応するデバイスの状態とが一致するように制御する。したがって、デバイスの機種に拘らず、他の正規の機器が変数にアクセスする際のデータ形式を統一できるという効果を奏する。
【図面の簡単な説明】
【図１】  本発明の一実施形態を示すものであり、制御システムの要部構成を示すブロック図である。
【図２】  上記制御システムのグラフィック操作パネルに設けられたＨＭＩランタイム部の構成例を示すブロック図である。
【図３】  従来例を示すものであり、制御システムの要部構成を示すブロック図である。
【図４】  他の従来例を示すものであり、制御システムの要部構成を示すブロック図である。
【符号の説明】
５    グラフィック操作パネル（制御用表示装置）
２１    デバイス
５１    表示部（表示手段）
５４    ＬＡＮ側ＩＦ部（通信手段）
５６    ＨＭＩランタイム部（制御手段）
５７    プロジェクトファイル記憶部（記憶手段）
５８    変数公開部（変数公開手段）
【図１】
0003847571.tif 000002
【図２】
0003847571.tif 000003
【図３】
0003847571.tif 000004
【図４】
0003847571.tif 000005