(57)【特許請求の範囲】
【請求項１】
制御対象の状態を示す状態変数の値を算出し、その値を基に生成した制御信号を前記制御対象に与える制御装置を検証するシミュレーション装置において、
前記制御信号を受信し、その制御信号に応じた前記制御対象の動作を模擬して前記状態変数の値を更新する模擬部と、
前記制御装置により算出された状態変数の推定値を前記制御装置から取得するとともに、前記模擬部の状態を示す状態変数の値を前記模擬部から取得し、取得した前記各状態変数の値の比較結果に基づき前記制御装置を検証する検証部と
を有することを特徴とするシミュレーション装置。
【請求項２】
前記検証部は、前記各状態変数について前記制御装置から取得した値と前記模擬部から取得した値との差分を算出し、その算出結果が所定の閾値よりも大きい場合に前記制御装置により算出された状態変数の値が妥当ではない旨の判定結果を出力することを特徴とする請求項１に記載のシミュレーション装置。
【請求項３】
前記検証部は、前記模擬部の状態変数の値が所定の閾値を超えたことを契機として前記制御装置により算出された状態変数の値の検証を開始することを特徴とする請求項１または２に記載のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電力変換装置等を制御する制御装置の検証のためのシミュレーションを行うシミュレーション装置に関する。
【背景技術】
【０００２】
工場や各種プラント等の産業施設では、各種操業を制御するための制御システムが構築されることが多い。この種の制御システムは、インバータ等の電力変換装置や、電力変換装置を制御する制御装置等により構成される。電力変換装置やその駆動対象である電動機等には各種センサが取り付けられており、当該センサで取得した各種情報を基に電動機等の制御が行われる。近年では、コスト削減等の観点から、制御システムの省センサ化が進んでいる。この種の制御システムにおける制御装置による制御の具体的な態様としては、制御対象の状態を示す状態変数の値を所定の推定アルゴリズムに従って算出し、その推定値に応じて制御対象を制御する態様が挙げられる。例えば、インバータを制御する制御装置を例に挙げると、インバータ主回路の制御に応じて当該インバータ主回路から出力される電圧を推定し、その推定値に応じて電動機の回転速度制御が行われる。このようなインバータの出力電圧を高精度に演算する技術が例えば、特許文献１に開示されている。
【０００３】
出力電圧の推定値等の推定演算値に応じた電力変換装置の駆動制御に支障が生じないようにするには、制御装置に搭載されるソフトウェアを十分に検証しておく必要がある。これを実現するには、制御装置（ソフトウェア）単体ではなく、制御システムを構成する各種装置、例えば制御装置の制御対象やその周辺装置を含めて検証を行うことが理想である。しかし、制御システムによっては、上記各種装置を含めてソフトウェアの検証を行うと、検証効率が低下する虞がある。例えば、大規模な制御システムでは、制御システムを構成する全ての装置が揃うまで、ソフトウェアの検証に着手することができない。そこで、この問題を回避するために、シミュレーション装置を用いて制御システムを構成する各種装置の動作を模擬するモデルを生成し、このモデルを用いて制御装置の検証が行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２５４０３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
推定値に応じた制御に支障が生じないようにするには、次に示すような手順に従って、制御装置（ソフトウェア）の開発・検証を行う必要がある。より詳細に説明すると、まず、非線形性等が排除された理想的なインバータ主回路の回路機能を実現するプログラムの開発を行う。このプログラムの作成が完了すると、これを用いて、推定値を算出するための推定アルゴリズムを含む制御アルゴリズムの妥当性の検証を行う。具体的には、作成したプログラムをＣＰＵに実行させ、このプログラムによって実現される理想的な回路モデルを用いて制御アルゴリズムの検証を行う。この検証により、制御アルゴリズムの妥当性が確認された場合、その制御アルゴリズム（或いは、これと等価の制御アルゴリズム）を実装したプログラムを開発する。このプログラムの作成が完了すると、当該プログラムを制御装置に搭載し、各種装置を含めて制御装置の検証を行う。
【０００６】
上述したように、推定値（例えば、インバータ主回路の出力電圧）の妥当性の検証は、実機またはシミュレーション装置を用いて行われる。実機を用いる場合、まず、算出された推定値を実際の電圧として出力できるようなＤ／Ａ変換器を設け、このＤ／Ａ変換器が出力するアナログ信号をオシロスコープに入力してその波形を表示させるとともに、実機（インバータ主回路）から出力される電圧をオシロスコープに入力してその波形を表示させる。次いで、オシロスコープに表示された両波形を対比し、両波形が一致しているか否かを判定することにより推定値の妥当性を検証する。なお、シミュレーション装置を用いる場合は、実機から検出したインバータ主回路の出力電圧に替えて、シミュレーション装置から取得した模擬的なインバータ主回路の出力電圧が比較対象として用いられる。
【０００７】
しかし、Ｄ／Ａ変換器やオシロスコープの操作に不慣れな者にとっては、これらの装置を用いて推定値の検証を行うことは容易ではない。また、検証対象の推定値に対応する実際の値がモータの内部磁束のような容易に測定不可能な物理値の場合は、実機からは取得困難である。シミュレーション装置を用いて推定値の検証を行う場合も、シミュレーション装置の該当する物理値を出力できるＤ／Ａ変換器を別途用意する必要がある。また、検証対象となる状態変数の種別に応じて、都度、模擬させるモデルの状態変数の出力部を変更しなければならず、このような作業は手間がかかり時間・工数を要するため、推定値の検証を行うことは容易ではない。
【０００８】
この発明は、以上のような事情に鑑みてなされたものであり、制御対象の状態を示す状態変数の値を推定し、その推定値に応じて制御対象を制御する制御装置の検証を容易に実現することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明は、制御対象の状態を示す状態変数の値を算出し、その値を基に生成した制御信号を前記制御対象に与える制御装置を検証するシミュレーション装置において、前記制御信号を受信し、その制御信号に応じた前記制御対象の動作を模擬して前記状態変数の値を更新する模擬部と、前記制御装置により算出された状態変数の値を前記制御装置から取得するとともに、前記模擬部の状態を示す状態変数の値を前記模擬部から取得し、取得した前記各状態変数の値の比較結果に基づき前記制御装置を検証する検証部とを有することを特徴とシミュレーション装置を提供する。
【００１０】
本発明によれば、制御装置により算出された状態変数の値がシミュレーション装置に与えられ、シミュレーション装置内で当該状態変数の値の妥当性の検証が行われる。このため、検証時に、Ｄ／Ａ変換器やオシロスコープを用いる必要がない。従って、制御装置により算出された状態変数の値の検証（推定値を算出するための制御アルゴリズムを搭載した制御装置の検証）を容易に実現することができる。
【発明の効果】
【００１１】
本発明によれば、制御対象の状態を示す状態変数の値を推定し、その推定値に応じて制御対象を制御する制御装置の検証を容易に実現することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態であるシミュレーション装置１００の構成を示すブロック図である。
【図２】同実施形態において、シミュレーションデータおよび評価対象データの各データの表す波形を示す図である。
【図３】同実施形態において、シミュレーションデータの表す波形の他の例を示す図である。
【図４】同実施形態における端末装置３００の一例を示す図である。
【発明を実施するための形態】
【００１３】
＜第１実施形態＞
以下、図面を参照し、この発明の実施形態について説明する。
図１は本発明の一実施形態であるシミュレーション装置１００の構成を示すブロック図である。図１には、シミュレーション装置１００の他、制御装置２００が図示されている。制御装置２００は、本実施形態における検証対象であり、制御対象の状態を示す状態変数の値を所定の推定アルゴリズムに従って算出し、その推定値に応じて制御対象を制御する。本実施形態における制御装置２００の制御対象はインバータ主回路およびその駆動対象であるモータである。例えばインバータ主回路から出力される出力電圧の推定値や、速度センサレス制御におけるモータ速度の推定値、モータの内部磁束の推定値等のような制御演算に用いられる各値が、上記状態変数の推定値として算出される。制御装置２００の概略は以下の通りである。
【００１４】
制御装置２００は、ＣＰＵ２１０と、Ａ／Ｄ変換器２２０と、ＰＷＭ信号生成部２３０と、通信手段２４０とを有する。Ａ／Ｄ変換器２２０は、インバータ主回路やモータ等に設置される各種センサ、例えばインバータ主回路から出力される電流を検出する電流検出センサや、モータの磁極位置を検出する位置センサ等を模擬するシミュレーション装置１００から送信された検出値等の各種情報を受信し、当該情報をＡ／Ｄ変換してＣＰＵ２１０に与える。なお、上記各種情報は、コンパレータを用いて得られるデジタル入力信号として扱われる場合もあり、この場合は、Ａ／Ｄ変換は不要である。通信手段２４０は例えばＮＩＣ（Network Interface Card）であり、信号線を介してシミュレーション装置１００に接続されている。
【００１５】
ＣＰＵ２１０は、記憶手段（図示略）に格納された制御ソフトウェアおよび通信ソフトウェアを実行することにより、制御部２１１および通信部２１２として機能する。制御部２１１は、制御ソフトウェアに実装された制御アルゴリズム（推定値を算出するための推定アルゴリズムや、推定値や検出値を用いてインバータ主回路に対する指令値を算出するためのアルゴリズム）を実行し、Ａ／Ｄ変換器２２０から受け取った各種情報を基に、インバータ主回路の出力電圧および内部磁束等の各推定値を算出する。
【００１６】
制御部２１１は、算出した各推定値をＰＷＭ信号生成部２３０に与える。ＰＷＭ信号生成部２３０は、制御部２１１から受け取った各推定値と外部から受け取った指令値（例えば、電圧指令値および磁束指令値）との差分に応じたＰＷＭ信号を生成し、信号線を介してインバータ主回路（図示の例では、当該インバータ主回路を模擬するシミュレーション装置１００）に伝達する。これにより、制御装置２００による推定値に応じたインバータ主回路およびモータの制御が実現される。
【００１７】
また、制御部２１１は、算出した各推定値を、Ａ／Ｄ変換器２２０から受け取った各種情報とともに記憶手段（図示略）に格納する。そして、制御部２１１は、一定時間間隔で、或いはユーザ等からの指示が与えられたことを契機として、記憶手段（図示略）に格納された情報を取り出し、通信手段２４０に与える。本実施形態では、状態変数の推定値、すなわちインバータ主回路の出力電圧およびその駆動対象であるモータの内部磁束の各推定値等、電圧指令値や電流指令値等の各種指令値を算出するために用いられる内部信号が制御部２１１により取り出され、通信手段２４０に与えられる。通信手段２４０は、通信部２１２による制御の下、制御部２１１から受け取った情報をシミュレーション装置１００に一定周期で送信する。なお、本実施形態では、制御装置２００からシミュレーション装置１００への推定値の送信を有線通信で実現したが、無線通信で実現してもよい。
【００１８】
シミュレーション装置１００は、リアルタイムシミュレータであり、制御装置２００の制御対象やその周辺装置の動作を実時間で模擬するモデルを生成し、当該モデルを用いて制御装置２００の検証のためのシミュレーションを行う。図１に示すように、シミュレーション装置１００は、演算部１１０と通信手段１２０とを有する。通信手段１２０は、データの送受信を行う通信用ハードウェア（例えばＮＩＣ）であり、通信手段２４０から送信された情報を受信し、演算部１１０に与える。演算部１１０は、例えばＣＰＵであり、記憶手段（図示略）に格納されたセンサモデル、主回路モデルおよび機械負荷モデルの各モデルを実行することにより、センサ模擬部１１１、主回路模擬部１１２および機械負荷模擬部１１３として機能する。また、演算部１１０は、記憶手段（図示略）に格納されたソフトウェアを実行することにより、検証部１１４として機能する。
【００１９】
主回路模擬部１１２は、制御装置２００の制御対象であるインバータ主回路の動作を実時間で模擬し、その動作に応じた出力を行う。主回路模擬部１１２は、ＰＷＭ信号生成部２３０から受け取ったＰＷＭ信号に基づいて、そのパルス幅に応じたインバータ主回路の動作、すなわちスイッチング素子を所定の周期でオン／オフ制御し、直流電圧を交流電圧に変換する動作を模擬する。そして、主回路模擬部１１２は、上記交流電圧（インバータ主回路の出力電圧）の電圧値を状態変数として機械負荷模擬部１１３および検証部１１４に与える。
【００２０】
機械負荷模擬部１１３は、インバータ主回路の駆動対象であるモータの動作を実時間で模擬し、その動作に応じた出力を行う。機械負荷模擬部１１３は、主回路模擬部１１２から状態変数の値（インバータ主回路の出力電圧の電圧値）を受け取ると、当該電圧値に応じたモータの動作、すなわち内部磁束を発し、その磁束に応じたトルクを生成して回転する動作を模擬する。そして、機械負荷模擬部１１３は、上記磁束の磁束量を状態変数として検証部１１４に与える。
【００２１】
センサ模擬部１１１は、インバータおよびモータに設置される各種センサ（例えば、インバータ主回路から出力される電流を検出する電流検出センサや、モータの磁極位置を検出する位置センサ等）の動作を実時間で模擬し、その動作に応じた出力を行う。センサ模擬部１１１は、その検出対象に関する情報を主回路模擬部１１２および機械負荷模擬部１１３から取得し、当該情報をＡ／Ｄ変換部２２０に与える。
【００２２】
検証部１１４は、主回路模擬部１１２および機械負荷模擬部１１３の各々から状態変数の値を受け取るとともに、制御部２１１により算出された状態変数の推定値を通信手段１２０から受け取る。そして、検証部１１４は、主回路模擬部１１２および機械模擬部１１３の各々から受け取った状態変数の値（以下、「シミュレーションデータ」と呼ぶ）と、制御装置２００により算出された状態変数の推定値（以下、「評価対象データ」と呼ぶ）とを比較し、評価対象データ（評価対象データを算出するための制御アルゴリズムを搭載した制御装置）の妥当性を検証する。
【００２３】
図２は、シミュレーションデータおよび評価対象データの各データの表す波形を示す図である。図２に示す各波形はインバータ主回路の出力電圧波形であり、点線波形はシミュレーションデータに対応し、実線波形は評価対象データに対応する。同図における縦軸は各波形の振幅値（瞬時値）を示し、横軸は時刻を示す。図２に示すように、時刻ａ〜ｂ間を除いて、評価対象データの表す波形は、シミュレーションデータの表す波形と一致している。すなわち、時刻ａ〜ｂ間を除く区間では、制御部２１１により算出されたインバータ主回路の出力電圧の推定値は妥当であり、検証部１１４はその旨を示す判定結果を出力する。
【００２４】
その一方で、時刻ａ〜ｂ間では、評価対象データとシミュレーションデータの各データの表す波形の間には、最大でシミュレーションデータの表す波形の最大振幅値の３０％程度の誤差が生じている。ここで、上記誤差が１０％（以下、「許容誤差」と呼ぶ）を超えたか否かを妥当性の判断基準とすると、時刻ａ〜ｂ間では上記誤差が許容誤差を上回っており、制御部２１１により推定されたインバータ主回路の出力電圧の推定値は妥当ではなく、検証部１１４はその旨を示す判定結果を出力する。
【００２５】
以上、本実施形態によれば、制御装置２００により算出された状態変数の推定値がシミュレーション装置１００に送信され、シミュレーション装置１００内で上記推定値の妥当性の検証が行われる。このため、検証時に、Ｄ／Ａ変換器やオシロスコープを用いる必要がなく、状態変数の種別に応じて実機またはシミュレーション装置を使い分ける必要もない。従って、制御装置２００により算出された状態変数の推定値の検証（推定値を算出するための制御アルゴリズムを搭載した制御装置の検証）を容易に実現することができる。従って、制御対象の状態を示す状態変数の値を推定し、その推定値に応じて制御対象を制御する制御装置の検証を容易に実現することが可能となる。また、本実施形態による検証を経た制御装置を含む制御システムでは、インバータ主回路の出力電圧を計測するセンサを設ける必要はなく、当該センサを設けない分だけ省センサ化を図ることができる。
【００２６】
加えて、制御システムを構成する各種装置、すなわちインバータ主回路（主回路模擬部１１２）やモータ（機械負荷模擬部１１３）を含めて制御ソフトウェアの検証が行われるため、品質の高い制御ソフトウェアを開発することが可能となる。また、シミュレーション装置１００をリアルタイムシミュレータで構成することにより、推定値の検証を効率良く行うことが可能となる。従って、本実施形態による検証を経た制御装置（制御ソフトウェア）を製品に搭載することにより、品質の高い製品を効率良く開発することが可能となる。
【００２７】
＜他の実施形態＞
以上、この発明の各実施形態について説明したが、この発明には他にも実施形態が考えられる。例えば、以下の通りである。
【００２８】
（１）上記実施形態では、制御装置２００の制御対象としてインバータ主回路およびモータを例に挙げたが、他の装置（例えば、コンバータ等の電力変換装置やその周辺装置）を制御対象としてもよい。また、上記実施形態では、シミュレーション装置１００にインバータ主回路およびモータの動作を模擬させたが、制御装置２００の制御対象の種別に応じて模擬させる対象を適宜変更してもよい。
【００２９】
（２）図３は、シミュレーションデータの表す波形の他の例を示す図である。図３（ａ）に示す例では、シミュレーションデータの表す波形の振幅値は、時刻ｃに至るまで時間の経過とともに増大している。図示は省略するが、シミュレーションデータの表す波形に図３に示すような特性が観測される場合、評価対象データにも同様の傾向が観測され得る。この場合、シミュレーションデータの表す波形の振幅値が所定値（例えば、最大振幅値の９０％）を超えた時点で、検証部１１４に推定値の検証を実行させてもよい。例えば、制御部２１１に、評価対象データの表す波形の振幅値が所定値に達したか否かを判定させ、判定結果が“Ｙｅｓ”であれば（図３（ａ）：時刻ｃ）、図３（ｂ）に示すような信号をシミュレーション装置１００に送信させ、その旨を検証部１１４に通知させる。そして、検証部１１４には、上記通知を受け取ったことを契機として、推定値の検証を開始させるのである。或いは、検証部１１４にシミュレーションデータの表す波形の振幅値が所定値に達したか否かを判定させ、判定結果が“Ｙｅｓ”であれば推定値の検証を開始させてもよい。
【００３０】
（３）上記実施形態において、端末装置を介してシミュレーション装置１００を操作してもよい。図４は、端末装置３００の一例を示す図である。図４に示す例では、端末装置３００の表示画面に表示される設定ウインドウには、シミュレーション装置１００に模擬させるモデルの変数名、制御ソフトウェアの変数名および許容誤差の各値が表示されている。
【００３１】
モデルの変数名が指定されると、端末装置３００は、その変数名に対応するモデルの情報を検証部１１４に送信する。検証部１１４は、この情報を受け取ったことを契機として、当該情報の示すモデルに応じた推定値の検証を開始することができる。また、制御ソフトウェアの変数名が指定されると、端末装置３００は、予め端末装置３００に格納された制御ソフトウェアのマップファイル（制御ソフトウェアの変数名とその格納アドレスの対応表）を読み出し、指定された変数名に対応するアドレスを特定する。そして、端末装置３００は、当該アドレスを制御装置２００に送信する。これにより、制御部２１１は、そのアドレスに対応する制御ソフトウェアを記憶手段（図示略）から読み出し実行することができる。
【００３２】
（４）上記実施形態では、制御装置２００からシミュレーション装置１００へ与える情報として、制御部２１１により算出された状態変数の推定値を例に挙げたが、他の情報をシミュレーション装置１００に与えてもよい。例えば、推定値を算出するために必要な情報をシミュレーション装置１００に送信し、検証部１１４には、当該情報を基に上記推定値を算出させ、算出した推定値とシミュレーションデータとの比較結果に基づき、当該推定値を検証させればよい。
【００３３】
（５）上記実施形態では、主回路模擬部１１２および機械負荷模擬部１１３から検証部１１４へ状態変数（インバータ主回路の出力電圧およびモータの内部磁束）の値を与えたが、当該状態変数を算出するために必要な情報を検証部１１４に与えてもよい。この場合、検証部１１４には、当該情報を基に上記状態変数の値を算出させ、算出した状態変数とシミュレーションデータとの比較結果とに基づき、上記推定値を検証させればよい。
【００３４】
（６）上記実施形態では、演算部１１０をＣＰＵで構成したが、ＦＰＧＡ（Field-Programmable Gate Array）や、ＣＰＵおよびＦＰＧＡの組み合わせにより構成してもよい。
【００３５】
（７）上記実施形態において、検証部１１４の機能をシミュレーション装置１００に替えて制御装置２００に実現させてもよい。ただし、制御装置には最小限の機能を搭載した方がコスト的に有利であるため、要求されるコストに応じていずれの装置に検証部１１４の機能を実現させるかを決定することが望ましい。
【００３６】
（８）上記実施形態において、制御装置２００からシミュレーション装置１００へ送信される情報（状態変数の推定値）に時刻情報を付加し、検証部１１４に当該時刻情報を基に各情報間における受信時刻の差を算出させてもよい。この差に基づき、推定値の検証時、一定周期で受信した各情報を時間軸上で正しく配列し、各情報の時間変化を正確に把握することが可能となる。また、制御装置２００とシミュレーション装置１００との間で時刻同期信号の送受信を行い、両者の同期をとることにより、上記受信時刻の差を算出してもよい。
【００３７】
（９）上記実施形態において、検証部１１４に複数種類の推定値を同時に検証させてもよい。これにより、推定値の検証をより一層効率良く行うことが可能となる。
【００３８】
（１０）上記実施形態では、インバータ主回路の出力電圧およびモータの内部磁束を状態変数の例として挙げたが、制御装置２００の制御対象の種別に応じて適宜状態変数の種別を変更してもよい。
【符号の説明】
【００３９】
１００…シミュレーション装置、１１０…演算部、１２０…通信手段、１１１…センサ模擬部、１１２…主回路模擬部、１１３…機械負荷模擬部、１１４…検証部、２００…制御装置、２１０…ＣＰＵ、２１１…制御部、２１２…通信部、２２０…Ａ／Ｄ変換器、２３０…ＰＷＭ信号生成部、２４０…通信手段、３００…端末装置。
【図１】
0006790448.tif 000002
【図２】
0006790448.tif 000003
【図３】
0006790448.tif 000004
【図４】
0006790448.tif 000005