(57)【要約】【課題】  制御システムにおけるデータ更新処理の通信量を減らす。【解決手段】  制御機器（２）が、制御機器に変化が起きたときにデータを監視機器（１）へ送信するデータ監視タスクを備え、監視機器が、データ監視タスクから送られたデータを受信する通信タスクと、一定周期で制御機器に指令をだして応答したデータを受信するデータ取得タスクを備えて、監視機器の通信タスクと描画タスクが非描画更新回数を更新して制御機器のデータが変化する頻度が高いことを検出すると通信タスクはデータ取得タスクに切り替えられ、監視機器のデータ取得タスクがデータ非更新回数を更新して制御機器のデータが変化する頻度が低いことを検出するとデータ取得タスクは通信タスクに切り替えられる。【選択図】図１
2006318288.tif 000002
【特許請求の範囲】
【請求項１】
被制御機器を制御する制御機器と、通信伝送路を介してその制御機器を操作し監視するとともに前記被制御機器の動作状態を表示する監視機器からなる制御システムにおいて、
前記制御機器が、前記制御機器に変化が起きたときにデータを前記監視機器へ送信するデータ監視タスクを備え、
前記監視機器が、前記データ監視タスクから送られたデータを受信する通信タスクと、一定周期で前記制御機器に指令をだして応答したデータを受信するデータ取得タスクを備えて、
前記監視機器の前記通信タスクと描画タスクが非描画更新回数を更新して前記制御機器のデータが変化する頻度が高いことを検出すると前記通信タスクは前記データ取得タスクに切り替えられ、
前記監視機器の前記データ取得タスクがデータ非更新回数を更新して前記制御機器のデータが変化する頻度が低いことを検出すると前記データ取得タスクは前記通信タスクに切り替えられることを特徴とする制御システムのデータ更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被制御機器を制御する制御機器と、通信伝送路を介してその制御機器を操作し監視するとともに被制御機器の動作状態を表示する監視機器からなる制御システムのデータ更新方法に関する。
【背景技術】
【０００２】
図６は、従来の制御システム構成を示すブロック図であり、信号伝達部６３から信号を出力して被制御機器４を制御する制御機器６の監視を行うときは、監視部５２が通信部５３を介して制御機器６の通信部６１に一定周期で指令を出し、指令を受けた制御部６２がデータ格納部６４に記録したデータを読み出し、読み出したデータを通信部６１から通信部５３を介して監視部５２に送信して表示部５１で表示している。監視するデータが多いときは通信量が多くなり、制御機器６と監視機器５の双方に負荷がかかる。また、制御機器６のデータが変化していないときでも通信処理が行われて双方の通信処理に無駄が生じている。
このような無駄を減らすため監視する対象のデータを減らして通信量を削減している。制御機器６が持つデータ領域を複数レジスタ毎に区切り、その領域内でデータが変化した最も小さいレジスタ番号と最も大きいレジスタ番号をアドレス格納レジスタに格納し、アドレス格納レジスタの値が変化したときに格納されたレジスタ番号のデータ領域を監視している（例えば、特許文献１参照）。
【特許文献１】特開２００１−１９５１１８号（第３−４頁、第３図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の方法では、アドレス格納レジスタの値のみを監視することにより、一定周期で監視するデータ数を減らして通信量を削減しているが、監視装置が一定周期で制御機器に指令をだすといった監視の為の工程数や通信処理回数は削減されていないという問題があった。
また、レジスタの割り付けはアプリケーションやシステムの設計に依存するので、監視装置が取得するデータ数を削減するのに都合よくレジスタが割り付けられているとは限らず、必ずしもデータ数が減るとはいえない。データ数が減らないときは、データ監視処理とデータ取得処理とに分離したことで、全体としての負荷が増えるという問題があった。
本発明はこのような問題点に鑑みてなされたものであり、制御システムにおけるデータ更新処理の通信量を減らす方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、本発明は被制御機器を制御する制御機器と、通信伝送路を介してその制御機器を操作し監視するとともに被制御機器の動作状態を表示する監視機器からなる制御システムにおいて、制御機器が、制御機器に変化が起きたときにデータを監視機器へ送信するデータ監視タスクを備え、監視機器が、データ監視タスクから送られたデータを受信する通信タスクと、一定周期で制御機器に指令をだして応答したデータを受信するデータ取得タスクを備えて、監視機器の通信タスクと描画タスクが非描画更新回数を更新して制御機器のデータが変化する頻度が高いことを検出すると通信タスクはデータ取得タスクに切り替えられ、監視機器のデータ取得タスクがデータ非更新回数を更新して制御機器のデータが変化する頻度が低いことを検出するとデータ取得タスクは通信タスクに切り替えられることを特徴としている。
【発明の効果】
【０００５】
本発明によると、制御機器のデータの変化する頻度が低い場合には、データ更新の通信量を減らすことができる。また、制御機器のデータの変化する頻度が高い場合にも、監視装置の表示データを正常に更新することができるという効果がある。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の実施の形態について、図を用いて説明する。
【実施例１】
【０００７】
図１は、本発明の制御システムの構成を示すブロック図である。図において、１は監視機器であり、表示部１１と演算部１２、通信部１３、データ格納部１４を備えている。２は制御機器であり、通信部２１と演算部２２、データ格納部２４を備えており、信号伝達部２３から信号を出力して被制御機器４を制御している。監視機器１と制御機器２はどちらからでも通信を開始できるようになっている。
【０００８】
制御機器２は、演算部２２によって制御タスクとデータ監視タスクを実行している。
監視機器１の通信タスクが、取得対象データが変化したときにイベント送信処理を行うように、通信部１３と通信部２１を介して制御機器２のデータ監視タスクに要求する。制御機器２の制御タスクは取得対象データが変化したら、そのデータをデータ格納部２４に格納し、データ監視タスクは格納されたデータを通信部２１から監視機器１の通信部１３へ送信する。この処理をイベント送信処理と呼ぶ。
制御機器２が送信したデータを通信部１３が受信すると、監視機器１の通信タスクが受信データをデータ格納部１４に格納する。この処理をイベント受領処理と呼ぶ。そのイベント受領処理が完了すると、イベント送信処理が完了となる。このとき、制御機器２は再びイベントを送信可能な状態となる。
監視機器１では、イベント受領処理と描画処理がそれぞれ通信タスクと描画タスクという別々のタスクによって実行されており、描画タスクより通信タスクが優先される。優先度によるタスク切り替えの制御には、通常、オペレーティングシステム（ＯＳ）が用いられる。ＯＳによるタスク切り替えにより、描画タスクは、データ格納部１４から受信データを読み出し、そのデータを表示部１１に描画して表示する。この手順によれば、制御機器２からデータが送られたときしか監視機器１は描画を行わないので、監視機器１が取得したいデータの変化があまりないときには、一定周期でデータ取得を行うよりも、データ取得に伴う通信量が削減されることになる。
【０００９】
ところが、監視機器１が取得したいデータの変化の頻度が高くなり、制御機器２からのイベント通知が多くなると、監視機器１の通信タスクはイベント受領処理を行った後に直ちに次のイベント受領処理を行い、優先度の低い描画タスクに切り替わらず画面表示が更新されない。このため、ユーザからは監視画面の処理が停止したか、制御機器２が停止したかのように見えるという新たな問題が生じる。
図２は描画が正常に行われているときのタスクの状態を表す模式図である。図２および図３において、高いレベルはタスク動作中、低いレベルはタスク休眠中を表すものとする。まず、通信タスクがイベントＥ１１を受けて描画非更新回数Ｃに１を加算する。その後、描画タスクが描画処理を行い描画非更新回数Ｃから１を減算する。同様に、通信タスクがイベントＥ１２を受けて描画非更新回数Ｃに１を加算する。その後、描画タスクが描画処理を行い、描画非更新回数Ｃから１を減算する。
図３は、描画が正常に行われない場合のタスクの状態を表す模式図である。図３において、通信タスクがイベントＥ２１を受けて描画非更新回数Ｃに１を加算する。このあと描画タスクが起床されるが、イベントＥ２２が発生したことで描画タスクは中断され、再び通信タスクが起床される。続けてイベントＥ２３、Ｅ２４が発生すると、通信タスクはイベント受領処理を行い、描画タスクは中断されたままで、通信タスクによるイベントＥ２４のイベント受領処理が行われた後で描画タスクが再開され、描画処理が完了する。続けてイベントが発生すると、描画タスクの処理が行われないので画面は更新されず監視機器が停止したか、あるいは制御機器が停止したかのように見える。そこで、描画が正常に行われるように通信タスクからデータ取得タスクに切り換えられる。
【００１０】
図４は本発明の描画更新頻度検出手順を示すフローチャートであり、イベント通知の頻度が高い状態を検出する。通信タスクは、イベントを受領し（Ｓ１１）、受信データを変数Ｘに格納する（Ｓ１２）。格納時のシステム時刻を最終イベント受領時刻として変数Ａに格納する（Ｓ１３）。通信タスクは、最終イベント受領時刻Ａと、最終描画時刻Ｂを比較する（Ｓ１４）。最終イベント受領時刻Ａが最終描画時刻Ｂより後のとき、通信タスクが描画非更新回数Ｃに１を加算する（Ｓ１５）。描画タスクは、ＯＳにより実行の機会を与えられると、受信したデータを読み出し（Ｓ２１）、描画処理（Ｓ２２）を行い、描画時のシステム時刻を最終描画時刻として変数Ｂに格納する（Ｓ２３）。描画タスクは、描画非更新回数Ｃから１を減算する（Ｓ２４）。描画タスクは、通信タスクより必ず後に実行されるので、ＢはＡより常に一定時間遅れる。
イベントとそれに対する描画が正常に行われたときは、描画非更新回数Ｃは常に０または１となる。描画非更新回数Ｃが１より大きいときは、イベントに対応する描画が正常に行われず、描画非更新回数Ｃがｎのときはｎ−１回描画が行われなかったことになる。描画非更新回数Ｃが予め決めておいた上限回数をこえると、イベント通知の頻度が高く描画が行えないと判断して、通信タスクからデータ取得タスクに切り換える。描画非更新回数の上限値は、監視機器の処理能力に合せて予め決められている。
【００１１】
通信タスクが動作中のときは、データが変化してもイベント通知を行わないように監視機器１は制御機器２に要求し、データ取得タスクに切り換える。このため、制御機器のデータの更新頻度が高いときも描画が正常に行われるようになる。
【００１２】
しかしながら、データ取得タスクを起動したときは、従来技術で問題となっているように、データ更新頻度が低いときに通信処理に無駄が生じるという問題がある。そこで、データ更新の頻度が低いときには、データ取得タスクから通信タスクに切り換えるようにしているのである。
【００１３】
図５は本発明のデータ更新頻度検出手順を示すフローチャートである。データ取得タスクは、データを取得し（Ｓ３１）、取得したデータの値を変数Ｘ’に格納する（Ｓ３２）。今回取得データ値Ｘ’と前回取得データ値Ｘとを比較し（Ｓ３３）、値が同じならば、データ非更新回数Ｄに１を加算する（Ｓ３４）。データ非更新回数Ｄが予め決めておいた回数Ｄｌｉｍより大きければ（Ｓ３５）、制御機器２のデータ変化の頻度が低く、一定周期でデータ読み出し要求処理を行うことは無駄であると判断し、このデータ取得タスクから通信タスクに切り替えられる。今回取得データ値Ｘ’と前回取得データ値Ｘとを比較し（Ｓ３３）、値が異なれば、ＸにＸ’を代入し（Ｓ３６）、描画を行った（Ｓ３７）あと、休眠状態に入る（Ｓ３８）。データ非更新回数の上限値は、監視機器の処理能力に合せて予め決められている。
【００１４】
通信タスクとデータ取得タスクを備え、２つのタスクを切り替えることにより、制御機器のデータの変化する頻度が低いときにはイベント通知を行うことによりデータ更新のときの通信量を減らすことができ、また、制御機器のデータの変化する頻度が高いときにはデータ取得を一定周期で行い、監視機器の処理能力に合わせてデータ取得の間隔を決定することができるので、描画の更新を確実に行うことができる。
【産業上の利用可能性】
【００１５】
制御機器だけでなく、一般の機器と、それを監視する監視機器と、これらを結ぶ通信媒体からなるシステムであれば本発明を適用できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の制御システム構成を示すブロック図
【図２】描画が正常に行われている場合のタスクの状態を表す模式図
【図３】描画が正常に行われていない場合のタスクの状態を表す模式図
【図４】本発明の描画更新頻度検出手順を示すフローチャート
【図５】本発明のデータ更新頻度検出手順を示すフローチャート
【図６】従来の制御システム構成を示すブロック図
【符号の説明】
【００１７】
１  監視機器、１１  表示部、１２  演算部、１３  通信部、
１４  データ格納部、２  制御機器、２１  通信部、２２  演算部、
２３  信号伝達部、２４  データ格納部、３  通信伝送路、４  被制御機器、
５  監視機器、  ５１  表示部、５２  監視部、５３  通信部、６  制御機器、
６１  通信部、６２  制御部、６３  信号伝達部、６４  データ格納部
【図１】
2006318288.tif 000003
【図２】
2006318288.tif 000004
【図３】
2006318288.tif 000005
【図４】
2006318288.tif 000006
【図５】
2006318288.tif 000007
【図６】
2006318288.tif 000008