(57)【要約】      （修正有）【課題】実行負荷率測定用の処理を必要最小限にして所要時間を１００ｎｓ以下程度に抑え、容易にかつ小さい誤差でソフトウェアの実行負荷率を測定する方法を提供する。【解決手段】複数の割込み処理４０１〜４０４とアイドリング処理４０５から成るソフトウェアを実行する際、測定対象の割込み処理開始時にディジタル端子にＨｉｇｈレベル電圧を、終了時にＬｏｗレベル電圧を出力する。測定対象外の割込み処理開始時にＬｏｗレベル電圧を、終了時に測定対象の割込みが発生中かつ測定対象の割込み処理より優先順位の高い割込み処理が発生中でない場合Ｈｉｇｈレベル電圧を出力し、アイドリング処理の実行中にはＬｏｗレベル電圧を出力して（４０６，４０７）、所定の期間におけるディジタル端子の平均電圧からソフトウェアの実行負荷率を算出する。【選択図】図５
2020112918.tif 000002
【特許請求の範囲】
【請求項１】
Ｈｉｇｈレベル電圧もしくはＬｏｗレベル電圧が出力されるディジタル端子を有する制御装置において、
優先順位の異なる複数の割込み処理と、いずれの前記割込み処理も実行されていないときに実行されるアイドリング処理と、から成るソフトウェアを実行したときに、
前記各割込み処理の実行状態に応じて前記ディジタル端子にＨｉｇｈレベル電圧もしくはＬｏｗレベル電圧を出力するとともに、
前記アイドリング処理の実行状態に応じて前記ディジタル端子にＨｉｇｈレベル電圧もしくはＬｏｗレベル電圧を出力し、
前記ディジタル端子の電圧測定値から前記ソフトウェアもしくは前記各割込み処理の実行負荷率を算出する、
ソフトウェアの実行負荷率測定方法。
【請求項２】
請求項１に記載されたソフトウェアの実行負荷率測定方法であって、
前記各割込み処理の実行中には前記ディジタル端子にＨｉｇｈレベル電圧を出力し、
前記アイドリング処理の実行中には前記ディジタル端子にＬｏｗレベル電圧を出力し、
所定の期間における前記ディジタル端子の平均電圧、もしくは所定の期間において前記ディジタル端子にＨｉｇｈレベル電圧が出力されていた期間の長さから前記ソフトウェアの実行負荷率を算出する、
ソフトウェアの実行負荷率測定方法。
【請求項３】
請求項１に記載されたソフトウェアの実行負荷率測定方法であって、
前記複数の割込み処理のうち一つの割込み処理を測定対象とし、
測定対象の割込み処理開始時に前記ディジタル端子にＨｉｇｈレベル電圧を出力してこれを保持し、終了時に前記ディジタル端子にＬｏｗレベル電圧を出力するとともに、
測定対象外の割込み処理開始時に前記ディジタル端子にＬｏｗレベル電圧を出力してこれを保持し、終了時に前記測定対象の割込み処理が発生中かつ前記測定対象の割込み処理より優先順位の高い割込み処理が発生中でない場合に前記ディジタル端子にＨｉｇｈレベル電圧を出力して、
所定の期間における前記ディジタル出力端子の平均電圧、もしくは所定の期間において前記ディジタル端子にＨｉｇｈレベル電圧が出力されていた期間の長さから前記測定対象の割込み処理の実行負荷率を算出する、
ソフトウェアの実行負荷率測定方法。
【請求項４】
請求項１に記載されたソフトウェアの実行負荷率測定方法であって、
前記ソフトウェアにグローバル変数を設け、
前記各割込み処理の実行状態に応じて前記グローバル変数に“１”もしくは“０”を出力するとともに、
前記アイドリング処理の実行状態に応じて前記グローバル変数に“１”もしくは“０”を出力し、
前記グローバル変数を定周期でサンプリングすることにより前記ソフトウェアもしくは前記各割込み処理の実行負荷率を算出する、
ソフトウェアの実行負荷率測定方法。
【請求項５】
請求項４に記載されたソフトウェアの実行負荷率測定方法であって、
前記各割込み処理の実行中には前記グローバル変数に“１”を出力し、
前記アイドリング処理の実行中には前記グローバル変数に“０”を出力し、
所定の期間において前記グローバル変数に“１”が出力されていた期間の長さから前記ソフトウェアの実行負荷率を算出する、
ソフトウェアの実行負荷率測定方法。
【請求項６】
請求項４に記載されたソフトウェアの実行負荷率測定方法であって、
前記複数の割込み処理のうち一つの割込み処理を測定対象とし、
測定対象の割込み処理開始時に前記グローバル変数に“１”を出力してこれを保持し、終了時に前記グローバル変数に“０”を出力するとともに、
測定対象外の割込み処理開始時に前記グローバル変数に“０”を出力してこれを保持し、終了時に前記測定対象の割込み処理が発生中かつ前記測定対象の割込み処理より優先順位の高い割込み処理が発生中でない場合に前記グローバル変数に“１”を出力して、
所定の期間において前記グローバル変数に“１”が出力されていた期間の長さから前記測定対象の割込み処理の実行負荷率を算出する、
ソフトウェアの実行負荷率測定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動車両のモータ駆動装置のように高速定周期でソフトウェアを動作させる制御装置においてソフトウェアの実行負荷率を測定する技術に関する。
【背景技術】
【０００２】
ソフトウェアの実行時間や単位時間当たりの実行時間である実行負荷率を測定する方法として、対象とするソフトウェアに属するタスクや割込み処理の実行開始時および終了時にＣＰＵ内蔵タイマのカウンタ値を記録し、開始時と終了時の差分から実行時間と実行負荷率を算出する技術が知られている。
【０００３】
この技術において、対象とするソフトウェアに属するタスクや割込み処理の実行中、当該ソフトウェアに属さないタスクや割込み処理が優先的に実行される場合はそれらの実行時間を差し引く必要がある。
【０００４】
特許文献１に記載された制御装置におけるタスク等の実行時間測定方法では、測定対象より優先順位の高いタスクや割込み処理が多重に実行される場合、スタックを操作することでそれらの実行時間を差し引いている。
【０００５】
具体的には、制御装置がオペレーティングシステム用に備えたフリーランカウンタを利用し、タスクや割込み処理の開始時点でフリーランカウンタの時刻値を読み出してプッシュ操作によりスタックデータとして記憶しておき、終了時点のフリーランカウンタの時刻値とプル操作で呼び戻したスタックデータから各タスクや割込み処理の実行時間を算出している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２８８２３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら特許文献１の方法には以下のような課題がある。
【０００８】
まず、各タスクや割込み処理の実行時間を算出する処理、および測定対象より高い優先順位で実行されたタスクや割込み処理の実行時間を差し引く処理自体に時間を要する。また、割込み処理の実行や実行時間の算出に伴う割込みマスクや符号付き演算といったスタック操作にさらに時間を要する。このため性能が低いＣＰＵでは、ソフトウェアの実行と実行時間の測定に要する時間が、制御対象や制御内容で決まる許容時間を超過するおそれがある。
【０００９】
次に、この方法では実行時間に測定時間が含まれることになる。電動車両のモータ駆動装置のように数百μｓ以下の高速定周期でソフトウェアを動作させる制御装置ではこれが無視できない誤差となり、実行時間から算出する実行負荷率にも大きな誤差が生じる。
【００１０】
本発明は上記の課題を解決するためのものであり、実行負荷率測定用の処理を必要最小限にして所要時間を１００ｎｓ以下程度に抑え、容易にかつ小さい誤差でソフトウェアの実行負荷率を測定する方法を提供する。
【課題を解決するための手段】
【００１１】
Ｈｉｇｈレベル電圧もしくはＬｏｗレベル電圧が出力されるディジタル端子を有する制御装置において、優先順位の異なる複数の割込み処理と、いずれの割込み処理も実行されていないときに実行されるアイドリング処理と、から成るソフトウェアを実行したときに、各割込み処理の実行中にはディジタル端子にＨｉｇｈレベル電圧を、アイドリング処理の実行中にはＬｏｗレベル電圧を出力する。
【００１２】
このディジタル端子の電圧をオシロスコープやメモリハイコーダ等の機器で測定し、所定の期間における平均電圧とＨｉｇｈレベル電圧との比率、もしくは所定の期間においてＨｉｇｈレベル電圧が出力されていた期間の割合を算出することで、ソフトウェアの実行負荷率を求めることができる。
【００１３】
割込み処理単位での実行負荷率を測定する場合には、測定対象の割込み処理開始時にディジタル端子にＨｉｇｈレベル電圧を、終了時にＬｏｗレベル電圧を出力するとともに、測定対象外の割込み処理開始時にＬｏｗレベル電圧を、終了時に測定対象の割込み処理が発生中かつ測定対象の割込み処理より優先順位の高い割込み処理が発生中でない場合にＨｉｇｈレベル電圧を出力し、上記と同様にディジタル端子の電圧を測定することで、対象とした割込み処理の実行負荷率を求めることができる。
【００１４】
また、ソフトウェアにグローバル変数を設け、上記のディジタル端子，Ｈｉｇｈレベル電圧，Ｌｏｗレベル電圧をそれぞれグローバル変数，“１”，“０”に置き換えた処理を実行してグローバル変数の状態をＲＡＭモニタ等の機器で計測することでもソフトウェアや割込み処理の実行負荷率を求めることができる。
【発明の効果】
【００１５】
本発明によれば、優先順位の異なる複数の割込み処理から成るソフトウェアを高速定周期で動作させる制御装置において、ソフトウェアやこれを構成する割込み処理の実行負荷率測定処理を必要最小限とすることができ、測定に要する時間が短く、誤差の小さい実行負荷率測定が可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の方法でソフトウェアの実行負荷率を測定するシステムの構成図。
【図２】本発明が測定の対象とするソフトウェアの構成図。
【図３】本発明の第１実施形態を表すタイミングチャート。
【図４】図３におけるディジタル端子出力信号の数値例。
【図５】本発明の第２実施形態を表すタイミングチャート。
【図６】図５に対応する割込み処理実行状態変数とディジタル端子出力状態の推移。
【発明を実施するための形態】
【００１７】
以下、図を参照して発明の実施形態について説明する。
［システムおよびソフトウェア構成］
図１は本発明の方法でソフトウェアの実行時間および実行負荷率を測定するシステムの構成例である。試験装置１０，駆動装置２０，モータ３０，測定器４０から成る。
【００１８】
試験装置１０はツイストペア等の通信用のケーブルで駆動装置２０と接続され、駆動装置２０に指令を与える。駆動装置２０は試験装置１０からの指令に応じてモータ３０を制御する制御装置であって、モータ３０に指令を与えるとともに、試験装置１０に指令の実行結果や自身およびモータ３０の状態等を応答として返す。モータ３０に駆動力を供給する電源や電力変換装置、モータ３０の電流や回転状態を検出する機器は図示を省略している。測定器４０は駆動装置２０が有するディジタル端子やメモリの状態を駆動装置２０のＩ／Ｏポートを通じて計測するもので、具体的にはオシロスコープ，メモリハイコーダ，ＲＡＭモニタ等を使用する。
【００１９】
図２は駆動装置２０で動作するソフトウェア（以下、制御プログラムと呼ぶ）の構成例である。制御プログラムは割込み処理Ａ（２０１），割込み処理Ｂ（２０２），割込み処理Ｃ（２０３），アイドリング処理２０４から成る。
【００２０】
割込み処理の優先順位は割込み処理Ａ（２０１）＞割込み処理Ｂ（２０２）＞割込み処理Ｃ（２０３）で、いずれの割込み処理も実行されていない時はアイドリング処理２０４が実行される。各処理の機能は本発明の実行負荷率測定とは関係ないため説明を省略する。
【００２１】
図１のシステム構成および図２の制御プログラム構成において、実行負荷率測定用の処理として駆動装置２０は割込み処理Ａ（２０１），割込み処理Ｂ（２０２），割込み処理Ｃ（２０３），アイドリング処理２０４の実行状態に応じてディジタル端子にＨｉｇｈレベル電圧もしくはＬｏｗレベル電圧を出力する。
【００２２】
出力された電圧は逆レベルの電圧（Ｈｉｇｈレベル電圧に対するＬｏｗレベル電圧、Ｌｏｗレベル電圧に対するＨｉｇｈレベル電圧）が出力されるまで保持される。このような機構はフリップフロップ回路やこれを内蔵したロジックＩＣにより容易にかつ安価で実現することができる。
【００２３】
なお、以下ではＨｉｇｈレベル電圧およびＬｏｗレベル電圧をそれぞれ単にＨｉｇｈおよびＬｏｗとも書き、ディジタル端子出力電圧をディジタル端子出力信号もしくはディジタル端子出力状態とも呼ぶ。
［第１実施形態］
第１実施形態では図２に示した制御プログラム全体を測定対象とする。
【００２４】
実行負荷率測定用の処理として、割込み処理Ａ（２０１），割込み処理Ｂ（２０２），割込み処理Ｃ（２０３）それぞれの開始時にディジタル端子にＨｉｇｈレベル電圧を、アイドリング処理２０４の開始時にＬｏｗレベル電圧を出力する。
【００２５】
図３は制御プログラムの動作例と、これに第１実施形態を適用したときのディジタル端子出力信号のタイミングチャートである。以下、図中の丸囲み数字を括弧つき数字で表す。
【００２６】
割込み処理Ａ（３０１）が開始された(1)の時点でディジタル端子出力信号３０５をＬｏｗからＨｉｇｈにする。続いて割込み処理Ｂ（３０２），割込み処理Ｃ（３０３），割込み処理Ａ（３０１），割込み処理Ｃ（３０３）が順に実行される。
【００２７】
割込み処理Ｃ（３０３）が終了した(2)の時点でいずれの割込み処理も実行されておらずアイドリング処理３０４が開始されるので、ディジタル端子出力信号３０５をＨｉｇｈからＬｏｗにする。(1)−(2)の期間をＴ１とする。
【００２８】
同様に、いずれかの割込み処理が実行されている(3)−(4)，(5)−(6)，(7)−(8)の期間をそれぞれＴ２，Ｔ３，Ｔ４とする。(1)−(9)の期間を測定期間とし、その長さを全体時間Ｔａｌｌとする。
【００２９】
測定期間(1)−(9)における制御プログラムの実行負荷率は、割込み処理時間の合計をＴｓｕｍ＝Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４とするとＴｓｕｍ÷Ｔａｌｌ×１００％である。
【００３０】
このときディジタル端子の平均電圧ＶＡは、Ｈｉｇｈレベル電圧をＶＨ、Ｌｏｗレベル電圧をＶＬとするとＶＡ＝（ＶＨ−ＶＬ）×Ｔｓｕｍ÷Ｔａｌｌであるから、オシロスコープ等の測定器でこれを測定すればＶＡ÷（ＶＨ−ＶＬ）×１００％により実行負荷率を算出することができる。
【００３１】
例えば図４のようなディジタル端子出力信号でＨｉｇｈレベル電圧が５．０Ｖ、Ｌｏｗレベル電圧が０．０Ｖの場合、平均電圧を測定すると３．７５Ｖとなる。この平均電圧から制御プログラムの実行負荷率を算出すると３．７５Ｖ÷（５．０Ｖ−０．０Ｖ）×１００％＝７５％となる。
［第２実施形態］
第２実施形態では制御プログラムを構成する処理のうち特定の割込み処理を測定対象とする。
【００３２】
実行負荷率測定用の処理として、測定対象の割込み処理開始時にディジタル端子にＨｉｇｈレベル電圧を、終了時にＬｏｗレベル電圧を出力するとともに、測定対象外の割込み処理開始時にＬｏｗレベル電圧を、終了時に測定対象の割込み処理が発生中（開始後かつ終了前）かつ測定対象の割込み処理より優先順位の高い割込み処理が発生中でない場合Ｈｉｇｈレベル電圧を出力する。アイドリング処理開始時にはディジタル端子にＬｏｗレベル電圧を出力する。
【００３３】
図５は、図２に示した制御プログラムに割込み処理Ｄ（４０４）を追加した制御プログラムの動作例と、これに第２実施形態を適用したときのディジタル端子出力信号のタイミングチャートである。
【００３４】
割込み処理の優先順位は割込み処理Ａ（４０１）＞割込み処理Ｂ（４０２）＞割込み処理Ｃ（４０３）＞割込み処理Ｄ（４０４）で、いずれの割込み処理も実行されていない時はアイドリング処理２０４が実行される。
［第２実施形態：割込み処理Ｂを測定対象とした場合］
割込み処理Ｂ（４０２）を測定対象とした場合、割込み処理Ｂ（４０２）が開始された(3)，(10)，(15)の時点でディジタル端子出力信号４０６をＨｉｇｈに、終了した(4)，(11)，(18)の時点でＬｏｗにするとともに、測定対象外の割込み処理Ａ（４０１），Ｃ（４０３），Ｄ（４０４）が開始された(1)，(2)，(4)，(5)，(9)，(11)，(12)，(16)の時点でディジタル端子出力信号４０６をＬｏｗに、終了した(3)，(6)，(7)，(8)，(10)，(13)，(14)，(17)の時点で割込み処理Ｂ（４０２）が発生中の場合ディジタル端子出力信号４０６をＨｉｇｈにする。
【００３５】
(3)−(4)および(10)−(11)の期間には割込み処理Ｂ（４０２）の実行中にこれより優先順位の高い割込み処理が発生していない。このため当該期間がそのままディジタル端子出力信号４０６がＨｉｇｈの期間となる。
【００３６】
(15)−(18)の期間には割込み処理Ｂ（４０２）より優先順位の高い割込み処理Ａ（４０１）が発生している。そこで、割込み処理Ａ（４０１）が開始された(16)の時点でディジタル端子出力信号４０６をＬｏｗにし、終了した(17)の時点では割込み処理Ｂが発生中のためディジタル端子出力信号４０６をＨｉｇｈにする。すると(15)−(18)の期間のうち(15)−(16)および(17)−(18)の期間でディジタル端子出力信号４０６がＨｉｇｈになる。
【００３７】
ここで(3)−(4)，(10)−(11)，(15)−(16)，(17)−(18)の期間をそれぞれＴｂ１，Ｔｂ２，Ｔｂ３，Ｔｂ４とする。(1)−(19)の期間を測定期間とし、その長さを全体時間Ｔａｌｌとする。
【００３８】
測定期間(1)−(19)における割込み処理Ｂ（４０２）の実行負荷率は、割込み処理時間の合計をＴｓｕｍ＝Ｔｂ１＋Ｔｂ２＋Ｔｂ３＋Ｔｂ４とするとＴｓｕｍ÷Ｔａｌｌ×１００％であり、これは第１実施形態と同様にディジタル端子の平均電圧の測定値から算出することができる。
［第２実施形態：割込み処理Ｄを測定対象とした場合］
割込み処理Ｄ（４０４）を測定対象とした場合、割込み処理Ｄ（４０４）が開始された(1)の時点でディジタル端子出力信号４０７をＨｉｇｈに、終了した(8)の時点でＬｏｗにするとともに、測定対象外の割込み処理Ａ（４０１），Ｂ（４０２），Ｃ（４０３）が開始された(2)，(3)，(4)，(5)，(9)，(10)，(11)，(12)，(15)，(16)の時点でディジタル端子出力信号４０７をＬｏｗに、終了した(3)，(4)，(6)，(7)，(10)，(11)，(13)，(14)，(17)，(18)の時点で割込み処理Ｄ（４０４）が発生中かつこれより優先順位の高い割込み処理が発生中でない場合ディジタル端子出力信号４０７をＨｉｇｈにする。
【００３９】
(1)−(8)の期間には割込み処理Ｄ（４０４）より優先順位の高い割込み処理Ａ（４０１），Ｂ（４０２），Ｃ（４０３）が発生している。
【００４０】
そこでまず、割込み処理Ａ（４０１）が開始された(2)の時点でディジタル端子出力信号４０７をＨｉｇｈからＬｏｗにする。割込み処理Ａ（４０１）が終了した(3)の時点では測定対象である割込み処理Ｄ（４０４）が実行中であるが、割込み処理Ａ（４０１）の実行中に順番待ちとなった割込み処理Ｂ（４０２）が続けて開始されるためディジタル端子出力信号４０７はＬｏｗのままとなる。割込み処理Ｂ（４０２）が終了して割込み処理Ｃ（４０３）が開始される(4)の時点も同様で、(2)−(4)の期間においてディジタル端子出力信号４０７はＬｏｗに保たれることになる。
【００４１】
続いて、再び割込み処理Ａ（４０１）が開始された(5)の時点でもディジタル端子出力信号４０７はＬｏｗのままとなる。割込み処理Ａ（４０１）が終了した(6)の時点では依然として測定対象の割込み処理Ｄ（４０４）が実行中であるが、これより優先順位の高い割込み処理Ｃ（４０３）が実行中のためディジタル端子出力信号４０７はＬｏｗのままとなる。割込み処理Ｃ（４０３）が終了した(7)の時点では測定対象の割込み処理Ｄ（４０４）が実行中かつこれより優先順位の高い割込み処理は実行中でないためディジタル端子出力信号４０７をＬｏｗからＨｉｇｈにする。
【００４２】
その後、割込み処理Ｄ（４０４）が再開され、終了した(8)の時点でディジタル端子出力信号をＨｉｇｈからＬｏｗにする。これ以降は割込み処理Ｄ（４０４）が実行されないためディジタル端子出力信号はＬｏｗに保たれる。
【００４３】
従って(1)−(19)の期間のうち(1)−(2)および(7)−(8)の期間でディジタル端子出力信号４０７がＨｉｇｈになる。
【００４４】
ここで(1)−(2)および(7)−(8)の期間をそれぞれＴｄ１およびＴｄ２とする。(1)−(19)の期間を測定期間とし、その長さを全体時間Ｔａｌｌとする。
【００４５】
測定期間(1)−(19)における割込み処理Ｄ（４０４）の実行負荷率は、割込み処理時間の合計をＴｓｕｍ＝Ｔｄ１＋Ｔｄ２とするとＴｓｕｍ÷Ｔａｌｌ×１００％であり、これも第１実施形態と同様にディジタル端子の平均電圧の測定値から算出することができる。
【００４６】
上記のように各割込み処理の実行状態に応じてディジタル端子への出力を変える処理は、制御プログラムに割込み処理実行状態変数を設けることで実現することができる。
【００４７】
各割込み処理ごとに実行状態を示す割込み処理実行状態変数を設け、割込み処理開始時に割込み処理実行状態変数をＯＮ（実行中）にし、終了時にＯＦＦ（実行中でない）にする。割込み処理実行状態＝ＯＮは実行再開待ち状態を含み、割込み処理を開始してから終了するまでの期間とする。
【００４８】
図６は図５における各割込み処理の割込み処理実行状態変数およびディジタル端子出力状態の推移を示したものである。
【００４９】
例えば第２実施形態で割込み処理Ｄ（４０４）を測定対象とした場合の(4)から(7)の期間では、割込み処理Ｂ（４０２）が終了した(4)の時点で他の割込み処理の実行状態変数を参照すると測定対象である割込み処理Ｄ（４０４）の実行状態変数はＯＮであるがこれより優先順位の高い割込み処理Ｃ（４０３）の実行状態変数がＯＮのためディジタル端子への出力はＬｏｗとなり、割込み処理Ａ（４０１）が終了した(6)の時点では依然として測定対象の割込み処理Ｄ（４０４）の実行状態変数はＯＮであるがこれより優先順位の高い割込み処理Ｃ（４０３）の実行状態変数がＯＮのためディジタル端子への出力はやはりＬｏｗとなる。割込み処理Ｃ（４０３）が終了した(7)の時点で測定対象の割込み処理Ｄ（４０４）の実行状態変数がＯＮかつこれより優先順位の高い割込み処理Ａ（４０１），Ｂ（４０２），Ｃ（４０３）の実行状態変数がいずれもＯＮでないためディジタル端子への出力はＨｉｇｈとなる。
【００５０】
このような処理はデータの比較と出力のみから成っており課題で挙げたような複雑な演算を必要としないため、所要時間を１００ｎｓ以下程度に抑えることができる。
［第１実施形態および第２実施形態の応用］
第１実施形態および第２実施形態において、測定モードを記憶する変数を制御プログラムに設けることで、第１実施形態のように制御プログラム全体の実行負荷率を測定するモードと第２実施形態のように割込み処理単位での実行負荷率を測定するモードを試験装置１０から指定できるようにしてもよい。
【００５１】
また第２実施形態において、各割込み処理を区別する識別子を定義しておき、測定対象とする割込み処理の識別子を記憶する変数を制御プログラムに設けることで、測定対象とする割込み処理を試験装置１０から指定できるようにしてもよい。
【００５２】
このほか第１実施形態および／もしくは第２実施形態において、ディジタル端子を複数設けておき、制御プログラム全体を測定対象とした処理および割込み処理のいずれかを測定対象とした処理のうち複数の処理を各割込み処理の開始時および終了時に実施して、各処理の出力を複数のディジタル端子に割り付けるようにしてもよい。
［第３実施形態］
第３実施形態ではディジタル端子に代えて制御プログラムに設けたグローバル変数を用いる。
【００５３】
制御プログラムにグローバル変数を設け、第１実施形態および第２実施形態のディジタル端子，Ｈｉｇｈレベル電圧，Ｌｏｗレベル電圧をそれぞれグローバル変数，“１”，“０”に置き換えた処理を実行する。
【００５４】
このグローバル変数の状態をＲＡＭモニタ等の機器を用いて定周期でサンプリングすると、グローバル変数が“１”であった回数から測定対象の割込み処理時間がわかり、これより実行負荷率を算出することができる。
【００５５】
例えば第１実施形態でディジタル端子出力信号が図４のようになる制御プログラムを実行した場合、本実施形態ではＴｓｕｍ＝Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＝１５ｍｓとＴａｌｌ＝２０ｍｓがわかり、これより実行負荷率は１５ｍｓ÷２０ｍｓ×１００％＝７５％と算出される。
【００５６】
この方法を第１実施形態や第２実施形態と併用して算出結果を突き合わせることで実行負荷率測定の精度を上げることができる。また、この方法を単独で用いればディジタル端子やディジタル端子への電圧出力手段が無くても実行負荷率を測定することができる。
【符号の説明】
【００５７】
１０  試験装置
２０  駆動装置
３０  モータ
４０  測定器
２０１，３０１  割込み処理Ａ
２０２，３０２  割込み処理Ｂ
２０３，３０３  割込み処理Ｃ
２０４，３０４  アイドリング処理
４０１  割込み処理Ａ
４０２  割込み処理Ｂ
４０３  割込み処理Ｃ
４０４  割込み処理Ｄ
４０５  アイドリング処理
３０５，４０６，４０７  ディジタル端子出力信号
【図１】
2020112918.tif 000003
【図２】
2020112918.tif 000004
【図３】
2020112918.tif 000005
【図４】
2020112918.tif 000006
【図５】
2020112918.tif 000007
【図６】
2020112918.tif 000008