(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラム、共有メモリ、及び通信処理部を備えたコントローラにより、データ伝送手段を介して接続された機器系統を監視制御するものにおいて、上記機器系統を構成する１つ以上の機器に実装された機能を示す回路が使う変数の、上記共有メモリ上の位置情報を示す変数ベースアドレスを含む回路構成情報を記憶する回路構成テーブルと、上記機器に実装されている機能ごとに定められた命令セット及び各命令が用いる変数の位置情報を示す変数オフセットと変数サイズとを含む変数構成情報を記憶する変数構成テーブルとを備え、上記回路構成情報と上記変数構成情報とを元に、上記コントローラの共有メモリ上の変数配置を決定し、上記通信処理部が監視要求を含む監視要求データ、または上記アプリケーションプログラムが上記変数配置を元に上記共有メモリに書き込んだ制御情報を含む制御要求データを、上記機器に送信し、上記機器からの監視情報を含む監視応答データ、または制御結果を含む制御応答データを上記通信処理部が受信することによって、上記機器の監視情報あるいは制御結果を上記通信処理部が上記共有メモリに書き込みし、上記アプリケーションプログラムが、上記共有メモリから上記監視情報または制御結果を読み出すことによって上記機器の監視制御を行うことを特徴とする機器系統の監視制御方法。
【請求項２】
回路構成テーブルは、機器系統を構成する１つ以上の機器に実装された機能を示す回路の、データ伝送手段上のネットワークアドレス、機能種別、周期情報を指定する周期、及び使用の可／不可を回路構成情報として記憶することを特徴とする請求項１記載の機器系統の監視制御方法。
【請求項３】
変数構成テーブルは、各命令が用いる変数の、周期要求の有り無しを指定する周期フラッグを変数構成情報として記憶することを特徴とする請求項１または２記載の機器系統の監視制御方法。
【請求項４】
変数構成テーブルに含まれる変数構成情報から機能ごとに必要となる変数領域のサイズを算出し、回路構成テーブルに含まれる各機器に実装された機能を示す回路ごとの共有メモリ上の変数ベースアドレスを自動生成することを特徴とする請求項１記載の機器系統の監視制御方法。
【請求項５】
回路構成情報に周期情報を含めることによって、通信処理部が周期的に機器に監視命令または制御命令の要求データを送信し、機器から監視応答データまたは制御応答データを受信し、監視応答データに含まれる監視情報または制御応答データに含まれる制御結果を共有メモリ上に書き込むことによって、周期的に監視情報を更新するか、または周期的に機器を制御することを特徴とする請求項１ないし４のいずれかに記載の機器系統の監視制御方法。
【請求項６】
機器がデータ伝送手段に接続されると、上記機器が実装している機能の機能種別を含む識別データをデータ伝送手段に通報し、通信処理部が上記識別データを受信し、新たにデータ伝送手段に接続した機器に実装された機能を示す回路を回路構成テーブルに自動的に登録するか、あるいは回路構成テーブルに既に上記回路が存在する場合には使用可能であることを上記回路構成テーブル上に示すことを特徴とする請求項１または４記載の機器系統の監視制御方法。
【請求項７】
データ伝送手段に接続することが可能な機器の全てのアドレスへ、コントローラから機器の実装する機能の機能種別を要求する識別要求データを定期的に送信し、機器がデータ伝送手段に接続されると、機器が識別要求データを受信し、実装されている機能の機能識別を含む識別応答データをデータ伝送手段に送信し、通信処理部が上記識別応答データを受信し、新たにデータ伝送手段に接続した機器に実装された機能を示す回路を回路構成テーブルに自動的に登録するか、あるいは回路構成テーブルに既に上記回路が存在する場合には使用可能であることを上記回路構成テーブル上に示すことを特徴とする請求項１または４記載の機器系統の監視制御方法。
【請求項８】
データ伝送手段に接続している機器が定期的にデータ伝送手段に送信する通信データを通信処理部が受信していて、機器がデータ伝送手段から外され、上記通信処理部が一定時間以内に機器からの上記通信データを受信することができないとき、上記機器がデータ伝送手段から外されたと判断して、データ伝送手段から外された機器に実装された機能を示す回路を回路構成テーブルから自動的に削除するか、あるいは上記回路が使用不能であることを上記回路構成テーブル上に示すことを特徴とする請求項１または４記載の機器系統の監視制御方法。
【請求項９】
コントローラが回路構成テーブルに登録されている全ての機器へ、要求データを定期的に送信し、上記要求データに対する応答データを一定時間以内に受信することができないとき、データ伝送手段に接続していた機器がデータ伝送手段より外されたと判断し、データ伝送手段から外された機器に実装された機能を示す回路を回路構成テーブルから自動的に削除するか、あるいは上記回路が使用不能であることを上記回路構成テーブル上に示すことを特徴とする請求項１または４記載の機器系統の監視制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、機器系統の監視制御方法に関するものであり、例えばビルまたは工場の設備機器の遠隔監視制御方法に関するものである。
【０００２】
【従来の技術】
ビルまたは工場などに設置される設備機器は、ビル内や工場内などのある一定の範囲に点在して設置される。そのため、ネットワークなどデータ伝送手段を用いて、保安室などの設備管理部署にある監視制御用のコントローラから遠隔監視制御されている。設備機器には、照明機器、空調機器、配電盤、電力計、温度計、リモートスイッチ、表示器などの複数種類の機器が設置される。これらの機器にはＯＮ／ＯＦＦデータを用いる機器や温度などのアナログ値を用いたり、カウンターなどのデジタル値を用いたり、それらを複合して用いる機器もある。また、事前に設定されたパラメータに従って、機器内でデータ処理を行う機器や、事前に設定された通報条件に従って、イベント、警報、異常、エラーなどを自発的に通報する機器もある。これらの機器は機器の持つ機能ごとに使用する命令とデータ形式が異なり、一般に機能を監視制御するために必要な命令の組み合わせ、すなわち命令セットが定められている。
【０００３】
図６は、従来の機器系統の監視制御装置を示す構成図であり、ネットワークに接続している設備を示す機器をコントローラが遠隔監視制御するものである。図において、１はネットワーク、２はコントローラ、３は機器、４は機器３の機能、５は通信処理部、６はプロトコル処理部、８はアプリケーションプログラムである。
【０００４】
コントローラ２のアプリケーションプログラム８は機器３に実装された機能４に対して監視あるいは制御が必要になるとアプリケーションプログラム８内のプロトコル処理部６に命令を要求し、プロトコル処理部６は要求から要求データを生成し通信処理部５に送る。通信処理部５はネットワーク１に要求データを送信し、機器３に実装された機能４が要求データを受信し、要求を処理する。機能４は要求を実行し、要求に対する応答があると応答データをネットワーク１に送信し、コントローラ２の通信処理部５が応答データを受信すると対応するアプリケーションプログラム８内のプロトコル処理部６に応答データを渡し、プロトコル処理部６は応答データから要求の結果を取り出す。
【０００５】
図７は従来の機器系統の他の監視制御装置を示す構成図であり、生産ラインなどの機械制御で使われるネットワークに接続している機器をコントローラが遠隔制御するものである。図において、７は共有メモリ、１３はコントローラ、１４は機器、１５は入力データ、１６は出力データ、１７はデータである。
【０００６】
機械制御で使われる機器１４は入出力のＯＮ／ＯＦＦデータやデジタルデータが用いられている。コントローラ１３の通信処理部５は機器１４内の入力データ１５を周期的に繰り返しコントローラ１３の共有メモリ７の予め定められたアドレスにコピーし、またコントローラの共有メモリ７の予め定められたアドレスのデータ１７を周期的に繰り返し機器内の出力データ１６にコピーする。アプリケーションプログラム８は共有メモリ７上の入力データ１５を読み、出力データ１６部分に書き込みを行うことによって機器１４の入出力の制御を行う。
【０００７】
【発明が解決しようとする課題】
従来の機器系統の監視制御装置は以上のように構成されており、図６に示すような、設備に対する従来の監視制御方法では、機器が実装している機能に対する監視制御命令のプロトコル処理をアプリケーションプログラムでプログラミングする必要があるために、プログラムが大きくなり、開発や変更に時間と人手が必要になるという問題があった。
また、アプリケーションプログラムが機器に対する監視制御命令の要求データ送信タイミングを管理したり、機器からの監視制御命令の受信データ待ち処理をする必要があるために、プログラム構造が複雑になり、開発や変更に時間と人手が必要になるという問題もあった。
【０００８】
また、図７に示すような、機械制御で使われる機器を遠隔制御する従来の監視制御方法では、プロトコル処理などの通信処理を通信処理部が行うために、アプリケーションプログラムのプログラミングは単に共有メモリの読み書きだけでよく、通信専用のプログラムを記述する必要がない利点がある。特に、監視制御命令の送信タイミングの管理や受信待ち処理を通信処理部が行ってくれるために、アプリケーションプログラムの構造は簡単になる。しかし、全ての入出力データを共有メモリに周期的にコピーするため、多種多様なデータ形式を扱う監視制御命令では通信データ量が多いためにデータの更新周期が長くなり、応答性が悪くなる問題があった。また、非周期の監視制御命令を出せないため、設備機器の遠隔監視制御方法には使えないという問題もあった。
【０００９】
本発明は上記のような問題点を解消するためになされたもので、ビルまたは工場などに設置される設備機器に用いられる多種多様なデータ形式を扱う遠隔監視制御命令や、命令タイミングが非周期と周期が混在し、かつ異なる複数の周期を扱う遠隔監視制御命令を用いた設備監視制御コントローラにおいても、多様な機器や制御／監視形態に対応でき、共有メモリを用いて、応答性良くアプリケーションプログラムが通信でき、アプリケーションプログラムの作成が容易になるような監視制御方法を提供するものである。
【００１０】
【課題を解決するための手段】
本発明の第１の方法による機器系統の監視制御方法は、アプリケーションプログラム、共有メモリ、及び通信処理部を備えたコントローラにより、データ伝送手段を介して接続された機器系統を監視制御するものにおいて、上記機器系統を構成する１つ以上の機器に実装された機能を示す回路が使う変数の、上記共有メモリ上の位置情報を示す変数ベースアドレスを含む回路構成情報を記憶する回路構成テーブルと、上記機器に実装されている機能ごとに定められた命令セット及び各命令が用いる変数の位置情報を示す変数オフセットと変数サイズとを含む変数構成情報を記憶する変数構成テーブルとを備え、上記回路構成情報と上記変数構成情報とを元に、上記コントローラの共有メモリ上の変数配置を決定し、上記通信処理部が監視要求を含む監視要求データ、または上記アプリケーションプログラムが上記変数配置を元に上記共有メモリに書き込んだ制御情報を含む制御要求データを、上記機器に送信し、上記機器からの監視情報を含む監視応答データ、または制御結果を含む制御応答データを上記通信処理部が受信することによって、上記機器の監視情報あるいは制御結果を上記通信処理部が上記共有メモリに書き込みし、上記アプリケーションプログラムが、上記共有メモリから上記監視情報または制御結果を読み出すことによって上記機器の監視制御を行うものである。
【００１１】
本発明の第２の方法による機器系統の監視制御方法は、上記第１の方法において、回路構成テーブルは、機器系統を構成する１つ以上の機器に実装された機能を示す回路の、データ伝送手段上のネットワークアドレス、機能種別、周期情報を指定する周期、及び使用の可／不可を回路構成情報として記憶するものである。
【００１２】
本発明の第３の方法による機器系統の監視制御方法は、上記第１または第２の方法において、変数構成テーブルは、各命令が用いる変数の、周期要求の有り無しを指定する周期フラッグを変数構成情報として記憶するものである。
【００１３】
本発明の第４の方法による機器系統の監視制御方法は、上記第１の方法において、変数構成テーブルに含まれる変数構成情報から機能ごとに必要となる変数領域のサイズを算出し、回路構成テーブルに含まれる各機器に実装された機能を示す回路ごとの共有メモリ上の変数ベースアドレスを自動生成するものである。
【００１６】
本発明の第５の方法による機器系統の監視制御方法は、上記第１〜第４の方法において、回路構成情報に周期情報を含めることによって、通信処理部が周期的に機器に監視命令または制御命令の要求データを送信し、機器から監視応答データまたは制御応答データを受信し、監視応答データに含まれる監視情報または制御応答データに含まれる制御結果を共有メモリ上に書き込むことによって、周期的に監視情報を更新するか、または周期的に機器を制御するものである。
【００１７】
本発明の第６の方法による機器系統の監視制御方法は、上記第１または第４の方法において、機器がデータ伝送手段に接続されると、上記機器が実装している機能の機能種別を含む識別データをデータ伝送手段に通報し、通信処理部が上記識別データを受信し、新たにデータ伝送手段に接続した機器に実装された機能を示す回路を回路構成テーブルに自動的に登録するか、あるいは回路構成テーブルに既に上記回路が存在する場合には使用可能であることを上記回路構成テーブル上に示すものである。
【００１８】
本発明の第７の方法による機器系統の監視制御方法は、上記第１または第４の方法において、データ伝送手段に接続することが可能な機器の全てのアドレスへ、コントローラから機器の実装する機能の機能種別を要求する識別要求データを定期的に送信し、機器がデータ伝送手段に接続されると、機器が識別要求データを受信し、実装されている機能の機能識別を含む識別応答データをデータ伝送手段に送信し、通信処理部が上記識別応答データを受信し、新たにデータ伝送手段に接続した機器に実装された機能を示す回路を回路構成テーブルに自動的に登録するか、あるいは回路構成テーブルに既に上記回路が存在する場合には使用可能であることを上記回路構成テーブル上に示すものである。
【００１９】
本発明の第８の方法による機器系統の監視制御方法は、上記第１または第４の方法において、データ伝送手段に接続している機器が定期的にデータ伝送手段に送信する通信データを通信処理部が受信していて、機器がデータ伝送手段から外され、上記通信処理部が一定時間以内に機器からの上記通信データを受信することができないとき、上記機器がデータ伝送手段から外されたと判断して、データ伝送手段から外された機器に実装された機能を示す回路を回路構成テーブルから自動的に削除するか、あるいは上記回路が使用不能であることを上記回路構成テーブル上に示すものである。
【００２０】
本発明の第９の方法による機器系統の監視制御方法は、上記第１または第４の方法において、コントローラが回路構成テーブルに登録されている全ての機器へ、要求データを定期的に送信し、上記要求データに対する応答データを一定時間以内に受信することができないとき、データ伝送手段に接続していた機器がデータ伝送手段より外されたと判断し、データ伝送手段から外された機器に実装された機能を示す回路を回路構成テーブルから自動的に削除するか、あるいは上記回路が使用不能であることを上記回路構成テーブル上に示すものである。
【００２１】
【発明の実施の形態】
実施の形態１．
以下、本発明を実施の形態により説明する。図１は本発明の実施の形態１による設備監視制御システムを示す構成図である。図において、１はネットワーク、２はコントローラ、３は機器、４は機器３の機能、５は通信処理部、６はプロトコル処理部、７は共有メモリ、８はアプリケーションプログラム、９は変数、１０は回路構成テーブル、１１は変数構成テーブル、１２は記憶装置である。
【００２２】
データを伝送するネットワーク１に設備の監視制御を行うコントローラ２と、ビルまたは工場などの設備である機器Ｄ１、機器Ｄ２が接続され、機器系統を構成している。機器Ｄ１には設備が持つ機能Ｆ１の回路Ｃ１が実装され、機器Ｄ２には設備が持つ機能Ｆ１の回路Ｃ２と機能Ｆ２の回路Ｃ３が実装されている。コントローラ２には、機器３と通信を行う通信処理部５があり、通信処理部５内には要求から通信データを作成したり、通信データから応答あるいは通報内容を取り出すプロトコル処理部６がある。また、コントローラ２には共有メモリ７を有し、共有メモリ７には要求や応答、通報、エラー情報を示す変数９がある。また、コントローラ２には、設備を監視制御するアプリケーションプログラム８が１つあるいは複数存在する。また、コントローラ２あるいはコントローラ２からアクセスできる記憶装置１２には、ネットワーク１に接続された各機器３に実装されている機能４を示す回路の構成情報を含む回路構成テーブル１０と、機器３に実装されている機能４ごとに定められた監視制御命令セットと各監視制御命令が用いる変数９の構成情報を含む変数構成テーブル１１とが存在する。
【００２３】
図２に回路構成テーブル１０の例を示す。機器３に実装された機能４を示す回路ごとに機器３の機器名、ネットワーク上のネットワークアドレス、機能４を示す機能種別、回路が使う変数９の位置情報を示す変数ベースアドレス、周期情報を指定する周期、回路の使用可／不可がある。その他にも回路や機器３の特徴を示す情報をテーブルに入れることができる。
【００２４】
図３には変数構成テーブル１１の例を示す。機能種別ごとに定められた命令セットの命令が必要とする変数の変数タイプと変数の位置情報である変数オフセットと変数サイズ、周期要求の有り無しを指定する周期フラッグがある。その他にも機器種別や命令の特徴を示す情報をテーブルに入れることができる。
【００２５】
図４には回路構成テーブル１０に変数９の位置情報を示す変数ベースアドレスを設定し、変数構成テーブル１１に命令が必要とする変数情報を示す変数オフセットと変数サイズを設定したときの共有メモリ７上の変数配置方法を示す。また、図５には図２の回路構成テーブル１０の例と図３の変数構成テーブル１１の例にしたがった共有メモリ７上の変数構成を示す。図４に示すように変数ベースアドレスに変数オフセットを加えた位置から変数サイズ分の領域が、指定された回路に対する命令が必要とする変数領域になる。
【００２６】
なお、回路構成テーブル１０の変数位置情報と変数構成テーブル１１の変数情報に関しては、変数ベースアドレスと変数オフセット、変数サイズの組み合わせ以外による共有メモリ７上の変数構成方法もテーブルにしかるべき変数の位置情報と変数情報を入れることによって可能である。
【００２７】
また、回路構成テーブル１０に機器構成による機能４の回路が登録されていれば、回路構成テーブル１０の変数ベースアドレスが登録されていなくても、変数構成テーブル１１に含まれる変数情報を元に、機能４に必要となる変数領域のサイズを計算し、回路ごとの変数領域がオーバーラップしないように回路構成テーブル１０の変数ベースアドレスを自動生成できる。
変数ベースアドレスの自動生成方法としては、計算された変数領域サイズごとにつめて配置する方法や、機器構成が変更された時に変数アドレス変更が少ないように計算された最大変数領域サイズごとに変数ベースアドレスを設定する方法がある。
【００２８】
次にアプリケーションプログラム８が機器３を制御する例を説明する。
アプリケーションプログラム８は図５に示す共有メモリ７上の制御変数［回路Ｃ１．制御Ｘ］のアドレス（１００１）を回路構成テーブル１０の変数ベースアドレス（１００１）と変数構成テーブル１１の変数オフセット（０）とから導いて、制御情報を書き込む。共有メモリ７は制御変数への書き込みを記録する手段（フラッグ）を持ち、通信処理部５はアドレス順に制御変数への書き込みをチェックしている。通信処理部５が制御変数［回路Ｃ１．制御Ｘ］への書き込み（フラッグ）を検出すると、共有メモリ７上の制御変数［回路Ｃ１．制御Ｘ］から制御情報を受け取り、共有メモリ７上のアドレス（１００１）から回路構成テーブル１０の回路（回路Ｃ１）を導いて回路構成テーブル１０上のネットワークアドレス（０１．０１）と機能種別（機能Ｆ１）と変数ベースアドレス（１００１）とを読み出し、共有メモリ上の制御変数［回路Ｃ１．制御Ｘ］のアドレス（１００１）と変数ベースアドレス（１００１）とから変数オフセット（０）を算出する。機能種別（Ｆ１）と、算出された変数オフセット（０）とから変数構成テーブル１１の変数タイプ（制御Ｘ）を読み出し、プロトコル処理部６が変数タイプ（制御Ｘ）に対応する制御要求データを上記ネットワークアドレス（０１．０１）と上記制御情報とより生成し、ネットワーク１を介して機器３上の機能４に制御要求データを送信する。
機器３上の機能４は制御要求データを受信すると、制御要求データから制御情報を取り出して実行する。機器３上の機能４は制御結果を制御応答データに入れ、ネットワーク１を介してコントローラ２に送信する。
コントローラ２の通信処理部５が制御応答データを受信すると、プロトコル処理部６が制御結果を取り出し、制御応答データのネットワークアドレス（０１．０１）から回路構成テーブル１０の回路（回路Ｃ１）を導いて、回路構成テーブル１０上の変数ベースアドレス（１００１）と機能種別（機能Ｆ１）とを読み出し、機能種別（機能Ｆ１）と制御応答データの命令から導かれる変数タイプ（エラー）とから変数構成テーブル１１の変数オフセット（３）を導いて、共有メモリ７上のエラー変数［回路Ｃ１．エラー］のアドレス（１００４）を求め、制御結果を書き込む。アプリケーションプログラム８は共有メモリ７上のエラー変数［回路Ｃ１．エラー］のアドレス（１００４）を回路構成テーブル１０の変数ベースアドレス（１００１）と変数構成テーブル１１の変数オフセット（３）とから導いて、読み出すことによって制御結果を知る。
このように、アプリケーションプログラム８は、共有メモリ７上の制御変数に制御情報の書き込みを行うだけで機器を制御することができ、通信処理を意識してアプリケーションプログラムをプログラミングする必要がない。
【００２９】
次にアプリケーションプログラム８が機器３を周期監視する例を説明する。
図２に示す回路構成テーブル１０の回路（回路Ｃ１）は周期２０００ｍｓで要求データを送信する様に指定されている。また、図３に示す変数構成テーブル１１では機能種別（機能Ｆ１）の変数タイプ（監視Ｘ）の周期フラッグがＯＮになっている。
通信処理部５は回路構成テーブル１０で指定された周期で、機器３に対して変数構成テーブル１１で周期フラッグがＯＮになっている変数タイプが示す命令の要求データを送信するため、プロトコル処理部６が、変数構成テーブル１１の機能種別（機能Ｆ１）の変数タイプ（監視Ｘ）から導かれる監視要求を回路構成テーブル１０の回路（回路Ｃ１）のネットワークアドレス（０１．０１）より生成し、周期２０００ｍｓでネットワーク１を介して機器３上の機能４に監視要求を繰り返し送信する。
機器３上の機能４は監視要求データを受信すると、監視要求データから監視要求を取り出して実行する。機器３上の機能４は監視情報を監視応答データに入れ、ネットワーク１を介してコントローラ２に送信する。
コントローラ２の通信処理部５が監視応答データを受信するとプロトコル処理部６が監視情報を取り出し、監視応答データのネットワークアドレス（０１．０１）から回路構成テーブル１０の回路（回路Ｃ１）を導いて、回路構成テーブル１０上の変数ベースアドレス（１００１）と機能種別（機能Ｆ１）とを読み出し、機能種別（機能Ｆ１）と監視応答データの命令から導かれる変数タイプ（監視Ｘ）とから変数構成テーブル１１の変数オフセット（１）を導いて、共有メモリ７上の監視変数［回路Ｃ１．監視Ｘ］のアドレス（１００２）を求め、書き込みする。アプリケーションプログラム８は共有メモリ７上の監視変数［回路Ｃ１．監視Ｘ］のアドレス（１００２）を回路構成テーブル１０の変数ベースアドレス（１００１）と変数構成テーブル１１の変数オフセット（１）とから導いて、読み出すことによって監視情報を知る。
アプリケーションプログラム８は、共有メモリ７上の監視情報変数を読むだけで周期的に更新される監視情報を入手することができ、周期的に監視情報を更新する通信処理を意識してアプリケーションプログラムをプログラミングする必要がない。
また、図３に示す変数構成テーブル１１の機能種別（機能Ｆ２）の変数タイプ（制御情報Ｙ）のように、周期フラッグを（ＯＮ）にすることによって、同様に周期的に制御要求を出すことができる。
【００３０】
次にアプリケーションプログラム８が機器３からの通報を受け取る例を説明する。
機器３上の機能４はコントローラ２に通報をする必要があると、通報情報を通報データに入れ、ネットワーク１を介してコントローラ２に送信する。
コントローラ２の通信処理部５が通報データを受信すると、プロトコル処理部６が通報情報を取り出し、通報データのネットワークアドレス（０１．０１）から回路構成テーブル１０の回路（回路Ｃ１）を導いて、回路構成テーブル１０上の変数ベースアドレス（１００１）と機能種別（機能Ｆ１）とを読み出し、機能種別（機能Ｆ１）と通報データの命令から導かれる変数タイプ（通報Ｘ）とから変数構成テーブル１１の変数オフセット（２）を導いて、共有メモリ７上の通報変数［回路Ｃ１．通報Ｘ］のアドレス（１００３）を求め、書き込みする。アプリケーションプログラム８は共有メモリ７上の通報変数［回路Ｃ１．通報Ｘ］のアドレス（１００３）を回路構成テーブル１０の変数ベースアドレス（１００１）と変数構成テーブル１１の変数オフセット（２）から導いて、読み出すことによって通報情報を知る。
アプリケーションプログラムは共有メモリ７上の通報変数を読み出すだけで通報情報を入手することができ、受信待ちを意識してアプリケーションプログラムをプログラミングする必要がない。
【００３１】
次にアプリケーションプログラム８が機器３を制御する別の例を説明する。
前記の制御例では制御情報のサイズは１で変数アドレスを１つしか使っていなかったが、共有メモリ７上のアドレス（１０１０〜１０１１）の制御変数［回路Ｃ３．制御情報Ｙ］では変数サイズが２のため変数アドレスを複数使っている。通信処理部５はアドレス順に全ての制御変数への書き込みをチェックしているため、制御情報を制御変数に書き込むタイミングで制御要求を出すと複数の変数の場合はタイミングによっては、全てのデータが書き込まれない内に制御要求を出してしまう問題がある。
この問題を解決するため、図３に示す変数構成テーブル１１では機能種別（機能Ｆ２）に変数タイプ（制御要求Ｙ）と変数タイプ（制御情報Ｙ）とを定めている。変数タイプ（制御要求Ｙ）は図５で示す共有メモリ７上のアドレス（１００９）の制御要求変数［回路Ｃ３．制御要求Ｙ］に配置され、変数タイプ（制御情報Ｙ）は図５で示す共有メモリ７上のアドレス（１０１０〜１０１１）の制御情報変数［回路Ｃ３．制御情報Ｙ］に配置される。アプリケーションプログラム８は予め制御情報変数［回路Ｃ３．制御情報Ｙ］に制御情報を書き込んでおいて、制御要求変数［回路Ｃ３．制御要求Ｙ］に書き込みを行う。共有メモリ７は制御要求変数への書き込みを記録する手段を持ち、通信処理部５はアドレス順に制御要求変数への書き込みをチェックしている。通信処理部５が制御要求変数［回路Ｃ３．制御要求Ｙ］の書き込みを確認すると、制御情報変数［回路Ｃ３．制御情報Ｙ］の制御情報を用いて、制御変数を使った時と同様に、制御要求データを機器３に送信する。
このように、制御要求変数と制御情報変数とによって、サイズが２以上で変数アドレスを複数使う制御変数による制御命令が可能になる。
【００３２】
次にアプリケーションプログラム８が指定するタイミングで機器３を監視する例を説明する。
前記の監視例では予め定められた周期で監視情報を更新していたが、特定のタイミングで監視情報を取得したい場合がある。そのため、図３に示す変数構成テーブル１１では機能種別（機能Ｆ２）に変数タイプ（監視要求Ｙ）と変数タイプ（監視Ｙ）とを定めている。変数タイプ（監視要求Ｙ）は図５で示す共有メモリ７上のアドレス（１０１２）の監視要求変数［回路Ｃ３．監視要求Ｙ］に配置され、変数タイプ（監視Ｙ）は図５で示す共有メモリ７上のアドレス（１０１３）の監視変数［回路Ｃ３．監視Ｙ］に配置される。アプリケーションプログラム８が監視要求変数［回路Ｃ３．監視要求Ｙ］に書き込みを行うと、共有メモリ７は監視要求変数への書き込みを記録する手段を持ち、通信処理部５はアドレス順に監視要求変数への書き込みをチェックしているため、通信処理部５が監視要求変数［回路Ｃ３．監視要求Ｙ］の書き込みを確認すると、周期監視の時と同様に監視要求データを機器３に送信する。
機器３上の機能４は監視要求データを受信すると、監視要求データから監視要求を取り出して実行する。機器３上の機能４は監視情報を監視応答データに入れ、ネットワーク１を介してコントローラ２に送信する。
コントローラ２の通信処理部５が監視応答データを受信すると、周期監視の時と同様に、プロトコル処理部６が監視情報を取り出し、共有メモリ７上の監視変数［回路Ｃ３．監視Ｙ］に書き込みする。アプリケーションプログラム８は共有メモリ７上のアドレス（１０１３）を回路構成テーブル１０の変数ベースアドレス（１００９）と変数構成テーブル１１の変数オフセット（４）とから導いて、監視変数［回路Ｃ３．監視Ｙ］を読み出すことによって監視情報を得る。
このように、アプリケーションプログラム８は監視要求変数と監視変数とによってアプリケーションプログラム８が指定したタイミングで監視情報を取得することができる。
【００３３】
実施の形態２．
今までの例ではネットワーク１などのデータ伝送手段に接続している機器３の機能４を示す回路が回路構成テーブル１０に登録されていることが前提になっていたが、頻繁に機器構成が変更されるシステムでは接続機器３が追加、削除されるたびに回路構成テーブル１０を変更するのは大変な作業を伴う。そこで、本実施の形態２では、回路構成テーブル１０の回路登録を自動的に行う方法について説明する。
【００３４】
機器３がネットワーク１に接続されると、機器３が実装している機能４を示す機能種別を含む識別通報データをネットワーク１を介してコントローラ２に送信する。コントローラ２の通信処理部５が識別通報データを受信し、プロトコル処理部６が機能種別を取り出す。通信処理部５は回路構成テーブル１０に該当する機器３の機能を示す回路が既に存在するか確認し、存在する場合は回路構成テーブル１０の使用の欄に可を書き込む。存在しない場合は新たにネットワーク１に接続した機器３に実装されている機能４を示す回路を登録し、変数構成テーブル１１から対応する機能種別の変数情報を取得し、回路構成テーブル１０の変数位置情報から共有メモリ７上の空きアドレスに新たに登録された回路の変数を配置するような変数ベースアドレスを算出し、回路構成テーブル１０の変数ベースアドレス欄に書き込む。このようにして、新たにネットワーク１に接続した機器３の機能４を示す回路を回路構成テーブル１０に自動的に登録し、かつ回路が使用可能であることを知ることができる。
【００３５】
また、別の自動登録方法として、ネットワーク１に接続することが可能な全てのネットワークアドレス、あるいは既に機器３がいくつか接続していて新しい機器３が接続可能な全ての空きアドレスに対して、コントローラ２から機器３が実装する機能４の機能種別を要求する識別要求データを定期的に送信する。
機器３がネットワーク１に接続されると、機器３が識別要求データを受信し、実装されている機能４の機能識別を含む識別応答データをネットワーク１を介してコントローラ２に送信する。
コントローラ２の通信処理部５は識別応答データを受信し、プロトコル処理部６が機器種別を取り出す。通信処理部５は回路構成テーブル１０に該当する機器３の機能を示す回路が既に存在するか確認し、存在する場合は回路構成テーブル１０の使用の欄に可を書き込む。存在しない場合は新たにネットワーク１に接続した機器３に実装されている機能４を示す回路を登録し、変数構成テーブル１１から対応する機能種別の変数情報を取得し、回路構成テーブル１０の変数位置情報から共有メモリ７上の空きアドレスに新たに登録された回路の変数を配置するような変数ベースアドレスを算出し、回路構成テーブル１０の変数ベースアドレス欄に書き込む。このようにして、新たにネットワーク１に接続した機器３の機能４を示す回路を回路構成テーブル１０に自動的に登録し、かつ回路が使用可能であることを知ることができる。
【００３６】
実施の形態３．
次に、本実施の形態３では、ネットワーク１などのデータ伝送手段から機器３が外されたときに、自動的に回路構成テーブル１０から機器３に実装されている機能４を示す回路を削除するか、あるいは回路が使用不能であることを示す方法について説明する。
【００３７】
ネットワーク１に接続している機器３は定期的にネットワーク１に通信データを送信する。コントローラ２の通信処理部５はネットワーク１に接続している機器３ごとの生存タイマーを持っていて、機器３がネットワーク１に送信する通信データを受信するごとにタイマーを設定し直す。機器３がネットワーク１から外されるとコントローラ２の通信処理部５が今まで一定時間以内に機器３から受信していた通信データを受信することができなくなり、生存タイマーの設定時間がくるとコントローラ２の通信処理部５は生存タイマーに対応する機器３がネットワーク１から外されたと判断し、ネットワーク１から外された機器３に実装された機能４を示す回路を回路構成テーブル１０から削除するか、あるいは回路構成テーブル１０の使用の欄に不可を書き込む。
このようにして、ネットワーク１から外された機器３の機能４を示す回路を回路構成テーブル１０から自動的に削除するか、あるいは回路が使用不能であることを示すことができる。
【００３８】
また、別の自動削除方法として、回路構成テーブル１０に登録されている全ての機器３へコントローラ２の通信処理部５が定期的に要求データを送信する。通信処理部５は受信タイマーを持っていて、要求データを送信すると受信タイマーを設定する。設定時間以内に応答データを受信すると受信タイマーをクリアする。設定時間以内に応答データを受信することができないとタイムアウトを起こし、要求データを再送する。規定された再送回数を超えても応答データを受信することができないと、ネットワーク１に接続していた機器３がネットワーク１より外されたと判断し、ネットワーク１から外された機器３に実装された機能４を示す回路を回路構成テーブル１０から削除するか、あるいは回路構成テーブル１０の使用の欄に不可を書き込む。
このようにして、ネットワーク１から外された機器３の機能４を示す回路を回路構成テーブル１０から自動的に削除するか、あるいは回路が使用不能であることを示すことができる。
【００３９】
【発明の効果】
以上のように、本発明の第１の方法によれば、アプリケーションプログラム、共有メモリ、及び通信処理部を備えたコントローラにより、データ伝送手段を介して接続された機器系統を監視制御するものにおいて、上記機器系統を構成する１つ以上の機器に実装された機能を示す回路が使う変数の、上記共有メモリ上の位置情報を示す変数ベースアドレスを含む回路構成情報を記憶する回路構成テーブルと、上記機器に実装されている機能ごとに定められた命令セット及び各命令が用いる変数の位置情報を示す変数オフセットと変数サイズとを含む変数構成情報を記憶する変数構成テーブルとを備え、上記回路構成情報と上記変数構成情報とを元に、上記コントローラの共有メモリ上の変数配置を決定し、上記通信処理部が監視要求を含む監視要求データ、または上記アプリケーションプログラムが上記変数配置を元に上記共有メモリに書き込んだ制御情報を含む制御要求データを、上記機器に送信し、上記機器からの監視情報を含む監視応答データ、または制御結果を含む制御応答データを上記通信処理部が受信することによって、上記機器の監視情報あるいは制御結果を上記通信処理部が上記共有メモリに書き込みし、上記アプリケーションプログラムが、上記共有メモリから上記監視情報または制御結果を読み出すことによって上記機器の監視制御を行うようにしたので、ビルまたは工場などに設置される設備機器に用いられる多種多様なデータ形式を扱う遠隔監視制御命令や、命令タイミングが非周期と周期が混在し、かつ異なる複数の周期を扱う遠隔監視制御命令を用いた設備監視制御コントローラにおいても、アプリケーションプログラムが共有メモリ上の変数を読み書きするだけで設備機器を監視制御することができ、アプリケーションプログラムの作成が容易になる効果がある。また、共有メモリ上に変数が容易に配置できる効果がある。
【００４２】
また、本発明の第４の方法によれば、上記第１の方法において、変数構成テーブルに含まれる変数構成情報から機能ごとに必要となる変数領域のサイズを算出し、回路構成テーブルに含まれる各機器に実装された機能を示す回路ごとの、共有メモリ上の変数ベースアドレスを自動生成するようにしたので、回路構成テーブルの作成が容易にできる効果がある。
【００４５】
また、本発明の第５の方法によれば、上記第１〜第４の方法において、回路構成情報に周期情報を含めることによって、通信処理部が周期的に機器に監視命令または制御命令の要求データを送信し、機器から監視応答データまたは制御応答データを受信し、監視応答データに含まれる監視情報または制御応答データに含まれる制御結果を共有メモリ上に書き込むことによって、周期的に監視情報を更新するか、または周期的に機器を制御するようにしたので、アプリケーションプログラムは共有メモリ上の監視情報変数を読むだけで周期的に更新される監視情報を入手することができ、周期的に監視情報を更新する通信処理を意識してアプリケーションプログラムをプログラミングする必要がないため、アプリケーションプログラムの作成が容易になる効果がある。
【００４６】
また、本発明の第６の方法によれば、上記第１または第４の方法において、機器がデータ伝送手段に接続されると、上記機器が実装している機能の機能種別を含む識別データをデータ伝送手段に通報し、通信処理部が上記識別データを受信し、新たにデータ伝送手段に接続した機器に実装された機能を示す回路を回路構成テーブルに自動的に登録するか、あるいは回路構成テーブルに既に上記回路が存在する場合には使用可能であることを上記回路構成テーブル上に示すようにしたので、機器系統の構成が変更しても回路構成テーブルを自動的に更新できる効果がある。
【００４７】
また、本発明の第７の方法によれば、上記第１または第４の方法において、データ伝送手段に接続することが可能な機器の全てのアドレスへ、コントローラから機器の実装する機能の機能種別を要求する識別要求データを定期的に送信し、機器がデータ伝送手段に接続されると、機器が識別要求データを受信し、実装されている機能の機能識別を含む識別応答データをデータ伝送手段に送信し、通信処理部が上記識別応答データを受信し、新たにデータ伝送手段に接続した機器に実装された機能を示す回路を回路構成テーブルに自動的に登録するか、あるいは回路構成テーブルに既に上記回路が存在する場合には使用可能であることを上記回路構成テーブル上に示すようにしたので、機器系統の構成が変更しても回路構成テーブルを自動的に更新できる効果がある。
【００４８】
また、本発明の第８の方法によれば、上記第１または第４の方法において、データ伝送手段に接続している機器が定期的にデータ伝送手段に送信する通信データを通信処理部が受信していて、機器がデータ伝送手段から外され、上記通信処理部が一定時間以内に機器からの上記通信データを受信することができないとき、上記機器がデータ伝送手段から外されたと判断して、データ伝送手段から外された機器に実装された機能を示す回路を回路構成テーブルから自動的に削除するか、あるいは上記回路が使用不能であることを上記回路構成テーブル上に示すようにしたので、機器系統の構成が変更しても回路構成テーブルを自動的に更新できる効果がある。
【００４９】
また、本発明の第９の方法によれば、上記第１または第４の方法において、コントローラが回路構成テーブルに登録されている全ての機器へ、要求データを定期的に送信し、上記要求データに対する応答データを一定時間以内に受信することができないとき、データ伝送手段に接続していた機器がデータ伝送手段より外されたと判断し、データ伝送手段から外された機器に実装された機能を示す回路を回路構成テーブルから自動的に削除するか、あるいは上記回路が使用不能であることを上記回路構成テーブル上に示すようにしたので、機器系統の構成が変更しても回路構成テーブルを自動的に更新できる効果がある。
【図面の簡単な説明】
【図１】  本発明の実施の形態１に係わる設備監視制御システムを示す構成図である。
【図２】  本発明の実施の形態１に係わる回路構成テーブルを示す図である。
【図３】  本発明の実施の形態１に係わる機器構成テーブルを示す図である。
【図４】  本発明の実施の形態１に係わる共有メモリ上の変数配置方法を説明する説明図である。
【図５】  本発明の実施の形態１に係わる共有メモリ上の変数配置例を示す図である。
【図６】  従来の設備監視制御システムを示す構成図である。
【図７】  従来の機械制御システムを示す構成図である。
【符号の説明】
１  ネットワーク、２  設備監視制御コントローラ、３  設備機器、４  設備機器に実装されている機能、５  通信処理部、６  プロトコル処理部、７  共有メモリ、８  アプリケーションプログラム、９  変数、１０  回路構成テーブル、１１  変数構成テーブル、１２  記憶装置、１３  機械制御コントローラ、１４  機械制御機器、１５  入力データ、１６  出力データ、１７  データ。
【図１】
0003690106.tif 000002
【図２】
0003690106.tif 000003
【図３】
0003690106.tif 000004
【図４】
0003690106.tif 000005
【図５】
0003690106.tif 000006
【図６】
0003690106.tif 000007
【図７】
0003690106.tif 000008