JP5962860B2 - 監視方法、およびコンピュータ装置 - Google Patents
監視方法、およびコンピュータ装置 Download PDFInfo
- Publication number
- JP5962860B2 JP5962860B2 JP2015530730A JP2015530730A JP5962860B2 JP 5962860 B2 JP5962860 B2 JP 5962860B2 JP 2015530730 A JP2015530730 A JP 2015530730A JP 2015530730 A JP2015530730 A JP 2015530730A JP 5962860 B2 JP5962860 B2 JP 5962860B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- measurement
- index
- time
- maximum value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 276
- 238000012544 monitoring process Methods 0.000 title claims description 22
- 230000008569 process Effects 0.000 claims description 248
- 238000005259 measurement Methods 0.000 claims description 162
- 238000012545 processing Methods 0.000 claims description 114
- 238000004891 communication Methods 0.000 claims description 32
- 230000005540 biological transmission Effects 0.000 claims description 27
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000012360 testing method Methods 0.000 description 63
- 238000012937 correction Methods 0.000 description 26
- 238000006243 chemical reaction Methods 0.000 description 16
- 238000007619 statistical method Methods 0.000 description 13
- 230000005856 abnormality Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000001788 irregular Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000000691 measurement method Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Testing And Monitoring For Control Systems (AREA)
Description
この発明は、コンピュータ装置におけるプログラム実行の処理負荷を監視する技術に関する。
近年、電気自動車が急速に普及しつつある。電気自動車には三相交流電動機などの電動機が動力源として搭載されているとともに、当該電動機の駆動制御を行うインバータなどの駆動装置と、駆動装置と通信しその制御を行うVCU(Vehicle Control Unit)などの上位コントローラが搭載されている。上位コントローラは、駆動装置に与えるトルク指令等の各種指令値(例えば、x[Nm]など出力トルクの物理量を示す値)を運転者の操作に応じて生成する。駆動装置は、電動機に与える交流電力を上位コントローラから与えられた指令値に応じて調整する。これにより、電気自動車の走行制御が実現される。また、上位コントローラは、駆動装置のメモリに格納されている各種データ(例えば、出力トルクや回転速度(単位時間当たりの回転数)などの現在値を表すデータ)を取得し、それらデータに基づいて各種メータ類の表示制御を行う処理も実行する。これにより、車両の状態を運転者に把握させることができる。
電動機へ与える電力を上位コントローラから与えられる指令値に応じて調整する処理は、駆動装置に予めインストールされた制御プログラムにしたがってその駆動装置のCPU(Central Processing Unit:以下、制御部)を作動させることで実現される。制御プログラムの開発工程では、制御プログラムにしたがって実行される各処理の処理負荷が想定の範囲内に収まっているか否かの検証が行われる。処理負荷を表す指標としては、各処理の実行時間の時間長(換言すれば、制御部による制御プログラムの実行時間の時間長、以下では、単に「実行時間」という)や、各処理の実行時間を単位時間当たりの割合に換算したCPU占有率が挙げられる。処理負荷が高いほど実行時間は長くなり、CPU占有率は高くなるからである。例えば、処理負荷を表す指標として各処理の実行時間を用いる場合には、ハードウェアタイマを使用して処理毎に実行時間を計測するといった具合である。制御プログラムにしたがって上記制御部が実行する処理はタイマ割り込み等によって一定の時間間隔で周期的に実行される定周期処理と、不定期に発生する割り込みによって実行される不定期処理とに大別される。優先度の高い他の処理の割り込みが発生する場合、当該他の処理の実行時間をハードウェアタイマによる計測時間から差し引かなければ、割り込まれた処理の正確な実行時間を計測することはできない。そこで、プログラムの実行時間を正確に計測することを可能にする技術が種々提案されており、その一例としては「スタック方式」と呼ばれる計測方法が挙げられる(特許文献1参照)。
電動機の制御プログラムの開発工程では、上位コントローラの役割を果たす試験装置(例えばパーソナルコンピュータなど)を駆動装置に接続し、駆動装置において上記の要領で計測された実行時間を当該試験装置を用いて監視することで、各処理の処理負荷が想定の範囲内に収まっているか否かの検証が行われる。しかし、従来の処理負荷監視技術では、各処理の処理負荷を表す指標の直近の計測値のみが試験装置に表示されるため、各処理の処理負荷の問題点を試験担当者が容易に把握することができないといった不具合があった。すなわち、処理負荷にばらつきのある処理があったとしても、そのばらつきの大きさを即座に把握することは難しく、また、処理負荷が想定外に高かった場合に、その原因の分析を迅速に行えないといった不具合があった。このような不具合は、駆動装置のメモリを大容量化し、上記計測値の時系列を記憶したり、上記測定値の他に駆動装置の動作状態を表すデータを記憶したりすることで解消可能であるかに見える。しかし、処理負荷の計測を行う必要があるのは制御プログラムの開発或いは保守の局面のみであるため、実運用の観点から見れば不必要に大容量なメモリを駆動装置に搭載することになり、無駄が多く好ましくない。また、駆動装置における制御プログラムの実行過程では、数10マイクロ秒間隔といった短い周期で割り込みが発生する一方、試験装置は数ミリ秒間隔といったより長い周期で動作するため、問題の現れている計測結果を取り逃す虞がある、といった問題もあった。
本発明は以上に説明した課題に鑑みて為されたものであり、割り込みにより各種処理を実行する装置のメモリを大容量化することなく、各処理の処理負荷の問題点を確実かつ容易に把握できるようにする技術を提供することを目的とする。
上記課題を解決するために本発明は、各々割り込みにより実行されるとともに各々割り込みの優先度が予め定められた複数の処理をコンピュータ装置に実行させる場合における各処理の処理負荷を表す指標の計測値を前記コンピュータ装置と通信する上位コントローラに監視させる監視方法において、上記コンピュータ装置および上位コントローラの各々に以下の処理を実行させることを特徴とする。コンピュータ装置には、上記複数の処理の各々を実行する毎に前記指標を計測し、最新の計測値を優先度毎に記憶するとともに、当該最新の計測値がそれまでに計測された最大値を上回っていた場合には当該最新の計測値で当該最大値を更新する一方、最新の計測値の送信を要求する計測結果送信要求を前記上位コントローラから受信したことを契機としてその時点の最新の計測値と最大値とを前記上位コントローラへ送信させる。一方、上位コントローラには、前記計測結果送信要求を前記複数の処理のうち最も実行周期が長いものの実行周期よりも長い周期で前記コンピュータ装置へ送信し、前記コンピュータ装置から送信されてくる最新の計測値および最大値を記憶装置に蓄積する処理を実行させる。
本発明の監視方法によれば、上記コンピュータ装置における上記複数の処理の各々についての処理負荷を表す指標の計測値および最大値は上位コントローラ(試験装置として機能する装置)に接続される記憶装置に蓄積されるため、上記コンピュータ装置のメモリを大容量化する必要は無い。また、上記記憶装置に記憶されている計測値等に統計分析を施すことで各処理の処理負荷のばらつきの大きさ等を容易に把握することができ、処理負荷の問題点を容易に把握することができる。なお、計測結果送信要求の送信周期は、複数の処理のうち最も実行周期が長いものの実行周期よりも長いのであるが、前回の送信から今回の送信までの間に計測された指標の最大値は上記コンピュータ装置側で記憶されているため、処理負荷の異常の検出漏れが発生することはない。このように本発明によれば、割り込みにより各種処理を実行する装置のメモリを大容量化することなく、各処理の処理負荷の問題点を確実かつ容易に試験担当者に把握させることが可能になる。なお、上記各処理の処理負荷を表す指標としては各処理の実行時間またはCPU占有率を用いるようにすれば良く、上記実行時間の計測手法としては前述したスタック方式を採用すれば良い。
より好ましい態様においては、前記上位コントローラは、前記複数の処理の各々について当該処理の優先度に応じて定められた前記指標に関する閾値を記憶しており、前記コンピュータ装置から受信した最新の計測値と該当する閾値とを比較し、その比較結果に応じた警告メッセージを出力装置に出力させる処理を実行する。このような態様によれば、試験担当者は、記憶装置に蓄積されている計測値および最大値を逐一精査しなくても、処理負荷の異常を容易に把握することができる。
より好ましい態様においては、前記コンピュータ装置は、前記最大値を更新する際にはその時点における動作状態を示す動作状態データを当該新たな最大値と対応付けて記憶するとともに、前記計測結果送信要求の受信を契機としてその時点の最新の計測値および最大値とともに当該最大値に対応付けられた動作状態データを前記上位コントローラへ送信し、前記上位コントローラは、前記コンピュータ装置から受信した最新の計測値、最大値および動作状態データを表示装置に表示させることを特徴とする。このような態様によれば、動作状態データに基づいて異常の発生原因を究明することが可能になる。
より好ましい態様においては、前記指標は、前記複数の処理の各々の実行時間であり、前記コンピュータ装置は当該指標の計測に要する時間を差し引いて前記計測値を処理毎に算出することを特徴とする。上記コンピュータ装置が電気自動車における駆動装置である場合、数10マイクロ秒間隔といった短い時間間隔で割り込みが発生する。このような高速割り込みにより動作している装置では、従来のスタック方式によりプログラムの実行時間を計測したとしても、正確に計測することは難しい。従来のスタック方式では計測処理に要する時間が考慮されていない一方、高速割り込みにより動作する装置では割り込みマスクや符号付きの演算を行う関係上、計測処理に要する時間を無視できないからである。しかしながら、本態様によれば、数10マイクロ秒単位で割り込みが発生するコンピュータ装置における各処理の実行時間(処理負荷)を正確に計測することが可能になる。
以下、図面を参照しつつ本発明の実施形態を説明する。
(A:構成)
(A−1;システム構成)
図1は、本発明のコンピュータ装置の一実施形態である駆動装置20を含む試験システム1の構成例を示す図である。駆動装置20は例えばインバータであり、電動機30とともに電気自動車に搭載される。図1に示す試験システム1は、駆動装置20の保守点検や開発工程における各種試験を行うためのコンピュータシステムである。
(A:構成)
(A−1;システム構成)
図1は、本発明のコンピュータ装置の一実施形態である駆動装置20を含む試験システム1の構成例を示す図である。駆動装置20は例えばインバータであり、電動機30とともに電気自動車に搭載される。図1に示す試験システム1は、駆動装置20の保守点検や開発工程における各種試験を行うためのコンピュータシステムである。
図1に示すように、試験システム1は、試験対象の駆動装置20および電動機30の他に試験装置10を含んでいる。試験装置10は、例えばパーソナルコンピュータであり、ツイストペアケーブルなどの信号線を介して駆動装置20に接続されている。試験装置10は、当該信号線を介して各種指令Mを駆動装置20に与える一方、駆動装置20から送信される各種データDを当該信号線を介して受信する。本実施形態では、試験装置10から駆動装置20へ与える指令Mに応じて電動機30の動作にどのような変化が生じるのかを観察したり、駆動装置20から返信されてくるデータDを試験装置10を用いて確認したりすることで駆動装置20の試験が進められる。
駆動装置20は、車載電池などの直流電源(図1では図示略)から供給される直流電力を交流電力PWに変換して電動機30に与える。駆動装置20は、予めインストールされた制御プログラムを実行する制御部(図示略)と、当該制御プログラムを実行する際のワークエリアとして使用されるメモリとを含んでいる。本実施形態では、上記制御プログラムを制御部に実行させることで、上位コントローラ(本実施形態では試験装置10、駆動装置20および電動機30の実運用の際にはVCU)から与えられる各種指令Mに応じて電動機30に与える交流電力PWを制御する処理が実現される。
駆動装置20では、上記制御プログラムにしたがって実行される各種処理の実行時間が前述したスタック方式の計測方法により計測される。このようにして計測される実行時間は、制御プログラムにしたがって実行される各種処理の処理負荷を表す指標として利用される。駆動装置20の試験を行う試験担当者は、試験装置10を用いて上記計測結果が想定の範囲内に収まっているか否かを監視することができる。加えて、本実施形態では、駆動装置20および試験装置10の構成および動作を工夫することで、上記各種処理の実行時間に関する問題点(想定よりも時間がかかり過ぎているなど)を試験担当者が容易に把握できるようになっている。以下、本実施形態の特徴を顕著に示す試験装置10および駆動装置20を中心に説明する。
(A−2:試験装置10の構成)
図2は、試験装置10の構成例を示す図である。図2に示すように駆動装置10は、制御部110、通信インターフェース(図2では、「I/F」と略記、以下、本明細書においても同様)部120、ユーザI/F部130、フリーランタイマ140、記憶部150、およびこれら構成要素間のデータ授受を仲介するバス160を含んでいる。
図2は、試験装置10の構成例を示す図である。図2に示すように駆動装置10は、制御部110、通信インターフェース(図2では、「I/F」と略記、以下、本明細書においても同様)部120、ユーザI/F部130、フリーランタイマ140、記憶部150、およびこれら構成要素間のデータ授受を仲介するバス160を含んでいる。
制御部110は例えばCPUである。制御部110は記憶部150(より正確には不揮発性記憶部154)に記憶されている試験プログラム1542を実行することにより試験装置10の制御中枢として機能する。制御部110が試験プログラム1542にしたがって実行する処理については後に明らかにする。
通信I/F部120は例えばNIC(Network Interface Card)であり、通信線を介して駆動装置20に接続されている。通信I/F部120は、制御部110から与えられた各種指令Mを上記通信線を介して駆動装置20に与える一方、駆動装置20から送信されてくる各種データDを上記通信線を介して受信し、制御部110に与える。ユーザI/F部130は、表示部と操作部とを含んでいる(図2では図示略)。表示部は、例えば液晶ディスプレイとその駆動回路とを含んでいる。表示部は、制御部110による制御の下、駆動装置20の試験を試験担当者に遂行させるための各種ユーザインタフェース画面を表示する。表示部に表示されるユーザインタフェース画面の一例としては、電動機30の運転モード(トルク指定モードや速度指定モードなど)を試験担当者に指定させるための画面、電動機30のトルクや回転速度を試験担当者に指定させるための画面、電動機30の出力トルクや回転速度の現在値を表示する画面などが挙げられる。操作部は、例えばマウスなどのポインティングデバイスやキーボードを含んでいる。操作部は、ポインティングデバイスやキーボードに対して為された操作に応じたデータを制御部110に引き渡す。これにより試験担当者の操作内容が制御部110に伝達される。フリーランタイマ140は、ハードウェアタイマである。フリーランタイマ140は各種計時処理に利用される。
記憶部150は揮発性記憶部152と不揮発性記憶部154とを含んでいる。揮発性記憶部152は例えばRAM(Random Access Memory)である。揮発性記憶部152は試験プログラム1542を実行する際のワークエリアとして制御部110によって利用される。不揮発性記憶部154は例えばハードディスクなどのデータの書き換えが可能な不揮発性メモリである。図2に示すように不揮発性記憶部154には、試験プログラム1542が格納されている。この試験プログラム1542は、図2の結果収集処理1542a、警告処理1542bおよび統計分析処理1542cを制御部110に実行させるためのプログラムである。
結果収集処理1542aは、駆動装置20における各処理の処理負荷を表す指標(本実施形態では、各処理の実行時間)の瞬時値、最大値および当該最大値が計測された時点の駆動装置20の動作状態を表す動作状態データを一定の時間間隔で周期的に取得して不揮発性記憶部154に蓄積する処理である。ここで、瞬時値とは上記一定の時間間隔で訪れるデータ取得タイミングの各々における上記指標の最新の計測値のことをいう。また、最大値とはデータ取得タイミングから上記一定時間を遡った時間区間(すなわち、前回のデータ取得タイミングまでの時間区間)における上記指標の最大値のことをいう。そして、動作状態データは、駆動装置20の動作モード(トルク指定モードであるか、それとも速度指定モードであるか)、トルクおよび回転速度の指令値と現在値等を表すデータのことをいう。
この結果収集処理1542aでは、制御部110は、上記瞬時値等の送信を要求する通信メッセージ(以下、計測結果送信要求)を通信I/F部120を介して一定の時間間隔で周期的に送信する。前述したように、駆動装置20では数十マイクロ秒単位といった短い時間間隔で定周期処理および不定期処理が割り込みにより実行されるのであるが、試験装置10は一般的なパーソナルコンピュータであり、より長い周期(数ミリ秒単位の周期)で割り込みが発生する装置である。このため、上記データ取得タイミングの到来間隔も数ミリ秒単位となり、駆動装置20における各種処理の実行間隔よりも充分に長い時間間隔である。
詳細については後述するが、駆動装置20は、計測結果送信要求を受信する毎に前回の受信時以降に計測された各処理の実行時間の瞬時値、最大値および動作状態データを含む計測データ(図3参照)を返信する。図3に示すように、この計測データは、各処理の実行時間の瞬時値、最大値および動作状態データを各処理の種類(図3に示す例では、カスタマイズ部およびコア部の2種類)毎および優先度(図3に示す例では、レベルL1、L4〜L7の5種類)毎に分類したデータである。駆動装置20において実行される処理の種類および優先度については、駆動装置20の説明において明らかにする。制御部110は、このようにして駆動装置20から返信されてくる計測データを通信I/F部120を介して受信し、不揮発性記憶部154の所定の記憶領域にその受信順に順次書き込んでゆく。
警告処理1542bは、結果収集処理1542aにより取得した直近の瞬時値(或いは最大値)が予め定められた閾値を超えた場合に警告メッセージを上記表示部に表示させる処理である。ここで、上記閾値については、駆動装置20において実行される処理の種類毎および優先度毎に適宜定めるようにすれば良い。具体的には、駆動装置20において実行される処理の種類毎および優先度毎に実行時間の上限値を予め定めておき、その上限値に対する割合(例えば、百分率)により上記閾値を定めておくといった具合である。また、駆動装置20において実行される処理の種類毎および優先度毎に定められる閾値の数は1つには限定されず、互いに大きさの異なる複数の閾値を定めておいても良い。
例えば、実行時間の上限値に対する割合により上記閾値を定める場合には、上限値の50%、70%および90%の各値を上記閾値として定めておくといった具合である。そして、結果収集処理1542aにより取得した瞬時値(或いは最大値)が上記上限値の50%未満である場合には、正常稼働状態であることを示すメッセージを表示部に表示させ、50%以上かつ70%未満である場合には、注意喚起を促すメッセージを表示部に表示させ、70%以上かつ90%未満である場合には、異常発生を報知するメッセージを表示部に表示させ、90%以上である場合には、駆動装置20の停止を指示するメッセージを表示部に表示させるようにすれば良い。
統計分析処理1542cは、不揮発性記憶部154に蓄積された計測データに統計分析を施し、その分析結果を示す画像をユーザI/F部130の表示部に表示させる処理である。ここで、統計分析の具体的な内容については種々の態様が考えられる。例えば、駆動装置20において実行される処理の実行時間の瞬時値の平均値や標準偏差を処理の種類毎および優先度毎に算出すること、予め定めた複数の時間区間における各瞬時値の出現頻度の度数分布を集計し、図4(a)に示すヒストグラム形式で表示部に表示させること、或いは、図4(b)に示すように、各データ取得タイミングにおける瞬時値をその取得順(すなわち、時系列順)に並べて表示することなどが考えられる。
ヒストグラムにおいては、平均値を中心とする2σ(σは標準偏差)の範囲に略全てのサンプルが分布していることが一般的であり、この範囲外に位置するサンプルは何らかの異常を表している可能性が高い。図4(a)に示すヒストグラム形式の表示を行うことで試験担当者に異常の有無を直観的に把握させることが可能になる。また、図4(a)に示すようにヒストグラムの包絡線Wを大きく逸脱するサンプルがある場合には、ごくまれに処理負荷が大きく変動する場合があることを試験担当者に直観的に把握させることができる。また、図4(b)に示すように、各データ取得タイミングにおける瞬時値をその取得順に並べた結果、周期的に処理負荷が高くなっている場合には、試験担当者は処理負荷の高くなる周期を手掛かりに何が原因であるのかを推定することができる。また、駆動装置20における各処理の処理負荷を表す指標としてCPU占有率を用いる場合には、上記測定結果送信要求の送信間隔に占める各優先度の処理の実行時間の割合を当該処理のCPU占有率として算出し、図4(c)に示す円グラフ形式で表示させるようにしても良い。ここで、CPU占有率の算出については処理の種類毎および優先度毎に行っても良く、また、処理の種類を問わずに優先度毎に行っても良い。図4(c)に示す表示態様によれば、各処理のCPU占有率が想定の範囲に収まっているか否かを試験担当者に直観的に把握させることができる。なお、図4(c)における「空き時間」とは、計測データの示す各処理の実行時間の瞬時値の総和を上記送信間隔から減算して得られる値であり、何れの処理も実行されていない期間の時間長を表す。
以上が試験装置10の構成である。
以上が試験装置10の構成である。
(A−3:駆動装置20の構成)
次いで、図5を参照しつつ駆動装置20の構成を説明する。図5は、駆動装置20の構成例を示す図である。図5に示すように駆動装置20は、制御部210、通信I/F部220、電力変換部230、フリーランタイマ240、記憶部250、およびこれら構成要素間のデータ授受を仲介するバス260を含んでいる。制御部210は、試験装置10における制御部110と同様にCPUである。制御部210は記憶部250(より正確には不揮発性記憶部254)に記憶されているプログラムを実行することにより駆動装置20の制御中枢として機能する。通信I/F部220は、試験装置10における通信I/F部120と同様にNICである。通信I/F部220は通信線を介して試験装置10の通信I/F部120に接続されている。フリーランタイマ240は、試験装置10におけるフリーランタイマ140と同様にハードウェアタイマである。フリーランタイマ240は、前述したスタック方式の実行時間計測の際に利用される。
次いで、図5を参照しつつ駆動装置20の構成を説明する。図5は、駆動装置20の構成例を示す図である。図5に示すように駆動装置20は、制御部210、通信I/F部220、電力変換部230、フリーランタイマ240、記憶部250、およびこれら構成要素間のデータ授受を仲介するバス260を含んでいる。制御部210は、試験装置10における制御部110と同様にCPUである。制御部210は記憶部250(より正確には不揮発性記憶部254)に記憶されているプログラムを実行することにより駆動装置20の制御中枢として機能する。通信I/F部220は、試験装置10における通信I/F部120と同様にNICである。通信I/F部220は通信線を介して試験装置10の通信I/F部120に接続されている。フリーランタイマ240は、試験装置10におけるフリーランタイマ140と同様にハードウェアタイマである。フリーランタイマ240は、前述したスタック方式の実行時間計測の際に利用される。
電力変換部230は前述した直流電源と電動機30とに接続されている。電力変換部230は、IGBTなどのスイッチング素子を含んでいる(図5では図示略)。本実施形態では、これらスイッチング素子のスイッチング(オン/オフの切り替え)により、直流電源から供給される直流電力の交流電力PWへの変換が実現される。電力変換部230に含まれるスイッチング素子のオン/オフ制御は制御部210によって行われる。
記憶部250は揮発性記憶部252と不揮発性記憶部254とを含んでいる。揮発性記憶部252は試験装置10における揮発性記憶部152と同様にRAMである。揮発性記憶部252は、各種プログラムを実行する際のワークエリアとして制御部210によって利用される。また、揮発性記憶部252は上記スタック方式の実行時間計測を行う際のスタックとしても利用され、さらに制御プログラムにしたがって実行される電動機30の制御のための各種処理の実行時間を表すデータの格納にも利用される。不揮発性記憶部254は例えばFLASH ROM(Flash Read-Only Memory)などデータの書き換えが可能な不揮発性メモリである。図5に示すように不揮発性記憶部254には、前述した制御プログラムの役割を果たすソフトウェアライブラリ(通信制御ライブラリ2542、電力変換部制御ライブラリ2544、および計測支援ライブラリ2546)が予め格納されている。
通信制御ライブラリ2542は、試験装置10と通信する処理(すなわち、各種指令Mの受信および各種データDの送信)を制御部210に実現させるためのプログラムの集合体である。電力変換部制御ライブラリ2544は、試験装置10から与えられる各種指令Mに応じて電力変換部230の作動制御を行う処理を制御部210に実行させるためのプログラムの集合体である。通信制御ライブラリ2542は、駆動装置20を組み込んで電気自動車を製造するメーカ等によってその電気自動車に搭載される車載ネットワークの仕様に応じて作成される。つまり、通信制御ライブラリ2542に含まれる各プログラムは、制御部210を、駆動装置20が搭載される電機自動車の車載ネットワーク毎に適宜カスタマイズされたカスタマイズ部として機能させるプログラムである。これに対して、電力変換部制御ライブラリ2544は、駆動装置20の製造元により作成される。電力変換部制御ライブラリ2544に含まれる各プログラムは、制御部210を、電力変換部230の作動制御を実現するコア部として機能させるプログラムである。
通信制御ライブラリ2542或いは電力変換部制御ライブラリ2544に含まれるプログラムにしたがって制御部210が実行する処理は、前述した定周期処理と不定期処理とに大別される。本実施形態では、これらの処理の実行開始を指示する割り込みは数十マイクロ秒といった短い時間間隔で発生する。これらの処理には予め優先度が設定されており、定周期処理の優先度は最も低く設定されている。制御部210は、これら不定期処理および定周期処理の何れかの実行中に、当該実行中の処理よりも優先度の高い処理の実行を指示する割り込みが発生すると、実行中の処理を一旦中断し、当該優先度の高い処理を実行する。そして、当該優先度の高い処理の実行を完了すると制御部210は、実行を中断中の処理の実行を再開する。
計測支援ライブラリ2546に含まれるプログラムは、通信制御ライブラリ2542或いは電力変換部制御ライブラリ2544に含まれるプログラムにしたがって実行される処理の実行時間を計測する計測処理、その計測結果を試験装置10へ通知する計測結果送信処理を制御部210に実行させるためのプログラムである。なお、本実施形態では、通信制御ライブラリ2542或いは電力変換部制御ライブラリ2544に含まれるプログラムにしたがって実行される処理を実行時間の計測対象とするが、前者にしたがって実行される処理のみを実行時間の計測対象としても良い。前述したように、通信制御ライブラリ2542は、駆動装置20および電動機30の搭載される車両の製造元によって開発されるソフトウェアであり、通信制御ライブラリ2542に含まれる各プログラムの実行時間が予め定められた時間(駆動装置20の正常動作の保証という観点から駆動装置20の製造元により推奨された時間、或いは要求仕様等に応じて定まる時間)内に収まっているか否か(換言すれば、各処理の処理負荷が想定内に収まっているか否か)を検証しておくことは上記車両の製造元にとって極めて重要だからである。
まず、計測処理を制御部210に実現させるプログラムについて説明する。
計測処理を制御部210に実行させるプログラムは、通信制御ライブラリ2542或いは電力変換部制御ライブラリ2544に含まれる各プログラムから所謂API(Application Programming Interface)として呼び出し可能なように実装されている。例えば、ある処理の実行時間を計測するためには、当該処理を制御部210に実行させるプログラムの先頭に実行時間の計測を開始するための計測開始処理の実行を指示するAPI(以下、計測開始API)を呼び出すためのコードを埋め込んでおく。一方、当該プログラムの末尾には、実行時間の計測を終了するための計測終了処理の実行を指示するAPI(以下、計測終了API)を呼び出すためのコードを埋め込んでおくといった具合である。このようにすると、実行時間の計測対象の処理の実行を開始するための割り込みの発生を契機として、制御部210は、まず、計測開始処理を実行し、当該計測対象の処理の実行終了を契機として計測終了処理を実行する。
計測処理を制御部210に実行させるプログラムは、通信制御ライブラリ2542或いは電力変換部制御ライブラリ2544に含まれる各プログラムから所謂API(Application Programming Interface)として呼び出し可能なように実装されている。例えば、ある処理の実行時間を計測するためには、当該処理を制御部210に実行させるプログラムの先頭に実行時間の計測を開始するための計測開始処理の実行を指示するAPI(以下、計測開始API)を呼び出すためのコードを埋め込んでおく。一方、当該プログラムの末尾には、実行時間の計測を終了するための計測終了処理の実行を指示するAPI(以下、計測終了API)を呼び出すためのコードを埋め込んでおくといった具合である。このようにすると、実行時間の計測対象の処理の実行を開始するための割り込みの発生を契機として、制御部210は、まず、計測開始処理を実行し、当該計測対象の処理の実行終了を契機として計測終了処理を実行する。
計測開始処理は、上記のように実行時間の計測対象の処理の実行開始に先立って実行される処理である。この計測開始処理では、制御部210は、まず、フリーランタイマ240のタイマ値を読み込む。次いで、制御部210は、当該計測開始処理に後続する処理(すなわち、実行時間の計測対象の処理)によって実行を中断される他の処理があるか否かを判定し、該当する他の処理がない場合には、読み込んだタイマ値を符号反転して揮発性記憶部252内に設けられたスタックへプッシュする。ここで、当該計測開始処理に後続する処理によって実行を中断される他の処理があるか否かについては、スタックにタイマ値が格納されているか否かに基づいて判定すれば良い。具体的には、スタックにタイマ値が格納されていれば、実行を中断される他の処理があると判定するといった具合である。また、読み込んだタイマ値を符号反転してスタックへプッシュするのは、特許文献1に開示の技術と同様の理由によるものである。
実行を中断される他の処理がある場合には、制御部210は、フリーランタイマ240のタイマ値と上記スタックの最上段に格納されているタイマ値との差から予め定められた第1の補正値を減算した値を当他の処理のそれまでの実行時間を表す値として算出し、上記スタックの最上段の格納内容を当該値で更新した後に、当該読み込んだタイマ値を符号反転して上記スタックへプッシュする。つまり、本実施形態の駆動装置20では、上記スタックは、優先度の高い処理の割り込みにより実行を中断される処理のそれまでの実行時間を示す値を記憶する記憶装置の役割を兼ねているのである。なお、上記第1の補正値の詳細については後に明らかにする。
計測終了処理は、実行時間の計測対象の処理の実行終了を契機として実行される処理である。この計測終了処理では、制御部210は、フリーランタイマ240のタイマ値を読み込み、当該タイマ値と上記スタックの最上段に格納されているタイマ値との差から予め定められた第2の補正値を減算し、両タイマ値の示す期間における当該実行を終了する処理の実行時間を算出する。なお、実行時間の計測対象の処理について上記期間以前の実行時間を示す値が揮発性記憶部252(詳細については後述するが、本実施形態では上記スタックの最上段)に記憶されていた場合には、制御部210は、上記減算結果に当該値を加算して当該実行を終了する処理の実行時間を算出する。上記第2の補正値の詳細については後に明らかにする。
この計測終了処理において制御部210は、上記の要領で算出した実行時間を測定終了処理の呼び出し元の処理の種別(例えば、カスタマイズ部の処理であるかのそれともコア部の処理)毎、および呼び出し元の処理の優先度(すなわち、割り込みレベル)毎に計測データ(図3参照)の瞬時値フィールドに書き込む。なお、制御部210は、瞬時値フィールドに書き込んだ実行時間と最大値フィールドの格納内容とを比較し、前者の方が大きい場合には当該実行時間で最大値フィールドの格納内容を更新するとともに、その時点の駆動装置20の動作状態を表す動作状態データ(例えば、トルクや回転速度の指令値および現在値、制御部210の内部レジスタの格納内容等)を動作状態データフィールドに書き込む。
上記第1の補正値とは、図6に示すように、実行時間の計測対象の処理の実行開始を指示する割り込みの発生から計測開始処理MSにおけるタイマ値の読み込みまでの第1の所要時間Ta1と、計測終了処理MEにおけるタイマ値の読み込みから割り込み終了までの第2の所要時間Ta2との和に応じた値である。なお、図6に示す例では、計測開始処理MSに先行する符号WHおよび計測終了処理MEに後続する符号WHは割り込みハンドラを表している。一方、第2の補正値とは、計測開始処理におけるタイマ値の読み込みから当該計測開始処理の実行完了までの第3の所要時間Tc1eと、計測終了処理の実行開始から当該計測終了処理におけるタイマ値の読み込みまでの第4の所要時間Tc2sとの和に応じた値である。
上記第1および第2の補正値の具体的な値については制御部210の種類や仕様に応じて定めるようにすれば良く、さらに第1の補正値(上記第1の時間Ta1および第2の時間Ta2)については実行時間の計測対象の処理の優先度に応じた値に定めるようにすれば良い。各々優先度の異なる処理の実行時間を正確に計測するためである。本実施形態では、最も優先度に高い処理についてはTa1=34マイクロ秒、Ta2=54マイクロ秒と定められており、その他の処理についてはTa1=60マイクロ秒、Ta2=78マイクロ秒と定められている。また、第2の補正値(上記第3の時間Tc1eおよび第4の時間Tc2s)については、Tc1e=52マイクロ秒、Tc2s=24マイクロ秒と定められている。本実施形態では、上記第1の補正値は上記優先度と対応付けて計測開始処理のプログラムに予め埋め込まれており、上記第2の補正値は計測終了処理のプログラムに予め埋め込まれている。
以上が計測処理を制御部210に実現させるプログラムの詳細である。
以上が計測処理を制御部210に実現させるプログラムの詳細である。
次いで計測結果送信処理を制御部210に実現させるプログラムについて説明する。
このプログラムは、計測結果送信要求を試験装置10から受信したことを契機として実行される。このプログラムにしたがって実行される計測結果送信処理では、制御部210は、前述した計測データを揮発性記憶部252から読み出して試験装置10へ返信するとともに、計測データを初期化する(計測データの各フィールドにNULL(0x00)をセットする)。
以上が駆動装置20の構成である。
このプログラムは、計測結果送信要求を試験装置10から受信したことを契機として実行される。このプログラムにしたがって実行される計測結果送信処理では、制御部210は、前述した計測データを揮発性記憶部252から読み出して試験装置10へ返信するとともに、計測データを初期化する(計測データの各フィールドにNULL(0x00)をセットする)。
以上が駆動装置20の構成である。
(B:動作)
以下、試験装置10および駆動装置20が実行する動作のうち、本発明の特徴を顕著に示す動作について説明する。なお、以下に説明する動作例では、通信制御ライブラリ2542および電力変換部制御ライブラリ2544に含まれる各プログラムにしたがって制御部210は、n(nは2以上の自然数)種類の処理SLx(x=1〜n)を実行するとともにxの値が小さいほど高い優先度Lxが設定されているものとする。また、駆動装置20の計測データは全てNULLに初期化されている。以下では、まず、このような状況下で、処理SL2の実行中に、割り込みにより処理SL1の実行が開始される場合を例にとって計測開始処理および計測終了処理の処理内容を説明する。なお、以下に説明する動作例では、処理SL2の開始時点では他の処理は実行されておらず、処理SLx(x=1〜n)の各々を制御部210に実行させる各プログラム(通信制御ライブラリ2542に含まれるプログラム)には、その先頭に計測開始APIを呼び出すためのコードが埋め込まれており、その末尾には計測終了APIを呼び出すためのコードが埋め込まれている。また、計測開始APIおよび計測終了APIの呼び出しの際にはその呼び出し元がコア部のプログラムなのかカスタマイズ部のプログラムなのかを示す識別子や当該プログラムにしたがって実現される処理の優先度を表す値が当該APIの引数として用いられる。呼び出し元の処理の優先度に応じて上記第1の補正値の値を異ならせるとともに、実行時間の計測結果を上記プログラムの種別毎および優先度毎に分類して計測データを生成するためである。
以下、試験装置10および駆動装置20が実行する動作のうち、本発明の特徴を顕著に示す動作について説明する。なお、以下に説明する動作例では、通信制御ライブラリ2542および電力変換部制御ライブラリ2544に含まれる各プログラムにしたがって制御部210は、n(nは2以上の自然数)種類の処理SLx(x=1〜n)を実行するとともにxの値が小さいほど高い優先度Lxが設定されているものとする。また、駆動装置20の計測データは全てNULLに初期化されている。以下では、まず、このような状況下で、処理SL2の実行中に、割り込みにより処理SL1の実行が開始される場合を例にとって計測開始処理および計測終了処理の処理内容を説明する。なお、以下に説明する動作例では、処理SL2の開始時点では他の処理は実行されておらず、処理SLx(x=1〜n)の各々を制御部210に実行させる各プログラム(通信制御ライブラリ2542に含まれるプログラム)には、その先頭に計測開始APIを呼び出すためのコードが埋め込まれており、その末尾には計測終了APIを呼び出すためのコードが埋め込まれている。また、計測開始APIおよび計測終了APIの呼び出しの際にはその呼び出し元がコア部のプログラムなのかカスタマイズ部のプログラムなのかを示す識別子や当該プログラムにしたがって実現される処理の優先度を表す値が当該APIの引数として用いられる。呼び出し元の処理の優先度に応じて上記第1の補正値の値を異ならせるとともに、実行時間の計測結果を上記プログラムの種別毎および優先度毎に分類して計測データを生成するためである。
処理SL2の実行開始を指示する割り込みの発生時点では、他に実行中の処理はない。このため、図6に示すように、処理SL2の実行に先立って実行される計測開始処理MSでは、制御部210は、フリーランタイマ240のタイマ値T1を読み込み、当該タイマ値T1を符号反転してスタックへプッシュする。その後、制御部210は、処理SL2の実行を開始し、処理SL1の実行開始を指示する割り込みが発生すると、処理SL2の実行を中断する。制御部210は上記割り込みにより実行を指示されたプログラムを不揮発性記憶部254から揮発性記憶部252に読み出してその実行を開始する。前述したように、当該プログラムの先頭にも計測開始APIが含まれているため、制御部210は、まず、計測開始処理MSを実行する。
処理SL1に先立つ計測開始処理MSでは制御部210は、まず、フリーランタイマ240のタイマ値T2を読み込む。本動作例では、処理SL1により実行を中断される処理があるため、制御部210は、上記実行を中断される処理についての上記割り込みが発生するまでの実行時間を表す値としてTα´=T2−T1−Ta2−Ta1を上記タイマ値T2に、スタックの最上段に格納されている値(−T1)を加算し、さらに第1の補正値に基づいて算出する。次いで、制御部210は、スタックの最上段の格納内容を当該値Tα´に更新し、その後、フリーランタイマ240から読み込んだタイマ値T2を符号反転してスタックへプッシュする(図6参照)。なお、スタックへのタイマ値のプッシュを符号反転せずに行う場合には、フリーランタイマ240のタイマ値T2とスタックの最上段に格納されているタイマ値T1との差を算出し、さらに上記第1の補正値を減算することで上記値Tα´を算出する処理を制御部210に実行させるようにすれば良い。
ここで注目すべき点は、上記割り込みが発生するまでの処理SL2の実際の実行時間Tα(図6に示すように、Tα=T2−T1−Tc1e−Ta1)は上記の要領で算出される値Tα´とは微妙に異なっているという点である。このように、処理SL2の実際の実行時間Tαと計測開始処理MSにて算出される値Tα´は微妙に異なるのであるが、両者の誤差は処理SL2に後続する計測終了処理MEにおいて補正されるため、特段の問題は生じない。この点については後に詳細に説明する。なお、優先度の高い処理の割り込みにより実行を中断される処理のそれまでの実行時間を示す値を記憶する役割をスタックとは異なる他の記憶装置に担わせる場合には、処理SL1に先立つ計測開始処理MSにおいては、スタックの最上段の値をプルし、当該値とフリーランタイマ240のタイマ値とから上記値Tα´を算出し、処理SL2と対応付けて上記記憶装置に記憶させた後に、上記タイマ値を符号反転してスタックへプッシュする処理を制御部210に実行させるようにすれば良い。
上記の要領で処理SL1の実行を開始した制御部210は、当該処理SL1の実行終了を契機として計測終了処理MEを実行する。この計測終了処理MEでは制御部210は、スタックの最上段に格納されている値(本実施形態では、−T2)をプルし、当該値とフリーランタイマ240から読み込んだタイマ値との和(本動作例では、スタックの最上段に保持されているタイマ値とフリーランタイマ240から読み込んだタイマ値との差)を算出し、さらにその算出結果から第2の補正値を減算する。これにより、本動作例では、処理SL1の実行時間を表す値Tx(Tx=T3−T2−Tc1e−Tc2s)が算出される。制御部210は、このようにして算出した処理SL1の実行時間Txを当該処理SL1と対応づけて測定結果データ(図3参照)の瞬時値フィールドに書き込む。前述したように、本動作例の開始時点では、測定結果データは初期化されているため、処理SL1の実行時間の最大値として上記計測値Txが格納され、その時点の各動作状態定データが測定結果データの動作状態データフィールドに格納される。このようにして計測データの瞬時値フィールドおよび最大値フィールドに格納される計測値Txは、図6に示すように、処理SL1の実際の実行時間と一致する。
次いで、制御部210は、スタックの最上段の格納内容(本動作例では、Tα´)を、フリーランタイマ240から読み込んだタイマ値T3を減算した値(本動作例では、−T3+Tα´)に更新し、計測終了処理MEを終了する。なお、優先度の高い処理の割り込みにより実行を中断される処理のそれまでの実行時間を示す値を記憶する役割をスタックとは異なる他の記憶装置に担わせる場合には、本計測終了処理MEにおいては、スタックの最上段の値をプルし、当該値とフリーランタイマ240のタイマ値とから処理SL1の実行時間の計測値Txを算出して計測データの該当フィールドに書き込んだ後に、上記タイマ値を符号反転してスタックへプッシュする処理を制御部210に実行させるようにすれば良い。
図6に示すように、処理SL1についての割り込みが終了すると、制御部210は処理SL2の実行を再開する。しかし、本動作例では、再度、処理SL1の実行開始を指示する割り込みが発生するため、処理SL2の実行は再度中断される。図6に示すように、当該再度の割り込みによる計測開始処理MSでは制御部210は、フリーランタイマ240のタイマ値T2´を読み込み、当該タイマ値T2´とスタックの最上段の格納内容(−T3+Tα´)とに基づいて処理SL2についての当該割り込みが発生するまでの実行時間を表す値Tα´+Tγ´(ただし、Tγ´=T2´−T3−Ta2−Ta1)を算出し、当該値で上記スタックの最上段の格納内容を更新する。その後、制御部210は、フリーランタイマ240から読み込んだタイマ値T2´を符号反転して上記スタックへプッシュする。なお、上記割り込みが発生するまでの処理SL2の実際の実行時間Tγは、図6に示すように、上記の要領で算出される値Tγ´と一致する。
以降、処理SL1の実行終了を契機として計測終了処理MEが実行される点、この計測終了処理MEでは処理SL1の実行時間Ty(Ty=T3´−T2´−Tc1e−Tc2s)を算出して計測データの瞬時値フィールドに格納する点、当該計測値Tyの出力後、スタックの最上段の格納内容が(−T3´+Tα´+Tγ´)に更新される点、および上記の要領で算出された計測値Tyが処理SL1の実際の実行時間と一致する点、は前述した1回目の処理SL1の実行における場合と同様である。なお、この2回目の処理SL1についての計測終了処理では、計測値Tyが前回の計測値Tx以上であれば、上記瞬時値欄の更新に加えて最大値欄の格納内容を当該計測値Tyに更新し、更に動作状態データを計測データの該当フィールドに格納する処理が実行され、計測値Tyが前回の計測値Tx未満であれば上記瞬時値フィールドの更新のみが実行される。
処理SL1についての割り込みが終了すると、制御部210は、再度、処理SL2の実行を再開し、処理SL2の実行が終了すると、計測終了処理MEを実行する。この計測終了処理MEでは制御部210は、スタックの最上段の格納内容(Tα´+Tγ´−T3´)とフリーランタイマ240から読み込んだタイマ値T4とからそれまでの処理SL2の実行時間を表す値Tα´+Tγ´+Tβ´(ただし、Tβ´=T4−T3´−Tc1e−Tc2s)を算出する。そして、制御部210は、上記の要領で算出した計測値(Tα´+Tγ´+Tβ´)を、処理SL2の実行時間の瞬時値を表すデータとして計測データの該当フィールドに書き込む。また、この時点の計測データにおいては、処理SL2の実行時間の最大値フィールドには初期値を表すデータが格納されているため、制御部210は、当該最大値フィールドに計測値(Tα´+Tγ´+Tβ´)を書き込むとともに、その時点の動作状態データを計測データの該当フィールドに書き込む。
図6を参照すれば明らかように、2回目の処理SL1についての割り込み終了後、処理SL2の実行が完了するまでの実際の実行時間Tβ(図6に示すように、Tβ=T4−T3´−Ta2−Tc2s)と上記の要領で算出される値Tβ´とは微妙に異なっている。しかし、TβとTβ´の差(Tβ―Tβ´)は−Ta2+Tc1sであり、TαとTα´の差Ta2−Tc1sと相殺する。つまり、Tα´+Tγ´+Tβ´=Tα+Tγ+Tβとなり、処理SL2の実行時間が正確に算出される。なお、優先度の高い処理の割り込みにより実行を中断される処理のそれまでの実行時間を示す値を記憶する役割をスタックとは異なる他の記憶装置が担っている場合には、スタックの最上段には−T3´のみが格納されているため、当該値とフリーランタイマ240から読み込んだタイマ値T4との和から上記第2の補正値を減算して値Tβ´を算出し、上記記憶装置に記憶されているTα´およびTγ´を加算して処理SL2の実行時間を表す値を算出する処理を制御部210に実行させるようにすれば良い。
以上説明したように、駆動装置20の計測データの瞬時値フィールドの格納内容は、処理SLn(n=1または2)の各処理の実行が終了する毎に更新され、上記瞬時値がそれまでの最大値を上回る毎に最大値フィールドおよび動作状態データフィールドの格納内容が更新される。そして、制御部210は、試験装置10から送信されてくる計測結果送信要求を通信I/F部220を介して受信すると、当該要求を受信した時点の計測データを揮発性記憶部252から読み出して試験装置10に送信し、計測データを初期化する。
一方、試験装置10の制御部110は、駆動装置20における処理SLn(n=1または2)の実行時間の瞬時値、最大値および最大値が計測された時点の動作状態データを一定の時間間隔で周期的に取得して揮発性記憶部152に蓄積する処理を試験プログラム1542にしたがって実行する。そして、制御部110は、データ取得タイミング毎に、処理SLn(n=1または2)の種類および優先度に応じて予め定められた閾値とそのデータ取得タイミングにおける上記実行時間の瞬時値(或いは最大値)を比較し、例えば後者が前者を上回っていた場合に警告メッセージをユーザI/F部130の表示部に表示させる。また、試験担当者は、充分な量の計測データが試験装置10の揮発性記憶部152に蓄積されたことを契機として制御部110に統計分析処理1542cを実行させ、駆動装置20における各処理の処理負荷に問題があるか否かを多面的に分析することができる。
このように、本実施形態によれば、上記警告処理が実行されるため、試験担当者は、駆動装置20から取得したデータを逐一精査しなくても、異常の発生を把握することができる。また、本実施形態では、駆動装置20における処理SLn(n=1または2)の実行時間の瞬時値の他に、前回のデータ取得タイミングから今回のデータ取得タイミングまでの時間間隔における上記実行時間の最大値も取得されるため、瞬時値のみを取得する態様に比較して最大値の取得漏れに起因する異常の見逃しが発生することもない。さらに、本実施形態によれば、最大値が計測された時点の動作状態データも取得されるため、異常の原因究明に役立てることができる。
加えて、本実施形態によれば、各データ取得タイミングにおける処理SLn(n=1または2)の実行時間の瞬時値、最大値および最大値が計測された時点の動作状態データが試験装置10の揮発性記憶部152に蓄積されるため、駆動装置20の記憶部250を大容量化する必要もない。
以上説明したように本実施形態によれば、割り込みにより各種処理を実行する駆動装置20のメモリを大容量化することなく、各処理の実行時間の問題点を確実かつ容易に把握することが可能になる。
(C:変形)
以上本発明の実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
(1)上記実施形態では、電動機30の駆動装置20における電力変換部230の作動制御を行うプログラムにしたがって制御部210が実行する各種処理の処理負荷を監視する場合について説明した。しかし、本発明の監視方法による処理負荷の監視対象の処理は、電気自動車の電動機の駆動制御を行う駆動装置において実行される処理に限定されるものではない。例えば家庭用ゲーム機や携帯型ゲーム機において実行される処理の処理負荷を監視対象としても良く、また、スマートフォンやタブレット型コンピュータなどの携帯型コンピュータにおいて実行される処理、或いはルータなどのネットワーク機器において実行される処理の処理負荷を監視対象としても良い。要は、コンピュータ装置において割り込みにより実行される処理であって、処理毎に優先度が予め定められている処理であれば良く、特に、割り込みが数十マイクロ秒といった極めて短い時間間隔で発生する場合に効果的である。
以上本発明の実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
(1)上記実施形態では、電動機30の駆動装置20における電力変換部230の作動制御を行うプログラムにしたがって制御部210が実行する各種処理の処理負荷を監視する場合について説明した。しかし、本発明の監視方法による処理負荷の監視対象の処理は、電気自動車の電動機の駆動制御を行う駆動装置において実行される処理に限定されるものではない。例えば家庭用ゲーム機や携帯型ゲーム機において実行される処理の処理負荷を監視対象としても良く、また、スマートフォンやタブレット型コンピュータなどの携帯型コンピュータにおいて実行される処理、或いはルータなどのネットワーク機器において実行される処理の処理負荷を監視対象としても良い。要は、コンピュータ装置において割り込みにより実行される処理であって、処理毎に優先度が予め定められている処理であれば良く、特に、割り込みが数十マイクロ秒といった極めて短い時間間隔で発生する場合に効果的である。
(2)上記実施形態では、第1および第2の補正値として制御部210の種類や仕様に応じて定められる値を用い、かつ第1の補正値として実行時間の計測対象の処理の優先度に応じた値を用いたが、制御部210の種類または仕様のみに応じて定められた値を用いても良く、また実行時間の計測対象の処理の優先度のみに応じて定められた値を用いても良い。このような態様によれば、上記実施形態に比較して実行時間の計測精度が低下するものの、これら補正値を用いた補正を行う分だけ従来のスタック方式よりも精度良く実行時間を計測することが可能になるからでる。
(3)上記実施形態では、第1の補正値および第2の補正値が計測支援ライブラリ2546の各プログラムに埋め込まれていたが、これら補正値を書き込んだテーブルを上記各プログラムとは別個に不揮発性記憶部254に記憶させ、各プログラムにしたがって作動する制御部210には当該テーブルから各補正値を読み込んで使用する処理を実行させるようにしても良い。このように実行時間計測用のプログラムとは別個に各補正値を記憶させておけば、例えば制御部210の換装(より高性能なものへの置き換え)や各処理の割り込みレベルの変更が発生した場合であっても上記テーブルの書き換えによって柔軟に対処することが可能になる。
(4)上記実施形態では、最も優先度の高い処理とその他の処理とで第1の補正値の値を異ならせる場合について説明したが、最も優先度の高い処理に先立って実行される計測開始処理とその他の処理に先立って実行される計測開始処理とで処理内容を異ならせても良い。具体的には、計測開始処理の実行中は他の処理による割り込みを禁止するために、計測開始処理の冒頭で割り込み禁止制御を行い、計測開始処理の末尾で当該禁止を解除する制御を行うことが一般的であるが、最も優先度の高い処理に先行する計測開始処理では、他の処理による割り込みが発生することはないため、上記禁止制御や禁止の解除を省略するのである。計測終了処理についても同様に、最も優先度の高い処理に後続する計測終了処理では、上記禁止制御や禁止の解除を省略し、その他の処理に後続する計測終了処理では上記禁止制御や禁止の解除を実行するようにしても良い。
(5)上記実施形態では、駆動装置20から送信されてくる計測データを試験装置10の記憶部150に蓄積したが、USB(Universal Serial Bus)インターフェースなどの外部機器インターフェースを介して試験装置10に接続される記憶装置に計測データを蓄積しても良い。また、上記実施形態では警告メッセージや統計分析処理1542cの処理結果を表す画面をユーザI/F部130の表示部に表示させたが、外部機器インターフェースを介して試験装置10に接続される表示装置に上記警告メッセージや画面を表示させるようにしても良い。また、上記実施形態では、警告メッセージをユーザI/F部130の表示部に表示させる場合について説明したが、音声出力する態様であっても勿論良い。
(6)上記実施形態では、試験装置10の制御部110に、結果収集処理1542a、警告処理1542bおよび統計分析処理1542cの3種類の処理を実行させた。しかし、処理負荷のリアルタイム監視のみを行う場合には統計分析処理1542cを省略しても良く、逆に、処理負荷のリアルタイム監視を行わない場合には警告処理1542bを省略しても良い。また、処理負荷のリアルタイム監視を行わない場合において統計分析専用のコンピュータ装置を用いて統計分析処理を行う場合には、統計分析処理1542cを省略しても良い。また、結果収集処理1542aにおける動作状態データの収集および蓄積は必ずしも必須ではなく省略しても良い。そして、動作状態データの収集および蓄積を省略する場合には、計測終了処理における動作状態データの記憶を省略しても良い。
1…試験システム、10…試験装置、110,210…制御部、120,220…通信I/F部、130…ユーザI/F部、230…電力変換部、140,240…フリーランタイマ、150,250…記憶部、152,252…揮発性記憶部、154,254…不揮発性記憶部、1542…試験プログラム、2542…通信制御ライブラリ、2544…電力変換部制御ライブラリ、2546…計測支援ライブラリ、160,260…バス、30…電動機。
Claims (13)
- 各々割り込みにより実行されるとともに各々割り込みの優先度が予め定められた複数の処理をコンピュータ装置に実行させる場合における各処理の処理負荷を表す指標の計測値を前記コンピュータ装置と通信する上位コントローラを用いて監視する監視方法において、
前記コンピュータ装置は、
前記各処理を実行する毎に前記指標を計測し、最新の計測値を優先度毎に記憶するとともに、当該最新の計測値がそれまでに計測された最大値を上回っていた場合には当該最新の計測値で当該最大値を更新する一方、最新の計測値の送信を要求する計測結果送信要求を前記上位コントローラから受信したことを契機としてその時点の最新の計測値と最大値とを前記上位コントローラへ送信し、
前記上位コントローラは、
前記計測結果送信要求を前記コンピュータ装置における前記複数の処理のうち最も実行周期が長いものの実行周期よりも長い周期で前記コンピュータ装置へ送信し、前記コンピュータ装置から送信されてくる最新の計測値および最大値を記憶装置に蓄積する
ことを特徴とする監視方法。 - 前記上位コントローラは、
前記複数の処理の各々について当該処理の優先度に応じて定められた前記指標に関する閾値を記憶しており、
前記コンピュータ装置から受信した最新の計測値と該当する閾値とを比較し、その比較結果に応じた警告メッセージを出力装置に出力させる処理を実行する
ことを特徴とする請求項1に記載の監視方法。 - 前記コンピュータ装置は、
前記最大値を更新する際にはその時点における動作状態を示す動作状態データを当該新たな最大値と対応付けて記憶するとともに、前記計測結果送信要求の受信を契機としてその時点の最新の計測値および最大値とともに当該最大値に対応付けられた動作状態データを前記上位コントローラへ送信し、
前記上位コントローラは、
前記コンピュータ装置から受信した最新の計測値、最大値および動作状態データを前記記憶装置に記憶させる
ことを特徴とする請求項1に記載の監視方法。 - 前記コンピュータ装置は、
前記最大値を更新する際にはその時点における動作状態を示す動作状態データを当該新たな最大値と対応付けて記憶するとともに、前記計測結果送信要求の受信を契機としてその時点の最新の計測値および最大値とともに当該最大値に対応付けられた動作状態データを前記上位コントローラへ送信し、
前記上位コントローラは、
前記コンピュータ装置から受信した最新の計測値、最大値および動作状態データを前記記憶装置に記憶させる
ことを特徴とする請求項2に記載の監視方法。 - 前記指標は、前記複数の処理の各々の実行時間またはCPU占有率であることを特徴とする請求項1に記載の監視方法。
- 前記指標は、前記複数の処理の各々の実行時間またはCPU占有率であることを特徴とする請求項2に記載の監視方法。
- 前記指標は、前記複数の処理の各々の実行時間またはCPU占有率であることを特徴とする請求項3に記載の監視方法。
- 前記指標は、前記複数の処理の各々の実行時間またはCPU占有率であることを特徴とする請求項4に記載の監視方法。
- 前記指標は、前記複数の処理の各々の実行時間であり、前記コンピュータ装置は当該指標の計測に要する時間を差し引いて前記計測値を処理毎に算出することを特徴とする請求項5に記載の監視方法。
- 前記指標は、前記複数の処理の各々の実行時間であり、前記コンピュータ装置は当該指標の計測に要する時間を差し引いて前記計測値を処理毎に算出することを特徴とする請求項6に記載の監視方法。
- 前記指標は、前記複数の処理の各々の実行時間であり、前記コンピュータ装置は当該指標の計測に要する時間を差し引いて前記計測値を処理毎に算出することを特徴とする請求項7に記載の監視方法。
- 前記指標は、前記複数の処理の各々の実行時間であり、前記コンピュータ装置は当該指標の計測に要する時間を差し引いて前記計測値を処理毎に算出することを特徴とする請求項8に記載の監視方法。
- 各々割り込みにより実行される複数の処理であって、各々割り込みの優先度が予め定められた複数の処理を実行する制御部と、
上位コントローラと通信するための通信インターフェース部と、
記憶部と、を備え、
前記制御部は、
前記複数の処理の各々を実行する毎に、当該処理の処理負荷を表す指標を計測し、最新の計測値を優先度毎に前記記憶部へ書き込むとともに、当該最新の計測値がそれまでに計測された最大値を上回っていた場合には当該最新の計測値で当該最大値を更新する一方、最新の計測値の送信を要求する計測結果送信要求を前記通信インターフェース部を介して前記上位コントローラから受信したことを契機としてその時点の最新の計測値と最大値とを前記記憶部から読み出して前記上位コントローラへ送信する
ことを特徴とするコンピュータ装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013164011 | 2013-08-07 | ||
JP2013164011 | 2013-08-07 | ||
PCT/JP2014/064183 WO2015019687A1 (ja) | 2013-08-07 | 2014-05-28 | 監視方法、およびコンピュータ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5962860B2 true JP5962860B2 (ja) | 2016-08-03 |
JPWO2015019687A1 JPWO2015019687A1 (ja) | 2017-03-02 |
Family
ID=52461033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015530730A Expired - Fee Related JP5962860B2 (ja) | 2013-08-07 | 2014-05-28 | 監視方法、およびコンピュータ装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9965373B2 (ja) |
EP (1) | EP3032422B1 (ja) |
JP (1) | JP5962860B2 (ja) |
CN (1) | CN104995605B (ja) |
WO (1) | WO2015019687A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170115696A (ko) * | 2016-04-08 | 2017-10-18 | 엘에스산전 주식회사 | 인버터 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03102430A (ja) * | 1989-09-14 | 1991-04-26 | Nippon Telegr & Teleph Corp <Ntt> | 割り込み制御方式 |
JPH05151004A (ja) * | 1991-11-30 | 1993-06-18 | Nec Corp | タスクのcpu占有時間測定方法 |
JP2002318713A (ja) * | 2001-04-19 | 2002-10-31 | Yaskawa Electric Corp | Cpu占有時間測定方法 |
JP2006190109A (ja) * | 2005-01-06 | 2006-07-20 | Fujitsu Ltd | 監視情報提供装置、監視情報提供方法および監視情報提供プログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6957327B1 (en) * | 1998-12-31 | 2005-10-18 | Stmicroelectronics, Inc. | Block-based branch target buffer |
JP2003288237A (ja) | 2002-03-27 | 2003-10-10 | Hitachi Ltd | 制御装置における実行時間測定装置及び実行時間測定方法 |
US7979870B1 (en) * | 2004-12-08 | 2011-07-12 | Cadence Design Systems, Inc. | Method and system for locating objects in a distributed computing environment |
US7912806B2 (en) * | 2005-02-21 | 2011-03-22 | Brother Kogyo Kabushiki Kaisha | System and device for providing contents |
CN100365580C (zh) * | 2005-06-09 | 2008-01-30 | 华东师范大学 | 基于中断的实时任务调度方法 |
JP4931220B2 (ja) * | 2007-03-12 | 2012-05-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 検出装置、システム、プログラムおよび検出方法 |
JP5310819B2 (ja) * | 2010-11-29 | 2013-10-09 | 株式会社デンソー | マイクロコンピュータ |
US8724612B2 (en) * | 2011-01-04 | 2014-05-13 | Apple Inc. | Adaptive timers for polling in a mobile wireless device |
-
2014
- 2014-05-28 JP JP2015530730A patent/JP5962860B2/ja not_active Expired - Fee Related
- 2014-05-28 WO PCT/JP2014/064183 patent/WO2015019687A1/ja active Application Filing
- 2014-05-28 EP EP14835130.7A patent/EP3032422B1/en active Active
- 2014-05-28 CN CN201480008912.1A patent/CN104995605B/zh not_active Expired - Fee Related
-
2015
- 2015-08-06 US US14/820,172 patent/US9965373B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03102430A (ja) * | 1989-09-14 | 1991-04-26 | Nippon Telegr & Teleph Corp <Ntt> | 割り込み制御方式 |
JPH05151004A (ja) * | 1991-11-30 | 1993-06-18 | Nec Corp | タスクのcpu占有時間測定方法 |
JP2002318713A (ja) * | 2001-04-19 | 2002-10-31 | Yaskawa Electric Corp | Cpu占有時間測定方法 |
JP2006190109A (ja) * | 2005-01-06 | 2006-07-20 | Fujitsu Ltd | 監視情報提供装置、監視情報提供方法および監視情報提供プログラム |
Also Published As
Publication number | Publication date |
---|---|
EP3032422A1 (en) | 2016-06-15 |
WO2015019687A1 (ja) | 2015-02-12 |
US20150339208A1 (en) | 2015-11-26 |
EP3032422A4 (en) | 2017-06-21 |
CN104995605B (zh) | 2018-07-10 |
JPWO2015019687A1 (ja) | 2017-03-02 |
CN104995605A (zh) | 2015-10-21 |
US9965373B2 (en) | 2018-05-08 |
EP3032422B1 (en) | 2019-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3176907B1 (en) | Energy management controller, energy management method, and program | |
CN108562806B (zh) | 电梯曳引机性能整体检测的方法、装置、设备和存储介质 | |
US20150089510A1 (en) | Device, system, apparatus, method and program product for scheduling | |
JP5962860B2 (ja) | 監視方法、およびコンピュータ装置 | |
CN110209548B (zh) | 服务控制方法、系统、电子设备及计算机可读存储介质 | |
JPH08171509A (ja) | バッファ監視方法およびそのための装置 | |
JP5066222B2 (ja) | ネットワーク解析支援装置、ネットワーク解析支援方法及びプログラム | |
JP6580505B2 (ja) | コントローラ装置およびコントローラ装置のタスク実行管理方法 | |
WO2011064812A1 (ja) | 情報提示装置 | |
JP6075234B2 (ja) | 計測方法、およびコンピュータ装置 | |
CN106130815B (zh) | 板级测试方法及装置 | |
US20200292596A1 (en) | Monitoring system | |
CN112714466B (zh) | 服务质量测量方法、装置及用户平面功能 | |
JP6758533B1 (ja) | メンテナンス支援プログラム、メンテナンス支援装置、およびメンテナンス支援方法 | |
JP2000056989A (ja) | タスク設計方法 | |
JP2017037606A (ja) | 駆動制御システムおよび異常監視装置 | |
JP2019205313A (ja) | 監視システム | |
WO2018216139A1 (ja) | データ処理システム、データ処理装置およびデータ処理プログラム | |
JP5797602B2 (ja) | 障害回避処理装置及び障害回避方法 | |
JP2012196071A (ja) | 電力変換器 | |
CN117234786B (zh) | 基于大数据的计算机性能控制分析系统及方法 | |
JP2020112918A (ja) | 制御装置におけるソフトウェア実行負荷率測定方法 | |
JP5602693B2 (ja) | 監視間隔制御装置、監視間隔制御方法およびプログラム | |
US20150105872A1 (en) | Reliability calculation device and method | |
JP5455460B2 (ja) | 成果物管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160531 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160613 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5962860 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |