(57)【要約】【課題】コンポーネントの機能粒度を小さくした場合にも、システム全体の処理速度の低下を抑止することができる制御システムのコントローラおよび制御方法を提供する。【解決手段】コントローラ２は、コンポーネント２００内に、隣接するコンポーネント間で受け渡されるメッセージを記憶するメッセージ記憶手段２２０と、隣接するコンポーネント間で受け渡されたメッセージの前回値と今回値とを比較する比較手段２３０と、比較の結果、メッセージの前回値と今回値とが一致する場合には、該メッセージを受け取ったコンポーネントの処理を実行することなく、該コンポーネントから次に処理が実行されるコンポーネントへ渡されたメッセージの前回値を今回値として、次に処理が実行されるコンポーネントへのメッセージの受け渡しを行うメッセージ管理手段２４０とを備える。【選択図】  図３
2010225071.tif 000002
【特許請求の範囲】
【請求項１】
各々制御ロジックを構成する複数のコンポーネントの処理を、該コンポーネント間で受け渡されるメッセージに基づいて逐次実行することで、特定の制御グループを構築する制御システムのコントローラであって、
隣接するコンポーネント間で受け渡されるメッセージを記憶するメッセージ記憶手段と、
前記隣接するコンポーネント間で受け渡されたメッセージの前回値と今回値とを比較する比較手段と、
前記比較手段による比較の結果、前記メッセージの前回値と今回値とが一致する場合には、該メッセージを受け取ったコンポーネントの処理を実行することなく、該コンポーネントから次に処理が実行されるコンポーネントへ渡されたメッセージの前回値を今回値として、次に処理が実行されるコンポーネントへのメッセージの受け渡しを行う一方、前記メッセージの前回値と今回値とが一致しない場合には、該メッセージを受けたコンポーネントの処理を実行し、該コンポーネントの処理結果に応じた新たなメッセージを今回値として、次に処理が実行されるコンポーネントへのメッセージの受け渡しを行うメッセージ管理手段と
を備えることを特徴とする制御システムのコントローラ。
【請求項２】
請求項１記載の制御システムのコントローラにおいて、
前記メッセージ記憶手段と前記比較手段と前記メッセージ管理手段とを、前記メッセージを受ける各コンポーネントに設けたことを特徴とする制御システムのコントローラ。
【請求項３】
各々制御ロジックを構成する複数のコンポーネントの処理を、該コンポーネント間で受け渡されるメッセージに基づいて逐次実行することで、特定の制御グループを構築する制御システムの制御方法であって、
同一コンポーネント間で受け渡されたメッセージの前回値と今回値とを比較する比較ステップと、
前記比較ステップによる比較の結果、前記メッセージの前回値と今回値とが一致する場合には、該メッセージを受け取ったコンポーネントの処理を実行することなく、該コンポーネントから次に処理が実行されるコンポーネントへ渡されたメッセージの前回値を今回値として、次に処理が実行されるコンポーネントへのメッセージの受け渡しを行う一方、前記メッセージの前回値と今回値とが一致しない場合には、該メッセージを受けたコンポーネントの処理を実行し、該コンポーネントの処理結果に応じた新たなメッセージを今回値として、次に処理が実行されるコンポーネントへのメッセージの受け渡しを行うメッセージ伝達ステップと
を含むことを特徴とする制御システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各々制御ロジックを構成する複数のコンポーネントの処理を、該コンポーネント間で受け渡されるメッセージに基づいて逐次実行することで、特定の制御グループを構築する制御システムのコントローラおよび制御方法に関する。
【背景技術】
【０００２】
従来、プラントに存在する温度、圧力、流量などのプロセス量を制御するプラント制御システムや製造工程においてロボットを制御するロボット制御システムにおいては、下記特許文献１に示すように、システムを構成する機能をオブジェクト化している。これにより、オブジェクト化した機能の変更・追加・削除をする際に、対象となるオブジェクト以外のオブジェクトに影響を与えず、必要な機能を必要なだけ実装できるコンポーネント（ソフトウェア部品）とすることができ、柔軟性や拡張性の高い制御システムを構築することが可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３４３０９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の制御システムでは、柔軟性や拡張性を高めるために、コンポーネントの機能粒度を小さくすると、複数のコンポーネントを接続して希望する機能デバイスを実現する必要があり、コンポーネント間の情報信号であるメッセージの受け渡しが非同期に連鎖的に発生し、システム全体の処理速度（パフォーマンス）が低下してしまう。
【０００５】
本発明は、上記の問題点を解決するものとして、コンポーネントの機能粒度を小さくした場合にも、システム全体の処理速度の低下を抑止することができる制御システムのコントローラおよび制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１発明の制御システムのコントローラは、各々制御ロジックを構成する複数のコンポーネントの処理を、該コンポーネント間で受け渡されるメッセージに基づいて逐次実行することで、特定の制御グループを構築する制御システムのコントローラであって、隣接するコンポーネント間で受け渡されるメッセージを記憶するメッセージ記憶手段と、前記隣接するコンポーネント間で受け渡されたメッセージの前回値と今回値とを比較する比較手段と、前記比較手段による比較の結果、前記メッセージの前回値と今回値とが一致する場合には、該メッセージを受け取ったコンポーネントの処理を実行することなく、該コンポーネントから次に処理が実行されるコンポーネントへ渡されたメッセージの前回値を今回値として、次に処理が実行されるコンポーネントへのメッセージの受け渡しを行う一方、前記メッセージの前回値と今回値とが一致しない場合には、該メッセージを受けたコンポーネントの処理を実行し、該コンポーネントの処理結果に応じた新たなメッセージを今回値として、次に処理が実行されるコンポーネントへのメッセージの受け渡しを行うメッセージ管理手段とを備えることを特徴とする。
【０００７】
第１発明の制御システムのコントローラによれば、コンポーネント間で受け渡されるメッセージの前回値と今回値とが比較され、これらが相異する場合のみ、コンポーネントの処理が実行される。そのため、コンポーネントによる処理を低減することができる。
【０００８】
すなわち、コンポーネントの処理により新たなメッセージが作成された場合のみ、新たなメッセージが次に処理が実行されるコンポーネントへ受け渡され、新たなメッセージが作成されない場合には、メッセージの前回値を今回値としてメッセージの受け渡しが行われる。そのため、メッセージの受け渡しが非同期に連鎖的に発生する場合にも、処理が行われないコンポーネントの前後でメッセージの前回値を形式的に受け渡せばよく、システム全体の処理速度が低下することを抑止することができる。
【０００９】
このように、第１発明の制御システムのコントローラによれば、コンポーネントの機能粒度を小さくした場合にも、システム全体の処理速度の低下を抑止することができる。
【００１０】
第２発明の制御システムのコントローラは、第１発明の制御システムのコントローラにおいて、前記メッセージ記憶手段と前記比較手段と前記メッセージ管理手段とを、前記メッセージを受ける各コンポーネントに設けたことを特徴とする。
【００１１】
第２発明の制御システムのコントローラによれば、複数のコンポーネント間で受け渡されるメッセージの前回値を記憶保持手段に一括して記憶保持させると、該記憶保持手段から、各コンポーネント間のメッセージの前回値の読み出しが必要となり、システム全体の処理速度の低下に繋がる。そこで、各コンポーネントにメッセージ記憶手段と比較手段とを設けることで、各コンポーネントの前後のメッセージの受け渡しを分散処理させ、システム全体の処理速度が低下することを抑止することができる。
【００１２】
第３発明の制御システムの制御方法は、各々制御ロジックを構成する複数のコンポーネントの処理を、該コンポーネント間で受け渡されるメッセージに基づいて逐次実行することで、特定の制御グループを構築する制御システムの制御方法であって、同一コンポーネント間で受け渡されたメッセージの前回値と今回値とを比較する比較ステップと、前記比較ステップによる比較の結果、前記メッセージの前回値と今回値とが一致する場合には、該メッセージを受け取ったコンポーネントの処理を実行することなく、該コンポーネントから次に処理が実行されるコンポーネントへ渡されたメッセージの前回値を今回値として、次に処理が実行されるコンポーネントへのメッセージの受け渡しを行う一方、前記メッセージの前回値と今回値とが一致しない場合には、該メッセージを受けたコンポーネントの処理を実行し、該コンポーネントの処理結果に応じた新たなメッセージを今回値として、次に処理が実行されるコンポーネントへのメッセージの受け渡しを行うメッセージ伝達ステップとを含むことを特徴とする。
【００１３】
第３発明の制御システムの制御方法によれば、コンポーネント間で受け渡されるメッセージの前回値と今回値とが比較され、これらが相異する場合のみ、コンポーネントの処理が実行される。そのため、コンポーネントによる処理を低減することができる。さらに、コンポーネントの処理により新たなメッセージが作成された場合のみ、新たなメッセージが次に処理が実行されるコンポーネントへ受け渡され、新たなメッセージが作成されない場合には、メッセージの前回値を今回値としてメッセージの受け渡しが行われる。そのため、メッセージの受け渡しが非同期に連鎖的に発生する場合にも、処理が行われないコンポーネントの前後でメッセージの前回値を形式的に受け渡せばよく、システム全体の処理速度が低下することを抑止することができる。
【００１４】
このように、第３発明の制御システムの制御方法によれば、コンポーネントの機能粒度を小さくした場合にも、システム全体の処理速度の低下を抑止することができる。
【図面の簡単な説明】
【００１５】
【図１】制御システムの構成を示す図。
【図２】図１のコントローラによる処理例を示す説明図。
【図３】コンポーネントの構成を示す図。
【図４】コンポーネントによる処理を示すフローチャート。
【図５】コンポーネントによる処理内容を示す説明図。
【発明を実施するための形態】
【００１６】
図１に示すように、本発明の一実施形態としての制御システムは、コンピュータにより構成される定義部１と、当該システムにおける演算処理を実行するコントローラ２とを備える。
【００１７】
定義部１は、データベース１１と、デバイス定義部１２と、制御ロジック定義部１３と、結合部１４とを備える。
【００１８】
データベース１１は、データや情報を記憶保持する記憶手段であって、当該システムで制御処理が実行され得るデバイスやアプリケーション（装置、機器、記憶領域など）およびその仕様を規定する種別やパラメータ等が予め登録されると共に、ユーザによって選択および設定されたデバイス等およびその仕様を記憶保持する。
【００１９】
デバイス定義部１２は、データベース１１に登録されているデバイス等とその仕様を読出し、ユーザの操作に従って、制御処理が実行するデバイス等の選択およびその仕様（少なくとも処理周期を含む）の決定を行う。また、選択決定されたデバイス等およびその仕様はデータベース１１に出力され、データベース１１にその内容が記憶保持される。
【００２０】
制御ロジック定義部１３は、データベース１１に登録されているデバイス等の制御ロジックを読出し、ユーザの操作に従って制御ロジック（少なくとも処理周期を含む）を設定する。例えば、制御ロジック定義部１３では、デバイス等の動作開始の条件やタイミングを設定したり、予め登録された複数のファンクションの中から特定のファンクションを抽出し、これらを組み合わせることで制御単位での移行条件等を設定する。また、設定された制御ロジックはデータベース１１に出力され、データベース１１にその内容が記憶保持される。
【００２１】
結合部１４は、デバイス定義部１２で選択決定されたデバイス等およびその仕様と、制御ロジック定義部１３で設定された制御ロジックをデータベース１１から読み出して、これらの結合（関連付け）を行う。結合部１４により結合された定義情報は、ネットワークを介して、コントローラ２へ出力される。
【００２２】
コントローラ２は、管理部２１と、実行部２２とを備える。
【００２３】
管理部２１は、結合部１４から出力された定義情報に基づいて実行処理環境を構築する。例えば、管理部２１は、デバイス等の仕様や制御ロジックの設定に基づいて、処理スケジュールを管理する。
【００２４】
実行部２２は、管理部２１の処理スケジュールに基づく所定のタイミングで、当該システムでの制御処理を実行する。具体的に、実行部２２は、制御処理の内容に応じて細分化されたデバイスやアプリケーション等の複数の制御グループ２２ａ〜２２ｎから構成され、管理部２１に処理スケジュールに基づいてこれら制御グループ２２ａ〜２２ｎの処理がそれぞれ所定のタイミングで実行される。
【００２５】
図２に示すように、コントローラ２の実行部２２の制御グループ２２ａ〜２２ｎは、例えば、図中太線で囲って示す機能ブロックに相当し、コントローラ２は、これらの機能ブロックの処理を実行する。
【００２６】
具体的に、図２では、入力デバイス操作処理やＦＢＤ（Function block diagram）グループ、出力デバイス操作処理が、それぞれ機能ブロックであって１つの制御グループとなっている。
【００２７】
各制御グループの処理は、図中破線で囲って示すように、入力デバイス操作処理および出力デバイス操作処理は、デバイス定義部１２で決定された仕様に基づいてその処理が実行され、ＦＢＤグループの処理は、制御ロジック定義部１３で設定された制御ロジックに基づいてその処理が実行される。また、入力デバイス操作処理やＦＢＤグループ、出力デバイス操作処理が、同時に複数実行される。
【００２８】
さらに、各制御グループは、制御ロジックを構成する複数のコンポーネントを有する。具体的に、ＦＢＤグループでは、各々制御ロジックを構成する複数のコンポーネント２００を備える。
【００２９】
図３に示すように、コンポーネント２００は、それぞれメッセージ受信手段２１０と、メッセージ記憶手段２２０と、比較手段２３０と、メッセージ管理手段２４０と、メッセージ送信手段２５０とを備える。
【００３０】
メッセージ受信手段２１０は、隣接するコンポーネント２００間で受け渡されるメッセージを受信するインターフェイスである。
【００３１】
メッセージ記憶手段２２０は、メッセージの記憶を行う手段であり、例えばメモリに相当する。
【００３２】
比較手段２３０は、複数のメッセージの同一性を判定する手段であり、具体的には受信したメッセージの今回値と前回値との同一性を判定する。
【００３３】
メッセージ管理手段２４０は、制御ロジック処理部２４５を有し、比較手段２３０の判定結果に基づいて、当該コンポーネント２００から送信するメッセージを決定する。具体的に、メッセージ管理手段２４０は、比較手段２３０の判定結果、受信したメッセージの前回値と今回値とが一致する場合には、当該コンポーネント２００の処理を実行することなく、当該コンポーネント２００から次に処理が実行されるコンポーネントへ送信されたメッセージの前回値を今回値とする。一方、受信したメッセージの前回値と今回値とが一致しない場合には、当該コンポーネント２００の制御ロジック処理を制御ロジック処理部２４５により実行し、その処理結果に応じた新たなメッセージを今回値とする。
【００３４】
メッセージ送信手段２５０は、隣接するコンポーネント２００間で受け渡されるメッセージを送信するインターフェイスである。
【００３５】
次に図４を参照して、コンポーネント２００による処理について説明する。
【００３６】
コンポーネント２００は、メッセージ受信手段２１０がメッセージを受信すると（ＳＴＥＰ２１）、受信したメッセージ（今回値）をメッセージ記憶手段２２０に記憶すると共に（ＳＴＥＰ２２）、受信メッセージの前回値をメッセージ記憶手段２２０から読み出す（ＳＴＥＰ２３）。
【００３７】
次いで、比較手段２３０が、受信したメッセージの今回値と、メッセージ記憶手段２２０から読み出された受信メッセージの前回値とを比較し、これらが相異するか否かを判定する（ＳＴＥＰ２４）。
【００３８】
その結果、これらが相異する場合（ＳＴＥＰ２４でＹＥＳ）、メッセージ管理手段２４０は、制御ロジック処理部２４５によりコンポーネント２００の制御ロジック処理を実行し（ＳＴＥＰ２５）、これにより新たな送信メッセージ（今回値）を作成する（ＳＴＥＰ２６）。
【００３９】
一方、これら受信メッセージの今回値と前回値とが相異しない場合（ＳＴＥＰ２４でＮＯ）、メッセージ管理手段２４０は、制御ロジック処理を実行することなく、メッセージ記憶手段から送信メッセージの前回値を読み出し、これを送信メッセージ（今回値）とする（ＳＴＥＰ２７）。
【００４０】
そして、メッセージ管理手段２４０により準備された送信メッセージを、メッセージ送信手段２５０が、次に処理が実行されるコンポーネントへ送信する（ＳＴＥＰ２８）。
【００４１】
図５は、以上のコンポーネント２００による処理を模式的に示したものであり、ＦＢＤグループ（図２参照）を構成する複数のコンポーネント２００は、次のように実行される。
【００４２】
まず、制御ロジック（１）を構成するコンポーネント２００に入力装置等からメッセージＡ１，Ａ２（今回値）が入力された場合に、これらのメッセージＡ１，Ａ２（今回値）が、それぞれメッセージＡ１，Ａ２（前回値）と相異しない（変化がない）場合には、制御ロジック（１）の処理を実行せず、送信メッセージＤ１（今回値）をその前回値とする。
【００４３】
同様にして、制御ロジック（２）を構成するコンポーネント２００にメッセージＢ１，Ｂ２（今回値）が入力された場合に、これらのメッセージＢ１，Ｂ２（今回値）が、それぞれメッセージＢ１，Ｂ２（前回値）と相異しない（変化がない）場合には、制御ロジック（２）の処理を実行せず、送信メッセージＤ２，Ｅ１（今回値）をその前回値とする。
【００４４】
以下同様に、制御ロジック（３）〜（６）を構成するコンポーネント２００の処理を行うことで、メッセージＡ１，Ａ２〜Ｆ１，Ｆ２がいずれも前回値と今回値とで相異しない場合（一致する場合）には、制御ロジック（１）〜（６）の処理が実行されることがない。
【００４５】
これにより、メッセージの今回値と前回値が相異する場合のみ、コンポーネント２００の制御ロジック処理が実行されるため、コンポーネント２００による処理を低減することができる。そのため、メッセージの受け渡しが非同期に連鎖的に発生する場合にも、処理が行われないコンポーネント２００の前後でメッセージの前回値を形式的に受け渡せばよく、制御システム全体の処理速度が低下することを抑止することができる。
【００４６】
また、図５に示す、制御ロジック（１）〜（６）を構成する複数のコンポーネント２００をグルーピング化して実行することができ、制御グループとして、実行タイミングの統一や実行順序の最適化を図ることができる。これにより、制御システム全体の高速処理化を実現することができる。
【００４７】
尚、本実施形態では、コンポーネント２００に、メッセージ記憶手段２２０、比較手段２３０およびメッセージ管理手段２４０を設けたが、これらの手段をコントローラ２内の他の処理部に構成するようにしてもよい。例えば、管理部２１にかかる手段を構成し、複数のコンポーネント２００間のメッセージを一括管理するようにしてもよい。
【図１】
2010225071.tif 000003
【図２】
2010225071.tif 000004
【図３】
2010225071.tif 000005
【図４】
2010225071.tif 000006
【図５】
2010225071.tif 000007