(57)【要約】【課題】  制御装置の制御対象が複雑なものであっても、制御装置および制御対象の異常現象を再現させ、推定に頼らず異常現象の把握を行うことができる技術を提供する。【解決手段】  記憶部２２２には、制御装置１００および制御対象３０３を含む制御系における異常時の制御装置１００の第１の入力信号および第１の出力信号が記憶される。比較部２２１は、シミュレーション装置２００が制御装置１００に接続された状態における制御装置１００の第２の入力信号および第２の出力信号と、記憶部２２２に記憶されている第１の入力信号および第１の出力信号とを比較する。一致判定部２２３は、それらの信号が概ね一致する場合、一致検出信号を出力する。信号切り替え部２２４は、一致検出信号を受信したことを契機として、記憶部２２２に記憶されている第２の出力信号をシミュレーション実行手段２１０に与える。【選択図】図１
2018010331.tif 000002
【特許請求の範囲】
【請求項１】
制御装置に制御対象が接続された状態において、前記制御装置および前記制御対象を含む制御系の異常が検出されたタイミングを途中に含む所定期間内に前記制御対象から前記制御装置へ入力される第１の入力信号および前記制御装置から前記制御対象へ出力される第１の出力信号が記憶される記憶手段と、
前記制御対象のモデルを入力信号に基づいて動作させるシミュレーション実行手段が前記制御装置に接続された状態において、前記シミュレーション実行手段から前記制御装置へ入力される第２の入力信号および前記制御装置から前記シミュレーション実行手段へ出力される第２の出力信号が、前記記憶手段に記憶された前記第１の入力信号および前記第１の出力信号に概ね一致した場合に、一致検出信号を出力する信号一致判定手段と、
前記一致検出信号に応じて、前記シミュレーション実行手段に対する入力信号を前記第２の出力信号から前記記憶手段に記憶された前記第１の出力信号に切り替える信号切り替え手段と
を有することを特徴とする診断装置。
【請求項２】
前記信号切り替え手段は、
前記一致検出信号が出力されるのに応じて、前記シミュレーション実行手段に対する入力信号を前記記憶手段に記憶された前記第１の出力信号のうち異常が検出されたタイミング以降の期間の前記第１の出力信号に切り替える
ことを特徴とする請求項１に記載の診断装置。
【請求項３】
制御装置に制御対象を接続し、前記制御装置および前記制御対象を含む制御系の異常が検出されたタイミングを途中に含む所定期間内に前記制御対象から前記制御装置へ入力される第１の入力信号および前記制御装置から前記制御対象へ出力される第１の出力信号を記憶手段に記憶させる記憶過程と、
前記制御対象のモデルを入力信号に基づいて動作させるシミュレーション実行手段を前記制御装置に接続し、前記シミュレーション実行手段から前記制御装置へ入力される第２の入力信号および前記制御装置から前記シミュレーション実行手段へ出力される第２の出力信号が、前記記憶手段に記憶された前記第１の入力信号および前記第１の出力信号に概ね一致した場合に、一致検出信号を出力する信号一致判定過程と、
前記一致検出信号に応じて、前記シミュレーション実行手段に対する入力信号を前記第２の出力信号から前記記憶手段に記憶された前記第１の出力信号に切り替える信号切り替え過程と
を有することを特徴とする診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置の診断を行う診断装置および制御装置の診断方法に関する。
【背景技術】
【０００２】
近年、省エネルギーやエネルギーの有効活用等の視点や環境問題の視点などから、民生用、産業用を問わず、電源や電動機等を制御する電力変換装置が多用されるようになっている。そして、その電動機等や電力変換装置を含めたさまざまな装置が、マイコン（マイクロコントローラ、もしくは、マイクロコンピュータ）を備えた制御装置により制御されるようになっている。
【０００３】
この種の制御装置では、マイコンに実装されるソフトウェアを実行することで制御動作が実現される。実装されるソフトウェアにおいて、その規模は年々大規模化しており、複雑度も年々高くなっている。このため、実装されるソフトウェアの開発を効率的に進める手法への要求が高まっている。
【０００４】
ところで、電力変換装置や電動機を制御する制御装置では、制御装置の出力信号が制御対象（電力変換装置や電動機）に作用し、その結果を示す応答信号がフィードバックされ、フィードバックされた信号を参照して制御対象への出力信号が決められる。このように、電力変換装置や電動機を制御する制御装置は、制御装置単体ではなく、制御装置と制御対象の相互作用により制御動作が決定される性質のものである。
【０００５】
制御装置の開発（特にソフトウェアの開発）を効率良く進める手法として、制御装置の制御対象を模擬するモデルを実時間で実行することができるシミュレーション装置（すなわち、リアルタイムシミュレータ）を用いる手法が提案されている。近年では、この手法をＨＩＬＳ（Ｈａｒｄｗａｒｅ  Ｉｎ  ｔｈｅ  Ｌｏｏｐ  Ｓｉｍｕｌａｔｉｏｎ）と称している。この手法に関する先行技術文献としては、特許文献１が挙げられる。特許文献１には、ブロック線図によって定義されたシミュレーションモデルのシミュレーションを実行するリアルタイムシミュレーション実行装置が開示されている。
【０００６】
上述のＨＩＬＳによって開発された制御装置（ソフトウェア）の検証を行う際、検証漏れが生じる虞がある。大規模化したソフトウェアでは、制御装置の動作モードの組み合わせの数は莫大な数にのぼり、現実的にはそのなかから効率良く動作不良等の異常を発見できるような動作モードを抽出して検証せざるを得ないからである。開発された制御装置を実際の制御対象（実機）につなげて診断した際、先の検証において抽出されなかった動作モード（すなわち検証漏れの動作モード）が実行された場合、制御装置や制御対象において動作不良等の障害やそれによる故障などの異常が生じる虞がある。
【０００７】
このような事情から、例えば、特許文献２には、既存のテストパタンから新規のテストパタンを生成し、検証時のテストカバレッジを拡大させることにより、検証漏れを減少させる技術が開示されている。特許文献２の技術では、実装されたソフトウェアの実行網羅度を拡大させることにより動作不良等の異常を発見しようとするアプローチを採っている。このため、ソフトウェアの単体テストについては効果があるかもしれない。しかし、制御装置の仕様に記述された動作が必要かつ十分であることの確認を行うことができない。また、特許文献２の技術では、制御装置単体で検証を行っており、制御装置と制御対象の相互作用により制御装置の制御動作が決定されるような制御装置の仕様の妥当性の確認を行うことができない。このため、特許文献２の技術では、開発された制御装置を実際の制御対象（実機）につなげて診断した際、仕様に記述された動作が必要かつ十分ではないことや仕様が妥当ではないことに起因して、制御装置や制御対象において動作不良等の障害やそれによる故障などの異常が生じる虞がある。
【０００８】
開発された制御装置を実際の制御対象（実機）につなげて診断を行う場合、診断環境が実際の運用環境に近い環境となる。実際の運用環境では、様々な要因が時々刻々に変化したり複雑に絡み合ったりする。このため、制御装置を実機につなげて診断を行う場合、机上のシミュレーションによる検証と比較して、異常現象（例えば、回路故障に至る過程の現象等）の再現や異常の発生原因の特定がより困難である。そこで、例えば、特許文献３には、データベースを参照して異常現象の原因特定を支援する技術が開示されている。
【０００９】
また、特許文献４には、データを記憶する手段を端末装置（具体的にはＥＣＵのような制御装置）に設けて障害診断を行う技術が開示されている。特許文献４の端末装置の記憶手段には、診断対象システムの正常時データが記憶される。端末装置は、障害を検知した際の障害時データと記憶手段の正常時データとに基づいて障害診断を行う。
【００１０】
また、特許文献５には、ＲＡＭにインバータのゲートパターンやアナログ波形を記憶する技術が開示されている。電力変換装置を制御する制御装置では、時定数がミリ秒以下の制御対象を制御する必要があるが、特許文献５の技術を用いれば、時定数がミリ秒以下のような短時間に変化する入出力信号を高速に処理して記憶することができる。
【００１１】
また、特許文献５の技術では、入力信号のみならず、出力信号も記憶している。制御装置に搭載されるソフトウェアは複雑であり、制御装置の出力信号は、時系列の入力信号に加え、制御装置の状態を含めて決定される。制御装置に搭載されたソフトウェアなどの不具合によって出力信号が想定とは異なるものとなった場合、出力信号を入力信号から再現することは困難であるから、出力信号も記憶するのである。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特許第４７２７２９１号公報
【特許文献２】国際公開第２０１４／０８７４９３号
【特許文献３】特開２０１４−１７４９８３号公報
【特許文献４】特開２０１３−１２０５２８号公報
【特許文献５】特開平８−２３７９５４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献５の技術では、記憶した入出力信号波形から、どのような異常現象（例えば、回路故障に至る過程の現象等）が生じたのかを判定するのには、推測に頼らなければならない。制御対象が単純な回路であれば、推測によって異常現象を特定することは可能かもしれない。しかし、実際の制御対象は、例えば電気系や機械系の複合系であったり、電力変換装置のようにアナログ回路やスイッチング回路などを含む回路であったりと、様々な要素が含まれる複雑なものである。制御対象が複雑なものである場合、どのような異常現象が生じたのかを推測によって判定するのは困難である。
【００１４】
本発明は以上に説明した課題に鑑みて為されたものであり、制御装置の制御対象が複雑なものであっても、制御装置および制御対象の異常現象を再現させ、推定に頼らず異常現象の把握を行うことができる技術を提供することを目的とする。
【課題を解決するための手段】
【００１５】
この発明による診断装置は、記憶手段と信号一致判定手段と信号切り替え手段とを有する。記憶手段には、制御装置に制御対象が接続された状態において、制御装置および制御対象を含む制御系の異常が検出されたタイミングを途中に含む所定期間内に制御対象から制御装置へ入力される第１の入力信号および制御装置から制御対象へ出力される第１の出力信号が記憶される。信号一致判定手段は、制御対象のモデルを入力信号に基づいて動作させるシミュレーション実行手段が前記制御装置に接続された状態において、シミュレーション実行手段から制御装置へ入力される第２の入力信号および制御装置からシミュレーション実行手段へ出力される第２の出力信号が、記憶手段に記憶された第１の入力信号および第１の出力信号に概ね一致した場合に、一致検出信号を出力する。信号切り替え手段は、一致検出信号に応じて、シミュレーション実行手段に対する入力信号を第２の出力信号から記憶手段に記憶された第１の出力信号に切り替える。
【００１６】
本診断装置によれば、シミュレーション実行手段から制御装置へ入力される第２の入力信号および制御装置からシミュレーション実行手段へ出力される第２の出力信号が、記憶手段に記憶された第１の入力信号および第１の出力信号に概ね一致した場合、シミュレーション実行手段に対する入力信号が、記憶手段に記憶された第１の出力信号に差し替えられる。記憶手段に記憶された第１の出力信号は、制御装置および制御対象を含む実際の制御系における異常時の制御装置の出力信号である。このため、シミュレーション実行手段に対する入力信号が記憶手段に記憶された第１の出力信号に差し替えられると、シミュレーション実行手段は、実際の制御系における異常時の制御装置の出力信号に基づいてシミュレーションを継続することとなる。これにより、制御装置には、異常時において実際の制御対象から入力される信号と同様の信号がシミュレーション実行手段から入力されることとなる。このため、本診断装置によれば、制御装置およびシミュレーション実行手段に実際の異常時の動作と同じ動作を正確に再現させることができる。例えば、本診断装置によれば、第２の入力信号および第２の出力信号と記憶手段に記憶された第１の入力信号および第１の出力信号とが僅かに違っていたとしても、概ね一致したと判断されることで、シミュレーション実行手段に作用する制御動作が、これら信号の違いに起因して実際の制御動作からかけ離れてゆくことはない。また、シミュレーション結果は数値で示されるものであるが、通常はデジタルデータとして扱われるため、ビット列として厳密に一致していなくても、数値として概ね一致していたら一致検出信号を出力することにより、異常現象として一致していることを見逃すことを少なくすることができる。
【００１７】
さらに、本診断装置によれば、実際の制御系における異常時の入出力信号の履歴を利用するため、診断時において検証する異常現象を繰り返し再現することができ、その異常の検証を繰り返し行うことができる。例えば、制御装置に搭載されているソフトウェアの一部を修正および変更しつつ検証を繰り返すことで、異常現象の原因を特定することが可能となる。このように、検証を繰り返して異常現象の原因を特定することができるため、制御装置の制御対象が複雑なものであっても、推定に頼らずに異常現象を把握することができる。
【００１８】
この発明による診断方法は、記憶過程と信号一致判定過程と信号切り替え過程とを有する。記憶過程では、制御装置に制御対象を接続し、制御装置および制御対象を含む制御系の異常が検出されたタイミングを途中に含む所定期間内に制御対象から制御装置へ入力される第１の入力信号および制御装置から制御対象へ出力される第１の出力信号を記憶手段に記憶させる。信号一致判定過程では、制御対象のモデルを入力信号に基づいて動作させるシミュレーション実行手段を制御装置に接続し、シミュレーション実行手段から制御装置へ入力される第２の入力信号および制御装置からシミュレーション実行手段へ出力される第２の出力信号が、記憶手段に記憶された第１の入力信号および第１の出力信号に概ね一致した場合に、一致検出信号を出力する。信号切り替え過程では、一致検出信号に応じて、シミュレーション実行手段に対する入力信号を第２の出力信号から記憶手段に記憶された第１の出力信号に切り替える。本診断方法によれば、上述の診断装置と同様に、制御装置およびシミュレーション実行手段に実際の異常時の動作と同じ動作を正確に再現させることができる。
【発明の効果】
【００１９】
従って、この発明によれば、制御装置の制御対象が複雑なものであっても、制御装置および制御対象の異常現象を再現させ、推定に頼らず異常現象の把握を行うことができる。
【図面の簡単な説明】
【００２０】
【図１】この発明の実施形態による診断装置としての役割を果たす診断手段２２０を含むシミュレーション装置２００を有する診断システム１の構成を示すブロック図である。
【図２】診断システム１の異常検出部１１４が異常を検出した際の記憶部１１５に格納される信号を説明するタイムチャートである。
【図３】診断システム１の比較部２２１、一致判定部２２３および信号切り替え部２２４の動作を説明するタイムチャートである。
【図４】診断システム１の動作を説明するフローチャートである。
【発明を実施するための形態】
【００２１】
以下、図面を参照しつつ本発明の実施形態を説明する。
（実施形態）
図１は、この発明の一実施形態による診断装置としての役割を果たす診断手段２２０を含むシミュレーション装置２００を有する診断システム１の構成を示すブロック図である。診断システム１は、例えば、制御装置１００の開発時に用いられ、制御装置１００（特に制御装置１００に実装されるソフトウェア）の不具合などの異常を検証する診断システムである。診断システム１は、制御装置１００、シミュレーション装置２００、センサ３０１、インバータ３０２、制御対象３０３および接続スイッチ４００から構成される。
【００２２】
制御対象３０３は、例えば、電動機である。制御対象３０３は、インバータ３０２から供給される電力に従って動作する。インバータ３０２は、制御装置１００から供給される信号に応じて動作し、制御対象３０３に電力を供給する。このため、インバータ３０２および制御対象３０３は、広義には、制御装置１００の制御対象である。センサ３０１は、制御対象３０３の各種状態（例えば制御対象３０３に流れる電流や制御対象３０３の速度など）を検出して検出結果を制御装置１００に引き渡す。本実施形態では、制御対象３０３に関するひとまとまりのシステムである制御対象３０３、インバータ３０２およびセンサ３０１を制御対象系３００と呼ぶ。
【００２３】
接続スイッチ４００は、制御装置１００と制御対象系３００との接続と、制御装置１００とシミュレーション装置２００との接続を切り替えるスイッチである。診断システム１における制御装置１００の診断では、まず、制御装置１００を制御対象系３００に接続した構成を採る。この構成において、制御装置１００に通常の制御動作をさせる。制御装置１００と制御対象系３００とを含む実際の制御系において異常が生じると、制御装置１００は、後述する異常検出部１１４においてその異常を検出して、異常時の制御装置１００の入出力信号を記憶する。記憶された異常時の入出力信号は、シミュレーション装置２００に移されて保持される。そして、制御装置１００と制御対象系３００とを接続した構成から制御装置１００とシミュレーション装置２００とを接続した構成に切り替えられる。接続スイッチ４００における接続の切り替えは、制御装置１００の指示に従って行われても良いし、診断システム１のユーザによって行われても良い。
【００２４】
制御装置１００は、Ａ／Ｄ（アナログ／デジタル）変換器１１０、ＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）タイマ１１１、制御部１１２および記憶部１１５を有する。
【００２５】
Ａ／Ｄ変換器１１０は、制御装置１００への入力信号の信号形式をアナログ形式からデジタル形式に変換する回路である。制御装置１００が制御対象系３００と接続されている場合には、Ａ／Ｄ変換器１１０には、センサ３０１から出力される信号が入力される。Ａ／Ｄ変換回路１１０によって変換された制御装置１００への入力信号は、制御部１１２に引き渡される。
【００２６】
ＰＷＭタイマ１１１は、制御部１１２から与えられる指令値をキャリア信号によりパルス幅変調し、制御装置１００の出力信号であるＰＷＭ信号を生成する回路である。制御装置１００が制御対象系３００と接続されている場合には、ＰＷＭタイマ１１１は、ＰＷＭ信号をゲートドライバ（図示略）を介してインバータ３０２に供給する。以後、制御対象系３００から制御装置１００へ入力される信号を第１の入力信号と呼び、制御装置１００から制御対象系３００へ出力される信号を第１の出力信号と呼ぶことがある。
【００２７】
制御部１１２は、制御対象３０３を制御するための各種の演算を行うプロセッサである。制御部１１２は、具体的には、マイコンである。制御装置１００には、制御ソフトウェア１１３がインストールされている。制御部１１２が制御ソフトウェア１１３を実行することにより各種の演算が実現される。
【００２８】
制御装置１００は、制御装置１００およびその制御対象（具体的にはインバータ３０２および制御対象３０３）を含む制御系における異常を検出する異常検出部１１４を備えている。異常検出部１１４は、制御ソフトウェア１１３に組み込まれた異常検出に関するソフトウェアモジュールを制御部１１２が実行することで実現される。異常検出部１１４は、センサ３０１の検出結果を用いて、例えば、制御対象３０３に供給される電流が過電流であるなどの異常を検出する。異常検出部１１４は、異常を検出した場合、異常を検出した旨を示す異常通知信号を記憶部１１５に出力する。
【００２９】
記憶部１１５は、制御装置１００へ入力される入力信号（具体的には、Ａ／Ｄ変換器１１０によってデジタル形式に変換された入力信号）および制御装置１００から出力される出力信号（具体的には、ＰＷＭタイマ１１１から出力された出力信号）を記憶するバッファである。記憶部１１５は、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００３０】
記憶部１１５は、リングバッファとして使用される。より詳細には、記憶部１１５は、１μｓごとの信号が格納される信号格納領域を１００００領域備えている。すなわち、記憶部１１５は、格納対象信号（制御装置１００の入力信号および出力信号）を合計１０ｍｓの時間区間分だけ格納する領域を備えている。記憶部１１５は、格納対象信号を１μｓ周期で信号格納領域の１番目の領域（先端領域）から１００００番目の領域（末端領域）に向かって順次に格納してゆく。記憶部１１５は、信号格納領域の末端領域に格納対象信号を格納すると、その次の周期の格納対象信号を信号格納領域の先端領域に格納して上書きする。そして、記憶部１１５は、再度、格納対象信号を１μｓ周期で末端領域に向かって順次に格納して上書きする。これにより、記憶部１１５は、通常、最新の１０ｍｓの時間区間分の格納対象信号を保持する。
【００３１】
記憶部１１５は、異常を検出した旨を示す異常通知信号の受信を契機として、当該異常通知信号を受け取った時刻から所定時間分だけ格納対象信号の格納を継続した後に格納対象信号の格納を停止する。この際の格納を継続する所定時間は、記憶部１１５が保持可能な時間幅（１０ｍｓ）以下に予め設定される。
【００３２】
図２は、異常検出部１１４が異常を検出した際の記憶部１１５に格納される信号を説明するタイムチャートである。記憶部１１５は、時刻ｔ２において、異常を検出した旨を示す異常通知信号を異常検出部１１４から受信したとする。記憶部１１５は、時刻ｔ２における信号格納領域から１０００領域分だけ後の領域までの格納対象信号の格納を順次に行った後に格納を停止する。信号格納領域１０００領域分は１ｍｓの時間区間に相当するため、記憶部１１５は、時刻ｔ２の１ｍｓ後である時刻ｔ３まで制御装置１００の入力信号および出力信号を取得することとなる。これにより、記憶部１１５は、異常が検出されたタイミングである時刻ｔ２の９ｍｓ前である時刻ｔ１から、時刻ｔ２の１ｍｓ後である時刻ｔ３までの１０ｍｓ分の制御装置１００の入力信号および出力信号を取得した状態を維持する。すなわち、記憶部１１５は、制御装置１００および制御対象３０３を含む実際の制御系における異常が検出されたタイミングを途中に含む所定期間内（図２では時刻ｔ１から時刻ｔ３まで）に制御装置１００へ入力される入力信号および制御対象３０３へ出力される出力信号を取得して記憶する手段である。
【００３３】
シミュレーション装置２００は、シミュレーション実行手段２１０と診断手段２２０とを有する。診断手段２２０は、記憶部２２２、比較部２２１、一致判定部２２３および信号切り替え部２２４を有する。
【００３４】
記憶部２２２は、制御装置１００の記憶部１１５によって取得された実際の制御系における異常時の入出力信号（より正確には、異常が検出されたタイミングを途中に含む所定期間における制御装置１００の第１の入力信号および第１の出力信号）が記憶される記憶手段である。シミュレーション装置２００は、制御装置１００およびシミュレーション装置２００が接続されたネットワーク（図示略）を介した通信によって制御装置１００の記憶部１１５から当該異常時の入出力信号を取得して記憶部２２２に格納する。なお、記憶部１１５から記憶部２２２への当該異常時の入出力信号の移行は、ネットワークを介した通信により行う態様に限らず、例えば、フラッシュメモリ装置のような持ち運び可能な不揮発性記憶装置を介して行っても良い。
【００３５】
シミュレーション実行手段２１０は、通常のプロセッサを核としたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）システムである。シミュレーション実行手段２１０には、制御対象３０３を模擬する制御対象モデル２１１、センサ３０１を模擬するセンサモデル２１２およびインバータ３０２を模擬するインバータモデル２１３が搭載される。制御対象モデル２１１、センサモデル２１２およびインバータモデル２１３は、シミュレーション実行手段２１０が実行可能な形式で表されたソフトウェアである。例えば、制御対象モデル２１１は、制御対象３０３がＬＣＲ回路であれば、微分方程式で記述される回路方程式を離散積分法により離散化して差分方程式に変換して表したものである。シミュレーション実行手段２１０は、シミュレーション実行手段２１０に入力される信号に基づいて、制御対象モデル２１１、センサモデル２１２およびインバータモデル２１３を実時間で実行し、シミュレーション実行手段２１０から出力する信号を生成する。これにより、シミュレーション実行手段２１０は、実機である制御対象３０３、センサ３０１およびインバータ３０２と同様の動作を再現する。シミュレーション実行手段２１０は、これらの動作を実時間で再現可能なハードウェアで構成される。
【００３６】
制御装置１００とシミュレーション装置２００とが接続された状態において、シミュレーション実行手段２１０の出力信号は、シミュレーション装置２００から出力されて制御装置１００（具体的にはＡ／Ｄ変換器１１０）に入力される。また、この状態において、制御装置１００（具体的にはＰＷＭタイマ１１１）から出力された信号は、シミュレーション装置２００に入力される。シミュレーション装置２００に入力された制御装置１００の出力信号は、通常、信号切り替え部２２４を介してシミュレーション実行手段２１０に入力される。以後、シミュレーション装置２００から制御装置１００へ入力される信号を第２の入力信号と呼び、制御装置１００からシミュレーション装置２００へ出力される信号を第２の出力信号と呼ぶことがある。
【００３７】
比較部２２１は、第２の入力信号および第２の出力信号と、記憶部２２２に記憶された第１の入力信号および第１の出力信号との比較を行う比較手段である。より詳細には、まず、実時間で入出力される第２の入力信号および第２の出力信号がリングバッファとして使用される図示しない記憶手段に格納される。この記憶手段には、最新の所定の時間区間（例えば１０ｍｓ）分の第２の入力信号および第２の出力信号が発生時刻順に保持される。比較部２２１は、この記憶手段から最新の所定の時間区間分の第２の入力信号および第２の出力信号を所定の周期で読み出す。比較部２２１は、第２の入力信号および第２の出力信号を読み出す周期と同様の周期で、所定期間分の第１の入力信号および第１の出力信号を記憶部２２２から読み出す。比較部２２１は、読み出した所定時間区間の第２の入力信号と読み出した所定期間分の第１の入力信号とを比較するとともに、読み出した所定時間区間の第２の出力信号と所定期間分の第１の出力信号とを比較する。
【００３８】
一致判定部２２３は、所定の時間区間における第２の入力信号および第２の出力信号が所定期間分の第１の入力信号および第１の出力信号に概ね一致したか否かを比較部２２１の比較結果に基づいて判定し、第２の入力信号および第２の出力信号が第１の入力信号および第１の出力信号と概ね一致した場合に、概ね一致した旨を示す一致検出信号を出力する。すなわち、一致判定部２２３は、制御装置１００とシミュレーション装置２００との間で制御装置１００と制御対象３０３との間と同様な異常が生じたか否かを判断する。第２の入力信号および第２の出力信号（すなわち、シミュレーションデータ）と、第１の入力信号および第１の出力信号（すなわち、実制御データ）との間には、有意ではないずれが生じることがある。このため、一致判定部２２３は、第２の入力信号および第２の出力信号と、第１の入力信号および第１の出力信号とが完全に一致したか否かを判定するのではなく、ある程度の幅をもって概ね一致したか否かを判定する。
【００３９】
すなわち、比較部２２１および一致判定部２２３は、シミュレーション実行手段２１０が制御装置１００に接続された状態において、シミュレーション実行手段２１０から制御装置１００へ入力される第２の入力信号および制御装置１００からシミュレーション実行手段２１０へ出力される第２の出力信号が、記憶部２２２に記憶された第１の入力信号および第１の出力信号に概ね一致した場合に、一致検出信号を出力する信号一致判定手段を構成する。
【００４０】
信号切り替え部２２４は、一致検出信号に応じて、シミュレーション実行手段に対する入力信号を第２の出力信号から記憶部２２２に記憶された第１の出力信号に切り替える信号切り替え手段である。より詳細には、信号切り替え部２２４は、一致検出信号を受信していない間、制御装置１００のＰＷＭタイマ１１１から出力された第２の出力信号をシミュレーション実行手段２１０に与える。一方、信号切り替え部２２４は、一致検出信号を受信すると、その一致検出信号を受信したタイミング以降のシミュレーション実行手段２１０に対する入力信号を記憶部２２２に記憶された第１の出力信号のうち異常が検出されたタイミング以降の期間の第１の出力信号に切り替える。
【００４１】
図３は、比較部２２１、一致判定部２２３および信号切り替え部２２４の動作を説明するタイムチャートである。図３の例では、比較部２２１は、１０ｍｓの時間区間で、制御装置１００の入出力信号の比較を行っている。これは、記憶部２２２に記憶された信号の時間区間が１０ｍｓだからである。図３では、時刻ｔ２ａ以前の１０ｍｓの時間区間において、制御装置１００の入力信号（第２の入力信号）と記憶部２２２に記憶された入力信号（第１の入力信号）とが概ね一致し、制御装置１００の出力信号（第２の出力信号）と記憶部２２２に記憶された出力信号（第１の出力信号）とが概ね一致している。このため、時刻ｔ２ａにおいて、一致判定部２２３は、一致検出信号を信号切り替え部２２４に出力する。信号切り替え部２２４は、一致判定部２２３から一致検出信号を受信すると、記憶部２２２に格納されているＰＷＭ信号のうちの異常が検出されたタイミングである時刻ｔ２以降の期間である時刻ｔ２から時刻ｔ３までの期間（図２参照）のＰＷＭ信号を読み出して、読み出したＰＷＭ信号をシミュレーション実行手段２１０に与え、時刻ｔ３ａでシミュレーションを終了する。すなわち、図３の例では、時刻ｔ２ａまでは制御装置１００から出力されたＰＷＭ信号がシミュレーション実行手段２１０に与えられ、時刻ｔ２ａ後からは記憶部２２２に記憶されているＰＷＭ信号がシミュレーション実行手段２１０に与えられる。
【００４２】
図３の例では、時刻ｔ２ａ後において、制御装置１００のＰＷＭ信号のパルス幅と記憶部２２２に記憶されているＰＷＭ信号のパルス幅とが異なっている。時刻ｔ２ａにおいてシミュレーション実行手段２１０に与えるＰＷＭ信号を切り替えなかったとしたら、ＰＷＭ信号のパルス幅が異なることに起因して、シミュレーション実行手段２１０におけるシミュレーションに実際の制御対象との誤差が生じることとなる。これに対し、本実施形態の診断システム１では、時刻ｔ２ａにおいて実際の制御対象と同じパルス幅のＰＷＭ信号をシミュレーション実行手段２１０に与えるため、その後のシミュレーション実行手段２１０におけるシミュレーションに実際の制御対象との誤差は生じない。
【００４３】
より詳細には、時刻ｔ２ａ後では、シミュレーション実行手段２１０におけるインバータモデル２１３の応答および制御対象モデル２１１の応答が記憶部２２２に記憶されているＰＷＭ信号に応じたものとなる。このため、センサモデル２１２の出力もその制御対象モデル２１１の応答に従ったものとなる。制御装置１００は、そのセンサモデル２１２の出力に従って制御動作を行うため、制御装置１００から出力されてシミュレーション装置２００に入力される信号も記憶部２２２に記憶されているＰＷＭ信号に応じたものとなる。
【００４４】
シミュレーション装置２００は、時刻ｔ２ａ後に新たに得られたＰＷＭ信号と、記憶部２２２に記憶されているＰＷＭ信号とをさらに比較する。診断システム１によれば、この比較結果から、所期の異常現象の再現ができていることを確認することができる。また、所期の異常現象の再現の確認は、時刻ｔ２ａ後の制御対象モデル２１１の内部信号の波形と、制御装置１００を制御対象系３００に接続して制御対象３０３を動作させたときに得られる波形との比較結果を参照しても良い。
【００４５】
さらに、診断システム１によれば、時刻ｔ２ａ後の制御装置１００内の動作を追跡することで、異常の検証を繰り返し行うことができる。例えば、制御装置１００に制御装置１００の内部データをモニタするモニタリング装置を接続して、モニタリング装置のモニタ結果を参照しながらシミュレーション装置２００によるシミュレーションを繰り返すことで異常現象の再現を行い、現象の分析や異常の原因特定を行うことができる。他の例として、制御装置１００に搭載されているソフトウェア１１３の一部修正および変更とシミュレーション装置によるシミュレーションとを繰り返すことで異常の原因特定を行うことができる。
【００４６】
図４は、診断システム１の動作を説明するフローチャートである。まず、制御装置１００は、接続スイッチ４００を動作させて制御装置１００を制御対象系３００に接続する（ステップＳ１００）。次に、制御装置１００は、制御対象系３００の制御を開始する。制御装置１００の異常検出部１１４は、制御装置１００および制御対象系３００において異常を検出するまで異常の検出を繰り返す（ステップＳ１１０：Ｎｏ）。異常検出部１１４は、異常を検出すると（ステップＳ１１０：Ｙｅｓ）、異常を検出した旨の異常通知信号を記憶部１１５に出力する。記憶部１１５は、異常通知信号を受け取ると、異常が検出されたタイミングを途中に含む所定期間における制御装置１００の入力信号および出力信号（すなわち異常時の入出力信号）を取得して保持する（ステップＳ１２０）。
【００４７】
異常時の入出力信号を取得した後、制御装置１００は、取得した異常時の入出力信号をネットワーク介してシミュレーション装置２００に送る。シミュレーション装置２００は、制御装置１００から送られた異常時の入出力信号を記憶部２２２に保持する（ステップＳ１３０）。次に、制御装置１００は、接続スイッチ４００を動作させて、制御装置１００と制御対象系３００とを接続した構成から制御装置１００とシミュレーション装置２００とを接続した構成に切り替える（ステップＳ１４０）。
【００４８】
次に、シミュレーション装置２００は、終了指示を取得したか否かを判断し（ステップＳ１５０）、終了指示を取得した場合（ステップＳ１５０：Ｙｅｓ）、シミュレーションを終了し、終了指示を取得しなかった場合（ステップＳ１５０：Ｎｏ）、シミュレーションを実行する（ステップＳ１６０）。
【００４９】
シミュレーションが実行されると、比較部２２１は、制御装置１００の入出力信号と、記憶部２２２に記憶されている異常時の制御装置１００の入出力信号とを比較する（ステップＳ１７０）。次に、一致判定部２２３は、比較部２２１の比較結果が概ね一致しているか否かを判定する（ステップＳ１８０）。概ね一致していない場合（ステップＳ１８０：Ｎｏ）、終了指示の取得の判断（ステップＳ１５０）およびシミュレーションの実行（ステップＳ１６０）を繰り返す。概ね一致した場合（ステップＳ１８０：Ｙｅｓ）、一致判定部２２３は、一致検出信号を信号切り替え部２２４に出力する。信号切り替え部２２４は、一致検出信号を受信すると、シミュレーション実行手段２１０に与える信号を、制御装置１００の出力信号から記憶部２２２に記憶されている出力信号に切り替える（ステップＳ１９０）。そして、シミュレーション装置２００は、終了指示の取得の判断（ステップＳ１５０）およびシミュレーションの実行（ステップＳ１６０）を繰り返す。
【００５０】
以上のように、シミュレーション装置２００の診断手段２２０によれば、シミュレーション実行手段２１０から制御装置１００へ入力される第２の入力信号および制御装置１００からシミュレーション実行手段２１０へ出力される第２の出力信号が、記憶部２２２に記憶された第１の入力信号および第１の出力信号に概ね一致した場合、シミュレーション実行手段２１０に対する入力信号が、記憶部２２２に記憶された第１の出力信号に差し替えられる。記憶部２２２に記憶された第１の出力信号は、制御装置１００および制御対象３０３を含む実際の制御系における異常時の制御装置１００の出力信号である。このため、シミュレーション実行手段２１０に入力される信号が記憶部２２２に記憶されている第１の出力信号に差し替えられると、シミュレーション実行手段２１０は、実際の制御系における異常時の制御装置１００の出力信号に基づいてシミュレーションを継続することとなる。これにより、制御装置１００には、異常時において実際の制御対象３０３から入力される信号と同様の信号がシミュレーション実行手段２１０から入力されることとなる。このため、診断手段２２０によれば、制御装置１００およびシミュレーション実行手段２１０に実際の異常時の動作と同じ動作を正確に再現させることができる。例えば、診断手段２２０によれば、第２の入力信号および第２の出力信号と記憶２２２に記憶されている第１の入力信号および第１の出力信号とが僅かに違っていたとしても、概ね一致したと判断されることで、シミュレーション実行手段２１０に作用する制御動作が、これら信号の違いに起因して実際の制御動作からかけ離れてゆくことはない。また、シミュレーション結果は数値で示されるものであるが、通常はデジタルデータとして扱われるため、ビット列として厳密に一致していなくても、数値として概ね一致していたら一致検出信号を出力することにより、異常現象として一致していることを見逃すことが少なくなる。
【００５１】
また、診断手段２２０によれば、実際の制御系における異常時の入出力信号の履歴を利用するため、診断時において検証する異常現象を繰り返し再現することができ、その異常の検証を繰り返し行うことができる。例えば、制御装置１００に搭載されているソフトウェアの一部を修正および変更しつつ検証を繰り返すことで、異常現象の原因を特定することが可能となる。このように、検証を繰り返して異常現象の原因を特定することができるため、制御装置１００の制御対象が複雑なものであっても、推定に頼らずに異常現象を把握することができる。
【００５２】
従って、本実施形態のシミュレーション装置２００の診断手段２２０によれば、制御装置１００の制御対象（インバータ３０２および制御対象３０３）が複雑なものであっても、制御装置１００およびその制御対象の異常現象を再現させ、推定に頼らず異常現象の把握を行うことができる。
【００５３】
また、本実施形態のシミュレーション装置２００の診断手段２２０によれば、原因となったソフトウェアの異常等を特定できるようになるため、そのソフトウェアの異常等を適切に修正および改良することが可能となり、制御装置１００の品質を向上させることができるとともに、制御装置１００を効率よく短時間で開発することができる。
【００５４】
（変形）
以上本発明の一実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
【００５５】
（１）実施形態では、シミュレーション実行手段２１０を含むシミュレーション装置２００内に診断手段２２０が設けられていた。しかし、診断手段２２０は、シミュレーション実行手段２１０を含むシミュレーション装置とは別体の診断装置によって実現されても良い。
【００５６】
（２）記憶部１１５および２２２によって実現される記憶過程、比較部２２１および一致判定部２２３によって実現される信号一致判定過程および信号切り替え部２２４によって実現される信号切り替え過程を有する診断方法を提供しても良い。
【００５７】
（３）実施形態では、制御装置１００と制御対象系３００との接続と、制御装置１００とシミュレーション装置２００との接続とを接続スイッチ４００によって切り替えていた。しかし、それらの接続の切り替えを接続スイッチ４００を用いずに行っても良い。また、実施形態では、制御装置１００が接続スイッチ４００を動作させていた。しかし、診断システム１のユーザが接続スイッチ４００を直接に操作しても良い。
【００５８】
（４）実施形態の記憶部１１５は、１０ｍｓの時間区間分の入出力信号を記憶していた。しかし、記憶部１１５が保持可能な時間幅は１０ｍｓに限らない。
【００５９】
（５）実施形態の比較部２２１は、１０ｍｓの時間区間について入出力信号の比較を行っていた。しかし、比較を行う時間区間は、１０ｍｓの時間区間に限らず、制御装置１００の記憶部１１５において取得される信号の時間幅に合わせて適宜に設定されても良い。
【００６０】
（６）実施形態では、制御装置１００への入力信号はアナログ形式の信号であった。しかし、制御装置１００への入力信号は、デジタル形式の信号であっても良い。この場合、制御装置１００は、Ａ／Ｄ変換器１１０に代えて汎用ポート等のデジタル入出力装置によってデジタル形式の入力信号を受け取れば良い。また、実施形態では、制御装置１００からの出力信号はＰＷＭ信号であった。しかし、制御装置１００からの出力信号は、汎用ポート等のデジタル入出力装置を介して出力されるＰＷＭ信号以外のデジタル形式の出力信号や、アナログ形式の信号であっても良い。アナログ形式の場合、制御装置１００は、ＰＷＭタイマ１１１によって生成されたＰＷＭ信号を低域通過フィルタに供給し、低域通過フィルタを通過したアナログ形式の信号を出力するものとしても良い。
【００６１】
（７）実施形態の異常検出部１１４はソフトウェアによって実現された。しかし、異常検出部をハードウェアによって実現しても良い。異常検出部をハードウェアによって実現すると、異常検出部をソフトウェアによって実現する場合に比べて信号処理を高速に行うことができ、入力信号が高速な信号であっても異常の検出を十分に行うことができる。
【００６２】
（８）実施形態の異常検出部１１４が検出する異常には、制御装置１００の制御電源に影響を与える虞がある異常も考えられる。このため、診断システム１に制御装置１００の制御電源についてのバックアップ電源を設けても良い。この態様によれば、制御装置１００の制御電源に影響を与える異常が生じたとしても、異常が検出されたタイミング以後も継続して記憶部１１５への格納対象信号の格納を問題なく行える。
【００６３】
（９）実施形態のシミュレーション装置２００では、第２の入力信号および第２の出力信号が記憶部２２２に記憶されている第１の入力信号および第１の出力信号に一致した場合に、シミュレーション実行手段２１０に与える信号を第２の出力信号から記憶部２２２に記憶されている第１の出力信号に切り替えていた。しかし、シミュレーション装置２００において、第２の入力信号および第２の出力信号が記憶部２２２に記憶されている第１の入力信号および第１の出力信号に一致した場合、シミュレーション実行手段２１０に与える信号を制御装置１００の出力信号に維持したままにし、シミュレーション実行手段２１０に一致検出信号を出力するようにしても良い。この態様では、実施形態の態様に比べて異常現象の再現の正確性には欠けるものの、診断を継続することはできるからである。
【符号の説明】
【００６４】
１…診断システム、１００…制御装置、１１０…Ａ／Ｄ変換器、１１１…ＰＷＭタイマ、１１２…制御部、１１３…制御ソフトウェア、１１４…異常検出部、１１５…記憶部、２００…シミュレーション装置、２１０…シミュレーション実行手段、２１１…制御対象モデル、２１２…センサモデル、２１３…インバータモデル、２２０…診断手段、２２１…比較部、２２２…記憶部、２２３…一致判定部、２２４…信号切り替え部、３００…制御対象系、３０１…センサ、３０２…インバータ、３０３…制御対象、４００…接続スイッチ。
【図１】
2018010331.tif 000003
【図２】
2018010331.tif 000004
【図３】
2018010331.tif 000005
【図４】
2018010331.tif 000006