(57)【要約】【課題】ローカル制御装置側の通信処理を効率的に制御することにある。【解決手段】監視制御装置２８とローカル制御制御装置２９間を上位ネットワーク３０により通信する通信方式には、通信システム２１，２２，２３があり、通信システム２１では、指令イベントＡ発生２４のみを実行し、通信システム２２では、指令イベントＢ発生２５を実行中に、指令イベントＣ発生２６を実行する場合であり、指令イベントＣ発生２６を待機させて、指令イベントＢ発生２５を終了した後、指令イベントＣ発生２６を実行する。また、通信システム２３では、指令イベントＤ発生２７を実行中に、故障もしくは事故３５により、通信回線が切断された時に、監視制御装置２８側の送信タイムアウト３６により、制御指令を強制的に終了する。【選択図】  図２
2005011285.tif 000002
【特許請求の範囲】
【請求項１】
監視制御システムは、監視制御装置とローカル制御装置及びリモートＩ／Ｏステーション間をデータ伝送方法により情報の送受信を可能にし、そのデータ伝送方法を有した遠方監視制御装置における監視制御システムにおいて、
前記ローカル制御装置は、監視制御装置からの制御指令を受信したときに、ローカル制御装置から監視制御装置に、制御応答を一定時間遅延させることを特徴とする監視制御システムにおけるデータ伝送方法。
【請求項２】
前記ローカル制御装置は、監視制御装置からの制御指令を受信したときに、ローカル制御装置内のタイマを起動することを特徴とする請求項１記載の監視制御システムにおけるデータ伝送方法。
【請求項３】
前記タイマは、一時保留していた制御指令を制御指令終了とし、制御応答をローカル制御装置から監視制御装置に送信することを特徴とする請求項１，２記載の監視制御システムにおけるデータ伝送方法。
【請求項４】
前記監視制御装置は、制御指令を送信した状態にあるとき、ローカル制御装置からの制御応答を受信し、もしくは、送信タイムアウトが発生するまでは、次の制御指令を待機させることを特徴とする請求項１〜３いずれかに記載の監視制御システムにおけるデータ伝送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、監視制御システムにおける監視制御装置とローカル制御装置との間のデータ伝送方法に関するものである。
【０００２】
【従来の技術】
従来の監視制御システムは、監視制御装置，ローカル制御装置及びリモートＩ／Ｏステーションから構成されており、前記監視制御装置，ローカル制御装置及びリモートＩ／Ｏステーションはネットワークを介して通信される。前記監視制御装置からローカル制御装置に制御指令を送信し、そのローカル制御装置からリモートＩ／Ｏステーションに機器制御指令を送出し、その指令によりリモートＩ／Ｏステーションを介して端末機器を制御する。その制御された結果は、リモートＩ／Ｏステーションからローカル制御装置に機器制御応答として返信され、そのローカル制御装置から監視制御装置に制御応答が送られる。
【０００３】
ここで、水処理プラント等に使用される監視制御システムの構成図を図５に示す。図５において、符号２８は監視制御装置であり、その監視制御装置２８には、例えば工業用パソコン等が用いられ、その監視制御装置２８は、上位（間）ネットワーク３０によりローカル制御装置２９と通信される。
【０００４】
監視制御装置２８は、制御指令をローカル制御装置２９へ送信し、制御応答をローカル制御装置２９から受信する機能がある。前記ローカル制御装置２９は、例えばＰＬＣ等が用いられ、そのローカル制御装置２９は、下位（間）ネットワーク６３によりリモートＩＯステーション（遠隔操作式インターフェース制御部）６１と通信される。
【０００５】
リモートＩＯステーション６１は、フィールド機器６２（端末機器）へ制御指令を送信し、フィールド機器６２を制御する。また、リモートＩＯステーション６１は、フィールド機器６２が制御実行した結果を制御応答として、受信する。
【０００６】
フィールド機器６２が制御を実行した結果の確認情報をリモートＩＯステーション６１へ返信し、リモートＩＯステーション６１から監視制御装置２８，ローカル制御装置２９へ制御応答を返信している。
【０００７】
通常、前記監視制御装置２８は、ローカル制御装置２９に制御指令を発効する場合、制御対象を１ビット（１６ビット＝１ワード）に割り当て、ビットデータ’０’で制御指令なし（制御終了）、ビットデータ’１’で制御指令あり（有効）を上位ネットワーク３０の通信機能を使用して通知する。
【０００８】
ここで、図６に、従来の監視制御装置とローカル制御装置間の制御指令の授受方法説明図を示す。図６において、符号７１は指令イベント終了でビットデータ’０’をローカル制御装置が受信する場合のことであり、指令イベント発生７３によって、監視制御装置２８は、制御指令７５のビットデータ’１’をローカル制御装置２９へ送信した後、ローカル制御装置２９側から制御応答を受信すると、指令イベント終了７４によって、監視制御装置２８は、制御終了７６のビットデータ’０’をローカル制御装置２９へ返信する。
【０００９】
従って、ローカル制御装置装置２９側は、制御終了７６のビットデータ’０’から制御指令７５のビットデータ’１’への状変を認識してフィールド機器７２の制御を行えばよく、制御終了７６のビットデータ’０’は監視制御装置２８より送信されるために自動的に制御終了となる。
【００１０】
次に、図６において、符号７２は、指令イベント終了のビットデータ’０’をローカル制御装置２９が受信できない場合のことであり、監視制御システムによっては、制御指令発生時の指令イベント発生７３の時、制御指令７５のビットデータ’１’をローカル制御装置２９へ送信する構成を持っていても、制御終了によるビットデータ’０’を送信する機構を持たない監視制御システムもあり、その場合、ローカル制御装置２９は、制御指令７５のビットデータ’１’を内部的に任意時間（システムの仕様により決定される）ホールドさせ、ビットデータを’０’に戻す処理を行っている。
【００１１】
また、遠方監視制御装置におけるデータ伝送方法として、遠方監視装置の子局が制御指令を受信し、子局から端末機器に制御指令を出力し、その制御実行した結果を確認信号として端末機器から子局に送信する際、前記子局が受信するまでの時間を予め考慮し、監視情報伝送タイミングをコントロールすることで親局が受信する最新の監視情報に、端末機器が制御を実行した結果の確認情報を含む全監視情報を新たにサンプリングし、伝送するものもある（例えば、特許文献１参照）。
【００１２】
【特許文献１】
特開平７−２１２８７３号公開（第３頁、第１−３図）。
【００１３】
【発明が解決しようとする課題】
上記監視制御システムにおいて、指令イベント終了で制御終了のビットデータ’０’をローカル制御装置が受信できない場合、制御指令発生時における指令イベント発生を得、監視制御装置から制御指令のビットデータ’１’をローカル制御装置へ送信する機構を持っていても、監視制御装置から制御終了によるビットデータ’０’を送信する機構を持たない監視制御システムもあり、その場合、ローカル制御装置は、制御指令のビットデータ’１’を内部的に任意時間ホールドさせ、ビットデータを’０’に戻す処理を行うものである。
【００１４】
前記監視制御装置が制御指令終了（ビットデータの’０’）をローカル制御装置に送信しない方法では、ローカル制御装置側は、制御指令１ビット毎にホールドを行うタイマを持たなければ成らず、処理が複雑になり効率的でない。
【００１５】
本発明は、前記課題に基づいて成されたものであり、監視制御システムにおいて、監視制御装置が制御指令終了のビットデータ’０’をローカル制御装置に送信できない通信方式のとき、ローカル制御装置側の処理を効率的に行うようにした通信処理を含む監視制御システムにおけるデータ伝送方法を提供することにある。
【００１６】
【課題を解決するための手段】
本発明は、前記課題の解決を図るために、第１発明は、監視制御システムは、監視制御装置とローカル制御装置及びリモートＩ／Ｏステーション間をデータ伝送方法により情報の送受信を可能にし、そのデータ伝送方法を有した遠方監視制御装置における監視制御システムにおいて、前記ローカル制御装置は、監視制御装置からの制御指令を受信したときに、ローカル制御装置から監視制御装置に、制御応答を一定時間遅延させることを特徴とする。
【００１７】
第２発明は、前記第１発明記細のローカル制御装置におて、監視制御装置からの制御指令を受信したときに、ローカル制御装置内のタイマを起動することを特徴とする。
【００１８】
第３発明は、前記第１発明及び第２発明記載のタイマにおいて、一時保留していた制御指令を制御終了とし、制御応答をローカル制御装置から監視制御装置に送信することを特徴とする。
【００１９】
第４発明は、前記第１発明〜第３発明記載の監視制御装置において、制御指令を送信した状態にあるとき、ローカル制御装置からの制御応答を受信し、もしくは、誤送信により送信タイムアウトが発生するまでは、次の制御指令を待機させることを特徴とする。
【００２０】
上記第１発明から第４発明によれば、監視制御装置が制御指令終了（ビットデータの’０’）をローカル制御装置に送信しない通信方式の監視制御システムにおいて、監視制御装置側では、制御指令送信中に、次の制御指令を送信するときは、次の制御指令を待機させ、監視制御装置側で先の制御指令が送信成功、もしくは、送信タイムアウトによる送信失敗を判断した場合に、待機中の次の制御指令を送信する。また、ローカル制御装置側では、制御指令を処理するのに、制御指令種類別に複数個のホールドタイマを持たずに、１個のホールドタイマのみでローカル制御装置側の処理を効率的にする制御方式（通信処理を含む）を提供する。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を基に説明する。
【００２２】
（実施の形態１）
本発明の実施の形態１について説明する。図１に、本発明の実施の形態１における制御指令データフォーマットの説明図を示す。図１において、制御指令データフォーマットは、制御指令ワードデータ群１１から構成されている。この制御指令ワードデータ群１１は、監視制御装置とローカル制御装置間で通信するデータフォーマットである。
【００２３】
ここで、制御指令ワードデータ群１１は、制御指令の全ビット情報を集約したワードデータ群であり、例えば、監視情報，制御指令開始情報及び制御指令終了情報等を集約している。
【００２４】
次に、上記制御指令データフォーマットを使用し、監視制御装置とローカル制御装置間で通信する方法について述べる。ここで、図２は、本発明の実施の形態１における監視制御装置とローカル制御装置間の通信方式説明図で、図２において、符号２１は、指令イベントＡ発生２４を実行する際の通信システムである。
【００２５】
前記指令イベントＡ発生２４により、監視制御装置２８は送信開始３１となり、制御指令ワードデータ群３２（ビットデータ’１’）をローカル制御装置２９へ、上位ネットワーク３０を使用して送信する。その後、ローカル制御装置２９側からその制御指令に対する受信完了の応答を、制御応答３３（ビットデータ’０’）として監視制御装置２８へ、上位ネットワーク３０を使用して返信し、その制御応答３３によって、前記監視制御装置２８は送信成功３４を得ることで、指令イベントＡ発生２４を実行する際の通信システム２１は、送信を確認した後、制御を完了することで、通信を終了する。
【００２６】
次に、符号２２は、指令イベントＢ発生２５が実行されている最中に、指令イベントＣ発生２６が実行する際の通信システムである。これは、上記通信システム２１と同様に、通信システム２２における指令イベントＢ発生２５及び指令イベントＣ発生２６は通信される。
【００２７】
通信システム２２は、指令イベントＢ発生２５を実行中に、指令イベントＣ発生２６を与えても、前記監視制御装置２８は送信開始状態３１を実行させずに、その監視制御装置２８が指令イベントＢ発生２５に対する送信成功３４を得るまで、送信開始状態３１を待機させ、指令イベントＢ発生２５が実行を終了した後、指令イベントＣ発生２６を実行し、終了する。
【００２８】
次に、符号２３は、指令イベントＤ発生２７が実行中に故障もしくは事故により、通信が切断されたときの通信システムである。
【００２９】
指令イベントＤ発生２７は、前記指令イベントＡ発生２４の通信方式と同様に、監視制御装置２８は送信開始状態３１となり、制御指令ワードデータ群３２（ビットデータ’１’）をローカル制御装置２９へ、上位ネットワーク３０を使用して送信する。この時、何らかの故障もしくは事故により、ローカル制御装置２９側で制御処理ができない場合、前記監視制御装置２８側に制御応答が返信されないために、一定時間後、図示しないタイマがタイムアップし、送信タイムアウト３６として、制御指令ワードデータ群３２の送信失敗を判断し、次の制御指令状態へ移行する。
【００３０】
次に、上記監視制御装置とローカル制御装置間で通信するときの、監視制御装置側の通信処理について述べる。
【００３１】
ここで、図３に、本発明の実施の形態１における監視制御装置側の通信処理の処理フローチャートを示す。図３において、制御指令を開始により、まず、指令イベント発生判定部４０で、制御指令を送信できるなら（ＹＥＳ）、制御指令を通信アイドル状態判定部４１へ移行する。
【００３２】
この通信アイドル状態判定部４１が通信できる状態なら（ＹＥＳ）、制御指令を制御指令送信処理部４２へ移行し、制御指令を送信できる状態である制御指令ワードデータ群に書き換えた後、監視制御装置は、制御指令ワードデータ群を送信し、送信中状態処理部４３に移行する。
【００３３】
この後、制御指令は、前記指令イベント発生判定部４０へ移行する。この指令イベント発生判定部４０で制御指令が終了されていないなら（ＮＯ）、送信成功判定部４４へ移行する。
【００３４】
また、前記通信アイドル状態判定部４１が、制御指令を通信できない状態なら（ＮＯ）、送信キュー登録処理部４９へ移行して、制御指令を記憶し、登録した後、指令イベント発生判定部４０へ戻る。また、通信アイドル状態判定部４１が通信できる状態なら（ＹＥＳ）、送信キュー登録処理部４９が記憶し、登録した内容を解除して、上記通信処理と同様に、制御指令を制御指令送信処理部４２，送信中状態処理部４３，指令イベント発生判定部４０，送信成功判定部４４へ順次移行する。
【００３５】
次に、監視制御装置側で、既に制御指令を送信し、制御指令を実行中である場合は、次の制御指令を送信するのに、指令イベント発生判定部４０によって、制御指令を送信できない状態と判断し（ＮＯ）、制御指令を送信成功判定部４４へ移行する。
【００３６】
送信成功判定部４４は、ローカル制御装置側から監視制御装置側に、制御指令が終了したことを制御応答として受信し、監視制御装置側は制御指令の送信を成功を判定する。ここで、送信成功判定部４４が制御応答を受信し、送信成功判定部４４で送信成功を判定したなら（ＹＥＳ）、送信キューにデータがあるかを判定部４５で判定し、データがあると判断したなら（ＹＥＳ）、制御指令送信処理部４２で処理を行う。また、判定部４５でデータがない（ＮＯ）と判断されたなら、通信アイドル状態処理部４６を経て、指令イベント発生判定部４０の処理に移行する。
【００３７】
前記送信成功判定部４４で送信不成功なら（ＮＯ）、送信タイムアウト発生判定部４７でタイムアウト発生かを判断し、タイムアウト発生でないなら（ＮＯ）、指令イベント発生判定部４０に戻り、タイムアウト発生なら（ＹＥＳ）、判定部４８により送信キューにデータがあるかを判定する。この判定部４８でデータがあるなら（ＹＥＳ）、制御指令送信処理部４２で処理を行い、データがないなら（ＮＯ）、通信アイドル状態処理部４６の処理に移行する。
【００３８】
上記監視制御装置側の通信処理において、指令イベントが発生した時、既に制御指令を送信中状態であれば、次の制御指令を待機させることとし、送信中の制御指令が送信を成功した場合と、故障もしくは事故により送信タイムアウトが発生し、通信を失敗した場合において、待機中の次の制御指令を送信する通信方式である。
【００３９】
（実施の形態２）
次に、本発明実施の形態２について説明する。図４に、本発明の実施の形態２におけるローカル制御装置側の通信処理の処理フローチャートを示す。図４において、ローカル制御装置は、制御指令を受信するため、制御指令受信判定部５０で制御指令を判断する。この制御指令受信判定部５０は、ローカル制御装置側で重複した制御指令を受信しないようにするために、他の制御指令を受信しているか確認する。
【００４０】
制御指令受信判定部５０は、他の制御指令を受信していない状態なら（ＹＥＳ）、受信した制御指令ワードデータ群を取り込む処理部５１へ移行し、制御指令を処理する。この後、制御指令は、処理部５１からパルスホールドタイマ起動処理部５２に移行し、パルスホールドタイマを起動する。
【００４１】
パルスホールドタイマ起動処理部５２は、ローカル制御装置側のアプリケーションプログラムが制御指令を確実に認識できる任意の時間値により、パルスホールドタイマを起動する。
【００４２】
ローカル制御装置から監視制御装置へ制御応答を返信するために、パルスホールドタイマ起動処理部５２から、制御指令受信判定部５０へ制御指令を移行する。この時、制御指令受信判定部５０は、制御指令を受信している状態であるため（ＮＯ）、制御指令をパルスホールドタイマ起動判定部５３へ移行する。
【００４３】
パルスホールドタイマ起動判定部５３は、パルスホールドタイマの起動を確認し、パルスホールドタイマが起動中である状態なら（ＹＥＳ）、制御指令をパルスホールドタイマ更新処理部５４へ移行し、また、パルスホールドタイマが起動中でない状態なら（ＮＯ）、制御指令受信判定部５０へ制御指令を移行する。
【００４４】
前記パルスホールドタイマ更新処理部５４は、パルスホールドタイマ起動処理部５２により、設定された任意の時間値を変更する。この任意の時間値の変更は、例えばパルスホールドタイマ更新処理部５４のタイマ値をダウンカウンタすることにより、パルスホールドタイマの設定値を１回ごとに１減らし、設定値を０にしてタイムアップとする。このようにパルスホールドタイマ更新処理部５４の設定値をタイムアップ（時間値が０）にすることにより、ローカル制御装置側のアプリケーションプログラムが制御指令を確実に認識する。
【００４５】
この後、制御指令は、パルスホールドタイマ更新処理部５４からパルスホールドタイマ終了判定部５５に移行し、任意に設定された時間値がタイムアップ状態（時間値が０となる状態）の有無を判断する。
【００４６】
パルスホールドタイマ終了判定部５５で、任意に設定された時間値がタイムアップ状態なら（ＹＥＳ）、制御指令を処理部５６に移行し、監視制御装置から送信された制御指令ワードデータ群の制御情報を’０’に戻す。
【００４７】
また、パルスホールドタイマ終了判定部５５で、任意に設定された時間値がタイムアップ状態でないなら（ＮＯ）、制御指令を制御指令受信判定部５０へ戻す。
【００４８】
前記処理部５６で、制御指令ワードデータ群の制御指令を’０’に戻した後、制御応答返信処理部５７へ移行して、ローカル制御装置側から監視制御装置側へ制御応答を返信する。
【００４９】
上記ローカル制御装置側の通信処理において、監視制御装置側から送信された制御指令ワードデータ群を、ローカル制御装置側で受信した場合に、すぐに制御応答を返信せずに、制御指令受信機関にトリガを設けて唯一のパルスホールドタイマとして起動する。このパルスホールドタイマがタイムアップ状態（時間値が０になる状態）となるとき、受信した制御指令ワード群のデータを全て’０’に戻し、制御指令完了を強制的に行う。その後、監視制御装置に対し制御応答を返信する。
【００５０】
また、上記ローカル制御装置の通信処理方式により、制御指令の重複受信を防ぎ、１個のパルスホールドタイマのみで効率的な処理が行える。
【００５１】
なお、上記本発明の実施の形態１及び２において、ローカル制御装置側のパルスホールドタイマに設定された任意の時間値は、ローカル制御装置側のアプリケーションプログラムが制御指令を確実に認識できる任意の時間である。また、監視制御装置側の送信タイムアウトにおける監視時間値は、前記パルスホールドタイマに設定された任意の時間値より大きくなければならない。これは、ローカル制御装置側の制御指令の処理が間に合わずに、監視制御装置側の強制終了を防止するためである。
【００５２】
【発明の効果】
以上示したように本発明によれば、監視制御装置が制御指令終了（ビットデータの’０’）をローカル制御装置に送信しない通信方式の監視制御システムにおいて、監視制御装置側の通信処理方式では、指令イベントが発生した時点で、既に制御指令を送信中状態であれば、その次の制御指令を待機させて、送信中の制御指令が送信を成功した場合と、故障もしくは事故により送信タイムアウトが発生し、通信を失敗した場合の２つの場合に、待機中の次の制御指令を送信する通信方式である。
【００５３】
次に、ローカル制御装置側の通信処理方式では、制御指令の重複受信を防ぎ、かつ、１個のパルスホールドタイマのみで効率的な通信処理を行っている。これは、監視制御装置側から送信された制御指令ワードデータ群を、ローカル制御装置側で受信した場合に、すぐに制御応答を送信せずに、制御指令受信機関にトリガを設けて唯一のパルスホールドタイマとして起動する。このパルスホールドタイマがタイムアップ状態（時間値が０になる状態）となるとき、受信した制御指令ワード群のデータを全て’０’クリアにし、制御指令完了を強制的に実行する。その後、監視制御装置に対し制御応答を送信する通信方式である。
【図面の簡単な説明】
【図１】本発明の実施の形態１における制御指令データフォーマットの説明図。
【図２】本発明の実施の形態１における監視制御装置とローカル制御装置間の通信方式説明図。
【図３】本発明の実施の形態１における監視制御装置側の通信処理の処理フローチャート。
【図４】本発明の実施の形態２におけるローカル制御装置側の通信処理の処理フローチャート。
【図５】一般的な水処理プラントのシステム構成図。
【図６】従来の監視制御装置とローカル制御装置間の通信方式説明図。
【符号の説明】
１１，３２…制御指令ワードデータ群
１２…制御指令ビットデータ
２１，２２，２３…通信システム
２４，２５，２６，２７…指令イベント発生
２８…監視制御装置
２９…ローカル制御装置
３０…上位ネットワーク
３１…送信開始
３３…制御応答
３４…送信成功
３５…事故，故障
３６…送信タイムアウト
４０…指令イベント発生判定部
４１…通信アイドル状態判定部
４２…制御指令送信処理部
４３…送信中状態処理部
４４…送信成功判定部
４５，４８…データ判定部
４６…送信アイドル状態処理部
４７…送信タイムアウト発生判定部
４９…送信キュー登録処理部
５０…制御指令受信判定部
５１…制御指令ワードデータ群の取り込み処理部
５２…パルスホールドタイマ起動処理部
５３…パルスホールドタイマ起動判定部
５４…パルスホールドタイマ更新処理部
５５…パルスホールドタイマ終了判定部
５６…制御指令ワードデータ群を’０’に戻す処理部
５７…制御応答返信処理部
【図１】
2005011285.tif 000003
【図２】
2005011285.tif 000004
【図３】
2005011285.tif 000005
【図４】
2005011285.tif 000006
【図５】
2005011285.tif 000007
【図６】
2005011285.tif 000008