(57)【要約】【課題】表示タスクの表示内容の大幅な変動があったときでも、所望する周期で処理を周期で実行するタスクスケジューリングの可能なタスクコントローラを提供する。【解決手段】タスクコントローラは、Ｎ（Ｎは２以上の正の整数）個の周期タスクを処理するコントロールにおいて、（Ｎ−１）個のタスクの周期を設定する周期設定手段と、すべてのタスクの処理時間を計時する処理計時手段と、設定された周期と計時された処理時間とから１個の基本周期と（Ｎ−１）個の制限時間を求める制限時間算出手段と、基本周期内にＮ個のタスクの処理をそれぞれに対応する制限時間に従って割り振るタスク管理手段とを備えた。【選択図】        図１
2004326679.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ（Ｎは２以上の正の整数）個の周期タスクを処理するタスクコントローラにおいて、
（Ｎ−１）個のタスクの周期を設定する周期設定手段と、
全てのタスクの処理時間を計時する処理計時手段と、
上記設定された周期と上記計時された処理時間とから１個の基本周期と（Ｎ−１）個の制限時間を求める制限時間算出手段と、
上記基本周期内に（Ｎ−１）個のタスクの処理をそれぞれに対応する制限時間に従って割り振るタスク管理手段とを備えたことを特徴とするタスクコントローラ。
【請求項２】
上記制限時間算出手段は、
周期を設定しないタスクの処理時間と周期の設定した（Ｎ−１）個のタスクから１個選択したタスクの周期及び処理時間とから周期を設定しないタスクの周期を求め、
この求めた周期を結合タスクの処理時間と見なし、結合タスクの処理時間と残ったタスクから選択した１個のタスクの周期及び処理時間とからこの結合タスクの周期を求め、
さらにこの結合タスクの周期を新たな結合タスクの処理時間と見なし、この新たな結合タスクの処理時間と残ったタスクから選択した１個のタスクの周期及び処理時間とから新たな結合タスクの周期を求めるようにしてすべてのタスクに関する結合タスクの周期を順次求め、
上記周期の設定しないタスクに関する周期および結合タスクの周期からそれぞれのタスクに係わる制限時間を求め、
最後に求めた結合タスクの周期を基本周期とすることを特徴とする請求項１に記載のタスクコントローラ。
【請求項３】
上記タスクは、表示タスクを含むことを特徴する請求項１または２に記載のタスクコントローラ。
【請求項４】
画面に表示する表示部品のデータから表示タスクの処理時間を算出する画面データ算出手段を備え、
上記制限時間算出手段は、上記設定された周期と上記画面算出手段で算出された処理時間とから基本周期と（Ｎ−１）個の制限時間とを求めることを特徴とする請求項３に記載のタスクコントローラ。
【請求項５】
上記画面データ算出手段は、画面の更新に必要な画面更新処理時間を表示タスクの処理時間に追加することを特徴とする請求項４に記載のタスクコントローラ。
【請求項６】
上記周期設定手段は、表示の重要性を示す値とあらかじめ決められた閾値との差に従って表示タスクの周期を変化させて設定することを特徴とする請求項３乃至５のいずれか一項に記載のタスクコントローラ。
【請求項７】
上記制限時間算出手段は、あらかじめ周期と処理時間とから求めた制限時間を含むテーブルを備えていることを特徴とする請求項１に記載のタスクコントローラ。
【請求項８】
上記周期の設定されないタスクは、制御タスクであることを特徴とする請求項１に記載のタスクコントローラ。
【請求項９】
上記周期設定手段は、制御タスクの周期を設定することを特徴とする請求項１に記載のタスクコントローラ。
【請求項１０】
（Ｎ−１）個のタスクのＣＰＵ使用率を設定する使用率設定手段を備え、
上記制限時間算出手段は、上記使用率設定手段で設定された使用率と上記計時された処理時間とから１個の基本周期と（Ｎ−１）個の制限時間とを求めることを特徴とする請求項１に記載のタスクコントローラ。
【請求項１１】
画面データ算出手段は、画面に表示する表示部品のデータから表示タスクのＣＰＵ使用率を算出することを特徴とする請求項１０に記載のタスクコントローラ。
【請求項１２】
上記タスク管理手段は、少なくとも１つの制限時間内に複数のタスクをラウンドロビンスケジューリングで割り振ることを特徴とする請求項１に記載のタスクコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数の周期タスクを１つのＣＰＵ上で実行するタスクコントローラに関し、特に表示タスクを含む複数の周期タスクを１つのＣＰＵ上で実行するタスクコントローラに関する。
【０００２】
【従来の技術】
従来のタスクコントローラにおいては、複数の周期性タスクを１つのＣＰＵ上で実行するスケジューリングは、動作中のタスクの実際の周期及び処理時問を計測し、そのタスクの実行に用いる周期、要求処理時間及び許容遅延時間を算出する。その結果、最適な周期、要求処理時問及び許容遅延時間が変化したタスクあるいは不明なタスクであっても、それぞれのタスクの実行に用いる最適な周期、要求処理時問および許容遅延時間を自動的に算出するようにしている（例えば、特許文献１参照。）。
【０００３】
また、周期処理が複数存在するリアルタイム処理装置において、制御上要求される最も高速の処理の周期を基本周期とし、基本周期内における時間的資源を時限タイマを使用することによりいくつかのタイムスロットに分割して割り当て、リアルタイム処理を実現する。各タイムスロットに割り当てる時間は、時限タイマを調節することにより変更可能である（例えば、特許文献２参照。）。
【０００４】
【特許文献１】
特開２０００−５６９８９号公報
【特許文献２】
特開２００１−２０２２５８号公報
【０００５】
【発明が解決しようとする課題】
しかし従来のタスクコントローラのタスクスケジューリング方法にあっては、最適な周期、要求処理及び許容遅延時間が得られるが、あるタスクの周期を動的に所望の値に設定もしくは変更することはできないという問題点があった。
【０００６】
また、周期処理が制御タスクおよび表示タスクからなる制御装置では、制御上要求される最も高速の処理は制御タスクであり、その制御タスクの周期を基本周期としている。表示タスクのように処理時間が数ｍｓｅｃから数百ｍｓｅｃまで表示内容で大幅に変動するタクスを基本周期内で割り振られたタイムスロットでの処理では、タイムリーに表示されていないという問題があった。
【０００７】
また、表示タスクの処理が大幅に遅れたときに、緊急に異常事態を表示しなければならなくなったときでも、表示できないといった問題があった。
【０００８】
この発明の目的は、表示タスクの表示内容の大幅な変動があったときでも、所望する周期で処理を周期で実行するタスクスケジューリングの可能なタスクコントローラを提供することである。
【０００９】
【課題を解決するための手段】
この発明に係るタスクコントローラは、Ｎ（Ｎは２以上の正の整数）個の周期タスクを処理するコントロールにおいて、（Ｎ−１）個のタスクの周期を設定する周期設定手段と、すべてのタスクの処理時間を計時する処理計時手段と、設定された周期と計時された処理時間とから１個の基本周期と（Ｎ−１）個の制限時間を求める制限時間算出手段と、基本周期内に（Ｎ−１）個のタスクの処理をそれぞれに対応する制限時間に従って割り振るタスク管理手段とを備えた。
【００１０】
【発明の実施の形態】
実施の形態１．
図１は、この発明の実施の形態１のタスクコントローラのブロック図である。図２は、表示タスクと制御タスクとを１つのＣＰＵで実行するタイムチャートである。図３は、図１のタスクコントローラのタスク管理のフローチャートである。図４は、タスクの割り振られたタイムチャートである。図５は、図１のタスクコントローラの制限時間などの算出のフローチャートである。図６は２つのタスクの割り振られたタイムチャートである。図７は表示タスクの処理時間が増加したときのタイムチャートである。
【００１１】
このタスクコントローラ１は、プラントなど制御対象機器２を制御する制御機能、その制御結果を表示機器３に表示する表示機能を備えている。これらの機能は、ＣＰＵ、ＲＡＭ、ＲＯＭおよびＩ／Ｏなどからなるコンピュータによって処理される。機能を実現するためにコンピュータで処理される演算処理をタスクと称し、制御機能、表示機能それぞれに対応するタスクを制御タスク、表示タスクと称す。タスクは、処理周期、処理周期内で処理に要する処理時間によって特性付けされる。コンピュータでの演算処理は主にＣＰＵで行われるので、あるタスクが処理されている割合をそのタスクのＣＰＵ使用率として表すことができる。
【００１２】
さらに、実施の形態１では、周期的に処理される複数のタスクがＣＰＵに割り当てられるマルチタスク処理に関し、制御対象機器２を常に制御しており、また表示機器３へその結果を表示することも周期的に発生している。リアルタイムに制御を行わなければならない制御タスクと、制御対象機器の制御結果などを表示機器に表示する表示タスクとを有している。制御タスクの処理時間はおおよそ一定であり、処理周期は出来る限り短くすることが必要である。一方、表示タスクの処理時間は表示画面の切換など表示内容の変化に伴い大きく変化する。
【００１３】
タスクコントローラ１は、タスクを処理するタスク処理手段４、複数のタスクの処理をＣＰＵに割り振るタスク管理手段５、計時して処理時間などを算出するタイマ手段６、タスクの処理に要した処理時間を計時する処理時間計時手段７、各タスクの周期を設定する周期設定手段８、制限時間を算出する制限時間算出手段９を備えている。タイマ手段６は、周期を計時する第一のタイマ手段１０、各タスクの処理時間を計時する第二のタイマ手段１１を備えている。
【００１４】
以下の説明において、ＴＤは表示タスクの周期、ＣＤは表示タスクの処理時間、ＲＤは表示タスクのＣＰＵ使用率を示す。また、ＴＣは制御タスクの周期、ＣＣは制御タスクの処理時問、ＲＣは制御タスクのＣＰＵ使用率である。
【００１５】
次に、タスク管理の基本について図２を参照して説明する。処理時間ＣＤ、ＣＣは、処理時間計時手段７でそれらの一周期処理完了毎に求められる。周期ＴＤ、ＴＣは、周期設定手段８でマニュアルまたは自動的に設定される。
【００１６】
図２の実線の部分は、各タスクがＣＰＵを使用している期間を表し、点線の部分はそのタスク以外のタスクがＣＰＵを占有している期間を表している。また、斜線の部分は、各タスクの１周期分の処理が終了したことを表している。
【００１７】
図２から分かるように、表示タスクのＣＰＵ使用率ＲＤと、制御タスクのＣＰＵ使用率ＲＣはそれぞれ式１、式２で表される。
【００１８】
ＲＤ＝ＣＣ÷ＴＤ                                  ・・・（１）
ＲＣ＝ＣＣ÷ＴＣ                                  ・・・（２）
【００１９】
タスクコントローラ１では、表示タスクと制御タスクのみを処理するので、制御タスクのＣＰＵ使用率ＲＣは式３で表される。
【００２０】
ＲＣ＝１−ＲＤ                                    ・・・（３）
【００２１】
ゆえに、制御タスクの周期ＴＣは、式１、式２、式３から式４で求められる。
【００２２】
ＴＣ＝ＣＣ÷（１−ＲＤ）＝ＣＣ÷（１−ＣＤ÷ＴＤ）    ・・・（４）
【００２３】
この式４の中で、処理時間ＣＣとＣＤは、事前に求められているので、一方のタスク、例えば表示タスクの周期ＴＤを設定することで制御タスクの周期ＴＣを求めることができる。
【００２４】
次に、タスク管理処理を図３、図４を参照しながら説明する。タスク管理手段５は、一番最近完了した表示タスクの処理の完了を検知し、新たにＳ（以下、Ｓと略称する。）１０１で、後述する制限時間算出手段９は、基本周期と制限時間２とを算出する。Ｓ１０２では、第一のタイマ手段１０は、計時を開始する。Ｓ１０３で、第二のタイマ手段１１は、計時を開始する。Ｓ１０４で、タスク処理手段４は、表示タスクの処理を行う。Ｓ１０５で、第二のタイマ手段１１は、計時した時間が制限時間２に達したか判断し、達していないときはＳ１０４へ戻り、達したときは、Ｓ１０６へ進む。Ｓ１０６で、タスク処理手段４は、表示タスクの処理を一時停止する。Ｓ１０７で、タスク処理手段４は、制御タスクの処理を行う。Ｓ１０９で、第一のタイマ手段１０は、計時した時間が基本周期に達したか判断し、達していないときはＳ１０７へ戻り、達したときは、Ｓ１０９へ進む。Ｓ１０９で、タスク処理手段４は、制御タスクの処理を一時停止する。Ｓ１１０で、タスク管理手段５は、表示タスクの１周期分の処理が完了したか判断する。処理が完了していないときはＳ１０２へ戻り、完了したときはＳ１０１へ戻る。Ｓ１１０ではさらに、処理時間計時手段７は、それぞれ完了した表示タスクおよび制御タスクの処理時間を求める。
【００２５】
次に、基本周期と制限時間を求める処理について図５を参照して説明する。表示タスクの周期ＴＤを設定し、基本周期と制限時間２とを算出するアルゴリズムである。なお、処理時間ＣＣとＣＤは、上述したようにＳ１１０で最新の値が求められており、これらの値を用いる。各タスクの処理時間には、他のタスクによってプリエンプトされている時間は加えず、純粋にそのタスクが走行している時間を計時する。
【００２６】
Ｓ２０１で、周期設定手段８は、表示タスクの周期ＴＤを設定する。Ｓ２０２で、制限時間算出手段９は、表示タスクの周期ＴＤと表示タスクの処理時聞ＣＤとを比較し、ＴＤがＣＤより大きければＳ２０４へ進む。ＴＤがＣＤと同じか小さい場合は、Ｓ２０３へ進む。Ｓ２０３で、制限時間算出手段９は、ＴＤの値として制御タスクの処理時間ＣＣとＣＤとの和を用いる。Ｓ２０４で、制限時間算出手段９は、表示タスクのＣＰＵ使用率ＲＤを表示タスクの処理時間ＣＤをＴＤで割って求める。Ｓ２０５で、制限時間算出手段９は、制御タスクの処理時間ＣＣと表示タスクのＣＰＵ使用率ＲＤから制御タスクＴＣを求める。Ｓ２０６で、制限時間算出手段９は、表示タスクの周期ＴＤと制御タスクの周期ＴＣを比較し、ＴＤが大きければ、Ｓ２０７へ進み、ＴＤが同じか小さければ、Ｓ２０９へ進む。Ｓ２０７で、制限時間算出手段９は、基本周期に制御タスクの周期ＴＣを用いる。Ｓ２０８で、制限時間算出手段９は、制限時間２に表示タスクの処理時間ＣＤを表示タスクの周期ＴＤで割った値に制御タスクの周期ＴＣを乗じた値を設定する。Ｓ２０９で、制限時間算出手段９は、表示を優先させるかを判断する。表示を優先する場合は、Ｓ２１０へ進み、表示を優先しない場合はＳ２１２へ進む。Ｓ２１０で、制限時間算出手段９は、基本周期に制御タスクの周期ＴＣを設定し、Ｓ２１１へ進む。Ｓ２１１で、制限時間算出手段９は、制限時間２に表示タスクの処理時間ＣＤを用いる。Ｓ２１２で、制限時間算出手段９は、基本周期に制御タスクの処理時間ＣＣと表示タスクの処理時間ＣＤとの和を用いる。除算で小数点以下の余りが出た場合は、商の値を１つ繰り上げる。
【００２７】
次に、図６は、表示タスクの周期ＴＤを１０８ｍｓｅｃ、表示タスクの処理時間ＣＤを３６ｍｓｅｃ、制御タスクの処理時問ＣＣを２４ｍｓｅｃとしたときの、表示タスクと制御タスクのスケジューリングの結果である。
【００２８】
さらに、図７は、表示タスクの処理時間ＣＤが５０ｍｓｅｃ、制御タスクの処理時問ＣＣが２４ｍｓｅｃになったとき、表示タスクの周期ＴＤを１０８ｍｓｅｃに設定を据え置いた場合のタスクスケジューリングの結果である。
【００２９】
このように、表示タスクの処理内容が増加したときでも、制御タスクの周期が長くなり、設定した周期で表示タスクが完了する。
【００３０】
割り当てられた基本周期内に処理が終了する場合は、表示タスク、制御タスク共に、次の周期の処理を前倒しで行うか、処理が終了した時点で次の周期までアイドル状態として待機する方法がある。
【００３１】
このようなタスクコントローラは、表示タスクの処理時問が変化した場合でも、あらかじめ設定した表示タスクの周期で処理を完了するので、タイムリーに表示され、また緊急に異常事態を表示しなければならなくなったとき、表示できる。
【００３２】
なお、図３のフローチャートに示された２つのタスク（表示および制御タスク）を管理するタスク管理タスクをＣＰＵに割り当てて実行しても同様である。この際のタスク管理タスクのフローチャートを図２６に示す。さらに、図１０、図１４で示されたタスクの管理を同様にタスク管理タスクとしてタスクコントローラに実装しておいてもよい。
【００３３】
実施の形態２．
この発明の実施の形態２のタスクコントローラは、表示タスク、制御タスク、追加タスクからなる３つのタスクの処理を行う。タスクコントローラ１は、図１と同様である。
【００３４】
タスク管理の基本について説明する。図８は追加タスクと制御タスクだけを考慮したタイムチャートである。図９は、表示タスク、制御タスク、追加タスクとを１つのＣＰＵで実行するタイムチャートである。
【００３５】
まず、追加タスクと制御タスクに着目し、処理時間ＣＡ、ＣＣは事前に求まっており、追加タスクの周期ＴＡを設定する。追加タスクのＣＰＵ使用率ＲＡと、制御タスクのＣＰＵ使用率ＲＣはそれぞれ式５、式６で表される。
【００３６】
ＲＡ＝ＣＡ÷ＴＡ                                  ・・・（５）
ＲＣ＝ＣＣ÷ＴＣ                                  ・・・（６）
【００３７】
タスクコントローラでは、まず追加タスクと制御タスクのみを処理するので、制御タスクのＣＰＵ使用率ＲＣは式７で表される。
【００３８】
ＲＣ＝１−ＲＡ                                    ・・・（７）
【００３９】
また、制御タスクの周期ＴＣは、式５、式６、式７から式８で求めることができる。
【００４０】
ＴＣ＝ＣＣ÷（１−ＲＡ）＝ＣＣ÷（１−ＣＡ÷ＴＡ）    ・・・（８）
【００４１】
この式８の中で、処理時間ＣＣとＣＡは、事前に求められているので、一方のタスク、例えば追加タスクの周期ＴＡを設定することで制御タスクの周期ＴＣを求めることができる。
【００４２】
ここで求めた制御タスクの周期ＴＣを、制御タスクの処理時間と追加タスクのうち制御タスクの１周期ＴＣ分の処理時間の合わせた結合タスクの処理時間ＣＰと置く。
【００４３】
このようにすると、３つのタスクを２つのタスクのタスク管理に変換することができる。
【００４４】
そこで、処理時間ＣＰ、ＣＤは事前に求まっており、表示タスクの周期ＴＤを設定する。結合タスクのＣＰＵ使用率ＲＰと、表示タスクのＣＰＵ使用率ＲＤはそれぞれ式９、式１０で表される。
【００４５】
ＲＰ＝ＣＰ÷ＴＰ                                  ・・・（９）
ＲＤ＝ＣＤ÷ＴＤ                                  ・・・（１０）
【００４６】
タスクコントローラでは、結合タスクと表示タスクのみを処理するので、結合タスクのＣＰＵ使用率ＲＰは式１１で表される。
【００４７】
ＲＰ＝１−ＲＤ                                    ・・・（１１）
【００４８】
また、結合タスクの周期ＴＰは、式９、式１０、式１１から式１２で求めることができる。
【００４９】
ＴＰ＝ＣＰ÷（１−ＲＤ）＝ＣＰ÷（１−ＣＤ÷ＴＤ）    ・・・（１２）
【００５０】
この式１２の中で、処理時間ＣＰとＣＤは、事前に求められているので、一方のタスク、例えば表示タスクの周期ＴＰを設定することで結合タスクの周期ＴＰを求めることができる。
【００５１】
次に、タスク管理処理の手順に関し図１０を参照して説明する。タスク管理手段５は、最新の表示タスクの処理の完了を検知し、新たにＳ（以下、Ｓと略称する。）３０１で、後述するようにして制限時間算出手段９は、基本周期と制限時間２と制限時間３を算出する。Ｓ３０２で、第一のタイマ手段１０は、計時を開始する。Ｓ３０３で、第二のタイマ手段１１は計時を開始する。Ｓ３０４で、タスク処理手段４は、表示タスクの処理を行う。Ｓ３０５で、第二のタイマ手段１１は、計時した時間が制限時間２に達したか判断し、達していないときはＳ３０４へ戻り、達したときは、Ｓ３０６へ進む。Ｓ３０６で、タスク処理手段４は、表示タスクの処理を一時停止する。Ｓ３０７で、第二のタイマ手段１１は、計時を開始する。Ｓ３０８で、タスク処理手段４は、追加タスクの処理を開始する。Ｓ３０９で、第二のタイマ手段１１は、計時した時間が制限時間３に達したか判断し、達していないときはＳ３０８へ戻り、達したときは、Ｓ３１０へ進む。Ｓ３１０で、タスク処理手段４は、追加タスクの処理を一時停止する。Ｓ３１１で、タスク処理手段４は、制御タスクの処理を行う。Ｓ３１２で、第一のタイマ手段１０は、計時した時間が基本周期に達したか判断し、達していないときはＳ３１１へ戻り、達したときは、Ｓ３１３へ進む。Ｓ３１３で、タスク処理手段４は、制御タスクの処理を一時停止する。Ｓ３１４で、タスク管理手段５は、表示タスクの１周期分の処理が完了したか判断する。処理が完了していないときはＳ３０２へ戻り、完了したときはＳ３０１へ戻る。Ｓ３１４ではさらに、処理時間計時手段７は、完了した表示タスク、制御タスク、追加タスクの処理時間を求める。
【００５２】
次に、基本周期、制限時間２、制限時間３を求める手順について図１１を参照して説明する。Ｓ４０１で、周期設定手段８は、追加タスクの周期ＴＡを設定する。Ｓ４０２で、追加タスクの周期ＴＡと追加タスクの処理時聞ＣＡとを比較し、ＴＡがＣＡより大きければＳ４０４へ進む。ＴＡがＣＡと同じか小さい場合は、Ｓ４０３へ進む。Ｓ４０３で、ＴＡの値として制御タスクの処理時間ＣＣと追加タスクの処理時間ＣＡとの和を用いる。Ｓ４０４で、追加タスクのＣＰＵ使用率ＲＡを追加タスクの処理時間ＣＡを追加タスクの周期ＴＡで割って求める。Ｓ４０５で、制御タスクの処理時間ＣＣと追加タスクのＣＰＵ使用率ＲＡから制御タスクの周期ＴＣを求める。この制御タスクの周期ＴＣは見掛け上として結合タスクの処理時間ＣＰとする。また、制限時間３を追加タスクの処理時間ＣＰを追加タスクの周期ＴＰで除算し、その値に制御タスクの周期ＴＣを掛けて求める。Ｓ４０６で、周期設定手段８は、表示タスクの周期ＴＤを設定する。Ｓ４０７で、表示タスクの周期ＴＤと表示タスクの処理時聞ＣＤとを比較し、ＴＤがＣＤより大きければＳ４０９へ進む。ＴＤがＣＤと同じか小さい場合は、Ｓ４０８へ進む。Ｓ４０８で、ＴＤの値として制御タスクの周期ＴＣと表示タスクの処理時間ＣＤとの和を用いる。Ｓ４０９で、表示タスクのＣＰＵ使用率ＲＤを表示タスクの処理時間ＣＤを表示タスクの周期ＴＤで割って求める。Ｓ４１０で、結合タスクの処理時間ＣＰと表示タスクのＣＰＵ使用率ＲＤから結合タスクの周期ＴＰを求める。Ｓ４１１で、表示タスクの周期ＴＤと結合タスクの周期ＴＰを比較し、ＴＤが大きければ、Ｓ４１２へ進み、ＴＤが同じか小さければ、Ｓ４１４へ進む。Ｓ４１２で、基本周期に結合タスクの周期ＴＰを用いる。Ｓ４１３で、制限時間２に表示タスクの処理時間ＣＤを表示タスクの周期ＴＤで割った値に結合タスクの周期ＴＰを乗じた値を設定する。Ｓ４１４で、表示を優先させるかを判断する。表示を優先する場合は、Ｓ４１５へ進み、表示を優先しない場合はＳ４１７へ進む。Ｓ４１５で、基本周期に結合タスクの周期ＴＰを設定し、Ｓ４１６へ進む。Ｓ４１６で、制限時間２に表示タスクの処理時間ＣＤを用いる。Ｓ４１７で、基本周期に結合タスクの処理時間ＣＰと表示タスクの処理時間ＣＤとの和を用いる。
【００５３】
このようなタスクコントローラは、表示タスクの処理時問が変化とともに、新たなタスクの処理が必要になっても、あらかじめ設定した表示タスクの周期で処理が完了するので、タイムリーに表示され、また緊急に異常事態を表示しなければならなくなったとき、表示できる。
【００５４】
実施の形態３．
タスクがＮ（Ｎは２以上の正の整数）個存在する場合は、前の表示タスク（ここではタスク１とする。）の周期完了時での周期の長いタスクから周期の短いタスクに並べる。一番短い周期のタスクＮは制御タスクである。それぞれタスクｎ（ｎ＝１〜Ｎ）の処理時間Ｃｎ（ｎ＝１〜Ｎ）、周期Ｔｎ（ｎ＝１〜Ｎ）、ＣＰＵ使用率Ｒｎ（ｎ＝１〜Ｎ）とする。また、制限時間Ｌｎ（ｎ＝Ｎ〜２）は、タスク（ｎ−１）に係わった値である。
【００５５】
タスク管理の基本に関し、図１３を参照して説明する。なお、結合タスク（Ｎ−ｎ）（ｎ＝１〜Ｎ−１）は、タスクＮからタスク（Ｎ−ｎ）までのタスクを考慮したタスクである。まず、タスクＮとタスク（Ｎ−１）とに着目し、処理時間ＣＮ、ＣＮ−１は事前に求まっているので、タスク（Ｎ−１）の周期ＴＮ−１を設定する。一方、タスクＮの周期は、２つだけのタスクに着目しているので、ＴＮ；Ｎ−１と表現する。タスク（Ｎ−１）のＣＰＵ使用率ＲＮ−１と、タスクＮのＣＰＵ使用率ＲＮはそれぞれ式１３、式１４で表される。
【００５６】
ＲＮ−１＝ＣＮ−１÷ＴＮ−１                            ・・・（１３）
ＲＮ＝ＣＮ÷ＴＮ；Ｎ                                    ・・・（１４）
【００５７】
タスクコントローラでは、まずタスクＮとタスク（Ｎ−１）のみを処理するので、タスクＮのＣＰＵ使用率ＲＮは式１５で表される。
【００５８】
ＲＮ＝１−ＲＮ−１                                    ・・・（１５）
【００５９】
また、タスクＮの周期ＴＮ；Ｎは、式１３、式１４、式１５から数１となる。
【００６０】
【数１】
2004326679.tif 000003
【００６１】
この数１の中で、処理時間ＣＮとＣＮ−１は、事前に求められているので、一方のタスク、例えばタスク（Ｎ−１）の周期ＴＮ−１を設定することでタスクＮの周期ＴＮ；Ｎを求めることができる。
【００６２】
ここで求めたタスクＮの周期ＴＮ；Ｎを、タスクＮの処理時間ＣＮとタスク（Ｎ−１）のうちタスクＮの１周期ＴＮ；Ｎ分の処理時間とを合わせた結合タスク（Ｎ−１）の処理時間ＣＮ；Ｎ−１に代入すると数２で表される。
【００６３】
【数２】
2004326679.tif 000004
【００６４】
このようにすると、３つのタスクを２つのタスクのタスク管理に変換することができる。
【００６５】
そこで、処理時間ＣＮ；Ｎ−１、ＣＮ−２は事前に求まっており、タスク（Ｎ−２）の周期ＴＮ−２を設定する。結合タスク（Ｎ−１）のＣＰＵ使用率ＲＮ；Ｎ−１と、タスク（Ｎ−２）のＣＰＵ使用率ＲＮ−２はそれぞれ式１６、式１７で表される。
【００６６】
ＲＮ；Ｎ−１＝ＣＮ；Ｎ−１÷ＴＮ；Ｎ−１                ・・・（１６）
ＲＮ−２＝ＣＮ−２÷ＴＮ−２                            ・・・（１７）
【００６７】
タスクコントローラでは、結合タスク（Ｎ−１）とタスク（Ｎ−２）のみを処理するので、結合タスク（Ｎ−１）のＣＰＵ使用率ＲＮ；Ｎ−１は式１８で表される。
【００６８】
ＲＮ；Ｎ−１＝１−ＲＮ−２                            ・・・（１８）
【００６９】
また、結合タスク（Ｎ−１）の周期ＴＮ；Ｎ−１は、式１６、式１７、式１８から数３となる。
【００７０】
【数３】
2004326679.tif 000005
【００７１】
この数３の中で、処理時間ＣＮ−１とＣＮ−２とＣＮと周期ＴＮ−１は、事前に求められているので、タスク（Ｎ−２）の周期ＴＮ−２を設定することで結合タスク（Ｎ−１）の周期ＴＮ；Ｎ−１を求めることができる。
ここで求めた結合タスク（Ｎ−１）の周期ＴＮ；Ｎ−１を、結合タスク（Ｎ−１）の処理時間ＣＮ；Ｎ−１とタスク（Ｎ−２）のうち結合タスク（Ｎ−１）の１周期ＴＮ；Ｎ−１分の処理時間とを合わせた結合タスク（Ｎ−２）の処理時間ＣＮ；Ｎ−２に代入すると数４になる。
【００７２】
【数４】
2004326679.tif 000006
【００７３】
さらに、これらを繰り返し、最後に、結合タスク２の処理時間ＣＮ；２は数５で表される。
【００７４】
【数５】
2004326679.tif 000007
【００７５】
結合タスク２のＣＰＵ使用率ＲＮ；２と、タスク１のＣＰＵ使用率Ｒ１はそれぞれ式１９、式２０で表される。
【００７６】
ＲＮ；２＝ＣＮ；２÷ＴＮ；２                            ・・・（１９）
Ｒ１＝Ｃ１÷Ｔ１                                      ・・・（２０）
【００７７】
タスクコントローラでは、まず結合タスク２とタスク１のみを処理するので、結合タスク２のＣＰＵ使用率ＲＮ；２は式２１で表される。
【００７８】
ＲＮ；２＝１−Ｒ１                                    ・・・（２１）
【００７９】
また、結合タスク２の周期ＴＮ；２は、式１９、式２０、式２１から数６となる。
【００８０】
【数６】
2004326679.tif 000008
【００８１】
一方、タスク１の結合タスク２の周期内での処理時間ＣＮ；１は数７になる。
【００８２】
【数７】
2004326679.tif 000009
【００８３】
このような原理によりタスクがＮ個ある場合に、（Ｎ−１）個のタスクの周期を設定することにより、残りのタスクの周期を求めることができる。
【００８４】
次に、タスク管理処理に関して図１４を参照して説明する。タスク管理手段５は、最新の表示タスクであるタスク１の処理の完了を検知し、新たにＳ（以下、Ｓと略称する。）５０１で、後述する制限時間算出手段９は、１個の基本周期と（Ｎ−１）個の制限時間、すなわち制限時間２から制限時間Ｎを算出する。Ｓ５０２では、第一のタイマ手段１０は、計時を開始する。Ｓ５０３で、ｎに１を代入する。Ｓ５０４で、第二のタイマ手段１１は、計時を開始する。Ｓ５０５で、タスク処理手段４は、タスクｎの処理を行う。Ｓ５０６で、第二のタイマ手段１１は、計時された時間が制限時間（ｎ＋１）に達したか判断し、達していないときはＳ５０５へ戻り、達したときは、Ｓ５０７へ進む。Ｓ５０７で、タスク処理手段４は、タスクｎの処理を一時停止する。Ｓ５０８で、ｎに（ｎ＋１）を代入する。Ｓ５０９で、ｎがＮかどうか判断する。ＮでないときはＳ５０４へ戻り、ｎがＮのときはＳ５１０へ進む。Ｓ５１１で、タスク処理手段４は、制御タスクの処理を行う。Ｓ５１２で、第一のタイマ手段１０は、計時された時間が基本周期に達したか判断し、達していないときはＳ５１１へ戻り、達したときは、Ｓ５１３へ進む。Ｓ５１３で、タスク管理手段５は、タスク１の１周期分の処理が完了したか判断する。処理が完了していないときはＳ５０２へ戻り、完了したときはＳ５０１へ戻る。Ｓ５１３で、さらに、タスク管理手段５は、完了したタスク１からタスクＮの処理時間を求める。
【００８５】
次に、基本周期と制限時間を求める処理について図１６を参照して説明する。
Ｓ６０１で、ｎに１を代入する。Ｓ６０２で、結合タスクの処理時間ＣＮ；ＮにタスクＮの処理時間ＣＮを代入する。Ｓ６０３で、周期設定手段８は、タスク（Ｎ−ｎ）の周期ＴＮ−ｎを設定する。Ｓ６０４で、タスク（Ｎ−ｎ）の周期ＴＮ−ｎとタスク（Ｎ−ｎ）の処理時聞ＣＮ−ｎとを比較し、ＴＮ−ｎがＣＮ−ｎより大きければＳ６０５へ進む。ＴＮ−ｎがＣＮ−ｎと同じか小さい場合は、Ｓ６０６へ進む。Ｓ６０６で、ＴＮ−ｎの値としてタスク（Ｎ−ｎ）の処理時間ＣＮ−ｎとＣＮ；Ｎ−（ｎ−１）との和を用いる。ＣＮ；Ｎ−（ｎ−１）は、タスクＮとタスク（Ｎ−１）の制限時間を求めるときは、ＣＮであり、それ以降はＳ６０７で求められる。Ｓ６０５で、タスク（Ｎ−ｎ）のＣＰＵ使用率ＲＮ−ｎをタスク（Ｎ−ｎ）の処理時間ＣＮ−ｎをＴＮ−ｎで割って求める。Ｓ６０７で、結合タスク（Ｎ−ｎ＋１）の処理時間ＣＮ；Ｎ−（ｎ−１）とタスク（Ｎ−ｎ）のＣＰＵ使用率ＲＮ−ｎから結合タスク（Ｎ−ｎ）の周期ＴＮ；Ｎ−（ｎ−１）を数８で求める。
【００８６】
【数８】
2004326679.tif 000010
【００８７】
さらに、結合タスク（Ｎ−ｎ）の周期ＣＮ；Ｎ−ｎとしてＴＮ；Ｎ−（ｎ−１）を代入する。制限時間ＬＮ−（ｎ−１）は、タスク（Ｎ−ｎ）の処理時間ＣＮ−ｎ、その周期ＴＮ−ｎ、結合タスク（Ｎ−ｎ）の周期ＴＮ；Ｎ−ｎとから数９に基づいて求める。
【００８８】
【数９】
2004326679.tif 000011
【００８９】
Ｓ６０８で、ｎにｎ＋１を代入する。Ｓ６０９で、ｎとＮ−１を比較する。ｎがＮ−１より等しいか大きいとＳ６０９へ進む。ｎがＮ−１より小さいとＳ６０３へ戻る。Ｓ６１０で、タスク１の処理時間Ｃ１および周期Ｔ１からタスク１のＣＰＵ使用率Ｒ１を求める。Ｓ６１１で、結合タスク２の処理時間ＣＮ；２とタスク１のＣＰＵ使用率Ｒ１から数１０に基づいて結合タスク２の周期ＴＮ；２を求める。
【００９０】
【数１０】
2004326679.tif 000012
【００９１】
Ｓ６１２で、タスク１の周期Ｔ１と結合タスク２の周期ＴＮ；２を比較し、Ｔ１が大きければ、Ｓ６１３へ進み、Ｔ１が同じか小さければ、Ｓ６１５へ進む。Ｓ６１３で、基本周期Ｌ１に結合タスクの周期ＴＮ；２を用いる。Ｓ６１４で、制限時間Ｌ２にタスク１の処理時間Ｃ１をタスク１の周期Ｔ１で割った値に結合タスクの周期ＴＮ；２を乗じた値を設定する。Ｓ６１５で、表示を優先させるかを判断する。表示を優先する場合は、Ｓ６１６へ進み、表示を優先しない場合はＳ６１８へ進む。Ｓ６１６で、基本周期Ｌ１に結合タスクの周期ＴＮ；２を設定し、Ｓ６１７へ進む。Ｓ６１７で、制限時間Ｌ２にタスク１の処理時間Ｃ１を用いる。Ｓ６１８で、基本周期Ｌ１に結合タスク２の処理時間ＣＮ；２とタスク１の処理時間Ｃ１との和を用いる。
【００９２】
このようなタスクコントローラは、Ｎ個のタスクについて、タスク毎に所望の周期を割り当て、システム全体の処理を進めることができる。
【００９３】
実施の形態４．
図１７は、この発明の実施の形態４のタスクコントローラのブロック図である。図１８、図１９は、画面とその表示部品のデータの関係を示す説明図である。図１７は図１に画面データ量算出手段１２を備えていることが異なっていて、その他は同様であり、同様な部分の説明は省略する。
【００９４】
表示機器３に表示される画面は、複数の表示部品で構成されており、それぞれの表示部品は画素数、色彩など表示処理時間に直接関連するデータを有している。これらの画面データは、コンピュータの画像用メモリに一旦取り込まれ、タスク処理手段４によって処理されて、表示機器３へ送出される。画面データ算出手段１２は、表示部品のそれぞれの描画処理に必要な時間を加算して、一画面に関する処理時間を求める。この処理時間ＣＤを実施の形態１の表示タスクの処理時間ＣＤとして用いて、タクス管理を行う。
【００９５】
画面データは、一つの画面に表示する表示部品のデータを並べたものであり、表示する画面毎に画面データがある。
【００９６】
タスク処理手段４は、表示する画面に対応した画面データを参照し、画面データに含まれている表示部品のデータを読み出して、画面上に表示部品を描画する。
【００９７】
画面データに含まれている表示部品のデータを読むと、表示部品の種類と表示するサイズから描画処理に必要な時間がわかるので、画面切換え時に、切り換えた後の画面の表示に必要な描画処理時間を計算で求めることができる。
【００９８】
画面切換え後、一度画面を描画すると、その一画面の描画にかかった時間を表示処理時間として、従来どおりにＣＰＵリソースの配分を決める。
【００９９】
このようなタスクコントローラは、画面切換え時に、以前の画面の処理時間からもとめたＣＰＵリソースの配分を用いて、新たな画面を描画すると、新旧の画面上に配置されている表示部品の違いから、適切なＣＰＵリソースの配分とはならない。表示部品が増える場合、表示に割当てられた時間内に画面上の全ての表示部品を表示することができず、次の表示の割当て周期に繰り越されるため、表示の周期が所望の値に比べ、長くなってしまう。
【０１００】
画面切換え時に、事前に次に表示する画面の描画時間を把握することで、表示処理に適切なＣＰＵリソースを配分し、画面切換え直後に表示の周期が長くなることを防ぐことができる。
【０１０１】
実施の形態５．
この発明の実施の形態５の画面データのデータ配置図である。画面データ算出手段１２は、表示処理時間ＣＤに画面更新処理時間ＣＤＲを追加する。
【０１０２】
図２０は、図面データの配置図である。一つの画面に表示する表示部品のデータを並べた画面データの先頭に、その画面を表示する際の画面更新処理時間を配置している。
【０１０３】
タスク処理手段４は、表示する画面に対応した画面データを参照し、画面データに含まれている表示部品を画面上に表示する際に、その画面を表示する際の画面更新処理時間を読出し、その値を用いてタスク管理を実施の形態１と同様に行う。
【０１０４】
このように、画面の更新時に処理時間に画面更新処理時間を追加できるので、画面切換え時に、画面毎に必要な更新処理時間を含んでいるので、確実に画面更新を行うことができる。
【０１０５】
実施の形態６．
この発明の実施の形態６のタスクコントローラの周期設定手段８は、表示タスクの周期ＴＤを最短３０ｍｓｅｃと設定する。
【０１０６】
このようなタスクコントローラは、人の認識能力を超える周期で描画を更新しても、リソースの無駄遣いになる。表示周期を適切な値に抑えることで、他のタスクへリソースを配分し、リソースを効果的に活用できる。
【０１０７】
実施の形態７．
この発明の実施の形態７のタスクコントローラの周期設定手段８は、画面に表示している表示の重要性に係わる値が、時間と共に増減し、その値が設定した閾値に近くなると、表示タスクの周期を短くして、値の変化を短い間隔で表示するようにする。表示している値が、閾値から離れると、画面の更新周期をもとの周期に戻す。
【０１０８】
例えば、表示タスクの周期を２００ｍｓｅｃに設定し、２００ｍｓｅｃ周期で画面を更新しながら、複数のタスクの処理を実行しているとき、表示画面に棒グラフとして表示している変数の値が、例えば８０に設定している閾値８０に近づき、７５になった時点で、表示タスクの周期を１００ｍｓｅｃに自動的に設定し直し、１００ｍｓｅｃで表示タスクを処理し、画面を更新する。さらに、棒グラフとして表示している変数の値が、７８になった段階で、表示タスクの周期を５０ｍｓｅｃにする。
【０１０９】
その変数の値が、再び７５まで減少したとき、表示タスクの周期を１００ｍｓｅｃに戻し、さらに変数の値が減少したとき、もとの周期である２００ｍｓｅｃに表示タスクの周期を戻す。
【０１１０】
このようなタスクコントローラは、あらかじめ設定した閾値に近づいた値を、閾値から離れている時より短い周期で表示することで、閾値に近づいたときの値の変化を的確に捉えることができる。
【０１１１】
実施の形態８．
この発明の実施の形態８のタスクコントローラは、表示タスクの処理時間ＣＤ、制御タスクの処理時間ＣＣ、表示タスクの周期ＴＤをそれぞれ分割し、その分割した幅の代表値を用いて、実施の形態１に示す手順で演算した基本周期と制限時間２を示すテーブルを備えている。
【０１１２】
表示タスクと制御タスクのそれぞれの処理時間から、テーブル上の適切な表示タスクの周期を選択し、タスク管理を行う。
【０１１３】
このようなタスクコントローラは、各タスクの係わる制限時間を細かく計算する必要がないので、計算量を抑えることができ、リソース配分の処理に必要なオーバーヘッドを抑えることができる。
【０１１４】
実施の形態９．
図２１は、この発明の実施の形態９のタスクコントローラの制限時間を求めるフローチャートである。複数のタスクのうち、一番処理周期を短くする必要のあるタスクの処理周期を設定することである。
【０１１５】
制限時間を求める手順について説明する。Ｓ７０１で、最も起動周期を短くする必要のある制御タスクの起動周期ＴＣを基本周期に設定する。Ｓ７０２で、次に周期を短くする必要な追加タスクの周期ＴＡを設定する。Ｓ７０３で、追加タスクの周期ＴＡと制御タスクの周期ＴＣの比率ｍを求める。Ｓ７０４で、基本周期の一周期内で処理される追加タスクの処理時間ＣＡ／ｍを求め、制限時間３とする。Ｓ７０５で、制限時間２を式２２から求める。
【０１１６】
制限時間２＝基本周期−ＣＣ−ＣＡ／ｍ                ・・・（２２）
【０１１７】
このようにして求められた基本周期、２、３を用いて図１０の手順でタスク管理を行う。
【０１１８】
このようなタスクコントローラは、周期を一番短くする必要なタスクの周期を設定するので、設定した周期内で処理が行われる。
【０１１９】
実施の形態１０．
図２２は、この発明の実施の形態１０のタスクコントローラのブロック図である。図２２のタスクコントローラは、図１の周期設定手段の替わりに使用率設定手段１３を備え、制限時間算出手段９で使用率を設定することで基本周期および制限時間２を算出することが異なり、その他は同様であるので、同様な部分の説明は省略する。タスクの管理は図３と同様である。
【０１２０】
制限時間を求める手順について図２３を参照して説明する。Ｓ８０１で、使用率設定手段１３は、表示タスクの周期ＲＤを設定する。Ｓ８０２で、制限時間算出手段９は、表示タスクの周期ＴＤを表示タスクの処理時間ＣＤをＲＤで割って求める。Ｓ８０３で、制限時間算出手段９は、制御タスクの処理時間ＣＣと表示タスクのＣＰＵ使用率ＲＤから制御タスクＴＣを求める。Ｓ８０４で、制限時間算出手段９は、表示タスクの周期ＴＤと制御タスクの周期ＴＣを比較し、ＴＤが大きければ、Ｓ８０５へ進み、ＴＤが同じか小さければ、Ｓ８０７へ進む。Ｓ８０５で、制限時間算出手段９は、基本周期に制御タスクの周期ＴＣを用いる。Ｓ８０６で、制限時間算出手段９は、制限時間２に制御タスクの周期ＴＣを表示タスクの使用率ＲＤで割った値を設定する。Ｓ８０７で、制限時間算出手段９は、表示を優先させるかを判断する。表示を優先する場合は、Ｓ８０８へ進み、表示を優先しない場合はＳ８１０へ進む。Ｓ８０８で、制限時間算出手段９は、基本周期に制御タスクの周期ＴＣを設定し、Ｓ８０９へ進む。Ｓ８０９で、制限時間算出手段９は、制限時間２に表示タスクの処理時間ＣＤを用いる。Ｓ８１０で、制限時間算出手段９は、基本周期に制御タスクの処理時間ＣＣと表示タスクの処理時間ＣＤとの和を用いる。除算で小数点以下の余りが出た場合は、商の値を１つ繰り上げる。
【０１２１】
割り当てられた制限時問内に処理が終了する場合は、表示タスク、制御タスク共に、次の周期の処理を前倒しで行うか、処理が終了した時点で次の周期までアイドル状態として待機する方法がある。
【０１２２】
このようなタスクコントローラは、設定した表示タスクのＣＰＵ使用率に基づいて、基本周期と制限時間２を算出し、表示タスクと制御タスクに割り当てるＣＰＵ時間変更するため、設定した表示タスクのＣＰＵ使用率でＣＰＵリソースを配分することができる。
【０１２３】
実施の形態１１．
図２４は、この発明の実施の形態１１の画面データのデータ配置図である。画面データ算出手段１２は、表示処理時間ＣＤに画面更新処理時間ＣＤＲを追加する。
【０１２４】
一つの画面に表示する表示部品のデータを並べた画面データの先頭に、その画面を表示する際の画面更新処理時間を配置している。一つの画面に表示する表示部品のデータを並べた画面データの先頭に、その画面を表示する際の表示タスクのＣＰＵ使用率を追加する。タスク処理手段４は、表示する画面に対応した画面データを参照し、画面データに含まれている表示部品を画面上に表示する際に、画面データに記述されているＣＰＵ使用率を表示タスクに割当てる。
【０１２５】
このようなタスクコントローラは、画面毎にＣＰＵ使用率を設定できるので、ＣＰＵリソースを多く割当てることにより短い周期で表示を更新したい画面と、ＣＰＵリソースの割当てを少なくし、長い周期で表示した画面を設定することができる。
【０１２６】
実施の形態１２．
図２５は、表示タスクと制御タスクの他に追加タスクとして複数のタスクを追加し、追加した複数のタスクを追加タスクに割り当てられた制限時間内で、ラウンドロビンスケジューリングによって実行している様子を示す図である。
【０１２７】
基本周期、制限時間２、制限時間３は、実施の形態２に示す方法によって設定される時間である。
【０１２８】
図２５では、追加タスクとしてタスクＡ、タスクＢ、タスクＣの３つのタスクを実行している様子を示している。これらのタスクはバックグランド処理を行うタスクであり、指定されたタイムスライスが経過すると次のタスクヘ処理を移す。追加タスクに割り当てられた制限時間３が経過すると、制御タスクへ切り換る。
【０１２９】
このようなタスクコントローラは、バックグランド処理を行うタスクにも、均等にＣＰＵ時問が割り当てられるため、確実に処理を進めることができる。
【０１３０】
【発明の効果】
この発明に係わるタスクコントローラの効果は、Ｎ（Ｎは２以上の正の整数）個の周期タスクを処理するコントロールにおいて、（Ｎ−１）個のタスクの周期を設定する周期設定手段と、すべてのタスクの処理時間を計時する処理計時手段と、設定された周期と計時された処理時間とから１個の基本周期と（Ｎ−１）個の制限時間を求める制限時間算出手段と、基本周期内にＮ個のタスクの処理をそれぞれに対応する制限時間に従って割り振るタスク管理手段とを備えたので、表示タスクの処理時問が変化した場合でも、あらかじめ設定した表示タスクの周期で処理を完了するので、タイムリーに表示され、また緊急に異常事態を表示しなければならなくなったとき、表示できる。
【図面の簡単な説明】
【図１】この発明の実施の形態１のタスクコントローラのブロック図である。
【図２】表示タスクと制御タスクとを１つのＣＰＵで実行するタイムチャートである。
【図３】図１のタスクコントローラのタスク管理のフローチャートである。
【図４】タスクの割り振られたタイムチャートである。
【図５】図１のタスクコントローラの制限時間などの算出のフローチャートである。
【図６】２つのタスクの割り振られたタイムチャートである。
【図７】表示タスクの処理時間が増加したときのタイムチャートである。
【図８】追加タスクと制御タスクだけを考慮したタイムチャートである。
【図９】表示タスク、制御タスク、追加タスクを１つのＣＰＵで実行するタイムチャートである。
【図１０】この発明の実施の形態２のタスクコントローラのタスク管理のフローチャートである。
【図１１】この発明の実施の形態２のタスクコントローラの制限時間などの算出のフローチャートである。
【図１２】３つのタスクの割り振られたタイムチャートである。
【図１３】Ｎ個のタスクを１つのＣＰＵで実行するタイムチャートである。
【図１４】この発明の実施の形態３のタスクコントローラのタスク管理のフローチャートである。
【図１５】Ｎ個のタスクの割り振られたタイムチャートである。
【図１６】この発明の実施の形態３のタスクコントローラの制限時間などの算出のフローチャートである。
【図１７】この発明の実施の形態４のタスクコントローラのブロック図である。
【図１８】画面とその表示部品のデータの関係を示す説明図である。
【図１９】図１８とは異なった表示部品のデータを示す説明図である。
【図２０】この発明の実施の形態５の表示部品のデータを示す説明図である。
【図２１】この発明の実施の形態９のタスクコントローラの制限時間などの算出のフローチャートである。
【図２２】この発明の実施の形態１０のタスクコントローラのブロック図である。
【図２３】図２２のタスクコントローラの制限時間などの算出のフローチャートである。
【図２４】この発明の実施の形態１１の表示部品のデータを示す説明図である。
【図２５】この発明の実施の形態１２のタスクコントローラでタスクを割り振ったタイムチャートである。
【図２６】図３のタスク管理の処理であるタスク管理タスクのフローチャートである。
【符号の説明】
１  タスクコントローラ、２  制御対象機器、３  表示機器、４  タスク処理手段、５  タスク管理手段、６  タイマ手段、７  処理時間計時手段、８  周期設定手段、９  制限時間算出手段、１０  第一のタイマ手段、１１  第二のタイマ手段、１２  画面データ算出手段、１３  使用率設定手段。
【図１】
2004326679.tif 000013
【図２】
2004326679.tif 000014
【図３】
2004326679.tif 000015
【図４】
2004326679.tif 000016
【図５】
2004326679.tif 000017
【図６】
2004326679.tif 000018
【図７】
2004326679.tif 000019
【図８】
2004326679.tif 000020
【図９】
2004326679.tif 000021
【図１０】
2004326679.tif 000022
【図１１】
2004326679.tif 000023
【図１２】
2004326679.tif 000024
【図１３】
2004326679.tif 000025
【図１４】
2004326679.tif 000026
【図１５】
2004326679.tif 000027
【図１６】
2004326679.tif 000028
【図１７】
2004326679.tif 000029
【図１８】
2004326679.tif 000030
【図１９】
2004326679.tif 000031
【図２０】
2004326679.tif 000032
【図２１】
2004326679.tif 000033
【図２２】
2004326679.tif 000034
【図２３】
2004326679.tif 000035
【図２４】
2004326679.tif 000036
【図２５】
2004326679.tif 000037
【図２６】
2004326679.tif 000038