(57)【特許請求の範囲】
【請求項１】
設備の動作を制御する制御装置と、前記制御装置に対して処理要求を行う周辺装置からなり、前記周辺装置は前記処理要求の優先度を決定する優先度決定部を有し、前記制御装置に対して前記優先度決定部にて決定された優先度を伴った処理要求を行うと共に、前記制御装置は前記処理要求による処理を優先度に基づいて実行する処理制御部を有するリアルタイム制御システムにおいて、
前記処理制御部は、前記処理要求による処理の実行中に新たな処理要求を受けた際、前記実行中の処理要求と前記新たな処理要求との優先度を比較し、前記新たな処理要求の優先度が前記実行中の処理要求の優先度より予め設定された基準以上に高ければ、前記実行中の処理要求による処理を一時中断し待機させて前記新たな処理要求による処理を実行し、前記新たな処理要求の優先度が前記実行中の処理要求の優先度より高い場合であっても前記基準以上に高くなければ、前記新たな処理要求を待機させ、前記実行中の処理要求による処理の終了後に、待機中の前記処理要求による処理を優先度の高いものから順に実行するように構成されていることを特徴とするリアルタイム制御システム。
【請求項２】
請求項１に記載のリアルタイム制御システムにおいて、
前記処理要求には予め処理要求毎に標準優先度が設定されており、
前記優先度決定部は前記周辺装置の動作状態を参照して前記標準優先度を補正し、
前記周辺装置は補正された優先度を伴って前記制御装置に対して処理要求を行い、
前記処理制御部は前記補正された優先度に基づいて前記処理要求による処理を実行する
ことを特徴とするリアルタイム制御システム。
【請求項３】
請求項１または２に記載のリアルタイム制御システムにおいて、
前記制御装置は、前記処理制御部に対してイベントによりまたは一定の周期で割込みを発生させる割込発生部をさらに有し、前記処理制御部は前記割込み発生時の実行される割込み処理を記憶し、前記割込発生部からの割込みが発生した際に前記割込み処理を実行するように構成されており、
前記処理要求は前記割り込み処理として実行されることを特徴とするリアルタイム制御システム。
【請求項４】
請求項２または３に記載のリアルタイム制御システムにおいて、
前記周辺装置は、ディスプレイとタッチパネルを備えた、オペレータが操作を行う設備制御用操作盤であり、
前記標準優先度を補正するに際して前記優先度決定部が参照する前記動作状態の少なくとも一つは、前記ディスプレイの表示状態であり、前記タッチパネルによるオペレータの入力があった時点から一定の時間が経過するまでの間は前記オペレータによる入力があったディスプレイの表示に係る前記処理要求に伴う優先度を前記標準優先度に対して高く補正するように構成されていることを特徴とするリアルタイム制御システム。
【請求項５】
請求項２から４のいずれか一つに記載のリアルタイム制御システムにおいて、
前記周辺装置は、ディスプレイとタッチパネルを備えた、オペレータが操作を行う設備制御用操作盤であり、
前記標準優先度を補正するに際して前記優先度決定部が参照する前記動作状態の少なくとも一つは、前記ディスプレイの表示状態若しくは電源投入状態であり、一定時間オペレータからの入力がなかったためにスクリーンセーバーが働き若しくはディスプレイの電源がオフしている場合は、前記スクリーンセーバーが働いたディスプレイ若しくは電源がオフされたディスプレイに係る前記処理要求に伴う優先度を前記標準優先度に対して低く補正するように構成されていることを特徴とするリアルタイム制御システム。
【請求項６】
請求項２から５のいずれか一つに記載のリアルタイム制御システムにおいて、
前記周辺装置は、ディスプレイとタッチパネルを備えた、オペレータが操作を行う設備制御用操作盤であり、
前記標準優先度を補正するに際して前記優先度決定部が参照する前記動作状態の少なくとも一つは、前記ディスプレイの表示状態であり、他の画面の背後に表示されている画面に係る前記処理要求に伴う優先度を前記標準優先度に対して低く補正するように構成されていることを特徴とするリアルタイム制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、設備の動作を制御する制御装置と、前記制御装置に対して処理要求を行う周辺装置からなる制御システムに関する。
【０００２】
【従来の技術】
近年の機械設備を制御する制御システムにおいては、操作性及び保全性の向上を目的としてオペレータが制御機器の操作およびモニタを行うためのマン・マシン・インタフェースに、透明タッチパネルとディスプレイを組み合わせた操作盤を使用する場合が多い。この例として特開平１−２４５３３５号に示すものがある。また、マイコン技術の高度化により、マン・マシン・インタフェースに使用される操作盤では複数のアプリケーションが並行して高速に動作する傾向にある。
【０００３】
このような操作盤は一般に通信回線を介して制御装置にコマンドを送信し、これに対して制御装置がレスポンスを返す形で制御装置とのやりとりを行っている。また、前記制御装置に対するコマンドは操作盤のみならず、製造ライン全体をモニタするホストコンピュータやバーコード読取装置など、複数の要求源から発せられる場合もあり、大規模な設備においては複数の操作盤を備える場合もある。従って、制御装置は複数の周辺装置や複数のアプリケーション等から非同期にコマンドを受け付けることになる。
【０００４】
従来、制御装置は受け取ったコマンドを制御装置内のスタックメモリに一時記憶し、コマンドを受け取った順に処理をしてレスポンスを返していた。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記のような方法においてはコマンドの要求源や内容に関わり無く制御装置が受け取った順番にコマンドを処理してレスポンスを返していたため、高速処理が必要ではないコマンドの存在によって高速処理が必要なコマンドの処理が後回しにされるという問題があった。
【０００６】
この問題を改善するものに特開平９−２２３０２５に示すものがあるが、この方法によったとしてもコマンドの種類ごとの優先度があらかじめ記憶され、かつ固定されているので、状況が時々刻々と変化する設備制御においては、その時点における最適な優先順位を以ってコマンドを処理することはできなかった。
【０００７】
【課題を解決するための手段】
上記の課題を解決するために、請求項１の発明では、設備の動作を制御する制御装置と、前記制御装置に対して処理要求を行う周辺装置からなり、前記周辺装置は前記処理要求の優先度を決定する優先度決定部を有し、前記制御装置に対して前記優先度決定部にて決定された優先度を伴った処理要求を行うと共に、前記制御装置は前記処理要求による処理を優先度に基づいて実行する処理制御部を有するリアルタイム制御システムにおいて、前記処理制御部は、前記処理要求による処理の実行中に新たな処理要求を受けた際、前記実行中の処理要求と前記新たな処理要求との優先度を比較し、前記新たな処理要求の優先度が前記実行中の処理要求の優先度より予め設定された基準以上に高ければ、前記実行中の処理要求による処理を一時中断し待機させて前記新たな処理要求による処理を実行し、前記新たな処理要求の優先度が前記実行中の処理要求の優先度より高い場合であっても前記基準以上に高くなければ、前記新たな処理要求を待機させ、前記実行中の処理要求による処理の終了後に、待機中の前記処理要求による処理を優先度の高いものから順に実行するように構成されていることとした。
【０００８】
請求項２記載の発明では、前記処理要求には予め処理要求毎に標準優先度が設定されており、前記優先度決定部は前記周辺装置の動作状態を参照して前記標準優先度を補正し、前記周辺装置は補正された優先度を伴って前記制御装置に対して処理要求を行い、前記処理制御部は前記補正された優先度に基づいて前記処理要求による処理を実行することとした。
【０００９】
請求項３記載の発明では、前記制御装置は、前記処理制御部に対してイベントによりまたは一定の周期で割込みを発生させる割込発生部をさらに有し、前記処理制御部は前記割込み発生時の実行される割込み処理を記憶し、前記割込発生部からの割込みが発生した際に前記割込み処理を実行するように構成されており、
前記処理要求は前記割り込み処理として実行されることとした。
【００１０】
請求項４記載の発明では、前記周辺装置は、ディスプレイとタッチパネルを備えた、オペレータが操作を行う設備制御用操作盤であり、前記標準優先度を補正するに際して前記優先度決定部が参照する前記動作状態の少なくとも一つは、前記ディスプレイの表示状態であり、前記タッチパネルによるオペレータの入力があった時点から一定の時間が経過するまでの間は前記オペレータによる入力があったディスプレイの表示に係る前記処理要求に伴う優先度を前記標準優先度に対して高く補正するように構成されていることとした。
【００１１】
請求項５記載の発明では、  前記周辺装置は、ディスプレイとタッチパネルを備えた、オペレータが操作を行う設備制御用操作盤であり、
前記標準優先度を補正するに際して前記優先度決定部が参照する前記動作状態の少なくとも一つは、前記ディスプレイの表示状態若しくは電源投入状態であり、一定時間オペレータからの入力がなかったためにスクリーンセーバーが働き若しくはディスプレイの電源がオフしている場合は、前記スクリーンセーバーが働いたディスプレイ若しくは電源がオフされたディスプレイに係る前記処理要求に伴う優先度を前記標準優先度に対して低く補正するように構成されていることとした。
また、請求項６記載の発明では、前記周辺装置は、ディスプレイとタッチパネルを備えた、オペレータが操作を行う設備制御用操作盤であり、前記標準優先度を補正するに際して前記優先度決定部が参照する前記動作状態の少なくとも一つは、前記ディスプレイの表示状態であり、他の画面の背後に表示されている画面に係る前記処理要求に伴う優先度を前記標準優先度に対して低く補正するように構成されていることとした。
【００１２】
【発明の実施の形態】
以下、本発明の実施の形態について図１を参照しながら説明する。図１は本発明の実施の形態におけるリアルタイム制御装置を使用した制御システムを示すものである。１０は操作盤、２０は操作盤１０と接続されたリアルタイム制御装置、４０はリアルタイム制御装置２０と接続された、モーターを制御するドライバ、４１はドライバ４０によって制御されるサーボモータである。
【００１３】
操作盤１０は、ディスプレイ１１、タッチパネル１２、アプリケーション実行部１３、Ｉ／Ｆ１４を備え、アプリケーション実行部１３は優先度決定部１５を内蔵する。
【００１４】
アプリケーション実行部１３では、リアルタイム制御装置２０のモニタや操作およびメンテナンスを行うためのアプリケーションを実行する処理をおこなう。アプリケーション実行部１３で実行される各アプリケーションは、リアルタイム制御装置２０の状態を読み出し、若しくはリアルタイム制御装置２０に対して動作指令を与え、または保存されているデータの読み出しまたは書込みを行うために、優先度決定部１５にて決定した優先度を伴ったコマンド（処理要求）をＩ／Ｆ１４を介して送信し、このコマンドに対するレスポンスを受信する。また、オペレータはタッチパネル１２を介して、各アプリケーションに動作指示を与えることができる。
【００１５】
各アプリケーションは発行するコマンド毎に標準優先度を記憶している。この標準優先度は該アプリケーションの画面がディスプレイ１１に単独で又は最前面に表示されている状態における優先度であり、システムのリアルタイム性を確保するために、アプリケーションの設定・調整段階で予め最適に設定されている。例えば、オペレータがタッチパネル１２を介して指示した内容を制御装置に伝えるためのコマンドは、モニタをするためのコマンドよりも迅速に処理を行う必要があるので、比較的高い優先度が標準優先度として設定されている。また、頻繁に値が変わるデータのモニタをするためのコマンドは、値が変わる頻度が低いデータをモニタするためのコマンドよりも迅速に処理を行う必要があるので、比較的高い優先度が標準優先度として設定されている。また、同じ内容のコマンドであっても、アプリケーションがコマンドを発行する目的によって異なる標準優先度が設定されている場合もある。
【００１６】
優先度決定部１５にはディスプレイ１１での各アプリケーション画面の表示状態や稼動状態等を参照して前記標準優先度を補正し、リアルタイム制御装置２０に引き渡す優先度を決定する優先度決定手順が記憶されている。この優先度決定手順とは、図２に例示するように一定の条件を満足する場合にその条件に応じた優先度補正値を標準優先度に加算し、優先度の値を決定するものである。なお、本実施の形態においては優先度の値が小さい方が優先度が高いとみなすので、優先度の値に正の値を加算することは優先度を低くすることを意味し、負の値を加算することは優先度を高くすることを意味する。
【００１７】
リアルタイム制御装置２０は割込発生部２１、処理制御部２２、Ｉ／Ｆ２３、Ｉ／Ｆ２４ 、Ｉ／Ｆ２５を備え、処理制御部２２は処理状態管理部２６と処理実行部２７と処理記憶部２８と待機処理格納部３５から構成されている。
【００１８】
割込発生部２１はタイマにより一定の時間間隔で、または外部からの処理要求等のイベント発生時に割込み信号を発生させるもので、本実施の形態においてはタイマにより一定の周期で発生する割込みＩＮＴａ、ＩＮＴａよりも長い一定の周期で発生する割り込みＩＮＴｂ、操作盤１０からのコマンド受信があった際に発生する割込みＩＮＴｃの３種類の割り込みを処理実行指示部３３に対して発生させる。
【００１９】
処理記憶部２８には優先度が高い順に、制御処理タスク２９、他制御装置通信処理タスク３０、コマンド受信処理タスク３１、コマンド応答処理タスク３２が記憶されている。各タスクは処理実行指示部３３からの実行指示をトリガとして処理実行部２７により実行される。タスクの処理実行中に他のタスクの実行指示があれば実行中のタスクの処理は中断され、実行指示があったタスクに処理が移行する。処理が中断されたタスクはその時の処理状態を待機処理格納部３５に一時的に退避し、再度実行指示された際には待機処理格納部３５に退避された処理状態を読み出して処理を再開する。なお、待機処理格納部３５は複数のタスクの中断時の状態を格納できるよう、スタック構造を有している。また、タスク終了時またはタスク消滅時には処理状態管理部２６へタスクが終了または消滅したことを通知する。
【００２０】
制御処理タスク２９は、あらかじめ設定された設備制御プログラムに基づき、モーター等を動作させ設備を制御するもので、最も高い優先度が付与されており、前記割込発生部２１にて発生する割込み（ＩＮＴａ）の度に１回の処理が実行される。制御処理タスク２９の１回の処理は割込み（ＩＮＴａ）の周期内に終了するよう、プログラムされている。制御処理タスク２９の１回の処理が終了した際には処理状態管理部２６へタスクの終了が通知される。
【００２１】
他制御装置通信処理タスク３０は、周辺の他の制御装置４２との通信処理を行うもので、他の制御装置の具体例としてはプログラマブルロジックコントローラや定寸装置等が挙げられる。他制御装置通信処理タスク３０は前記割込発生部２１にて発生する割込み（ＩＮＴｂ）の度に１回の処理が実行される。他制御装置通信処理タスク３０の１回の処理は割込み（ＩＮＴｂ）の周期内に終了するよう、プログラムされている。他制御装置通信処理タスク３０の１回の処理が終了した際には処理状態管理部２６へタスクの終了が通知される。
【００２２】
コマンド受信処理タスク３１は、前記割込発生部２１にて発生する割込み（ＩＮＴｃ）によって実行指示がなされるもので、その処理内容はＩ／Ｆ２５を介して受け取ったコマンドとコマンドに付帯した優先度データを元に、前記優先度を付与したコマンド応答処理タスク３２を生成するとともに、生成されたタスクの識別Ｎｏ．と、優先度と、処理要求を受け付けた時刻とを処理状態管理部２６へ通知するものである。処理状態管理部２６では、前記通知された情報を処理優先度格納部３４に図３のように記憶する。
【００２３】
前記生成されたコマンド応答処理タスク３２は処理実行指示部３３の実行指示をトリガとして処理が実行に移されると前記受信したコマンドの処理を行い、コマンドの処理が終了すればレスポンスをＩ／Ｆ２５を介して操作盤１０へ返す。上記全ての処理が終了したコマンド応答処理タスク３２は消滅し、タスクの消滅が処理状態管理部２６へ通知される。処理状態管理部２６では消滅したタスクの情報を処理優先度格納部３４から消去する。なお、コマンド受信処理タスク３１はコマンドを受信した際に随時コマンド応答処理タスク３２を生成するので、複数のコマンド応答処理タスク３２が同時に存在することがある。
【００２４】
処理実行指示部３３は割込発生部２１からの割込信号ＩＮＴａ、ＩＮＴｂ、またはＩＮＴｃを受けた場合、または処理実行部２７からタスクの終了、消滅、または生成の通知を受けた場合に、処理実行部２７にタスクの実行指示を出し、実行するタスクを切り替える処理を行う。
【００２５】
図４は処理実行指示部３３が割込発生部２１からの割込信号を受けた時の処理を示すフローチャートである。Ｓ１００にて、実行中のタスクがなければＳ１０５にて前記割込みに関連付けられたタスクの処理状態を「待機中」にして、一連の割込み処理を終了する。この場合、後述する図５のＳ２０５以降の処理により、前記タスクの実行指示がなされる。実行中の処理があれば、Ｓ１０１にて前記割込みに関連付けられたタスクの優先度と、処理優先度格納部３４に記憶されている現在実行中のタスクの優先度を比較し、前者の優先度の方が高ければ、Ｓ１０２へ処理を移行して前記割り込み信号に関連付けられたタスクの実行指示を処理実行部２７に対して行い、Ｓ１０３にて前記実行中であったタスクの処理状態を「待機中」にし、Ｓ１０４にて前記実行指示したタスクの処理状態を「実行中」にして、一連の割込み処理を終了する。
【００２６】
また、Ｓ１０１にて後者の優先度の方が高ければ、Ｓ１０５にて前記割込みに関連付けられたタスクの処理状態を「待機中」にして、一連の割込み処理を終了する。
【００２７】
図５は処理実行指示部３３が処理実行部２７からタスクの終了、消滅、または生成の通知を受けた時の処理を示すフローチャートである。Ｓ２００にて処理実行部２７からのタスク終了の通知を検知したらＳ２０１にて、処理優先度格納部３４に記憶されている当該タスクの処理状態を「終了」に変更し、Ｓ２０４へ処理を移す。また、Ｓ２０２にて処理実行部２７からのタスク消滅の通知を検知したらＳ２０３にて処理優先度格納部３４に記憶されている当該タスクに関する情報を消去し、Ｓ２０４へ処理を移す。
【００２８】
Ｓ２０４では処理優先度格納部３４の内容を参照し、待機中のタスクがあるかを調べ、あればＳ２０５にて待機中になっているタスクの優先度の中で最も高い優先度が何であるかを調べる。Ｓ２０６ではＳ２０５にて調べた優先度を持つタスクが複数あるか否かを調べ、唯一であれば当該タスクの実行指示を処理実行部２７に対して行い（Ｓ２０７）、複数あれば最先に要求されたタスクの実行指示を処理実行部２７に対して行う（Ｓ２０８）。次にＳ２０９にて前記実行指示を行ったタスクの処理状態を「実行中」に変更し、処理をＳ２００に戻す。
【００２９】
また、Ｓ２１０にて処理実行部２７からのタスク生成の通知を検知したらＳ２１１にて、前記生成されたタスクの優先度と、処理優先度格納部３４に記憶されている現在実行中のタスクの優先度を比較し、前者の優先度の方が２段階以上高ければＳ２１２へ処理を移行して、前記生成されたタスクの実行指示を処理実行部２７に対して行い、Ｓ２１３にて前記実行中であったタスクの処理状態を「待機中」にし、Ｓ２１４にて前記実行指示したタスクの処理状態を「実行中」にして、処理をＳ２００に戻す。Ｓ２１１にて前者の優先度の方が２段階以上高くなければ、Ｓ２１５にて前記生成されたタスクの処理状態を「待機中」にして処理をＳ２００に戻す。
【００３０】
なお、Ｓ２１１にて優先度の差が２段階以上の場合にタスク処理を切り替える処理に分岐するようにしたのは、生成されたタスクの優先度の方が高い場合であっても優先度の差が小さければ、現在実行中のタスク処理を完了してから処理を切り替えた方がシステム全体としてのリアルタイム性が保たれる場合が多いからである。
【００３１】
以上のように構成されたリアルタイム制御装置２０において、その動作を図６〜１０により、具体例を挙げて説明する。操作盤１０のディスプレイ１１には図８に示す「通常画面」、図９に示す「サーボモニタ画面」、図１０に示す「プログラム編集画面」が単独で、または図７に示すようにそれぞれ重なって表示される。
【００３２】
各画面は、「起動中」、「運転準備」、「ＮＣ異常」等のリアルタイム制御装置２０の状態を示すランプや、「サイクルタイム」、「加工カウント」、「現在位置」等の数値情報を示す表示ボックス等から構成されており、アプリケーション実行部１３で実行されるアプリケーションはこれら画面を構成する要素に表示する情報をリアルタイム制御装置２０から得るために、Ｉ／Ｆ１４を介して優先度決定部１５で決定した優先度と共にリアルタイム制御装置２０に対してコマンドを送信する。
【００３３】
図８〜１０の各画面を制御するアプリケーションが記憶している標準優先度は、前述のようにアプリケーションの設定・調整段階で最適に設定されている。例えば、図７に示す通常画面でタッチパネル１２によりオペレータが「各個操作」を指示した際は、この指示を制御装置に伝えるための処理要求は迅速に処理される必要があるので、比較的高い優先度が標準優先度として設定されている。また、図８に示す「稼働時間」と「加工カウント」では、「稼動時間」は秒単位で更新する必要があるのに対し、「加工カウント」は数十秒に一回の割合で更新すればよいので、「稼働時間」の読み出し処理要求は「加工カウント」読み出し処理要求に比較して、より高い標準優先度が予め設定されている。
【００３４】
また、同じ内容の処理要求であっても、異なる標準優先度が設定される場合がある。例えば、「現在位置」は図８及び図９に示すように、「通常画面」でも「サーボモニタ画面」でも表示されるが、「通常画面」における「現在位置」の表示は概略の位置が分かれば良く、高い頻度で更新することは要求されない。一方、「サーボモニタ画面」では現在位置をより正確にモニタする必要があるので、出来る限り高い頻度で更新することが要求される。このため、「サーボモニタ画面」から発行される「現在位置」読み出し処理要求には、「通常画面」から発行される「現在位置」読み出し処理要求よりも高い標準優先度が予め設定される。
【００３５】
また、「プログラム編集画面」において、プログラムを画面に表示するために読み出す際は、オペレータの操作に支障を来たさないよう、出来る限り早く読み出す必要があるのに対して、例えばフロッピーディスクに保存するために読み出す場合は上記の場合程の読み出し速度は必要ない。このようなケースでも、両者の処理要求には予め異なる標準優先度が設定され、プログラムを画面に表示するために行うプログラム読み出し処理要求には高い標準優先度が、フロッピーディスクに保存するために行うプログラム読み出し処理要求には比較的低い標準優先度が設定されている。
【００３６】
前記標準優先度は優先度決定部１５の処理によって画面の表示状態や稼動状態等に応じて補正され、リアルタイム制御装置２０に引き渡す優先度が決定される。具体例として図７のように「プログラム編集画面」の背後に「通常画面」と「サーボモニタ画面」が表示されている場合は、図２に例示する条件および優先度補正値に従って、「通常画面」または「サーボモニタ画面」に係るコマンドの処理要求の優先度は２段階低く補正される。また、一定時間オペレータからの入力がなかったためにスクリーンセーバーが働き、若しくはディスプレイ１１の電源がオフしている場合には、操作盤１０から送信される全てのコマンドの優先度が２段階または３段階低く補正される。また、タッチパネル１２によるオペレータの入力があってから一定時間経過していない場合には、オペレータが操作盤１０のモニタを継続している可能性が高いので、操作盤１０から送信される全てのコマンドの優先度が２段階高く補正される。
【００３７】
前記優先度を伴ったコマンドが操作盤１０から送信されるとＩ／Ｆ２５に受信データが一時的に蓄えられると共に、割込発生部２１にその情報が伝達され、割込発生部２１はＩＮＴｃの割り込みを処理実行指示部３３に対して発生させる。この時にコマンド受信処理タスク３１よりも優先度の高い制御処理タスク２９または他制御装置通信処理タスク３０が共に実行中でなければ、直ちに処理実行指示部３３からコマンド受信処理タスク３１の実行指示が発行されるが、制御処理タスク２９、他制御装置通信処理タスク３０の一方または両方が実行中である場合は、これら両タスクの処理が終了してから前記起動指令が発行される。（図６参照）
【００３８】
コマンド受信処理タスク３１が起動されると、Ｉ／Ｆ２５に蓄えられた受信データを読み込んで内容をチェックし、異常がなければそのコマンドを処理するコマンド応答処理タスク３２を生成し、生成されたタスクの識別Ｎｏ．と、優先度と、処理要求を受け付けた時刻とを処理状態管理部２６に通知し、コマンドデータを前記生成されたタスクに引き渡し、コマンド受信処理タスク処理を終了する。
【００３９】
前記生成されたコマンド応答処理タスク３２は、処理実行部２７で実行中のタスクよりも優先度が２段階以上高ければ直ちに処理が実行に移されるが、これ以外の場合は前記実行中のタスクの終了または消滅時以降に処理が実行に移される。コマンド応答処理タスク３２が実行に移されると処理実行部２７は該タスクに引き渡されたコマンドの処理を行い、コマンド処理が終了したらレスポンスをＩ／Ｆ２５を介して操作盤１０へ送信する。レスポンスの送信処理が終了したらコマンド応答処理タスク３２を消滅する処理を行う。 この消滅は処理状態管理部２６へ通知され、処理状態管理部２６では消滅したタスクの情報を処理優先度格納部３４から消去する。
【００４０】
上記レスポンスを受けた操作盤１０では、Ｉ／Ｆ１４を介してアプリケーション実行部１３がレスポンスデータを受け取り、レスポンスデータの内容を画面表示内容に反映する等の処理を行う。以上により、一連のコマンド処理が完了する。
【００４１】
なお、本実施の形態においては図５のＳ２１１において、生成されたタスクの優先度と実行中のタスクの優先度とを比較して、この優先度の差が２段階以上の場合にタスク処理を切り替えるようにしたが、このタスク切り替え可否の判断基準はシステム毎に最適に設定されるべきなのは云うまでもない。例えば実行中のタスクの優先度または生成されたタスクの優先度に係数を乗算または除算した値の比較により処理タスクを切り替えるようにしてもよい。また、実行中のタスクの優先度または生成されたタスクの優先度が一定の値以上または以下であれば、処理タスクを切り替える基準を変更するようにしてもよい。また、単純なシステムにおいては単に優先度の大小比較によって処理タスクを切り替えるか否かの判断をしてもよい。
【００４２】
また、本実施の形態においては、各アプリケーションに最適化された標準優先度が設定され、これを優先度決定部１５の処理によって画面の表示状態や稼動状態等に応じて補正する構成をとったが、各アプリケーションは標準優先度を持たず、優先度決定部１５においてコマンドの種類（データ読出し・書込み、プログラム読出し・書込み、またはスキャン停止・開始などのコマンドの目的毎に分類したもの）やコマンド発行の頻度、画面の表示状態等の周辺装置の動作状態からリアルタイム制御装置２０に引き渡す優先度を決定するようにしてもよい。また、処理を簡単にするため周辺装置の動作状態のみによってリアルタイム制御装置２０に引き渡す優先度を決定するようにしてもよい。
【００４３】
【発明の効果】
以上述べたように請求項１記載の発明によれば、周辺装置からの処理要求が優先度を伴い、制御装置において優先度の高い処理要求が優先的に実行に移されるので、高速処理が要求される処理要求が、高速処理を要求されない処理要求の存在によって、長く待たされるのを防ぐことができ、システムのリアルタイム性が向上する。
また、処理制御部が処理要求の実行中に新たな処理要求を受けた際、前記実行中の処理要求と前記新たな処理要求の優先度を比較し、後者の優先度の方が予め設定された基準以上に高ければ前者の処理を一時中断して後者の処理を先に実行し、これに該当しない場合は前者の処理終了後に後者の処理を実行するので、さらにシステムのリアルタイム性が向上する。
【００４４】
また、請求項２記載の発明によれば請求項１の効果に加え、処理要求毎に設定された標準優先度に対し、周辺装置の動作状態を参照して前記標準優先度を補正し、前記補正された優先度に基づいて処理が実行されることで、さらに好適な制御を行うことができる。
【００４５】
また、請求項３記載の発明によれば、前記制御装置はさらに、イベントにより、または一定の周期で発生する割込みを処理制御部に対して発生させる割込発生部を有し、前記処理制御部はさらに前記割込み発生時に実行される割込み処理を記憶し、前記割込発生部からの割込みが発生した際に前記割込み処理を実行するので、不定期に発生する処理要求の実行と並行して、設備を制御するために必要な処理などを一定の周期または必要時に実行することができる。
【００４６】
また、請求項４から６記載の発明によれば、前記周辺装置はディスプレイとタッチパネルを備えたオペレータが操作を行う設備制御用操作盤であり、前記標準優先度を補正するに際して前記優先度決定部は前記動作状態として、前記ディスプレイの表示状態若しくは電源投入状態を参照し、前記タッチパネルによるオペレータの入力があった時点から一定の時間が経過するまでの間は前記処理要求に伴う優先度が通常時よりも高く補正されるので、また、一定時間オペレータからの入力がなかったためにスクリーンセーバーが働き若しくはディスプレイの電源がオフしている場合は、前記スクリーンセーバーが働いたディスプレイ若しくは電源がオフされたディスプレイに係る前記処理要求に伴う優先度が前記標準優先度に対して低く補正されるので、あるいは、他の画面の背後に表示されている画面に係る前記処理要求に伴う優先度が前記標準優先度に対して低く補正されるので、オペレータが操作をしている画面表示の優先度が高くなり、逆にオペレータが操作をしていない画面表示の優先度が低くなって、操作盤の画面表示のリアルタイム性が向上する。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるリアルタイム制御システムの制御装置および周辺装置のブロック図。
【図２】本発明の実施の形態における優先度補正条件および優先度補正値テーブルの一例。
【図３】本発明の実施の形態における処理優先度格納部の内容の一例。
【図４】本発明の実施の形態における処理切替指示の手順を示すフローチャート。
【図５】本発明の実施の形態における処理切替指示の手順を示すフローチャート。
【図６】本発明の実施の形態におけるリアルタイム制御システムのタスク処理のタイミングチャート。
【図７】本発明の実施の形態における操作盤ディスプレイの画面表示例。
【図８】本発明の実施の形態における操作盤ディスプレイの１つの画面の例。
【図９】本発明の実施の形態における操作盤ディスプレイの１つの画面の例。
【図１０】本発明の実施の形態における操作盤ディスプレイの１つの画面の例。
【符号の説明】
１０・・・操作盤（周辺装置）
１１・・・ディスプレイ
１２・・・タッチパネル
１３・・・アプリケーション実行部
１５・・・優先度決定部
２０・・・リアルタイム制御装置
２１・・・割込発生部
２２・・・処理制御部
２６・・・処理状態管理部
２７・・・処理実行部
２８・・・処理記憶部
２９・・・処理制御タスク
３０・・・他制御装置通信処理タスク
３１・・・コマンド受信処理タスク
３２・・・コマンド応答処理タスク
３３・・・処理実行指示部
３４・・・処理優先度格納部
３５・・・待機処理格納部
４０・・・ドライバ
４１・・・サーボモータ
４２・・・他の制御装置
【図１】
0004122725.tif 000002
【図２】
0004122725.tif 000003
【図３】
0004122725.tif 000004
【図４】
0004122725.tif 000005
【図５】
0004122725.tif 000006
【図６】
0004122725.tif 000007
【図７】
0004122725.tif 000008
【図８】
0004122725.tif 000009
【図９】
0004122725.tif 000010
【図１０】
0004122725.tif 000011