(57)【特許請求の範囲】
【請求項１】
処理を要求するプロセスからの入力信号の取り込み及び前記プロセスへの制御信号の出力をするプロセス入出力装置と、
前記プロセス入出力装置からの信号により制御演算を行い、制御演算結果を前記プロセス入出力装置経由で前記プロセスへ出力し、一定周期で励起する切替タイマと、前記切替タイマの一定時間前に励起する予告タイマとを有するコントローラと、
前記コントローラ内部で実行されるソフトウェア部と、
前記プロセス入出力装置と前記コントローラとを接続し、両者の間の制御信号及びデータの通信路であるＩＯバスとから構成されるハードウェア部と、を有し、
前記ソフトウェア部は、
情報処理を実行する情報用処理部と、
正確な制御周期を必要とする制御処理を実行する制御用処理部と、
前記情報用処理部と前記制御用処理部を切り替える処理切替部とを有し、
前記処理切替部は、
前記予告タイマの励起の度に、前記情報用処理部に切替予告を通知して、前記情報用処理部の実行を中断し、
前記切替タイマの励起の度に、前記制御用処理部の実行を開始し、
前記制御用処理部の実行を前記切替タイマの周期よりも短い時間内に終了した後前記情報用処理部の実行を再開するように、
前記情報用処理部と前記制御用処理部を切り替える
ことを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセスに対する入出力を制御する制御装置に係り、特に正確な制御周期が必要とされる制御装置に関するものである。
【背景技術】
【０００２】
従来、正確な制御周期を実現するためには、制御用オペレーティングシステムを搭載した制御装置が必要であった。このため、制御装置は、外部デバイスからの割り込みの抑制、プリエンプションの禁止などのスケジューリングの簡略化を施し、制御周期などのタスクの時間的制約を守ることを第一に考慮した制御を行うようにしていた。
【０００３】
このプリエンプションとは、タスクに優先度を設定して動的にタスクの実行順を切り替える機能のことをいう。すなわち、この機能は、優先度（プライオリティ）の高いタスクが実行可能になったときに、現在実行中のタスクを停止して優先度の高いタスクを先に実行するものである。
【０００４】
しかしながら、全ての制御が正確な周期で動作する必要はなく、低優先度制御、化学プラント向けの低速制御、通信制御、イベント駆動型の制御と併用されることが多い。
【０００５】
イベント駆動型の制御は、ネットワークデバイス等の外部デバイスからの割込によるイベントのサポート、プリエンプション付きのマルチタスク等をサポートするものである。このため、時間的制約の緩いタスクに適した情報用オペレーティングシステムを搭載した制御装置が使用される。
【０００６】
実際の処理を制御するプロセス制御では、制御用オペレーティングシステムを搭載した制御装置と、情報用オペレーティングシステムを搭載した制御装置の二種類の制御装置が導入されている。
【０００７】
また、複数のタスクを通信タスクグループと制御タスクグループ及び管理を行うための管理タスクグループに分けて管理する技術が提案されている（特許文献１参照）。この技術では、複数のタスクの実行順序をグループ単位で切換え、切換えられたタスク群に従って、ＬＡＮ（Local Area Network）から得られた情報又は各機器から得られた情報の処理をＣＰＵ（Central Processing Unit）が実行する。
【特許文献１】特開２００３−６７２０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上述した従来の技術によれば、正確な制御周期を必要とする制御装置と、その他の情報用制御を行う制御装置の二種類の制御装置を導入する必要があった。
また、プログラミング環境、デバッグ環境等も、制御用オペレーティングシステム、情報用オペレーティングシステムの二種類を用意する必要があった。
【０００９】
このため、制御用と情報用とのハードウェア構成及びソフトウェア構成が二種類重複することになり、二種類とも同時に使用することはないので、無駄な構成を必要としていた。
【００１０】
また、上述した特許文献１に記載の技術では、複数のタスクの実行順序をグループ単位で切替るため、グループの実行途中でタスクの切替をすることができないという不都合があった。
【００１１】
そこで、本発明は、同一の制御装置上で正確な制御周期を必要とする制御と、その他の通信などの情報用制御を両立させる制御装置を提供することを目的とするものである。
【課題を解決するための手段】
【００１２】
本発明の制御装置は、以下のハードウェア部を有している。このハードウェア部は、処理を要求するプロセスからの入力信号の取り込み及びプロセスへの制御信号の出力をするプロセス入出力装置を有している。
【００１３】
また、ハードウェア部は、プロセス入出力装置からの信号により制御演算を行い、制御演算結果をプロセス入出力装置経由で、プロセスへ出力し、一定周期で励起する切替タイマと、この切替タイマの一定時間前に励起する予告タイマとを有するコントローラを有している。さらに、ハードウェア部は、プロセス入出力装置とコントローラとを接続し、両者の間の制御信号及びデータの通信路であるＩＯバスを有して構成される。
【００１４】
また、本発明の制御装置は、コントローラ内部で実行されるソフトウェア部を有している。このソフトウェア部は、情報処理を実行する情報用処理部と、制御処理を実行する制御用処理部と、情報用処理部と制御用処理部を切り替える処理切替部とを有している。
【００１５】
ここで、処理切替部は、予告タイマの励起の度に、情報用処理部に切替予告を通知して、情報用処理部の実行を中断し、切替タイマの励起の度に、制御用処理部の実行を開始し、制御用処理部の実行を切替タイマの周期よりも短い時間内に終了した後情報用処理部の実行を再開するように、情報用処理部と制御用処理部を切り替える。
【００１６】
本発明では、ソフトウェア部の情報用処理部に、ハードウェア部のコントローラに設けられた予告タイマ及び切替タイマによる正確な制御周期で制御タスクを実行する制御用処理部を追加している。これにより、同一制御装置上で、同一プログラミング環境を用い、低コストかつ効率的な制御装置を実現することができる。
【発明の効果】
【００１７】
本発明によれば、同一制御装置上で、正確な制御周期を必要とする制御用処理部の制御タスクと、通信などの情報用処理部の情報用タスクとを同じ処理シーケンスで実行させることができる。
【００１８】
また、本発明によれば、同一制御装置上で、正確な制御周期を必要とする制御用処理部の制御タスクを優先して実行し、残りの時間は、通信などの情報用処理部の情報用タスクを実行することができる。更に、本発明では、切替処理部により、同一制御装置上で、制御用処理部の制御タスクと情報用処理部の情報用タスクの切替えを確実に行うことが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の一実施の形態を、図１〜１４を参照して説明する。
［実施形態１］
まず、本発明の第１の実施の形態を説明する。
図１は、本発明の実施に係る制御装置のハードウェア構成及びソフトウェア構成を示すブロック図である。図１Ａは、ハードウェア構成を示し、図１Ｂは、ソフトウェア構成を示すものである。
【００２１】
本発明の実施の形態による制御装置の図１Ａに示すハードウェア構成は、処理を要求するプロセス４と、プロセス入出力装置３と、プロセスの入出力を制御するコントローラ１と、プロセス入出力装置３とコントローラ１を接続するＩＯバス２を備えている。
【００２２】
プロセス入出力装置３は、プロセス４に接続され、プロセス４からの信号の入力、及びプロセス４への制御信号の出力を行う装置である。
コントローラ１は、マイクロプロセッサ１１と、内部バス１３と、一定周期で励起するタイマ部１７と、タイマ部１７からの励起信号をプロセッサに割込として伝達する割込制御部１８と、情報用メモリ１９と、制御用メモリ２０を有している。
【００２３】
また、コントローラ１は、情報用メモリ１９と制御用メモリ２０とを接続するメモリバス２２と、内部バス１３と情報用メモリ１９と制御用メモリ２０を、メモリバス２２を経由して接続するメモリインターフェース部１６とを備えている。
【００２４】
さらに、コントローラ１は、マイクロプロセッサ１１と内部バス１３を接続するプロセッサインターフェース部１２と、内部バス１３とＩＯバス２を接続するＩＯバスインターフェース部１５とを備えている。
【００２５】
ここで、タイマ部１７は、制御用タイマ２３と、制御用タイマ２４と、情報用タイマ２５とを有している。各タイマ２３、２４、２５は、予め設定された時間が経過すると励起し、割込制御線２１を経由して、割込制御部１８にタイマ励起を通知する。
【００２６】
そして、割込制御部１８は、マイクロプロセッサ１１に対して割込信号１４により割込を発生させる。本実施の形態例では、割込制御部１８の割込優先度は制御用タイマ２４、制御用タイマ２３、情報用タイマ２５の順に低くなるように設定される。
【００２７】
本実施の形態例では、内部バス１３、メモリバス２２、ＩＯバス２をそれぞれ分離して記述しているが、これらの構成は、通常用いられる技術を用いて適宜単一のバスの配線群を分離可能に選択するようにしてもよい。
【００２８】
また、本実施の形態例では、情報用メモリ１９と、制御用メモリ２０を分離した形で記述しているが、この形態にとらわれず、通常用いられる技術を用いて適宜単一のメモリの領域群を分離選択するようにしてもよい。
【００２９】
また、本実施の形態例では、ＩＯバス２と、内部バス１３と、割込制御線２１と、メモリバス２２の形態が、シリアルバスであるかパラレルバスであるか明記していないが、通常用いられる技術を用いて適宜シリアルバス又はパラレルバスを選択するようにしてもよい。
【００３０】
また、プロセス入出力装置３は、制御用入力モジュール３１と、制御用出力モジュール３２、情報用入力モジュール３３と、情報用出力モジュール３４で構成される。
本実施の形態例では、各入出力モジュール３１、３２、３３、３４は、情報用及び制御用、並びに入力及び出力を分離して記述しているが、この形態にとらわれず、通常用いられる技術を用いて適宜情報用入出力及び制御用入出力を選択するようにしてもよい。
【００３１】
次に、図１Ｂに示すように、コントローラ１の内部で実行されるソフトウェア５は、ＯＳ（Operating System）５１と、ＯＳ５１上で動作するアプリケーション５２とで構成されている。ソフトウェア５は、制御用処理部５４と、情報用処理部５５と、割込管理部５３で構成される。
【００３２】
この制御用処理部５４及び情報用処理部５５は、アプリケーション５２により実行される機能部である。また、割込管理部５３は、ＯＳ５１により実行される機能部である。
制御用処理部５４は、制御用アプリケーションタスク群である制御用タスクスケジューラ６６、制御用タスク６７−１〜制御用タスク６７−ｎと、制御用タスク切替処理部５６、制御用カーネルサービス部６０とで構成される。
【００３３】
制御用タスクスケジューラ６６は、制御用タスク６７−１〜制御用タスク６７−ｎに対して、起動のトリガを与えると共に、制御用タスク６７−１〜制御用タスク６７−ｎの実行中に後述する情報用タスクの他の処理からの割込みをさせないでシーケンシャルに動くようにスケジューリングする。
【００３４】
制御用カーネルサービス部６０は、制御用タイマ２３を管理する制御用タイマ管理部５７と、制御用メモリ２０を管理する制御用メモリ管理部５８と、制御用入力モジュール３１と制御用出力モジュール３２を管理する制御用ＩＯ管理部５９から構成される。
【００３５】
本実施の形態例では、制御用処理部５４は、制御用タスク６７−１〜制御用タスク６７−ｎ間のプリエンプションを禁止している。これにより、制御用タスク６７−１〜制御用タスク６７−ｎの切替によるオーバヘッドの短縮化、制御用タスク６７−１〜制御用タスク６７−ｎの制御周期の一定化を図っている。
【００３６】
ここでは、制御用タスク切替処理部５６が、上記プリエンプションの禁止を実行している。すなわち、制御用タスク切替処理部５６は、デフォルトで制御用タスク６７−１〜制御用タスク６７−ｎの優先度を単一に設定している。
【００３７】
このように制御用タスク６７−１〜制御用タスク６７−ｎ間では割り込みができないので、優先度に応じたタスクの実行や、タスクの実行待ちをなくすことができる。
また、割込管理部５３は、後述する情報用タスクの割り込みをマスクし、情報用タスクに対する制御用タスク６７−１〜制御用タスク６７−ｎの割り込みのみを許可する。
【００３８】
また、制御用タスク切替処理部５６は、ＩＯバスインターフェース部１５、メモリバスインターフェース部１６、タイマ部１７、その他ハードウェアからの割込を禁止し、割込処理による制御用タスク６７−１〜制御用タスク６７−ｎの中断を抑止している。
【００３９】
また、情報用処理部５５は、情報用アプリケーションタスク群である情報用タスクスケジューラ６８、情報用タスク６９−１〜情報用タスク６９−ｎと、情報用タスク切替処理部６１、情報用カーネルサービス部６５とで構成される。
【００４０】
情報用カーネルサービス部６５は、制御用タイマ２４と情報用タイマ２５を管理する情報用タイマ管理部６２と、情報用メモリ１９を管理する情報用メモリ管理部６３と、情報用入力モジュール３３と情報用出力モジュール３４を管理する情報用ＩＯ管理部６４から構成される。
【００４１】
本実施の形態例では、情報用処理部５５は、情報用メモリ１９と、情報用入力モジュール３３と、情報用出力モジュール３４を使用するように構成している。また、制御用処理部５４は、制御用メモリ２０と、制御用入力モジュール３１と、制御用出力モジュール３２を使用するように構成している。
【００４２】
従って、情報用処理部５５と制御用処理部５４が競合したり、互いに影響を与えることはない。このように、アプリケーション５２とＯＳ５１を情報用と制御用で縦割りにし、さらに入出力モジュールを別に構成して、リソースを分けるようにした。これにより、情報用メモリ１９と制御用メモリ２０は互いに同時にアクセス不可のため、互いの処理に影響を与えないようにすることができる。
【００４３】
また、情報用処理部５５では、ＩＯバスインターフェース部１５、メモリバスインターフェース部１６、タイマ部１７、その他ハードウェアからの割込を許可し、外部デバイスからの割込によるイベント処理をサポートしている。
【００４４】
また、情報用アプリケーションタスク群は、プリエンプション可能で、優先度の高い情報用タスク６９−１〜情報用タスク６９−ｎが、優先度の同じ又は低い情報用タスク６９−１〜情報用タスク６９−ｎに割込んで処理を行うことができる。
【００４５】
すなわち、情報用タイマ管理部６２が情報用タスク切替処理部６１に割込タイミングを通知し、情報用タスク切替処理部６１が情報用タスク６９−１〜情報用タスク６９−ｎの優先レベルを比較して、優先度に応じた割込処理を行う。
【００４６】
ここで、情報用タスク切替処理部６１は、デフォルトで情報用タスク６９−１〜情報用タスク６９−ｎの優先度を設定している。
また、情報用タスク６９−１〜情報用タスク６９−ｎ間で割り込みを実行可能にしているのは、情報用タスク６９−１〜情報用タスク６９−ｎが汎用のものであるため、通常の割込処理を実行してもよいためである。
【００４７】
ソフトウェア５は、マイクロプロセッサ１１の動作モードの観点で分類すると、特権モードで動作するＯＳ５１と、ユーザモードで動作するアプリケーション５２に分類される。ＯＳ５１の特権モードとは、ユーザモードの優先度の高いアプリケーション５２から分離していることを示す。
【００４８】
ＯＳ５１は、制御用処理部５４に属する制御用タスク切替処理部５６及び制御用カーネルサービス部６０と、情報用処理部５５に属する情報用タスク切替処理部６１及び情報用カーネルサービス部６５と、割込管理部５３で構成される。
【００４９】
アプリケーション５２は、制御用処理部５４に属する制御用タスクスケジューラ６６及び制御用タスク６６−１〜６６−ｎと、情報用処理部５５に属する情報用タスクスケジューラ６８及び情報用タスク６９−１〜６９−ｎで構成される。
【００５０】
次に、制御用処理部５４と情報用処理部５５の動作切替を、図２に示す状態遷移図及び図３に示すタイミングチャート、図４から図７の処理のフローチャートを用いて説明する。
以下、本発明の実施の形態例である制御装置のソフトウェアの動作について図２で示した状態遷移図を用いて概略説明を行う。
【００５１】
図２は、実施に係る制御装置のソフトウェアの状態遷移図である。
まず、制御用処理部５４の状態遷移を説明する。
図２において、制御用タイマ２４による割込が発生すると、制御用処理部５４は、制御用処理開始状態に移行する（ステップＳ１）。ステップＳ１の制御用処理開始状態は、情報用処理部５５の処理状態（ステップＳ５〜ステップＳ１１）を経由して再び制御用処理部５４に移行される。
【００５２】
図１に示す制御タスクスケジューラ６６の起動処理が行われると、ステップＳ１の制御用処理開始状態から、制御用カーネルサービス部６０の処理（ステップＳ２）を経由して制御タスク切替処理部５６に制御状態に処理が移行される（ステップＳ３）。ステップＳ３の制御用タスク切替処理部５６の処理状態は、情報用処理部５５の停止状態である。
【００５３】
そして、制御タスクスケジューラ６６に対して起動要求があると、ステップＳ３の制御用タスク切替処理部５６の処理状態から、制御用アプリケーションタスク群（６６、６７−１、６７−２）による制御用タスクの実行中状態（ステップＳ４）に移行する。
【００５４】
以降、ステップＳ２の制御用カーネルサービス部６０の実行中状態、ステップＳ３の制御タスク切替処理部５６の実行中状態、ステップＳ４の制御用アプリケーションタスク群（６６、６７−１、６７−２）の実行中状態の３つの状態間を遷移する。
【００５５】
ここで、ステップＳ４の実行中の制御用アプリケーションタスク群（６６、６７−１、６７−２）の状態がすべて終了して、図１に示す制御タスクスケジューラ６６に対して起動要求がなくなると、制御用処理部５４の状態を終了して情報用処理部５５に移行する。
【００５６】
すなわち、制御用タスクの起動要求がなくなると、制御用処理部５４のステップＳ３の制御用タスク切替処理部５６の処理状態から、情報用処理部５５の情報用ＩＯの再開状態に移行する（ステップＳ５）。
【００５７】
ステップＳ５の情報用ＩＯの再開状態では、情報用タスクリジュームを行う。情報用タスクリジュームとは再開処理を示す。ここで、再開処理は、制御用タイマ２４による割込発生のために中断した処理状態（ステップＳ５〜ステップＳ１１）のタスクから再開する。
【００５８】
以降、ステップＳ５の情報用ＩＯの再開状態から、情報用カーネルサービス部６５の実行中状態（ステップＳ７）、情報用タスク切替処理部６１の実行中状態（ステップＳ８）、情報用アプリケーションタスク群の情報用タスクの実行中状態（ステップＳ９）の３つの状態を遷移する。
【００５９】
全ての情報用アプリケーションタスク群の実行が終了し、図１に示した情報用タスク切替処理部６１が、実行する情報用アプリケーションタスク群（６８、６９−１〜６９−５）がないと判定した場合、情報用タスクアイドル状態に移行する（ステップＳ１１）。
【００６０】
すなわち、情報用タスクの起動要求がないとき、ステップＳ８の情報用タスク切替処理部６１の処理状態から、情報用タスクアイドル状態に移行する（ステップＳ１１）。また、情報用タスクの起動要求があるとき、ステップＳ８の情報用タスク切替処理部６１の処理状態から、ステップＳ９の情報用アプリケーションタスク群の情報用タスクの実行中状態に移行する。
【００６１】
その後、情報用タイマ２５による割込が発生すると、図１に示した割込管理部５３は、情報用処理部５５に割込を通知する。そして、情報用処理部５５は、情報用処理開始状態に移行する（ステップＳ６）。ステップＳ６の情報用処理開始状態は、情報用処理部５５の各処理状態（ステップＳ５〜ステップＳ１１）の開始状態を示す。
【００６２】
ステップＳ６の情報用処理開始状態では、図１に示した情報用タスクスケジューラ６８の起動処理を行い、ステップＳ８の情報用タスク切替処理部６１に処理状態の制御を移す。ここでは、ステップＳ６の情報用処理開始状態から、ステップＳ７の情報用カーネルサービス部の処理状態を経由して、ステップＳ８の情報用タスク切替処理部６１の処理状態へ移行する。
【００６３】
また、制御用タイマ２３による割込が発生すると、図１に示した割込管理部５３は、情報用処理部５５に割込を通知する。このとき、情報用処理部５５は、情報用タスクサスペンド状態に遷移する（ステップＳ１０）。情報用タスクサスペンド状態では、全Ｉ／Ｏは停止状態である。
【００６４】
すなわち、制御用タイマ２３は、制御用タイマ２３による割込が発生すると、その後に、制御用タイマ２４による割込が発生するという、いわゆる予告タイマの働きをしている。
ここでは、ステップＳ１０の情報用タスクサスペンド状態から、ステップＳ７の情報用カーネルサービス部６５の処理状態、ステップＳ８の情報用タスク切替処理部６１の処理状態を経由して、ステップＳ１１の情報用タスクアイドル状態へ移行する。
【００６５】
次に、図２に示したタイマ部１７、割り込み管理部５３、制御用処理部５４及び情報用処理部５５のソフトウェアの動作について、図３で示したタイミングチャートを用いて各部の動作説明を行う。
図３Ａはタイマ部１７、図３Ｂは割込管理部５３、図３Ｃは制御用処理部５４、図３Ｄは情報用処理部５５のタイミングチャートを示している。
【００６６】
本実施の形態例では、図３Ａに示す制御用タイマ２４が、一番優先順位が高く、次に制御用タイマ２３の優先度が高い。情報用タイマ２５は前記制御用タイマ２３及び制御用タイマ２４より優先度を低く設定する。
【００６７】
また、設定時間は、図３Ａに示す制御用タイマ２３、制御用タイマ２４、情報用タイマ２５が同じ時間間隔Ｔ１で割込を発生させ、発生順番は、制御用タイマ２３、制御用タイマ２４、情報用タイマ２５の順番とする。
【００６８】
本実施の形態例では、図３Ｂに示す制御用アプリケーションタスク群は、制御用タスクスケジューラ６６と、制御用タスクが６７−１〜６７−２の２つの例を示す。制御用アプリケーションタスク群は全て同一の優先順位を持ち、制御用タスクスケジューラ６６、制御用タスク６７−１、制御用タスク６７−２が順番に実行される。
【００６９】
また、図３Ｃに示す情報用アプリケーションタスク群は、情報用タスクスケジューラ６８と、情報用タスクが６９−１〜６９−５の５つの例を示す。情報用アプリケーションタスク群は、情報用タスクスケジューラ６８、情報用タスク６９−１、情報用タスク６９−２、情報用タスク６９−３、情報用タスク６９−４、情報用タスク６９−５の順に優先順位が低くなる。
【００７０】
また、優先度の高い情報用アプリケーションタスクは、優先度の低い情報用アプリケーションタスクに割込んで実行される。また、情報用タスク６９−１、情報用タスク６９−２、情報用タスク６９−３、情報用タスク６９−４、情報用タスク６９−５は、それぞれ独立な起動周期を持ち、その起動周期は、情報用タスクスケジューラ６８の整数倍となる。
【００７１】
図３Ａに示すように、ｔ１−１時点で制御用タイマ２３による割込が発生すると、割込管理部５３は、図３Ｂに示すように、ｔ２−１時点で情報用処理部５５に割込を通知する。
この状態では、情報用処理部５５は、図２に示すステップＳ１０の状態に遷移する。図２に示すステップＳ１０の状態では、情報用タスクはサスペンド状態、全Ｉ／Ｏは停止状態である。
【００７２】
また、図３Ｄに示すように、ｔ２−１時点で情報用タスク６９−３がサスペンドした後に、図３Ａに示すように、ｔ３−１時点で制御用タイマ２４による割込が発生する。ここで、割込管理部５３は、図３Ｃに示すように、ｔ４−１時点で制御用処理部５４に割込を通知する。この状態では、制御用処理部５４は、図２に示すステップＳ１の制御用処理開始状態に移行する。
【００７３】
すなわち、制御用タイマ２４の割込により、図３Ｃに示すように、制御用処理部５４では、ｔ４−１時点で制御用タスクスケジューラ６６及び制御用タスク６７−１〜６７−２が連続して実行され、ｔ５−１時点で終了する。
【００７４】
その後、図３Ａに示すように、ｔ６−１時点で情報用タイマ２５による割込が発生すると、割込管理部５３は、図３Ｃに示すように、ｔ７−１時点で情報用処理部５５に割込を通知する。この状態では、図２に示すように、情報用処理部５５は、ステップＳ６の情報用処理開始状態に移行する。
【００７５】
そこで、図３Ｄに示すように、情報用タスクスケジューラ６８及び情報用タスク６９−１、情報用タスク６９−３、情報用タスク６９−５が実行される。全ての情報用アプリケーションタスク群の実行が終了すると、アイドル状態に移行する。この状態は、図２に示すステップＳ１１の状態である。
【００７６】
本実施の形態例では、図３Ｄに示すように、最初に実行される情報用アプリケーションタスクは、最も優先度の高い情報用タスクスケジューラ６８となる。情報用タスクスケジューラ６８は、情報用タスク６９−１〜情報用タスク６９−ｎの起動にトリガを与える。
【００７７】
図３Ｄに示すように、情報用タスクスケジューラ６８は、情報用タスク６９−１〜６９−５のうち、起動周期が来たものに対し、図１に示した起動要求を情報用カーネルサービス部６５に発行し、処理を終了する。
【００７８】
そして、情報用タスクスケジューラ６８の終了後、再び、図２に示すように、ステップＳ８の情報用タスク切替処理部６１の処理状態に制御が移行し、起動要求が発行された情報用タスク（６９−１〜６９−５）が実行される。
【００７９】
以下、同様にして、ソフトウェアの動作が実行され、図３Ａに示すように、ｔ１−ｎ時点で制御用タイマ２３による割込が発生すると、割込管理部５３は、図３Ｂに示すように、ｔ２−ｎ時点で情報用処理部５５に割込を通知する。
【００８０】
図３Ｄに示すように、ｔ２−ｎ時点で情報用タスク６９−５がサスペンドした後に、図３Ａに示すように、ｔ３−ｎ時点で制御用タイマ２４による割込が発生する。ここで、割込管理部５３は、図３Ｃに示すように、ｔ４−ｎ時点で制御用処理部５４に割込を通知する。
【００８１】
すなわち、制御用タイマ２４の割込により、図３Ｃに示すように、制御用処理部５４では、ｔ４−ｎ時点で制御用タスクスケジューラ６６及び制御用タスク６７−１〜６７−２が連続して実行され、ｔ５−ｎ時点で終了する。
【００８２】
その後、図３Ａに示すように、ｔ６−ｎ時点で情報用タイマ２５による割込が発生すると、割込管理部５３は、図３Ｃに示すように、ｔ７−ｎ時点で情報用処理部５５に割込を通知する。
【００８３】
そこで、図３Ｄに示すように、情報用処理部５５では、情報用タスクスケジューラ６８及び情報用タスク６９−１、情報用タスク６９−５が実行される。全ての情報用アプリケーションタスク群の実行が終了すると、アイドル状態に移行する。
【００８４】
以降、図３Ａに示すように、制御用タイマ２４、制御用タイマ２３、情報用タイマ２５の割込がＴ１経過ごとに発生し、図３Ｄ及び図３Ｃに示すように、情報用処理部５５と制御用処理部５４の動作切替が繰り返され、図３Ｃに示す制御用処理部５４が一定周期で、常に優先されて実行される。
【００８５】
次に、ソフトウェアの各処理手順のフローチャートを説明する。
図４にソフトウェアの制御用タイマ２４の割込発生時の処理手順を示すフローチャートを示す。図４において、制御用タイマ２４の割込があると、ソフトウェア５は、図１に示した制御用タスクスケジューラ６６を起動する（ステップＳ２１）。次に、ソフトウェア５は、制御用タスクの起動要求があるか否かを判断する（ステップＳ２２）。
【００８６】
判断ステップＳ２２で、制御用タスクの起動要求があるときは、制御用タスクを実行して（ステップＳ２３）、ステップＳ２２へ戻って、制御用タスクの起動要求がなくなるまでステップＳ２２とステップＳ２３の判断及び処理を繰り返す。
【００８７】
そして、判断ステップＳ２２で、制御用タスクの起動要求がなくなったときは、処理を終了する。すなわち、図１に示した制御タスク切替処理部５６が起動すべき制御用アプリケーションタスクが無いと判定した場合、制御用処理部５４を終了する。
【００８８】
上述した図４に示す制御タスクスケジューラ６６の起動処理（ステップＳ２１）は、図２に示すステップＳ１の制御用処理開始状態から、ステップＳ３の制御タスク切替処理部５６に制御状態に処理を移す状態である。
【００８９】
そして、判断ステップＳ２２で、起動すべき制御用アプリケーションタスクが存在すると判定した場合は、制御タスク切替処理部５６は、制御用アプリケーションタスクに実行を移す（ステップＳ２３）。この状態は、図２のステップＳ３の制御用タスク切替処理部５６の処理から、ステップＳ４の制御用タスクの処理状態に移行する状態である。
【００９０】
以降、図２に示すように、ステップＳ２の制御用カーネルサービス部６０の実行中状態、ステップＳ３の制御タスク切替処理部５６の実行中状態、ステップＳ４の制御用アプリケーションタスク群（６６、６７−１、６７−２）の実行中状態の３つの状態間を遷移する。
【００９１】
本実施の形態例では、最初に実行される制御用アプリケーションタスクは、図１に示した制御タスクスケジューラ６６となる。制御用タスクスケジューラ６６は、制御用タスク６７−１〜制御用タスク６７−ｎと対等の関係で、制御用タスク６７−１〜制御用タスク６７−ｎの起動にトリガを与える。
【００９２】
図１に示した制御用タスクスケジューラ６６は、制御タスク６７−１、制御タスク６７−２の順番に起動要求を制御用カーネルサービス部６０に発行し、処理を終了する。
制御用タスクスケジューラ６６の処理終了後、再び、制御用タスク切替処理部５６に処理が移行し、制御用タスク６７−１、制御用タスク６７−２の順番に実行される。制御用タスクスケジューラ６６によって、同じ周期で制御用タスク６７−１〜制御用タスク６７−ｎの処理が決められている。全ての制御用アプリケーションタスク群（６６、６７−１、６７−２）の実行が終了すると、情報用処理部５５に処理を移行する。
【００９３】
その後、情報用タイマ２５による割込が発生すると、割込管理部５３は、情報用処理部５５に割込を通知する。情報用処理部５５は情報用アプリケーションタスク群の実行をする。
【００９４】
図５は、ソフトウェアの情報用タイマ２５の割込発生時の処理手順を説明するためのフローチャートである。
図５に示すように、図１に示すソフトウェア５は、情報用タイマ２５の割込が発生すると、情報用タスクスケジューラを起動させる（ステップＳ２４）。
【００９５】
次に、新規情報用タスクの起動要求があるか否かを判断する（ステップＳ２５）。判断ステップＳ２５で、図１に示した情報用タスク切替処理部６１が、起動すべき新規情報用タスクが存在すると判定した場合は、続いて、実行中の情報用タスクの存在があるかどうかを判断する（ステップＳ２６）。ステップＳ２５で新規情報用タスクとは、ステップＳ２４で要求があったタスクをいう。
【００９６】
次に、ステップＳ２６で、図１のソフトウェア５が実行中の情報用タスクが存在すると判定した場合は、新規情報用タスクの優先度と実行中情報用タスクの優先度を比較し、最も高い優先度を持つ情報用タスクであるか否かを判断する（ステップＳ２７）。そして、最優先のタスクを実行する（ステップＳ２８）。ステップＳ２６の実行中の情報用タスクとは、割込み前のタスクをいう。
【００９７】
判断ステップＳ２６で、実行中の情報用タスクがないとき、及び判断ステップＳ２７で、最優先タスクでないときは、新規情報用タスクを実行する（ステップＳ２９）。すなわち、ソフトウェア５は、実行中の情報用タスクを実行するか、又は、新規情報用タスクのいずれかを実行する。
【００９８】
ソフトウェア５は、実行中の情報用タスクが存在しないと判定した場合は（ステップＳ２６）、新規情報用タスクを実行する（ステップＳ２９）。ステップＳ２８又はステップＳ２９の終了後は、再び、ステップＳ２５に戻る。
【００９９】
判断ステップＳ２５で、ソフトウェア５が新規情報用アプリケーションタスクの起動要求が無いと判定した場合は、実行中の情報用アプリケーションタスクをチェックする（ステップＳ３０）。そして、実行中の情報用アプリケーションタスクがあれば、実行中の情報用アプリケーションタスクを実行する（ステップＳ３１）。ステップＳ３１が終了した場合、再び、ステップＳ２５に戻る。
【０１００】
ステップＳ３０で、実行中の情報用アプリケーションタスクが無いと判断された場合は、処理を終了する。この状態は、図２に示すステップＳ１１の情報用タスクのアイドル状態に移行する状態である。
【０１０１】
この図５に示す動作は、情報用処理部５５が、図２で示したステップＳ６の情報用処理開始状態に移行する状態である。
また、図５に示す情報用タスクスケジューラ６８の起動処理（ステップＳ２４）は、図２に示したステップＳ６の情報用処理開始状態から、ステップＳ８の情報用タスク切替処理部６１に制御を移す処理状態である。ここでは、図２に示したステップＳ６の情報用処理開始状態から、ステップＳ７の情報用カーネルサービス部の処理状態を経由して、ステップＳ８の情報用タスク切替処理部６１の処理状態へ移行する。
【０１０２】
以降、図２に示すように、ステップＳ７の情報用カーネルサービス部６５の実行中状態、ステップＳ８の情報用タスク切替処理部６１の実行中状態、ステップＳ９の情報用アプリケーションタスク群（６８、６９−１〜６９−５）の実行中状態の３つの状態間を遷移する。  
【０１０３】
本実施の形態例では、最初に実行される情報用アプリケーションタスクは、最も優先度の高い情報用タスクスケジューラ６８となる。情報用タスクスケジューラ６８は、情報用タスク６９−１〜情報用タスク６９−ｎの起動にトリガを与える。
【０１０４】
図１に示した情報用タスクスケジューラ６８は、情報用タスク６９−１〜６９−５のうち、起動周期が来たものに対し、起動要求を情報用カーネルサービス部６５に発行し、処理を終了する。
情報用タスクスケジューラ６８の終了後、再び、情報用タスク切替処理部６１の処理状態に制御が移行し、起動要求が発行された情報用タスク（６９−１〜６９−５）が実行される。
【０１０５】
図６は、ソフトウェアの制御用タイマ２３の割込発生時の処理手順を説明するためのフローチャートである。図６に示すように、制御用タイマ２３の割込があると、ソフトウェア５は、Ｉ／Ｏを停止する（ステップＳ３２）。次に、ソフトウェア５は、実行中の情報用タスクがあるか否かを判断する（ステップＳ３３）。
【０１０６】
判断ステップＳ３３で、実行中の情報用タスクがあると判断されると、情報用タスクをサスペンドして（ステップＳ３４）、ステップＳ３３へ戻り、実行中の情報用タスクがなくなるまでステップＳ３３とステップＳ３４の判断及び処理を繰り返す。
【０１０７】
このように、図６に示す動作中の情報用ＩＯの停止処理し（ステップＳ３２）、現在動作中の情報用アプリケーションタスクが存在するかどうか判定する処理（ステップＳ３３）は、図２に示すステップＳ１０の情報用タスクサスペンドの状態である。
【０１０８】
そして、動作中の情報用アプリケーションタスクが存在すれば情報用タスクの中断処理を行い（ステップＳ３４）、無ければ処理を終了する。この状態では、情報用処理部５５は、図２に示す情報用タスクアイドル状態のステップＳ１１に移行する。
【０１０９】
すなわち、図２において、ステップＳ１０の情報用ＩＯの停止状態から、ステップＳ７の情報用カーネルサービス部６５の処理、ステップＳ８の情報用タスク切替処理部６１の処理を経由して、ステップＳ１１の情報用タスクアイドルの状態に移行する。
【０１１０】
図６に示したステップＳ３４の情報用タスクをサスペンドする中断要求処理は、具体的には、ソフトウェア５が情報用カーネルサービス部６５に対してコマンドを発行し、情報用タスク切替処理部６１が情報用アプリケーションタスクの中断処理を行うことにより実行される。
【０１１１】
図７は、ソフトウェアの制御用処理部５４から情報用処理部５５へ移行する際の処理手順を説明するためのフローチャートである。
図７に示すように、図１のソフトウェア５は、Ｉ／Ｏを再開する（ステップＳ３５）。次に、ソフトウェア５は、サスペンド中の情報用タスクがあるか否かを判断する（ステップＳ３６）。
判断ステップＳ３６で、サスペンド中の情報用タスクがあるときは、情報用タスクをリジュームして（ステップＳ３７）、ステップＳ３６へ戻り、サスペンド中の情報用タスクがなくなるまでステップＳ３６とステップＳ３７の判断及び処理を繰り返す。
【０１１２】
判断ステップＳ３６で、その存在が認識されたサスペンド中（中断している）の情報用アプリケーションタスクは、図６のステップＳ３４で情報用タスクサスペンドしたものである。また、図７のステップＳ３７に示す情報用タスクリジュームとは再開処理を示す。ここで、再開処理は中断したタスクから再開する。従って、中断はタスク単位で行われる。
【０１１３】
すなわち、ソフトウェア５は、全ての情報用アプリケーションタスクに対して情報用タスクリジュームを行い、中断中の情報用アプリケーションタスクが無い場合、ステップＳ３８の実行中の情報用タスクの存在判断に進む。
【０１１４】
次に、ソフトウェア５は、実行中の情報用タスクがあるか否かを判断する（ステップＳ３８）。実行中の情報用タスクとは、ステップＳ３７のリジュームがなければ実行すべきであったタスクを示す。
【０１１５】
ソフトウェア５は、判断ステップＳ３８で、実行中の情報用アプリケーションタスクが存在すると判断した場合、タスクの優先度をチェックする（ステップＳ３９）。
判断ステップＳ３９で最優先タスクであると判断されると、実行中の情報用アプリケーションタスクを実行する（ステップＳ４０）。そして、その後ステップＳ３８に戻る。ステップＳ３９で、最優先タスクでないと判定された場合は、何もせずステップＳ３８に戻る。最優先タスクとは、切替を行うべき最も優先度の高いタスクをいう。
【０１１６】
そして、全ての情報用アプリケーションタスクの実行が終了し、ステップＳ３８で、情報用タスク切替処理部６１が、実行する情報用アプリケーションタスク（６８、６９−１〜６９−５）がないと判定した場合は、処理を終了する。
【０１１７】
図７に示す動作は、図２に示す制御用タスクの起動要求があった場合に、情報用処理部５５でステップＳ５の情報用ＩＯの再開状態に移行する状態である。すなわち、図７に示す、ステップＳ３５の中断したＩＯの再開処理、ステップＳ３６の中断中の情報用アプリケーションタスクの存在判断、ステップＳ３７の情報用アプリケーションタスクの再開処理は、図２に示したステップＳ５の情報用ＩＯを再開する状態である。
【０１１８】
以降、図２に示すように、ステップＳ５の情報用ＩＯの再開状態から、ステップＳ７の情報用カーネルサービス部６５の実行中状態、ステップＳ８の情報用タスク切替処理部６１の実行中状態、ステップＳ９の情報用アプリケーションタスクの実行中状態の３つの状態を遷移する。
【０１１９】
なお、ステップＳ３８の実行する情報用アプリケーションタスク（６８、６９−１〜６９−５）がないと判定した状態は、図２に示したステップＳ１１のアイドル状態に移行する状態である。
【０１２０】
［他の実施形態］
次に、本発明の他の実施の形態を説明する。
他の実施形態は、タイマの励起の度に、情報用処理部５５と制御用処理部５４を時分割で切り替える例を示すものである。
【０１２１】
他の実施形態について図８の他の制御装置を例にして説明する。図１に対応する部分には同一の符号を付して、説明を省略する。
本実施の形態例では、図１に示した実施形態１に対し、タイマ部１７に情報用タイマ２６を追加して、制御用タイマ２４を削除している。
【０１２２】
また、制御用処理部５４と、情報用処理部５５は、図１に示した実施形態１と違い両者の関係が同等であり、制御用タイマ２３の励起の度に、制御用処理部５４と、情報用処理部５５が交互に切り替わる構成である。
【０１２３】
図９、図１０は、本発明の他の実施形態に対応する状態遷移図と、タイミングチャートである。
まず、図９に示す状態遷移図について説明する。
図９に示すように、図２に示した実施形態に対して、制御用処理部５４の状態に、ステップＳ１２の制御用タスクリジュームの状態と、ステップＳ１３の制御用タスクアイドルの状態が追加されている。
【０１２４】
図２に示した実施形態１では、制御用処理部５４の処理が終了した場合、情報用処理部５５に切り替わっていたが、本実施の形態例では、制御用処理部５４の制御アプリケーションタスクの終了後はステップＳ１３のアイドル状態に留まる点が異なる。
制御用処理部５４のステップＳ１３のアイドル状態は、情報用処理部５５のステップＳ１１のアイドル状態と、対等な関係である。
【０１２５】
また、制御用タイマ２３の励起により、制御用処理部５４が再開された場合、情報用処理部５５と同様に中断されていた制御アプリケーションタスクを再開する処理を行うため、ステップＳ１２の制御用タスクリジュームの状態が追加されている点が異なる。
【０１２６】
制御用処理部５４のステップＳ１２の制御用タスクリジューム状態は、情報用処理部５５のステップＳ５の情報用タスクリジューム状態と、対等な関係である。
再開処理は中断したタスクから再開する。また、中断はタスク単位である。
【０１２７】
次に、図１０に示すタイミングチャートについて説明する。
図１０Ａに示すように、制御用タイマ２３の励起は周期Ｔ１毎に発生し、制御用処理部５４と、情報用処理部５５が時分割で切り替わる。
【０１２８】
情報用タイマ２５と、情報用タイマ２６は、２Ｔ１の周期で励起する。情報用タイマ２５は、図１０Ｃに示すように、制御用処理部５４の実行中に発生し、情報用タイマ２６は、図１０Ｄに示すように、情報用処理部５５の実行中に発生する。従って、情報用タイマ２５と、情報用タイマ２６は、対等な関係である。
【０１２９】
図１０Ａに示すように、ｔ１−１時点で制御用タイマ２３による割込が発生すると、割込管理部５３は、図１０Ｂに示すように、ｔ２−１時点で情報用処理部５５に割込を通知する。
【０１３０】
図１０Ｄに示すように、情報用処理部５５は、情報用タスク６９−３を中断する。タスクの実行が中断すると、図１０Ｃに示すように、制御用処理部５４のアイドル状態に移行する。
この状態では、情報用処理部５５は、図９に示すステップＳ１３の状態に遷移する。図９に示すステップＳ１３の状態では、制御用タスクアイドル状態である。
【０１３１】
図１０Ｄに示すように、ｔ２−１時点で情報用タスク６９−３がサスペンドした後に、図１０Ａに示すように、ｔ３−１時点で情報用タイマ２５による割込が発生する。ここで、割込管理部５３は、図１０Ｃに示すように、ｔ４−１時点で制御用処理部５４に割込を通知する。
【０１３２】
この状態では、制御用処理部５４は、図９に示すステップＳ１の制御用処理開始状態に移行する。
又は、先に中断していた制御用タスクを再開する場合には、図９に示すように、ステップＳ１２の情報用タスクリジューム状態に移行する。
すなわち、図９に示すように、制御用処理部５４は、ステップＳ１２の制御用タスクリジュームの状態に移行する。
【０１３３】
そして、情報用タイマ２５の割込により、図１０Ｃに示すように、制御用処理部５４では、ｔ４−１時点で制御用タスクスケジューラ６６及び制御用タスク６７−１〜６７−２が連続して実行される。
【０１３４】
そして、図１０Ａに示すように、ｔ５−１時点で制御用タイマ２３による割込が発生すると、割込管理部５３は、図３Ｄに示すように、ｔ６−１時点で情報用処理部５５に割込を通知する。情報用処理部５５は、中断していた情報用タスク６９−３を再開して、終了する。
【０１３５】
この状態は、図９に示すように、ステップＳ５の情報用タスクリジューム状態である。
情報用タスク６９−３の実行が終了すると、アイドル状態に移行する。この状態は、図９に示すように、ステップＳ１１の情報用タスクアイドル状態である。
【０１３６】
その後、図１０Ａに示すように、ｔ７−１時点で情報用タイマ２６による割込が発生すると、割込管理部５３は、図３Ｄに示すように、ｔ８−１時点で情報用処理部５５に割込を通知する。この状態では、図９に示すように、情報用処理部５５は、ステップＳ６の情報用処理開始状態に移行する。
【０１３７】
そこで、図１０Ｄに示すように、情報用タスクスケジューラ６８及び情報用タスク６９−１、情報用タスク６９−５が実行される。全ての情報用アプリケーションタスク群の実行が終了すると、図１０Ｃに示すように、制御用処理部５４のアイドル状態に移行する。この状態では、情報用処理部５５は、図９に示すステップＳ１３の状態に遷移する。図９に示すステップＳ１３の状態では、制御用タスクアイドル状態である。
【０１３８】
図１０Ａに示すように、制御用タイマ２３の割込がＴ１経過ごとに発生し、情報用タイマ２５及び情報用タイマ２６の割込が２Ｔ１経過ごとに発生し、図１０Ｄ及び図１０Ｃに示すように、情報用処理部５５と制御用処理部５４の動作切替が時分割で繰り返されて実行される。
【０１３９】
図８に示した本発明の他の実施形態においても、図１に示した実施形態と同様に、図５に示した、情報用タイマ２５の割込発生時の制御用処理部５４の処理手順が実行される。また、同様に、図７に示した制御用処理部５４から情報処理部５５へ移行する際の処理手順も実行される。
【０１４０】
図１１は、図８に示した他の実施形態において、ソフトウェア５の情報用処理部５５から制御用処理部５４へ移行する際の処理手順を示したフローチャートである。
図１１は、制御用タイマ２３の励起時の図９に示したステップＳ１２の制御用タスクリジュームの状態から始まる制御用処理部５５の処理フローを示す。図１１は図１に示した実施形態に対して追加された処理であるため、以下に説明する。
【０１４１】
図１１に示すように、ソフトウェア５は、Ｉ／Ｏを再開する（ステップＳ４１）。次に、ソフトウェア５は、サスペンド中の制御用タスクがあるか否かを判断する（ステップＳ４２）。
判断ステップＳ４２で、サスペンド中の制御用タスクがあるときは、制御用タスクをリジュームして（ステップＳ４３）、ステップＳ４２へ戻って、サスペンド中の制御用タスクがなくなるまでステップＳ４２とステップＳ４３の判断及び処理を繰り返す。
【０１４２】
ソフトウェア５は、全ての制御用アプリケーションタスクに対して制御用タスクリジュームを行い（ステップＳ４３）、中断中の制御用アプリケーションタスクが無いと判断した場合（ステップＳ４２）、ステップＳ４４に進む。
【０１４３】
ここで、ソフトウェア５は、実行中の制御用タスクがあるか否かを判断する（ステップＳ４４）。実行中とは、ステップＳ４３のリジュームがなければ実行すべきであったタスクを示す。
【０１４４】
判断ステップＳ４２で、サスペンド中の制御用タスクがないときは、実行中の制御用タスクがあるか否かを判断する（ステップＳ４４）。
【０１４５】
判断ステップＳ４４で実行中の制御用タスクがあると判断されれば、実行中の制御用アプリケーションタスクの再開を実行したあとに（ステップＳ４５）、ステップＳ４４に戻る。そして、実行中の制御用タスクがなくなるまで、実行中の制御用アプリケーションタスクの再開を繰り返し、処理を終了する。
【０１４６】
上述したステップＳ４３の制御用タスクリジュームは、図９に示したステップＳ１２の制御用タスクリジュームの状態をいう。すなわち、図８に示したソフトウェア５が、中断したＩＯの再開処理（ステップＳ４１）を行い、中断している制御用タスクが存在する場合（ステップＳ４２）に、再開処理を行う（ステップＳ４３）状態である。
【０１４７】
以降、図９に示すように、ステップＳ２の制御用カーネルサービス部６０の実行中状態、ステップＳ３の制御用タスク切替処理部５６の実行中状態、ステップＳ４の制御用アプリケーションタスクの実行中状態の３つの状態を遷移する。
【０１４８】
全ての制御用アプリケーションタスクの実行が終了し、制御用タスク切替処理部５６が、ステップＳ４４で、実行する制御用アプリケーションタスク群（６６、６７−１〜６７−２）がないと判定した場合は、処理を終了する。この状態は、図９に示すように、ステップＳ１３の制御用タスクアイドル状態に移行する状態である。
【０１４９】
なお、上述した本実施の形態例に限らず、特許請求の範囲に記載された本発明の要旨を逸脱しない限り、適宜変更しうることは言うまでもない。
【図面の簡単な説明】
【０１５０】
【図１】本発明の実施形態に係る制御装置のハードウェア構成及びソフトウェア構成を示すブロック図である。図１Ａは、ハードウェア構成を示し、図１Ｂは、ソフトウェア構成を示すものである。
【図２】本発明の実施形態に係る制御装置のソフトウェアの状態遷移図である。
【図３】図２に示すソフトウェアの動作を示すタイミングチャートである。図３Ａはタイマ部１７、図３Ｂは割込管理部５３、図３Ｃは制御用処理部５４、図３Ｄは情報用処理部５５を示すものである。
【図４】ソフトウェアの制御用タイマ２４の割込発生時の処理手順を示すフローチャートである。
【図５】ソフトウェアの情報用タイマ２５の割込発生時の処理手順のフローチャートである。
【図６】ソフトウェアの制御用タイマ２３の割込発生時の処理手順を示すフローチャートである。
【図７】ソフトウェアの制御用処理部５４から情報用処理部５５へ移行する際の処理手順を示すフローチャートである。
【図８】本発明の他の実施に係る制御装置のハードウェア構成及びソフトウェア構成を示すブロック図である。図８Ａは、ハードウェア構成を示し、図８Ｂは、ソフトウェア構成を示すものである。
【図９】本発明の他の実施形態に係るソフトウェアの状態遷移図である。
【図１０】本発明の他の実施形態に係るソフトウェアの動作を示すタイミングチャートである。図１０Ａはタイマ部１７、図１０Ｂは割込管理部５３、図１０Ｃは制御用処理部５４、図１０Ｄは情報用処理部５５を示すものである。
【図１１】本発明の他の実施形態に係るソフトウェアの情報用処理部５５から制御用処理部５４へ移行する際の処理手順のフローチャートである。
【符号の説明】
【０１５１】
１…コントローラ、２…ＩＯバス、３…プロセス入出力装置、４…プロセス、５…ソフトウェア、１７…タイマ部、１８…割込制御部、２３…制御用タイマ１、２４…制御用タイマ２、２５…情報用タイマ、５３…割込管理部、５４…制御用処理部、５５…情報用処理部
【図１】
0005053109.tif 000002
【図２】
0005053109.tif 000003
【図３】
0005053109.tif 000004
【図４】
0005053109.tif 000005
【図５】
0005053109.tif 000006
【図６】
0005053109.tif 000007
【図７】
0005053109.tif 000008
【図８】
0005053109.tif 000009
【図９】
0005053109.tif 000010
【図１０】
0005053109.tif 000011
【図１１】
0005053109.tif 000012