(57)【要約】【課題】種々のトリガ条件の要求に応じることができ、コンポーネントを多様な場面で共通利用できる制御演算コンポーネントとコンポーネント型制御システムを提供する。【解決手段】本発明のコンポーネント型制御システムに用いられる制御演算コンポーネント１はトリガ条件設定部６を有し、トリガ条件入力部７が入力されるトリガ条件情報７０に応じてトリガ選択部６４とトリガ選択部６５によるトリガ条件の選択を切り替える。トリガ選択部６４は、トリガ条件情報７０に応じて入力ポート１１１への入力信号をトリガ加法合成部６７に接続するか、トリガ乗法合成部６８に接続するか、どちらにも接続しないかの選択を切り替える。また、トリガ選択部６５は、トリガ条件情報７０に応じて入力ポート１１２への入力信号をトリガ加法合成部６７に接続するか、トリガ乗法合成部６８に接続するか、どちらにも接続しないかの選択を切り替える。【選択図】図１１
2011002928.tif 000002
【特許請求の範囲】
【請求項１】
メッセージを受信する１個ないし複数の入力ポートと、メッセージを送信する１個ないし複数の出力ポートとの少なくともいずれか一方を各々備える複数のコンポーネントと、前記出力ポートから前記入力ポートへメッセージを伝達する伝達手段とを備え、且つ、前記複数のコンポーネントのうちの少なくとも１個のコンポーネントが複数の入力ポートを備えるコンポーネント型制御システムにおいて、
前記複数の入力ポートを備えるコンポーネントは、
前記入力ポート毎に、前記入力ポートに着信したメッセージに含まれるデータを記憶する記憶手段と、
前記入力ポートにメッセージが着信した際、当該メッセージの着信に応じて当該コンポーネントを起動するか否かを前記入力ポート毎に設定する設定手段と、
を備えることを特徴とするコンポーネント型制御システム。
【請求項２】
前記設定手段は、前記複数の入力ポートのいずれかにメッセージが着信したときに当該コンポーネントを起動する設定と、前記複数の入力ポートの全てにメッセージが着信したときに当該コンポーネントを起動する設定のいずれかを選択することを特徴とする請求項１に記載のコンポーネント型制御システム。
【請求項３】
前記設定手段は、前記コンポーネント型制御システムの実行時に前記設定が可能な入力手段を備えることを特徴とする請求項１または請求項２に記載のコンポーネント型制御システム。
【請求項４】
前記設定手段は、前記コンポーネント型制御システムの実行時に、予め設定情報を記憶している設定情報記憶手段から前記入力手段に入力される前記設定情報に基づいて設定することを特徴とする請求項１から請求項３のいずれか一項に記載のコンポーネント型制御システム。
【請求項５】
メッセージを受信する複数の入力ポートと、
前記入力ポート毎に、前記入力ポートに着信するメッセージに含まれるデータを記憶する記憶手段と、
前記記憶手段に記憶されたデータを用いて演算する演算手段と、
前記演算手段を起動する条件情報が入力される入力手段と、
前記入力手段に起動条件情報が入力された際、当該起動条件情報に基づいて起動条件を切り替える切替手段と、
前記切替手段で切り替えられた起動条件に応じて起動信号を出力する出力手段と、を備え、
前記出力手段の起動条件が満たされた際、前記出力手段から出力される起動信号に応じて前記演算手段が起動され、起動された前記演算手段が前記記憶手段に記憶されている最新のデータを用いて演算することを特徴とする制御演算コンポーネント。
【請求項６】
前記入力手段は、予め設けられた条件情報記憶手段から条件情報が入力されることを特徴とする請求項５に記載の制御演算コンポーネント。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンポーネント型制御システムに係り、特にメッセージ駆動方式のコンポーネントを用いた制御演算コンポーネントとコンポーネント型制御システムに関する。
【背景技術】
【０００２】
近年、産業機械、ロボット、自動車機器、情報機器、デジタルＡＶ機器等を制御する組込み制御システムは複雑度が急速に増大しており、開発効率の向上が求められている。特に、制御システムに含まれる組込みコンピュータ上で実行する組込みソフトウェアの開発効率の向上が求められている。
開発効率向上の手法の一つに、コンポーネント指向開発手法がある。コンポーネント指向開発では、ソフトウェアを「ソフトウェアコンポーネント」とし、汎用性のある機能ブロックに分割して開発し、複数のソフトウェアコンポーネントを組み合わせて制御システムを構築する。
【０００３】
これをコンポーネント型制御システムという。一旦開発したソフトウェアコンポーネントを複数の機器の開発に共通に用いることにより、開発量を減らして開発効率を高めている。
ソフトウェアコンポーネントは、具体的にはソフトウェアの機能ブロックに対する入出力インターフェースを統一し、ソフトウェア開発ツールと、フレームワーク、ランタイム環境、ミドルウェア等と称される実行時に併用されるソフトウェアのサポートにより、機能ブロックを自由かつ容易に組み合わせてシステムを構築できるようにしたものである。
また、信頼性、消費電力、処理速度、実装サイズなどの要求を満たすため、ソフトウェアコンポーネントを複数のコンピュータ上で実行し、通信ネットワークで接続して動作させる分散制御システムを構築することもある。
【０００４】
ソフトウェアコンポーネントは、入力ポートおよび出力ポートと呼ばれる入出力機能を１つないし複数備えており、他のソフトウェアコンポーネントと仮想的な通信路を介してデータを交換して動作する。ソフトウェアコンポーネントを起動するタイミングの制御方法、すなわちトリガ方法としてはメッセージ駆動方式が知られている。
メッセージ駆動方式は、他のソフトウェアコンポーネントからデータが入力ポートに着信した際、当該ソフトウェアコンポーネントが備える演算処理を起動する。メッセージ駆動方式では、データ更新のタイミングとコンポーネントが起動されるタイミングとが一致するので、マルチタスク処理や分散処理に適している。
【０００５】
メッセージ駆動方式に対応しているソフトウェアコンポーネントおよびコンポーネント型制御システムの従来の例としては、自動車の電子制御ユニットの制御ソフト開発のためのソフトウェア標準ＡＵＴＯＳＡＲ（団体名）の技術が開示されている（例えば、非特許文献１）。
また、非同期メッセージ方式のコンポーネントフレームワークの技術が開示されている（例えば、非特許文献２）。
また、必ずしもメッセージ駆動方式ではないが、データフロー図を用いたコンピュータプログラム方法の技術が開示されている（例えば、特許文献１）。
【０００６】
なお、ソフトウェアコンポーネントと同様の機能をハードウェアで実現することもできるが、その場合はハードウェアコンポーネントと称される。ハードウェアコンポーネントの機能は、ソフトウェアコンポーネントにおけるソフトウェアとそれを実行するコンピュータの代わりに電子回路で実現される。ハードウェアコンポーネント間の接続は、ソフトウェアコンポーネントに置ける仮想通信路の代わりに、ネットワーク，シリアル通信回路などの実際の通信回路で接続される。
また、ソフトウェアを搭載した小型コンピュータと通信回路とを組み合わせたものをハードウェアコンポーネントとして扱うこともできる。
以下、本明細書では、ソフトウェアコンポーネントとハードウェアコンポーネントの両者の総称としてコンポーネントとして記載する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３０１６７８３号公報（コンピュータプログラム方法）
【非特許文献】
【０００８】
【非特許文献１】ソフトウェア開発を効率化するAUTOSAR, 日経Automotive Technology, 2006/10号,pp.140-143
【非特許文献２】人間共生ロボット “EMIEW 2” のコンポーネント指向ソフトウェア構造, 日本機械学会ロボティクス・メカトロニクス講演会'08, 2P1-I04
【発明の概要】
【発明が解決しようとする課題】
【０００９】
メッセージ駆動方式のコンポーネントを用いたコンポーネント型制御システムでは、コンポーネントが有する複数の入力ポートのいずれかにメッセージが着信したときにコンポーネントを起動するのが最も基本的な起動方法である。
しかしながら、コンポーネント間において、接続する相手のコンポーネントの特性や接続の経路によっては、トリガ方法を変えなければならない場合がある。例えば、複数の入力ポート全てにメッセージが到着したときにコンポーネントを起動する場合、または一部の入力ポートでコンポーネントを起動しないようにする場合である。
そのため、従来はコンポーネントが行う演算処理の内容が同じであっても、コンポーネントが使われる対象に応じてトリガ条件を変えた複数の変種コンポーネントを開発しなければならないという問題があった。
【００１０】
開発規模が小さい場合は変種コンポーネントを作る方法でも対応は不可能ではないが、１つの製品に使用するコンポーネントの数が多く開発対象製品のバリエーションが増加するとコンポーネントの変種数が急速に増え、開発コストや管理コストの増加が無視できなくなる。このため、多様な対象に対して共通のコンポーネントを使用可能にすることが課題となっている。
本発明の目的は、種々のトリガ条件の要求に応じることができ、コンポーネントを多様な場面で共通利用できる制御演算コンポーネントとコンポーネント型制御システムを提供することにある。
【課題を解決するための手段】
【００１１】
前記課題を解決するために、本発明のコンポーネント型制御システムは、メッセージを受信する１個ないし複数の入力ポートと、メッセージを送信する１個ないし複数の出力ポートとの少なくともいずれか一方を各々備える複数のコンポーネントと、前記出力ポートから前記入力ポートへメッセージを伝達する伝達手段とを備え、且つ、前記複数のコンポーネントのうちの少なくとも１個のコンポーネントが複数の入力ポートを備えるコンポーネント型制御システムにおいて、前記複数の入力ポートを備えるコンポーネントは、前記入力ポート毎に、前記入力ポートに着信したメッセージに含まれるデータを記憶する記憶手段と、前記入力ポートにメッセージが着信した際、当該メッセージの着信に応じて当該コンポーネントを起動するか否かを前記入力ポート毎に設定する設定手段とを備えることを特徴とする。
【００１２】
また、本発明の制御演算コンポーネントは、メッセージを受信する複数の入力ポートと、前記入力ポート毎に、前記入力ポートに着信するメッセージに含まれるデータを記憶する記憶手段と、前記記憶手段に記憶されたデータを用いて演算する演算手段と、前記演算手段を起動する条件情報が入力される入力手段と、前記入力手段に起動条件情報が入力された際、当該起動条件情報に基づいて起動条件を切り替える切替手段と、前記切替手段で切り替えられた起動条件に応じて起動信号を出力する出力手段とを備え、前記出力手段の起動条件が満たされた際、前記出力手段から出力される起動信号に応じて前記演算手段が起動され、起動された前記演算手段が前記記憶手段に記憶されている最新のデータを用いて演算することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、種々のトリガ条件の要求に応じることができ、コンポーネントを多様な場面で共通利用できる制御演算コンポーネントとコンポーネント型制御システムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態を説明するための制御対象装置の構成例を示す図である。
【図２】コンポーネント型制御システムの第１構成例を示す図である。
【図３】ソフトウェアを搭載するハードウェアの構成例を示す図である。
【図４】第１構成例を実行するソフトウェアを説明するための図である。
【図５】第１構成例をハードウェアで実現する場合の構成例を示す図である。
【図６】第１構成例，第２構成例，第３構成例を説明するための図である。
【図７】第１構成例，第２構成例，第３構成例のそれぞれのタイミングチャートである。
【図８】非正常動作を説明するためのタイミングチャートである。
【図９】コンポーネント型制御システムの比較例を示す図である。
【図１０】コンポーネント型制御システムの比較例を示す図である。
【図１１】本発明の一実施形態に用いられる制御演算コンポーネントの構成を示す図である。
【図１２】本発明の一実施形態に係るコンポーネント型制御システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下に、本発明の実施形態に係るコンポーネント型制御システムについて図を参照しながら詳細に説明する。
一般的に、コンポーネント型制御システムに含まれるコンポーネントの数は、１個以上のさまざまなケースがあり、本実施形態では説明のために簡単な例として４個のコンポーネントを含む例を示す。
また、コンポーネントは、任意の数の複数の入力ポートと出力ポートを持つことができ、少なくとも入力ポートと出力ポートのいずれかを１個持っている。出力ポートから入力ポートへのコネクタは多対多の接続が可能であり、１個の出力ポートからのコネクタを分岐させて複数の入力ポートへ接続したり、複数の出力ポートからのコネクタを１個の入力ポートへ合流させることもできる。
【００１６】
コンポーネントは、ソフトウェアで実現される場合とハードウェア（電子回路）で実現される場合がある。ソフトウェアで実現する場合は、１つのコンピュータ上に複数のソフトウェアコンポーネントを動作させることができる。また、複数のコンピュータを用いて、各々のコンピュータ上で１ないし複数のソフトウェアコンポーネントを動作させ、コンピュータ間を通信路で接続して分散制御システムを構築することもできる。分散制御システムを構築する場合のコンピュータの数は、必要とされる計算量に加え、制御システム全体の電力、処理速度、サイズなどの要求によって選択される。
【００１７】
≪コンポーネント型制御システムの第1構成例≫
図１は、本発明のコンポーネント型制御システムを説明するために用いる構成例としての制御対象装置２を示す図である。制御対象装置２は、制御装置１０，目標角度設定器１２，モータ１４，モータ角度センサ１５を有して構成されている。制御装置１０は、目標角度設定器１２，モータ１４，モータ角度センサ１５にそれぞれ接続されている。制御装置１０は、目標角度設定器１２により目標角度値を読み取り、モータ角度センサ１５によりモータ１４の角度値を読み取り、目標角度値とモータ角度値とが一致するようにモータ１４を制御する。
【００１８】
図２は、コンポーネント型制御システムの第１構成例１０１におけるコンポーネントの接続を示す図である。コンポーネント型制御システムの第１構成例１０１は、上述した制御装置１０に搭載される。なお、コンポーネント型制御システムの第１構成例１０１は、以下、第１構成例１０１として記述する。
第１構成例１０１は、ハードウェアまたはソフトウェアで実装される４種類のコンポーネントで構成される。第１構成例１０１は、制御演算コンポーネント１１０，目標値設定（非同期）コンポーネント１２０，センサインターフェース（非同期）コンポーネント１３０，アクチュエータインターフェースコンポーネント１４０を有して構成されている。
【００１９】
制御演算コンポーネント１１０は、２個の入力ポート１１１，１１２と１個の出力ポート１１３を備えている。目標値設定コンポーネント１２０は、１個の出力ポート１２１を備えている。センサインターフェースコンポーネント１３０は、１個の出力ポート１３１を備えている。アクチュエータインターフェースコンポーネント１４０は、１個の入力ポート１４１を備えている。
【００２０】
目標値設定コンポーネント１２０は、出力ポート１２１，コネクタ１６１，入力ポート１１１を介して制御演算コンポーネント１１０に接続されている。センサインターフェースコンポーネント１３０は、出力ポート１３１，コネクタ１６２，入力ポート１１２を介して制御演算コンポーネント１１０に接続されている。制御演算コンポーネント１１０は、出力ポート１１３，コネクタ１６３，入力ポート１４１を介してアクチュエータインターフェースコンポーネント１４０に接続されている。また、制御演算コンポーネント１１０には、付随してトリガ条件情報１１８が設けられている。
【００２１】
このような構成において、第１構成例１０１が制御装置１０に搭載された場合の動作を説明する。
目標値設定コンポーネント１２０は、目標角度設定器１２から目標角度値を読み込み、読み込んだ目標角度値を含むメッセージを出力ポート１２１からコネクタ１６１を介して制御演算コンポーネント１１０の入力ポート１１１へ送信する。センサインターフェースコンポーネント１３０は、モータ角度センサ１５からモータ角度値を読み込み、読み込んだモータ角度値を含むメッセージを出力ポート１３１からコネクタ１６２を介して制御演算コンポーネント１１０の入力ポート１１２へ送信する。
【００２２】
制御演算コンポーネント１１０は、入力ポート１１１を介して目標角度値を受け取り、入力ポート１１２を介してモータ角度値を受け取る。続いて、制御演算コンポーネント１１０は、受け取った目標角度値とモータ角度値とを一致させるためのモータ１４の操作量を計算し、その操作量を出力ポート１３１からコネクタ１６３を介してアクチュエータインターフェースコンポーネント１４０の入力ポート１４１に出力する。
アクチュエータインターフェースコンポーネント１４０は、入力ポート１４１を介してモータ１４の操作量を受け取り、その操作量に対応する駆動信号をモータ１４に出力する。モータ１４は駆動信号により動作される。
【００２３】
図３は、第１構成例１０１をソフトウェアで実行する場合において、そのソフトウェアを搭載するハードウェアの構成例を示す図である。制御装置１０は、制御用コンピュータ２０と制御用コンピュータ３０の２台を備えている。制御用コンピュータ２０は、通信インターフェース２３，通信路１６，通信インターフェース３３を介して制御用コンピュータ３０に接続されている。
制御用コンピュータ２０は、ＣＰＵ２１，メモリ２２，通信インターフェース２３，入出力回路２４とから構成されている。また、制御用コンピュータ３０は、ＣＰＵ３１，メモリ３２，通信インターフェース３３，入出力回路３４とから構成されている。
【００２４】
制御用コンピュータ２０は、メモリ２２に制御演算コンポーネント１１０と目標値設定コンポーネント１２０とが格納されている。制御用コンピュータ３０は、メモリ３２にセンサインターフェースコンポーネント１３０とアクチュエータインターフェースコンポーネント１４０とが格納されている。さらにトリガ条件情報１１８がメモリ２２に格納されている。これらのソフトウェアコンポーネントのプログラムは、ＣＰＵ２１とＣＰＵ３１により実行される。
【００２５】
このような構成における第1構成例１０１の動作を説明する。
まず、ＣＰＵ２１（目標値設定コンポーネント１２０）は、入出力回路２４を介して目標角度設定器１２から目標角度値の出力を読み込む。ＣＰＵ３１（センサインターフェースコンポーネント１３０）は、入出力回路３４を介してモータ角度センサ１５からモータ角度値の出力を読み込み、読み込んだモータ角度値の出力信号を通信インターフェース３３，通信路１６，通信インターフェース２３を介してＣＰＵ２１へ送信する。
【００２６】
ＣＰＵ２１（制御演算コンポーネント１１０）は、読み込んだ目標角度値と通信インターフェース２３を介して入力されたモータ角度値とを一致させるためのモータ１３の操作量を計算し、その操作量を通信インターフェース２３，通信路１６，通信インターフェース３３を介してＣＰＵ３１へ送信する。
ＣＰＵ３１（センサインターフェースコンポーネント１３０）は、通信インターフェース３３を介して入力された操作量に対応する駆動信号をモータ１４に出力する。モータ１４は駆動信号により動作される。
【００２７】
次に、第１構成例１０１をソフトウェアで実現する場合において、ソフトウェアコンポーネントは、コンポーネント間の接続を監理，仲介するフレームワーク上で動作される。
図４は、図３で示したハードウェア上において、第１構成例１０１を実行するソフトウェアを説明するための図である。本ソフトウェアでは、ソフトウェアコンポーネントが制御用コンピュータ２０と制御用コンピュータ３０の２つに分散搭載されているので、制御用コンピュータ２０にフレームワーク２５を搭載し、制御用コンピュータ３０にフレームワーク３５を搭載し、そのフレームワーク２５，３５上で対応するソフトウェアコンポーネントを動作させる。フレームワーク２５とフレームワーク３５との間は、制御用通信ネットワーク等を用いた通信路１６を介して接続される。通信路１６はソフトウェアコンポーネント間の接続を中継する。
【００２８】
この場合、フレームワーク２５上では目標値設定コンポーネント１２０と制御演算コンポーネント１１０とが対応され、フレームワーク３５上ではセンサインターフェースコンポーネント１３０とアクチュエータインターフェースコンポーネント１４０とが対応される。
【００２９】
図５は、第１構成例１０１をハードウェアで実現する場合の構成例を示す図である。
制御装置１０は、ハードウェアコンポーネント（電子回路）としての制御演算コンポーネント５１，目標値設定（非同期）コンポーネント５２，センサインターフェース（非同期）コンポーネント５３，アクチュエータインターフェースコンポーネント５４とが構成されている。
目標値設定コンポーネント５２は、通信回路４２を備え、目標角度設定器１２が接続されている。センサインターフェースコンポーネント５３は、通信回路４３を備え、モータ角度センサ１５が接続されている。アクチュエータインターフェースコンポーネント５４は、通信回路４４を備え、モータ１４が接続されている。制御演算コンポーネント５１は、通信回路４１を備えている。通信回路４１，４２，４３，４４の間は、制御用通信ネットワーク等を用いた通信路４９により接続されている。
【００３０】
上述したように、第１構成例１０１は、ハードウェアで実現することもできる。
各コンポーネントをハードウェアにより実現すれば、ソフトウェアで実現した場合にくらべ変更に対する柔軟性は低下するが、消費電力の低減、処理速度の向上などの利点がある。
なお、各コンポーネントの機能をソフトウェアで複数の小型コンピュータに組み込み、各小型コンピュータ間を通信回路で接続したものをハードウェアコンポーネントと称することもある。
【００３１】
≪制御演算コンポーネントにおけるトリガ≫
次に、制御演算コンポーネント１１０を起動するトリガと、コンポーネント間のデータの伝達方法について説明する。
図２において、制御演算コンポーネント１１０は、入力ポート１１１，１１２からのデータを用いて演算処理，情報処理を行い、その結果を出力ポート１１３から出力する。本実施形態では、制御演算コンポーネント１１０が処理を起動する条件（タイミング）を設定する機能（情報）をトリガ条件情報として記述する。図２においてはトリガ条件情報１１８としている。
【００３２】
一般的には、トリガの方式には周期実行型とイベント型がある。周期実行型は、コンポーネントが各々定めた一定周期のタイミングで動作するもので、実行周期を正確に保ちやすいという特徴がある。一方、イベント型では、入力されるデータが変化した時や外部のセンサで信号が検出された時など、コンポーネント外部からの刺激によりコンポーネントを起動する。イベント型は、必要な時のみ演算処理を行うので効率が良く、イベントを通信によって通知することもできるので、複数のコンピュータ上でコンポーネントを動作させる分散処理に適している。なお、一定周期ごとにイベントを発生させることにより、周期実行させることも可能である。
【００３３】
本発明の実施形態に係るコンポーネント型制御システムでは、イベント型の一種であるメッセージ駆動型のトリガ方式を用いる。ここで、メッセージとは、通信路あるいはソフトウェア内の仮想通信路を通じて伝達される一定のフォーマットで記述された情報であり、メッセージの宛先，メッセージの種別，付随データ等の情報を含んでいる。メッセージは、出力ポートと入力ポートとの間のデータ伝達に用いられる。
メッセージ駆動型のトリガ方式では、コンポーネント間のデータ伝達とコンポーネントの起動を同時に行う。すなわち、コンポーネントにメッセージが到着した際、コンポーネントはデータを受け取るとともに、当該メッセージを用いた演算処理を開始し、必要に応じて処理結果を出力ポートから送信する。
【００３４】
メッセージ駆動型のトリガ方式は、データ更新のタイミングとコンポーネントの起動タイミングとが一致している。従って、メッセージ駆動型のトリガ方式は両タイミングのずれによる問題が生じないので、１つのコンピュータ内で複数のコンポーネントを擬似的に同時に動作されるマルチタスク処理、１つのコンピュータ内に複数の処理装置を設けるマルチコア方式、複数のコンピュータを用いるマルチプロセッサ、及び分散処理に適している。
なお、例えば、目標値設定（非同期）コンポーネント１２０とセンサインターフェース（非同期）コンポーネント１３０は、センサからの入力信号が変化した時に起動されて出力ポートから値を送信する。このように、入力ポートがコンポーネントの場合、メッセージではトリガできないので外部信号が変化した時や一定の周期で処理を起動する。これらは、アクティブコンポーネントと呼ばれる。
【００３５】
コンポーネント型制御システムでは、コンポーネントを複数のアプリケーションにおいて共通利用することで開発効率を高めることを目的としている。しかしながら、接続されている他のコンポーネントの特性や接続のトポロジー、すなわち接続関係にループがあるかどうかによって適切な起動タイミングが異なる。そのため、従来はコンポーネントを共通化できないケースがあった。本発明は、この問題を解決し、コンポーネントを共通利用できる範囲を拡大することを目的にしている。
【００３６】
≪第１構成例，第２構成例，第３構成例の説明≫
本発明におけるコンポーネント型制御システムにおける基本的な構成が３種類に大別できる。そこで、コンポーネント型制御システムの第１構成例１０１、コンポーネント型制御システムの第２構成例２０１、コンポーネント型制御システムの第３構成例３０１として説明する。なお、以下、第１構成例１０１，第２構成例２０１，第３構成例３０１として記述する。
【００３７】
図６は、第１構成例１０１，第２構成例２０１，第３構成例３０１を説明するための図である。
図７は、第１構成例１０１，第２構成例２０１，第３構成例３０１のそれぞれの動作タイミングを示すものである。
図６の（ａ）は、第１構成例１０１であって図２で説明したものと同じ構成であるが、非同期型のシステム例として動作を説明する。
【００３８】
第１構成例１０１において、目標値設定コンポーネント１２０は非同期に動作し、センサインターフェースコンポーネント１３０も非同期に動作する。
目標値設定コンポーネント１２０は、目標角度設定器１２（図１参照）から読み込む出力値が変化したとき、出力ポート１２１からその出力値を含むメッセージを入力ポート１１１を介して制御演算コンポーネント１１０へ送信する。
センサインターフェースコンポーネント１３０は、モータ角度センサ１５（図１参照）から読み込む出力値が変化したとき、出力ポート１３１からその出力値を含むメッセージを入力ポート１１２を介して制御演算コンポーネント１１０へ送信する。
【００３９】
制御演算コンポーネント１１０は、目標値設定コンポーネント１２０からの入力ポート１１１へのメッセージ入力またはセンサインターフェースコンポーネント１３０からの入力ポート１１２へのメッセージ入力のいずれかが着信したときに起動（トリガ）されるように、トリガ条件情報１１８が設定されている。このようなトリガ条件は非同期型トリガと称される。
【００４０】
制御演算コンポーネント１１０は、入力ポート１１１または入力ポート１１２へメッセージが着信されたときに起動する。この際、制御演算コンポーネント１１０は、入力ポート１１１への着信メッセージによって保存した最新データと入力ポート１１２への着信メッセージによって保存した最新データとを参照してモータ１４の操作量を計算し、その操作量を含むメッセージを出力ポート１１３からアクチュエータインターフェースコンポーネント１４０へ送信する。アクチュエータインターフェースコンポーネント１４０は、入力ポート１４１にメッセージが着信した際、メッセージに含まれる操作量に従ってモータ１４（図１参照）を駆動する。
【００４１】
図７の（ａ）は、第１構成例１０１における動作タイミングを示すものである。縦軸の矢印方向に時間経過を示し、横軸にコンポーネントの動作タイミングを示している。図において、横向きの矢印４はコンポーネント間のメッセージの送信タイミングを示している。下向きの矢印５は、メッセージの着信によりコンポーネントが起動され、その結果として次のメッセージが出力されることを示している。
例えば、目標値設定コンポーネント１２０から図に示すメッセージ（横向き矢印４）が出力された際、制御演算コンポーネント１１０は、上述した操作量を計算し（計算時間：下向き矢印５）、計算した操作量を含むメッセージをアクチュエータインターフェースコンポーネント１４０へ送信する。
【００４２】
第１構成例１０１の場合、目標値設定コンポーネント１２０とセンサインターフェースコンポーネント１３０がメッセージを送信するタイミングは予測できないが、いずれかのメッセージが到着したときに制御演算コンポーネント１１０が起動されるので、効率よくかつ迅速に制御演算が行える。
【００４３】
図６の（ｂ）は、第２構成例２０１を示す図である。第２構成例２０１は、同期型のシステム例として構成と動作を説明する。
第２構成例２０１は、制御演算コンポーネント２１０，目標値設定（同期）コンポーネント２２０，センサインターフェース（同期）コンポーネント２３０，アクチュエータインターフェースコンポーネント２４０，及びタイマコンポーネント２５０とから構成されている。制御演算コンポーネント２１０は、トリガ条件情報２１８により同期型に設定されている。
【００４４】
第２構成例２０１は、周期的にメッセージを発生するタイマコンポーネント２５０を備えている。タイマコンポーネント２５０の出力ポート２５１が、目標値設定コンポーネント２２０の入力ポート２２１とセンサインターフェースコンポーネント２３０の入力ポート２３１に接続されている。
目標値設定コンポーネント２２０とセンサインターフェースコンポーネント２３０は、タイマコンポーネント２５０から同時にメッセージが届くため同時に起動される。このような同期型の構成は、第１構成例１０１よりも複雑ではあるが、目標値設定とセンサ入力を同期させることにより、より正確な制御が可能になるので要求精度が高い場合に使用される。
【００４５】
ここで、目標値設定コンポーネント２２０とセンサインターフェースコンポーネント２３０がハードウェアで実現されている場合と、目標値設定コンポーネント２２０とセンサインターフェースコンポーネント２３０がソフトウェアで実現されて異なるコンピュータ上で動作している場合とは、２つのコンポーネント（２２０，２３０）が同時に動作し、それぞれ読み込まれたデータが制御演算コンポーネント２１０へ送信される。
一方、目標値設定コンポーネント２２０とセンサインターフェースコンポーネント２３０がソフトウェアで実現され、マルチタスクＯＳを用いて１つのコンピュータ上で動作している場合には、２つのコンポーネント（２２０，２３０）はマルチタスクＯＳの機能により疑似的に並行動作される。制御演算コンポーネント２１０にメッセージが到着する順番は、計算速度、通信速度、マルチタスクＯＳのスケジューリング状態など様々な要因によるので予め正確に予測できない。
【００４６】
制御演算コンポーネント２１０は、目標値設定コンポーネント２２０からの入力ポート１１１への入力と、センサインターフェースコンポーネント２３０からの入力ポート１１２への入力に対し、入力ポート１１１と入力ポート１１２の両方にメッセージが着信するまで待ち、両入力ポート（１１１，１１２）に着信したとき起動されるようにトリガ条件情報２１８が設定されている。このようなトリガ条件を同期型トリガと称する。
【００４７】
制御演算コンポーネント２１０は、入力ポート１１１と入力ポート１１２へメッセージ入力がされたときに起動する。この際、制御演算コンポーネント２１０は、入力ポート１１１への着信メッセージによって保存した最新データと入力ポート１１２への着信メッセージによって保存した最新データとを参照してモータ１４の操作量を計算し、計算した操作量を含むメッセージを出力ポート１１３からアクチュエータインターフェースコンポーネント２４０へ送信する。アクチュエータインターフェースコンポーネント２４０は、入力ポート２４１にメッセージが着信した際、メッセージに含まれる操作量に従ってモータ１４（図１参照）を駆動する。
【００４８】
図７の（ｂ）は、第２構成例２０１における動作タイミングを示すものである。図において、縦軸の矢印方向に時間経過を示し、横軸にコンポーネントの動作タイミングを示している。また、下向きの破線矢印６は、破線の始点の所のメッセージ着信ではコンポーネントを起動せずにメッセージのデータを保存し、破線の終点の所で先に保存しておいたデータを用いて計算を行うことを示している。
例えば、タイマコンポーネント２５０は、目標値設定コンポーネント２２０とセンサインターフェースコンポーネント２３０にメッセージを同時に出力する。その際、目標値設定コンポーネント２２０は、目標角度設定器１２（図１参照）から読み込んだ出力値を含むメッセージを出力ポート２２２を介して制御演算コンポーネント２１０の入力ポート１１１へ送信する。また、センサインターフェースコンポーネント２３０は、モータ角度センサ１５（図１参照）から読み込んだ出力値を含むメッセージを出力ポート２３２を介して制御演算コンポーネント２１０の入力ポート１１２へ送信する。
【００４９】
制御演算コンポーネント２１０は、入力ポート１１１と入力ポート１１２の両入力ポートへメッセージが着信されたときに起動する。従って、制御演算コンポーネント２１０は、入力ポート１１１にのみメッセージが着信されている場合は入力ポート１１２にメッセージが着信するのを待つ制御を行う（待ち時間：破線矢印６）。両入力ポート（１１１，１１２）へメッセージが着信した際、制御演算コンポーネント２１０は、入力ポート１１１への着信メッセージに含まれるデータと入力ポート１１２への着信メッセージに含まれるデータとを参照してモータ１４の操作量を計算し、計算した操作量を含むメッセージを出力ポート１１３からアクチュエータインターフェースコンポーネント２４０へ送信する。アクチュエータインターフェースコンポーネント２４０は、入力ポート２４１にメッセージが着信した際、メッセージに含まれる操作量に従ってモータ１４（図１参照）を駆動する。
【００５０】
目標値設定コンポーネント２２０とセンサインターフェースコンポーネント２３０は、タイマコンポーネント２５０の出力に同期して一定周期で動作するが、どちらからのメッセージが先に制御演算コンポーネント２１０に到着するかは確実には予測できない。しかし、上述したように、制御演算コンポーネント２１０は、入力ポート１１１と入力ポート１１２の両方にメッセージが着信するまで待つようにしているので、どちらが先に到着しても最新のデータを用いて効率よく制御を行うことができる。
【００５１】
図６の（ｃ）は、第３構成例３０１を示す図である。第３構成例３０１は、ループを含むフィードバック型のシステム例として構成と動作を説明する。
第３構成例３０１は、制御演算コンポーネント３１０，目標値設定（同期）コンポーネント２２０，センサアクチュエータインターフェースコンポーネント３４０，及びタイマコンポーネント２５０とから構成されている。センサアクチュエータインターフェースコンポーネント３４０は、アクチュエータインターフェースコンポーネントとセンサインターフェースコンポーネントの機能を兼ね備えたものである。制御演算コンポーネント３１０は、トリガ条件情報３１８によりフィードバック型に設定されている。
【００５２】
第３構成例３０１は、周期的にメッセージを発生するタイマコンポーネント２５０を備えている。タイマコンポーネント２５０の出力ポート２５１が、目標値設定コンポーネント２２０の入力ポート２２１に接続されている。
目標値設定コンポーネント２２０は、タイマコンポーネント２５０から到着するメッセージに同期して目標角度設定器１２（図１参照）から目標角度値を読み込み、読み込んだ目標角度値を含むメッセージを出力ポート２２２から入力ポート１１１を介して制御演算コンポーネント３１０へ送信する。
【００５３】
センサアクチュエータインターフェースコンポーネント３４０は、制御演算コンポーネント３１０から出力ポート１１３を介して入力ポート３４１にメッセージが着信した際、そのメッセージに含まれる操作量に従ってモータ１４（図１参照）を駆動する。それに続いて、センサアクチュエータインターフェースコンポーネント３４０は、モータ角度センサ１５（図１参照）の出力値（モータ角度値）を読み込み、読み込んだモータ角度値を含むメッセージを出力ポート３４２から入力ポート１１２を介して制御演算コンポーネント３１０に送信する。すなわち、センサアクチュエータインターフェースコンポーネント３４０は、操作量の着信メッセージに同期してモータ角度値を含むメッセージを出力する。
【００５４】
このような複合型コンポーネントが適するのは、例えば、モータ，モータ角度センサ，モータ制御回路とが一体化され、制御系用通信ネットワークを通じてモータを操作するインテリジェント型のモータを用いる場合である。このような場合は、操作量の設定と角度値の読み出しを行うコンポーネントを１つにまとめ、操作量設定と角度読み出しを連続して行うことにより通信効率が高まって、より短い周期での制御が可能となる。
【００５５】
制御演算コンポーネント３１０は、目標値設定コンポーネント２２０からの入力ポート１１１への入力と、センサアクチュエータインターフェースコンポーネント３４０からの入力ポート１１２への入力に対し、入力ポート１１１にメッセージが着信したときに起動し、入力ポート１１２にメッセージが着信したときは起動せず、着信したメッセージのデータ（モータ角度値）の保存のみを行うようにトリガ条件情報３１８が設定されている。すなわち、入力ポート１１１はトリガ有効に設定され、入力ポート１１２はトリガ無効に設定されている。制御演算コンポーネント３１０は起動された際、入力ポート１１１への着信メッセージによって保存した最新データを参照して制御演算を行い、演算結果を出力ポート１１３からセンサアクチュエータインターフェースコンポーネント３４０に出力する。
【００５６】
図７の（ｃ）は、第３構成例３０１における動作タイミングを示すものである。図において、縦軸の矢印方向に時間経過を示し、横軸にコンポーネントの動作タイミングを示している。
第３構成例３０１において、制御演算コンポーネント３１０を上述したトリガ条件で動作させる理由は、メッセージの経路にループがある場合に他のトリガ方法を用いると、制御演算コンポーネント３１０が過剰にトリガされるか、トリガされないことがあるためである。
【００５７】
このようなトリガ条件でない場合、非正常動作となることについて説明する。
例えば、第１構成例１０１と同様に、入力ポート１１１，１１２のいずれかにメッセージが着信したとき制御演算コンポーネント３１０が起動されるように設定したと仮定する。この場合、目標値設定コンポーネント２２０から入力ポート１１１に目標値を含むメッセージが届いた際、制御演算コンポーネント３１０は起動し、出力ポート１１３からメッセージが出力される。
これによって、センサアクチュエータインターフェースコンポーネント３４０が起動され、出力ポート３４２からモータ角度値を含むメッセージが送信され、このメッセージが入力ポート１１２を介して制御演算コンポーネント３１０に到着する。すると、再度、制御演算コンポーネント３１０が起動され、同様の動作により入力ポート１１２にメッセージが再び到着して制御演算コンポーネント３１０が起動されるというように、この動作が無限に繰り返される。すなわち、メッセージの経路がループしていることが原因となって、メッセージが無限に増殖して正常に動作できなくなる。
図８は、このような無限増殖して正常に動作できないときの動作タイミングを示すものである。
【００５８】
また、例えば、第２構成例２０１と同様に、入力ポート１１１と入力ポート１１２の両方にメッセージが到着したときに制御演算コンポーネント３１０が起動されるようにしたと仮定する。この場合、制御演算コンポーネント３１０は、目標値設定コンポーネント２２０から入力ポート１１１に目標値を含むメッセージが着信しても起動されない。制御演算コンポーネント３１０が動作してメッセージを送信しない限り、センサアクチュエータインターフェースコンポーネント３４０から入力ポート１１２にメッセージが届かないので、いつまでも制御演算コンポーネント３１０は起動されない。
上述したように、制御演算コンポーネント３１０の適切なトリガ条件は、接続されているコンポーネントと接続の経路によって異なっている。
従来は、このような異なるトリガ条件の要求に対応するため、トリガ条件ごとに一部を変更した制御コンポーネントを開発していた。
【００５９】
図９は、上述した３種類のコンポーネント型制御システムにおける第１構成例１０１，第２構成例２０１，第３構成例３０１に対してそれぞれ実装した比較例を示す図である。各構成例で使用される制御演算コンポーネント１１０ａ，２１０ａ，３１０ａはそれぞれ異なっており、その内部構成を示している。
制御演算コンポーネント１１０ａ，２１０ａ，３１０ａは、共通して演算部９０を備えている。また、制御演算コンポーネント１１０ａ，２１０ａ，３１０ａは、メッセージのデータを一時的に記憶することが必要なので、入力ポート１１１に対応してメモリ８１、入力ポート１１２に対応してメモリ８２を備え、演算部９０から参照可能に接続されている。
【００６０】
図９の（ａ）は、第１構成例１０１の実装例を示す図である。第１構成例１０１の制御演算コンポーネント１１０ａは、入力ポート１１１と入力ポート１１２のいずれかにメッセージが着信したときにトリガ入力部９９を介して演算部９０を起動するトリガ加法合成部９７を備えている。トリガ加法合成部９７は、２つ（複数）の入力ポート（１１１，１１２）に対して、いずれかに入力信号が発生したことによりトリガ信号を出力する。
【００６１】
図９の（ｂ）は、第２構成例２０１の実装例を示す図である。第２構成例２０１の制御演算コンポーネント２１０ａは、入力ポート１１１と入力ポート１１２の両方にメッセージが着信したときにトリガ入力部９９を介して演算部９０を起動するトリガ乗法合成部９８を備えている。トリガ乗法合成部９８は、２つ（複数）の入力ポート（１１１，１１２）に対して、全てに入力信号が発生することによりトリガ信号を出力する。
【００６２】
図９の（ｃ）は、第３構成例３０１の実装例を示す図である。第３構成例３０１の制御演算コンポーネント３１０ａは、入力ポート１１１のみがトリガ入力部９９に接続されており、入力ポート１１１にメッセージが着信したときに演算部９０が起動され、入力ポート１１２にメッセージが着信したときは演算部９０が起動されないように構成されている。
上述したように、比較例では、演算機能は同じであるがトリガに関する動作が異なるコンポーネントの変種を作る必要がある。
【００６３】
図１０は、コンポーネント型制御システムの比較例を示す図である。図に示すように、比較例では専用の制御演算コンポーネントを３種類作らなければならない。
図１０の（ａ）は、第１構成例１０１の場合で、専用の制御演算コンポーネント１１０ｂを用いた構成である。動作は図９の（ａ）で説明したものと同じである。
図１０の（ｂ）は、第２構成例２０１の場合で、専用の制御演算コンポーネント２１０ｂを用いた構成である。動作は図９の（ｂ）で説明したものと同じである。
図１０の（ｃ）は、第３構成例３０１の場合で、専用の制御演算コンポーネント３１０ｂを用いた構成である。動作は図９の（ｃ）で説明したものと同じである。
【００６４】
≪本発明に係るコンポーネント型制御システム≫
次に、本発明に係るコンポーネント型制御システムについて説明する。
本発明は、コンポーネント型制御システムにおいて、コンポーネントを起動するトリガ条件を可変にするトリガ条件設定部を設けることにより、コンポーネントを多くのアプリケーションに対して共通して利用可能にするものである。
【００６５】
図１１は、本発明に用いられる制御演算コンポーネント１の構成を示す図である。制御演算コンポーネント１は、トリガ入力部９９を有する演算部９０とトリガ条件設定部６とから構成され、入力ポート１１１，１１２と出力ポート１１３とを備えている。
トリガ条件設定部６は、トリガ条件入力部７，メモリ６１，メモリ６２，トリガ選択部６４，トリガ選択部６５，トリガ加法合成部６７，トリガ乗法合成部６８，トリガ加法合成部６９とから構成されている。
トリガ条件入力部７は、入力されるトリガ条件情報７０に応じてトリガ選択部６４とトリガ選択部６５による選択を切り替える。
【００６６】
トリガ選択部６４は、入力ポート１１１への入力信号をトリガ加法合成部６７に接続するか、トリガ乗法合成部６８に接続するか、どちらにも接続しないかの選択が切り替えられる。
トリガ選択部６５は、入力ポート１１２への入力信号をトリガ加法合成部６７に接続するか、トリガ乗法合成部６８に接続するか、どちらにも接続しないかの選択が切り替えられる。
トリガ加法合成部６７は、入力される２つの信号を加法合成する。
トリガ乗法合成部６８は、入力される２つの信号を乗法合成する。
【００６７】
トリガ加法合成部６９は、トリガ加法合成部６７からの出力信号をトリガ信号としてトリガ入力部９９へ出力し、トリガ乗法合成部６８からの出力信号をトリガ信号としてトリガ入力部９９へ出力する。トリガ加法合成部６９からのトリガ信号がトリガ入力部９９に入力されることにより演算部９０が起動される。
メモリ６１は、入力ポート１１１に着信したメッセージに含まれるデータを記憶する。
メモリ６２は、入力ポート１１２に着信したメッセージに含まれるデータを記憶する。
メモリ６１とメモリ６２の記憶内容は、演算部９０により参照されて演算に用いられる。
【００６８】
トリガ条件情報７０は、図示しない入力手段から入力される場合と、図示しないメモリ，ＣＤ，ＤＶＤ，ハードディスク等の記憶手段から読み出す場合とがある。
トリガ条件設定部６はソフトウェアで実現してもよくハードウェアで実現してもよい。ハードウェアで実現した場合、トリガ条件入力部７は、設定用の端子から電圧を入力するなどの方法でトリガ条件情報７０を得るようにしてもよい。
トリガ条件入力部７によるトリガ条件情報７０の取得は、本発明のコンポーネント型制御システム（第１構成例１０１，第２構成例２０１，第３構成例３０１）を起動するときに行われる。
【００６９】
これにより、製品のハードウェアの構成が変化した際、自動的にシステムのコンポーネント構成を変化させ、それに応じてトリガ条件も変化させることが可能となる。ユーザが自由に製品の一部分を着脱、交換できる「プラグアンドプレイ」機能を実現することができる。
上述した構成の制御演算コンポーネント１は、トリガ条件情報７０の設定により、入力ポート１１１と入力ポート１１２へのそれぞれの着信メッセージに対する動作タイミングと、演算部９０を起動するタイミングとを変化させることができる。それにより、本発明のコンポーネント型制御システムは、動作タイミングの要求が異なる多様な要求に対して、制御演算コンポーネント１の動作（トリガ）タイミングと起動タイミングを簡単に変化させることができるので、多様な要求に対応できるとともに様々な構成での使用を可能にしている。
【００７０】
次に、本発明の構成上の特徴とその効果を示すため、コンポーネント型制御システムとして３種類の第1構成例１０１，第２構成例２０１，第３構成例３０１を示し、従来は不可能であったコンポーネントの共通化が可能になることを図面を参照して説明する。
図１２は、本発明に係るコンポーネント型制御システムの構成を示すブロック図である。本発明のコンポーネント型制御システムでは、上述したように制御演算コンポーネント１がトリガ条件を変更する機能を備えており、トリガ条件情報を変えることによりタイミングの違いに対応することができ、制御演算コンポーネントを共通のもので使用することができる。
【００７１】
図１２の（ａ）は、本発明に係る第１構成例１０１を示すものである。
制御演算コンポーネント１の入力ポート１１１には、目標値設定コンポーネント１２０の出力ポート１２１がコネクタ２２を介して接続されている。制御演算コンポーネント１の入力ポート１１２には、センサインターフェースコンポーネント１３０の出力ポート１３１がコネクタ２１を介して接続されている。制御演算コンポーネント１の出力ポート１１３は、コネクタ２３を介してアクチュエータインターフェースコンポーネント１４０の入力ポート１４１に接続されている。
【００７２】
第１構成例１０１の場合は、制御演算コンポーネント１の入力ポート１１１および入力ポート１１２のいずれかにメッセージが着信したとき、制御演算コンポーネント１を起動する非同期型にトリガ条件情報７１が設定されている。この設定に従って、トリガ選択部６４とトリガ選択部６５とが、入力ポート１１１と入力ポート１１２とをトリガ加法合成部６７へ接続する方向に切り替えられる。これにより演算部９０は、入力ポート１１１または入力ポート１１２のいずれかにメッセージが着信したときに起動する。そして、図７の（ａ）に示したタイミングでシステムが動作される。
【００７３】
図１２の（ｂ）は、本発明に係る第２構成例２０１を示すものである。
制御演算コンポーネント１の入力ポート１１１には、目標値設定コンポーネント２２０の出力ポート２２２がコネクタ２７を介して接続されている。制御演算コンポーネント１の入力ポート１１２には、センサインターフェースコンポーネント２３０の出力ポート２３２がコネクタ２６を介して接続されている。制御演算コンポーネント１の出力ポート１１３は、コネクタ２８を介してアクチュエータインターフェースコンポーネント２４０の入力ポート２４１に接続されている。また、タイマコンポーネント２５０の出力ポート２５１は、コネクタ２４を介して目標値設定コンポーネント２２０の入力ポート２２１とセンサインターフェースコンポーネント２３０の入力ポート２３１に接続されている。
【００７４】
第２構成例２０１の場合は、制御演算コンポーネント１の入力ポート１１１と入力ポート１１２の両方にメッセージが着信したとき、制御演算コンポーネント１を起動する同期型にトリガ条件情報７２が設定されている。この設定に従って、トリガ選択部６４とトリガ選択部６５とが、入力ポート１１１と入力ポート１１２とをトリガ乗法合成部６８へ接続する方向に切り替えられる。これにより演算部９０は、入力ポート１１１と入力ポート１１２の両方にメッセージが着信したときに起動する。そして、図７の（ｂ）に示したタイミングでシステムが動作される。
【００７５】
図１２の（ｃ）は、本発明に係る第３構成例３０１を示すものである。
制御演算コンポーネント１の入力ポート１１１には、目標値設定コンポーネント２２０の出力ポート２２２がコネクタ３０を介して接続されている。制御演算コンポーネント１の入力ポート１１２には、センサアクチュエータインターフェースコンポーネント３４０の出力ポート３４２がコネクタ３２を介して接続されている。制御演算コンポーネント１の出力ポート１１３は、コネクタ３１を介してセンサアクチュエータインターフェースコンポーネント３４０の入力ポート３４１に接続されている。また、タイマコンポーネント２５０の出力ポート２５１は、コネクタ２９を介して目標値設定コンポーネント２２０の入力ポート２２１に接続されている。
【００７６】
第３構成例３０１の場合は、制御演算コンポーネント１の入力ポート１１１にメッセージが着信したとき制御演算コンポーネント１を起動するように、入力ポート１１１はトリガ有効にし、入力ポート１１２はトリガ無効にするトリガ条件情報７３が設定されている。この設定に従って、トリガ選択部６４は入力ポート１１１をトリガ加法合成部６７へ接続する方向に切り替えられ、トリガ選択部６５は入力ポート１１２をトリガ加法合成部６７へもトリガ乗法合成部６８へも接続しない方向（中立位置で非接続）に切り替えられる。これにより演算部９０は、入力ポート１１１にメッセージが着信したときに起動し、入力ポート１１２にメッセージが着信したときは起動せずにデータの保存のみを行う。そして、図７の（ｃ）に示したタイミングでシステムが動作される。
【００７７】
本実施形態によれば、コンポーネント型制御システムの制御演算コンポーネント１は、トリガ条件設定部６を設けたことによりコンポーネントのトリガ条件が可変になり、トリガ条件の要求が異なる様々なシステムに利用（共通使用）することが可能となる。その結果、開発コスト及び管理コストを低減することができる。
なお、本発明を説明するため、図１に示した制御対象装置を制御するコンポーネント型制御システムの構成例を示したが、本発明は、この制御対象装置に限定されるものではなく、コンポーネント型制御システムに含まれるコンポーネントの機能、コンポーネントの数、入力ポートおよび出力ポートの数、接続関係が異なる任意の制御システムに適用可能である。
また、本発明のコンポーネント型制御システムにおいては、２つ以上の入力ポートをもつコンポーネントはトリガ条件設定部（６）を備えている。
さらに、上述した実施形態では、２つの入力ポートを有している制御演算コンポーネントに関する例を示したが、３個以上の入力ポートを有する場合にも拡張できる。
【符号の説明】
【００７８】
１…制御演算コンポーネント
２…対象制御装置
６…トリガ条件設定部（設定手段）
７…トリガ条件入力部（入力手段）
１０…制御装置
１２…目標角度設定器
１４…モータ
１５…モータ角度センサ
１６…通信路（伝達手段）
２１，２２，２３，２４，２６，２７，２８，２９，３０，３１，３２…コネクタ（伝達手段）
６１，６２…メモリ（記憶手段）
６４，６５…トリガ選択部（切替手段）
６７，６９…トリガ加法合成部（出力手段）
６８…トリガ乗法合成部（出力手段）
７０，７１，７２，７３…トリガ条件情報（設定情報記憶手段、条件情報記憶手段）
９０…演算部（演算手段）
９９…トリガ入力部
１０１…コンポーネント型制御システムの第１構成例
１１１，１１２…入力ポート
１１３…出力ポート
１２０，２２０…目標値設定コンポーネント
１３０，２３０…センサインターフェースコンポーネント
１４０，２４０…アクチュエータインターフェースコンポーネント
２０１…コンポーネント型制御システムの第２構成例
２５０…タイマコンポーネント
３０１…コンポーネント型制御システムの第３構成例
３４０…センサアクチュエータインターフェースコンポーネント
【図１】
2011002928.tif 000003
【図２】
2011002928.tif 000004
【図３】
2011002928.tif 000005
【図４】
2011002928.tif 000006
【図５】
2011002928.tif 000007
【図６】
2011002928.tif 000008
【図７】
2011002928.tif 000009
【図８】
2011002928.tif 000010
【図９】
2011002928.tif 000011
【図１０】
2011002928.tif 000012
【図１１】
2011002928.tif 000013
【図１２】
2011002928.tif 000014