(57)【要約】【課題】  スケジューラや定周期割り込みを使用することなく、少ないＣＰＵ負荷で、ソフトウェアの実行負荷の測定および異常監視をすることができる制御装置およびソフトウェア実行負荷測定方法を提供する。【解決手段】  上位タスク４開始時に、タスク測定タイマ２のコントロールワードを保存する上位タスク開始処理部６と、上位タスク４終了時に、保存されたコントロールワードをタスク測定タイマ２に書き込む上位タスク終了処理部７と、最下位タスク５のループ開始時に、タスク測定タイマ２とフリーランタイマ３の値を記憶する最下位タスク開始処理部８と、ループ終了時に、タスク測定タイマ２とフリーランタイマ３の増分値から最下位タスク５の実行負荷を求める最下位タスク実行負荷計算部９を備える。【選択図】図１
2008097410.tif 000002
【特許請求の範囲】
【請求項１】
割り込み信号によって実行する1つ以上の上位タスクと、
該上位タスクが実行していないとき実行する最下位タスクとを処理する機能を有する制御装置において、
常時時間を計測するフリーランタイマと、
タイマ動作の開始／停止をソフトウェアで設定可能なコントロールワードを有する前記最下位タスクの実行時間測定用のタスク測定タイマと、
前記上位タスク開始時に、前記タスク測定タイマのコントロールワードを読み込み保存し、前記タスク測定タイマを停止させる上位タスク開始処理部と、
前記上位タスク終了時に、保存された前記タスク測定タイマのコントロールワードを前記タスク測定タイマに書き込む上位タスク終了処理部と、
前記最下位タスクのループ開始時に、前記タスク測定タイマと前記フリーランタイマの値を記憶する最下位タスク開始処理部と、
前記最下位タスクのループ終了時に、前記タスク測定タイマと前記フリーランタイマの値を読み込み、前記最下位タスクのループ開始時に記憶した前記タスク測定タイマと前記フリーランタイマの値から前記タスク測定タイマと前記フリーランタイマの増分値を求め、該増分値より前記最下位タスクの実行負荷を求める最下位タスク実行負荷計算部を備えることを特徴とする制御装置。
【請求項２】
前記最下位タスク実行負荷計算部は、前記最下位タスクの実行負荷Ａを以下の式（１）で求めることを特徴とする請求項１記載の制御装置。
Ａ＝Ｔ１／Ｔ２＊１００[％]                              （１）
ただし、Ｔ１：タスク測定タイマの増分値、Ｔ２：フリーランタイマの増分値
【請求項３】
前記最下位タスクの実行負荷を予め設定された目標値と比較し、目標値より大きいときに異常処理を行なう異常処理部を前記最下位タスクにさらに備えることを特徴とする請求項１記載の制御装置。
【請求項４】
前記異常処理部は、前記最下位タスクの実行時間を予め設定された目標値と比較し、目標値より大きいときに異常処理を行なうことを特徴とする請求項３記載の制御装置。
【請求項５】
前記異常処理部は、前記上位タスクの実行時間を予め設定された目標値と比較し、目標値より大きいときに異常処理を行なうことを特徴とする請求項３記載の制御装置。
【請求項６】
割り込み信号によって実行する1つ以上の上位タスクと、
該上位タスクが実行していないとき実行する最下位タスクとを処理する機能を有する制御装置の実行負荷測定方法において、
前記制御装置に常時時間を計測するフリーランタイマと、
タイマ動作の開始／停止をソフトウェアで設定可能なコントロールワードを有する前記最下位タスクの実行時間測定用のタスク測定タイマとを備え、
前記上位タスク開始時に、前記タスク測定タイマのコントロールワードを読み込み保存し、前記タスク測定タイマを停止させ、
前記上位タスク終了時に、保存された前記タスク測定タイマのコントロールワードを前記タスク測定タイマに書き込み、
前記最下位タスクのループ開始時に、前記タスク測定タイマと前記フリーランタイマの値を記憶し、
前記最下位タスクのループ終了時に、前記タスク測定タイマと前記フリーランタイマの値を読み込み、前記最下位タスクのループ開始時に記憶した前記タスク測定タイマと前記フリーランタイマの値から前記タスク測定タイマと前記フリーランタイマの増分値を求め、該増分値より前記最下位タスクの実行負荷を求めることを特徴とする制御装置の実行負荷測定方法。
【請求項７】
前記最下位タスクの実行負荷Ａを以下の式（２）で求めることを特徴とする請求項６記載の制御装置の実行負荷計測方法。
Ａ＝Ｔ１／Ｔ２＊１００[％]                              （２）
ただし、Ｔ１：タスク測定タイマの増分値、Ｔ２：フリーランタイマの増分値
【請求項８】
前記最下位タスクの実行負荷を予め設定された目標値と比較し、目標値より大きいときに異常処理を行なうことを特徴とする請求項６記載の制御装置の実行負荷計測方法。
【請求項９】
前記最下位タスクの実行時間を予め設定された目標値と比較し、目標値より大きいときに異常処理を行なうことを特徴とする請求項６記載の制御装置の実行負荷計測方法。
【請求項１０】
前記上位タスクの実行時間を予め設定された目標値と比較し、目標値より大きいときに異常処理を行なうことを特徴とする請求項６記載の制御装置の実行負荷計測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関し、特に制御装置におけるソフトウェアの実行負荷を測定する方法に関する。
【背景技術】
【０００２】
従来の制御装置は、タスクのスイッチング処理を行なうスケジューラ、ハードウェアカウンタ、および定周期割り込みを使用して定周期割り込み処理の中でソフトウェアの実行負荷を測定している（例えば、特許文献１参照）。
【０００３】
以下に従来のスケジューラ、ハードウェアカウンタおよび定周期割り込みを使用してソフトウェアの実行負荷を測定する場合の動作について図を用いて説明する。
図８は、従来の制御装置の構成を示すブロック図である。図８において、１０１は中央処理装置（以下ＣＰＵと略す）、１０２はメモリ、１０３はＣＰＵ１に対して一定の周期で割り込みをかける定周期割り込み発生装置である。１０５は割り込み回数加算回路で、割り込み信号によりＴＩＣＫ（時間の刻みを表す単位で、割り込みの間隔を１ＴＩＣＫと呼ぶ）を加算する回路である。１０６はタスクのスイッチング処理を行なうスケジューラである。１１３はハードウェアカウンタ（以下カウンタと略す）である。１０７は処理を行なうタスクＡ、１１４はタスクＡの実行時間を格納するカウントデータエリアである。１２１は他のタスクが実行されていない時に実行される優先順位の最も低いタスク（以下最下位タスクと略す）、１２５は最下位タスク１２１の実行時間を格納するカウントデータエリアである。各カウントデータエリア１１４、１２５は各タスクのデータとしてメモリ１０２の中にそれぞれ割り付けられる。１２２は実行負荷計算回路で最下位タスク１２１の実行時間を測定し、定周期割り込み装置１０３からの割り込み信号を利用してＣＰＵ１０１の一定時間内の最下位タスク１２１の実行負荷を算出する。また、１１６はカウンタ１１３のカウント値を読み込み、カウントデータエリア１１４もしくは１２５へ書き込むカウンタ読み込み機能、１１７はカウントデータエリア１１４もしくは１２５のデータ（カウント値）を読み込み、カウンタ１１３へ書き込むカウンタ書き込み機能であり、カウンタ書き込み機能１１６とカウンタ読み込み機能１１７はスケジューラ１０６の中で動作する。図７の構成において、タスクの実行時間は、タスクスイッチが発生した時にカウンタ読み込み機能１１６によりカウンタ１１３の値を読み込み、実行が停止されるタスクのカウントデータエリアへ書き込み、カウンタ書き込み機能１１７により実行が開始されるタスクのカウントデータエリアからカウント値を読み込みカウンタ１１３へ書き込むことをスケジューラ１０６内で行なうことにより測定している。
【０００４】
次にソフトウェアの実行負荷の測定方法について図９の処理手順のフローチャートに従って説明する。ここで、定周期割り込み発生装置３からの定周期割り込みの間隔（ＴＩＣＫ値）を１０ｍｓ、実行負荷の測定を行なうサンプリング周期を１秒（ＴＩＣＫ×１００）とする。ステップＳＴ４１で定周期割り込みが発生すると、ステップＳＴ４２で割り込み処理ルーチンを呼び出し、ステップＳＴ４３で割り込み回数加算回路１０５のカウント値Ｎをインクリメントする。そして、ステップＳＴ４４でカウント値Ｎがサンプリング周期（この例では、９９）より大きいかどうか判断し、Ｎがサンプリング周期以下であればステップＳＴ４８に進み何もせず割り込み処理を抜ける。Ｎがサンプリング周期より大きければステップＳＴ４５で最下位タスク１２１のカウントデータエリア１２５のタスクのカウント値を読み込み、ステップＳＴ４６で実行負荷を計算する。実行負荷の計算後、ステップＳＴ４７で上記カウント値Ｎを０クリアし、ステップＳＴ４８で割り込み処理を抜ける。ここで、ステップＳＴ４６の実行負荷は、サンプリング周期および最下位タスク２１の実行時間から次式（１）で計算する。
実行負荷＝（サンプリング周期−最下位タスクの実行時間）／サンプリング周期  （１）
例えば、最下位タスク１２１のカウンタ値を４×１０５カウント、カウンタ１１３の１カウントを１μ秒とすると、最下位タスク１２１の実行時間は０．４秒となる。また、サンプリング周期は１秒であるから、実行負荷は０．６、よって６０％となる。
【０００５】
このように、従来の制御装置では、タスクのスイッチング処理を行なうスケジューラにおいてハードウェアカウンタからカウント値を読み込んでメモリに格納し、メモリから読み込んだカウント値をハードウェアカウンタに書き込むことによりタスクの実行時間を測定し、上記タスクの実行時間と定周期割り込みを使用したサンプリング周期からソフトウェアの実行負荷を定周期割り込み処理の中で測定しているのである。また、タスクの実行時間異常の検出等の異常処理もスケジューラ内で行なっている。
【特許文献１】特開平５−１６５６５５号公報（第５−６頁、図５）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の実行負荷測定方法では、ソフトウェアの実行負荷を定周期割り込み処理の中で測定しているので、割り込み処理に一定の負荷がかかるという問題があった。また、タスクのスイッチング処理を行なうスケジューラにおいてハードウェアカウンタからカウント値を読み込んでメモリに格納し、メモリから読み込んだカウント値をハードウェアカウンタに書き込むことによりタスクの実行時間を測定するという手順をとっているので、スケジューラに一定の負荷がかかりタスクスイッチングが遅くなり、その結果、割り込み応答が遅くなるという問題があった。一般的に、制御装置は制御性能を上げるために、割り込み応答を早くする必要があるため、各タスクに割り付けられた割り込み信号により直接、タスクを呼び出すようにすることで、スケジューラを装備していないものもある。また、割り込み処理の負荷を可能な限り少なくしている。
【０００７】
本発明はこのような問題点に鑑みてなされたものであり、割り込み処理の負荷を少なくし、スケジューラや定周期割り込みを使用することなく、少ないＣＰＵ負荷で、ソフトウェアの実行負荷の測定および異常監視をすることができる制御装置およびソフトウェア実行負荷測定方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１に記載の発明は、割り込み信号によって実行する1つ以上の上位タスクと、該上位タスクが実行していないとき実行する最下位タスクとを処理する機能を有する制御装置において、常時時間を計測するフリーランタイマと、タイマ動作の開始／停止をソフトウェアで設定可能なコントロールワードを有する前記最下位タスクの実行時間測定用のタスク測定タイマと、前記上位タスク開始時に、前記タスク測定タイマのコントロールワードを読み込み保存し、前記タスク測定タイマを停止させる上位タスク開始処理部と、前記上位タスク終了時に、保存された前記タスク測定タイマのコントロールワードを前記タスク測定タイマに書き込む上位タスク終了処理部と、前記最下位タスクのループ開始時に、前記タスク測定タイマと前記フリーランタイマの値を記憶する最下位タスク開始処理部と、前記最下位タスクのループ終了時に、前記タスク測定タイマと前記フリーランタイマの値を読み込み、前記最下位タスクのループ開始時に記憶した前記タスク測定タイマと前記フリーランタイマの値から前記タスク測定タイマと前記フリーランタイマの増分値を求め、該増分値より前記最下位タスクの実行負荷を求める最下位タスク実行負荷計算部を備えることを特徴とするものである。
【０００９】
また、請求項２に記載の発明は、請求項１に記載の制御装置において、前記最下位タスク実行負荷計算部は、前記最下位タスクの実行負荷Ａを以下の式（２）で求めることを特徴とするものである。
Ａ＝Ｔ１／Ｔ２＊１００[％]                              （２）
ただし、Ｔ１：タスク測定タイマの増分値、Ｔ２：フリーランタイマの増分値
また、請求項３に記載の発明は、請求項１に記載の制御装置において、前記最下位タスクの実行負荷を予め設定された目標値と比較し、目標値より大きいときに異常処理を行なう異常処理部を前記最下位タスクにさらに備えることを特徴とするものである。
また、請求項４に記載の発明は、請求項３に記載の制御装置において、前記異常処理部は、前記最下位タスクの実行時間を予め設定された目標値と比較し、目標値より大きいときに異常処理を行なうことを特徴とするものである。
また、請求項５に記載の発明は、請求項３に記載の制御装置において、前記異常処理部は、前記上位タスクの実行時間を予め設定された目標値と比較し、目標値より大きいときに異常処理を行なうことを特徴とするものである。
【００１０】
また、請求項６に記載の発明は、割り込み信号によって実行する1つ以上の上位タスクと、該上位タスクが実行していないとき実行する最下位タスクとを有する制御装置の実行負荷測定方法において、前記制御装置に常時時間を計測するフリーランタイマと、タイマ動作の開始／停止をソフトウェアで設定可能なコントロールワードを有する前記最下位タスクの実行時間測定用のタスク測定タイマとを備え、前記上位タスク開始時に、前記タスク測定タイマのコントロールワードを読み込み保存し、前記タスク測定タイマを停止させ、前記上位タスク終了時に、保存された前記タスク測定タイマのコントロールワードを前記タスク測定タイマに書き込み、前記最下位タスクのループ開始時に、前記タスク測定タイマと前記フリーランタイマの値を記憶し、前記最下位タスクのループ終了時に、前記タスク測定タイマと前記フリーランタイマの値を読み込み、前記最下位タスクのループ開始時に記憶した前記タスク測定タイマと前記フリーランタイマの値から前記タスク測定タイマと前記フリーランタイマの増分値を求め、該増分値より前記最下位タスクの実行負荷を求めることを特徴とするものである。
【００１１】
また、請求項７に記載の発明は、請求項６に記載の制御装置の実行負荷測定方法において、前記最下位タスクの実行負荷Ａを以下の式（３）で求めることを特徴とするものである。
Ａ＝Ｔ１／Ｔ２＊１００[％]                              （３）
ただし、Ｔ１：タスク測定タイマの増分値、Ｔ２：フリーランタイマの増分値
また、請求項８に記載の発明は、請求項６に記載の制御装置の実行負荷測定方法において、前記最下位タスクの実行負荷を予め設定された目標値と比較し、目標値より大きいときに異常処理を行なうことを特徴とするものである。
また、請求項９に記載の発明は、請求項６に記載の制御装置の実行負荷測定方法において、前記最下位タスクの実行時間を予め設定された目標値と比較し、目標値より大きいときに異常処理を行なうことを特徴とするものである。
また、請求項１０に記載の発明は、請求項６に記載の制御装置の実行負荷測定方法において、前記上位タスクの実行時間を予め設定された目標値と比較し、目標値より大きいときに異常処理を行なうことを特徴とするものである。
【発明の効果】
【００１２】
請求項１、２、６、７に記載の発明によると、最下位タスクの中で実行負荷の計算を行なうようにしたので、割り込み処理の負荷を少なくでき、さらに、スケジューラや定周期割り込みを使用することなく、少ないＣＰＵ負荷で精度の高いソフトウェアの実行負荷を測定することができる。
また、請求項３〜５、請求項８〜１０に記載の発明によると、最下位タスクで異常処理を行なうようにしたので、スケジューラや定周期割り込みを使用することなく、少ないＣＰＵ負荷でタスクの処理時間異常を監視することができ、異常時には異常を外部に知らせたり、プログラムを停止するなど異常処理を行なうことができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００１４】
図１は、本発明の制御装置の構成を示すブロック図である。図において１はＣＰＵ、２は最下位タスクの実行時間を測定するタスク測定タイマ、３はフリーランタイマである。４は外部からの入力信号や制御周期を発生させるタイマ等からの割り込み信号によって実行する実行優先度の高い１つ以上の上位タスク、５は上位タスク４より実行優先度が低い最下位タスクであり上位タスク４が実行されていない時に実行される。６は上位タスク開始時の処理を行なう上位タスク開始処理部、７は上位タスク終了時の処理を行なう上位タスク終了処理部である。８は最下位タスク５のループ開始時に処理を行なう最下位タスク開始処理部、９は最下位タスクで行なわれる最下位タスクの実行負荷の計算処理を行なう最下位タスク実行負荷計算部である。
【００１５】
フリーランタイマ３は途中で停止されることもなく、ずっと動き続ける。一方タスク測定タイマ２はタイマ動作の開始／停止をソフトウェアで読み書き可能なコントロールワードを有し、上位タスクの実行に伴い、コントロールワードを操作することで、停止・起動される。例えば、コントロールワードは８ビットで構成され、０ビット目にタイマ動作の開始／停止が設定できるようになっているものとする。０ビット目に１を設定すると、タイマ動作を開始し、０を設定するとタイマ動作を停止する。上位タスク４のひとつのタスクの実行が開始されるとき、上位タスク開始処理部６はタスク測定タイマ２のコントロールワードを読み込み、スタックにＰＵＳＨして保存する。その後、タスク測定タイマ２を停止させる。タスクの実行が終了する時には、上位タスク終了処理部７は保存しておいたコントロールワードをＰＯＰしてこれをタスク測定タイマ２のコントロールワードに書き込む。以上のような処理により、上位タスク４のひとつのタスクの実行前後ではタスク測定タイマ２の停止中かどうかの状態は保存されることになり、結果としてタスク測定タイマ２は最下位タスク５が実行中のみに走行することとなる。さて、最下位タスク実行負荷計算部８ではタスク測定タイマ２およびフリーランタイマ３の増分値から最下位タスク５の実行負荷Ａを算出する。タスク測定タイマ２の増分値をＴ１、フリーランタイマ３の増分値をＴ２とすれば、最下位タスク５の実行負荷は、以下の式（４）で得られる。
Ａ＝Ｔ１／Ｔ２＊１００〔％〕                              （４）
【００１６】
図２は２つのタイマの動作時間を示すタイムチャートである。図２でｐは最下位タスクのループ開始時間、ｑは最下位タスクのループ終了時間である。
最下位タスクの実行時間はＴ１、上位タスクの実行時間は（Ｔ２−Ｔ１）である。
【００１７】
図３は上位タスク４の処理手順を示すフローチャートである。
上位タスク４では開始直後、ステップＳＴ１でタスク測定タイマ２の現在のコントロールワードを読み代ＰＵＳＨしてスタックに保存する。次に、ステップＳＴ２でタスク測定タイマ２を停止させる。ステップＳＴ３で上位タスク４の実処理を行なう。ステップＳＴ４で保存していたデータをＰＯＰしてタスク測定タイマ２に書き込み、タスク測定タイマ２の状態を上位タスク４開始前の状態に戻す。このような処理手順により、複数の上位タスクが重複して実行されても、タスク測定タイマ２は最下位タスク実行中のみに動作することとなる。
ここで、ステップＳＴ１、ＳＴ２は上位タスク開始処理部６で実行され、ステップＳＴ４は上位タスク終了処理部７で実行される。
【００１８】
図４は最下位タスク５の処理手順を示すフローチャートである。
最下位タスク５では、開始時にステップＳＴ１１でそのときのタスク測定タイマ２の値を記憶し、ステップＳＴ１２でフリーランタイマ３の値を記憶しておく。ステップＳＴ１３で最下位タスクの実処理を行なう。次にステップＳＴ１４でタスク測定タイマ２の値を再び読み込みステップＳＴ１１で記憶した値との差をとり増分値を演算する。同様にステップＳＴ１５でフリーランタイマ３の増分値を演算する。そしてステップＳＴ１６で最下位タスク５の実行負荷を求める。
ここで、ステップＳＴ１１、ＳＴ１２は最下位タスク開始処理部で実行され、ステップＳＴ１４〜ＳＴ１６が最下位タスク実行負荷計算部９で実行される。
このように、最下位タスクの中で実行負荷の計算を行なうようにしたので、割り込み処理の負荷を少なくでき、さらに、スケジューラや定周期割り込みを使用することなく、少ないＣＰＵ負荷で精度の高いソフトウェアの実行負荷を測定することができるのである。
【実施例２】
【００１９】
次に、第２の実施例として、異常処理を行なう場合について説明する。
図５は本発明の第２の実施例の制御装置の構成を示すブロック図である。図５が図１と異なる点は、最下位タスク５に異常処理部１０を追加した点である。
異常処理部１０は、図４のステップＳＴ１６に引き続き実行される。
異常を検出する方法は、図４のステップＳＴ１６で求めた最下位タスクの実行負荷を予め操作者が設定した目標値と比較する方法と、最下位タスク５の実行時間（Ｔ１）を目標値と比較する方法と、上位タスク４の実行時間（Ｔ２−Ｔ１）を目標値と比較する方法の３通りが考えられる。
【００２０】
図６は異常処理部１０のフローチャートである。
ステップＳＴ２１で異常処理を最下位タスク５の実行負荷で行なうかどうかチェックする。もしそうなら、ステップＳＴ２２に進み、最下位タスク５の実行負荷が目標値より大きいかどうかチェックする。大きい場合、ステップＳＴ２５に進み異常処理を行なう。たとえば異常を外部に知らせたり、プログラムを停止するなどを行なう。大きくない場合はそのまま戻り処理を行なう。
異常処理を別の方法で行なう場合は、ステップＳＴ２３で最下位タスク５の実行時間で行なうかどうかチェックする。もしそうなら、ステップＳＴ２４に進み、最下位タスク５の実行時間が目標値より大きいかどうかチェックし、もし大きい場合、異常処理を行なう。ステップＳＴ２３でＮｏの場合はステップＳＴ２６に進み、上位タスク４の実行時間が目標値より大きいかどうかチェックし、もし大きい場合は異常処理を行なう。
なお、上位タスク４の実行時間をチェックする場合は、上位タスク４の処理手順のフローチャートは図7に示すようになる。すなわち、図３のフローチャートに比べ、上位タスク開始処理部６のステップＳＴ３１でフリーランタイマの現在値を記憶するステップと、上位タスク終了処理部７のステップＳＴ３２でフリーランタイマの増分値を計算し、メモリに格納するステップが追加される。異常処理部１０のステップＳＴ２６では、上位タスクで演算された増分値を目標値と比較する。
このように、最下位タスクで異常処理を行なうようにしたので、スケジューラや定周期割り込みを使用することなく、少ないＣＰＵ負荷でタスクの処理時間異常を監視することができ、異常時には異常を外部に知らせたり、プログラムを停止するなど異常処理を行なうことができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の制御装置の構成を示すブロック図
【図２】２つのタイマの動作時間を示すタイムチャート
【図３】上位タスクの処理手順を示すフローチャート
【図４】最下位タスクの処理手順を示すフローチャート
【図５】本発明の第２の実施例の制御装置の構成を示すブロック図
【図６】異常処理部の処理手順を示すフローチャート
【図７】第２の実施例の上位タスクの処理手順を示すフローチャート
【図８】従来の制御装置の構成を示すブロック図
【図９】従来の方法の処理手順を示すフローチャート
【符号の説明】
【００２２】
１、１０１  ＣＰＵ
２  タスク測定タイマ
３  フリーランタイマ
４  上位タスク
５  最下位タスク
６  上位タスク開始処理部
７  上位タスク終了処理部
８  最下位タスク開始処理部
９  最下位タスク実行負荷計算部
１０  異常処理部
１０２  メモリ
１０３  定周期割り込み発生装置
１０５  割り込み回数加算回路
１０６  スケジューラ
１０７  タスクＡ
１１３  ハードウェアカウンタ
１１４、１２５  カウントデータエリア
１１６  カウンタ読み込み機能
１１７  カウンタ書き込み機能
１２１  最下位タスク
１２２  実行負荷計算回路
【図１】
2008097410.tif 000003
【図２】
2008097410.tif 000004
【図３】
2008097410.tif 000005
【図４】
2008097410.tif 000006
【図５】
2008097410.tif 000007
【図６】
2008097410.tif 000008
【図７】
2008097410.tif 000009
【図８】
2008097410.tif 000010
【図９】
2008097410.tif 000011