(57)【要約】【課題】マルチタスク動作を行うことの可能なパワーエレクトロニクス機器シミュレータを提供する。【解決手段】デバッグ用のシミュレータの内部に、ＣＰＵコアや各リソースでの所定の処理を模擬した場合に、この処理に要する所要時間の最大値相当の周期を有するタイムベースを設け、ＣＰＵコアや各リソースでの処理を模擬する場合にはこのタイムベースと同期して各部の模擬を行う。【選択図】  図５
2012133518.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコンピュータを使用してパワーエレクトロニクス機器の自動制御を行う制御装置を模擬するパワーエレクトロニクス機器シミュレータであって、
前記マイクロコンピュータを構成するＣＰＵコア及びその周辺のハード的なリソースを模擬するマイコン動作模擬手段と、
前記マイコン動作模擬手段で模擬される前記ＣＰＵコア及びリソースにおける所定の処理を実行するために必要な処理時間に応じたタイムベースを生成するタイムベース生成手段と、を備え、
前記マイコン動作模擬手段は、前記タイムベース設定手段で設定された前記タイムベースに同期して前記ＣＰＵコア及びリソースの模擬を行うことを特徴とするパワーエレクトロニクス機器シミュレータ。
【請求項２】
前記タイムベースは、前記マイコン動作模擬手段により模擬される前記ＣＰＵコア及びリソースでの前記処理時間のうちの最大値相当に設定されることを特徴とする請求項１記載のパワーエレクトロニクス機器シミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ（演算処理装置）を搭載したパワーエレクトロニクス制御機器において、ＣＰＵにおけるソフトウェアデバッグ効率の向上を図るようにしたパワーエレクトロニクス機器シミュレータに関する。
【背景技術】
【０００２】
ＣＰＵ（演算処理装置）を搭載したパワーエレクトロニクス機器として、例えば、電車の車両用のドア制御装置が挙げられる（例えば、特許文献１参照）。
この電車の車両用ドアの制御装置においては、各車両のドアは、運転台から指令を受けて一斉に開閉を行うようになっている。
つまり、電車の運行サービスが行われているときには、車両が駅に到着すると、例えば車掌が運転台で開操作を行うことにより各車両のドアが一斉に開状態となって人が乗降することができ、逆に閉操作を行うことにより各車両のドアが一斉に閉状態となる。このとき、ドアを閉じるための閉操作をした場合に、ドアに物や人等といった物体が挟まった場合には、車掌が開閉操作を行ったり或いは物体が挟まっていることを検知したことを受けて自動制御により開閉操作を行ったりしている。
【０００３】
また、各ドアの開閉状態を表すランプや、各ドアそれぞれに設けられた、ドアを駆動するためのリニアモータの可動部の位置を検出するセンサや、ドアの開閉状態を監視するための安全装置など、各種センサ等の信号を用いて誤動作を防止している。
ところで、電車の車両用ドアのようなパワーエレクトロニクス機器の自動制御は、例えば図７に示すような制御ブロックとなっている。
【０００４】
すなわち、図７に示すように、上位装置からの指示にしたがってドアの開閉制御を行う制御装置１と、インバータ２と、例えばドアを開閉するための誘導モータ３とを備え、制御装置１では、誘導モータ３の回転位置情報等に基づきインバータ２を介して誘導モータ３を制御している。
ここで、制御装置１の機能の中で主なものは、速度制御（ＡＳＲ）と電流制御（ＡＣＲ）であって、これらは、ソフトウェアとして実装される場合やハードウェアとして実装される場合など様々である。
【０００５】
図８は、制御装置１の機能構成および、制御装置１とドア機構（アクチュエータ）との関係を示したものである。図８において、１１は各車両のドア、１２はドアを開閉動作させるためのリニアモータ、１３はドア１１とリニアモータ１２とを連結する連結部、１４はリニアモータ１２の可動部を機械的に固定するための施錠装置、１５はドア１１を開閉動作させるためのリニアモータ１２の可動部の位置を検出するための位置検出器である。
【０００６】
制御装置１は、位置検出器１５の検出信号をもとにリニアモータ１２の可動部の位置を演算する位置演算器２１と、リニアモータ１２の可動部の移動速度を演算する速度演算器２２と、ドアの開状態および閉状態における位置の異常を検出するための異常検出器２３とを備える。さらに、制御装置１は、これら位置演算器２１、速度演算器２２、異常検出器２３の出力信号と上位装置からの動作指令とをもとに、リニアモータ１２を駆動するための運転指令信号を演算する運転指令演算器２４と、運転指令演算器２４からの運転指令信号に基づき電力変換を行ってリニアモータ１２に駆動電力を供給する電力変換器２５と、上位装置等との通信を行う通信インタフェース２６とを備える。
【０００７】
この通信インタフェース２６は車両内ネットワークと接続されており、制御装置１は、
通信インタフェース２６或いは図示しない外部ワイヤ信号から上位装置からの動作指令を受けて、前記各種出力信号をもとに前記運転指令信号を生成するとともに、各種センサなどの出力信号を、前記通信インタフェース２６を介して上位装置に通知するようになっている。
【０００８】
このように、パワーエレクトロニクス機器は、ソフトウェア、電子系ハードウェア、メカ系ハードウェアなどから成り立っている。
このようなパワーエレクトロニクス機器においては、ソフトウェアが占める割合は、年々肥大化してきている。このソフトウェアのデバッグは実機を用いて行ったり、或いは、実機側の動作を模擬するシミュレーション用ＣＰＵをデバッグ対象の制御用ＣＰＵに接続したりすること等により行われている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１１−１８０３０４号公報
【特許文献２】特開２００１−３３１３４６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述のように、実機を接続してデバッグを行う方法やデバッグ対象の制御用ＣＰＵを用いてデバッグを行う方法にあっては、実機が完成するまでデバッグを行うことができず、また制御用ＣＰＵがないとデバッグを行うことができない。
また、上述のようなパワーエレクトロニクス機器における自動制御のソフトウェアでは、複数のタスクをマルチタスクで実現しており、例えば、自動販売機などのイベントドリブン系の自動制御とは異なっている。
【００１１】
つまり、パワーエレクトロニクス機器では、その制御装置において、個々のタスクは時間制限の中でデータのやりとりを行っている。さらに個々のタスクはＣＰＵ内蔵のタイマなどのリソースともデータ交換を行っている。
そのため、パワーエレクトロニクス機器のソフトウェアのデバッグを行う方法として、例えば、ＣＰＵメーカ等が提供しているシミュレータを用い、このシミュレータによりパワーエレクトロニクス機器の制御装置を模擬することによって、この制御装置に搭載されるソフトウェアのデバッグを行うことも考えられるが、このＣＰＵメーカが提供するシミュレータは、複数のタスクをマルチタスクで実現することはできない。また、このシミュレータを構成するＣＰＵ内部のタイマやシリアルポートなどといったリソースに時間的制約などの考えがないため、このシミュレータを使用してマルチタスクで動作するパワーエレクトロニクス機器の制御装置を模擬することは困難である。
【００１２】
そこで、この発明は、上記従来の未解決の問題点に着目してなされたものであり、マルチタスク動作を行うことの可能なパワーエレクトロニクス機器シミュレータを提供することを目的としている。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の請求項１にかかるパワーエレクトロニクス機器のシミュレータは、マイクロコンピュータを使用してパワーエレクトロニクス機器の自動制御を行う制御装置を模擬するパワーエレクトロニクス機器シミュレータであって、前記マイクロコンピュータを構成するＣＰＵコア及びその周辺のハード的なリソースを模擬するマイコン動作模擬手段と、前記マイコン動作模擬手段で模擬される前記ＣＰＵコア及びリソースにおける所定の処理を実行するために必要な処理時間に応じたタイムベースを生成するタイムベース生成手段と、を備え、前記マイコン動作模擬手段は、前記タイムベース
設定手段で設定された前記タイムベースに同期して前記ＣＰＵコア及びリソースの模擬を行うことを特徴としている。
【００１４】
また、請求項２にかかるパワーエレクトロニクス機器シミュレータは、前記タイムベースは、前記マイコン動作模擬手段により模擬される前記ＣＰＵコア及びリソースでの前記処理時間のうちの最大値相当に設定されることを特徴としている。
【発明の効果】
【００１５】
本発明によれば、マイコン動作模擬手段は、タイムベース生成手段により生成したタイムベースに同期して、ＣＰＵコアやリソースの処理動作を模擬するため、ＣＰＵコアやリソース間でのタイミングの整合をとることができる。そのため、マルチタスク動作と同等の状態を実現することが可能となり、リソースを含めたデバッグを行うことができる。
【図面の簡単な説明】
【００１６】
【図１】パワーエレクトロニクス機器制御用の制御装置の一例を示すブロック図である。
【図２】図１中のＣＰＵの構成を示す機能ブロック図である。
【図３】タスクの一例である。
【図４】タスク処理の時間的概念を示す説明図である。
【図５】本発明のシミュレータの概略構成を示す構成図である。
【図６】タイムベースの設定方法を説明するためのタイミングチャートである。
【図７】パワーエレクトロニクス機器の自動制御ブロック図の一例である。
【図８】本発明を適用したドア制御装置の構成を示す概略構成図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態を説明する。
ここでは、パワーエレクトロニクス機器として図８に示すドア制御装置を適用した場合の、シミュレータについて説明する。なお、ドア制御装置に限るものではなくその他のパワーエレクトロニクス機器であっても適用することができる。
図１は、図８に示すドア制御装置の制御装置１の構成図である。
【００１８】
図１に示すようにパワーエレクトロニクス機器の制御装置は、ＣＰＵの他に、ＩＯ機器などを備えて構成される。すなわち、例えばＣＰＵ３１と、ＣＰＵ３１でパラレルシリアル変換されたシリアル信号をＲＳ−２３２Ｃで送受信するＲＳ−２３２Ｃ部３２と、ＣＰＵ３１からのＰＷＭ制御信号に応じて動作するＰＷＭドライバ３３、制御プログラムなどが格納されたＥＥＰＲＯＭ３４を備えるとともに、ＣＰＵ３１により制御される複数のＬＥＤ（発光ダイオード）３５、複数のデジタルスイッチ３６、温度センサ３７、速度設定用ボリューム（Speed Setting Analog Volume）３８を備え、これらデジタルスイッチ３６、温度センサ３７、速度設定用ボリューム３８の出力信号は、ＣＰＵ３１に入力される。
【００１９】
図２は、図１中のＣＰＵ３１の詳細構成例を示したものである。なお、図２は、ＣＰＵ３１として、ＮＥＣ製のＶ８５０  ＭＳ１を適用したものである。
図２に示すように、ＣＰＵ３１は、ＣＰＵコア４１、ＲＯＭ４２、ＲＡＭ４３、パラレルシリアル変換を行うＵＡＲＴ（シリアル）４４、ＩＯポート４５、ＤＭＡ（Direct Memory Access）４６、Ａ／Ｄ変換器４７、タイマ４８を備えており、ＣＰＵコア４１の他に、メモリやタイマ、ＩＯポートなどの各種リソースを備えている。
【００２０】
図３は、ＣＰＵ３１をソフトウェアにより制御する際の、タスク部分割について記載したものである。
ここで、図２で説明したように、最近のマイクロコンピュータは、ＣＰＵコア４１の他にいくつかのリソースを内蔵している。そのため、実機であるマイクロコンピュータの動作を、パーソナルコンピュータからなるシミュレータ上で模擬しながら、前記実機であるマイクロコンピュータを制御するためのソフトウェアのデバッグを実行するには、１つのスレッドに１つのリソースを割り当ててシミュレータを構築する必要がある。例えば図２の場合には、ＵＡＲＴ４４やＩＯポート４５などは、１つのスレッドに割り当てる必要がある。
【００２１】
ところで、タスクを実装する際には、実際には複数の割込みレベルを使用している。これをタスクでまとめたものを図３に示す。
図３に示すように、例えば、タスク名称Ｌ０：電流制御を行うＡＣＲの制御実行部の割込みレベルは“１”、タスク名称Ｌ１：速度制御を行うＡＳＲの制御実行部およびリニアモータ１２の位置検出を行う位置検出部の割込みレベルは“２”、タスク名称Ｌ２：受信割込み処理を行うタスクの割込みレベルは“３”、タスク名称ＬＰ：パラメータ変換などを行うタスクの割込みレベルは“４”として設定される。
【００２２】
上述のように、パワーエレクトロニクス機器の制御装置では、複数のタスクをマルチタスクにより実行している。また、タスク間では、データ交換をしながら自動制御の機能を達成しており、タスク間でのデータの転送を行う必要があるため、タスクの実行タイミングに時間的な制約をうける。図４はこの様子を示したものであり、タスク処理の時間的概念を表したものである。
【００２３】
図４において、横軸は時間を表し縦軸はタスクの優先順位を表す。また、Ｔａｓｋ１の実行周期は２５０μｓ、Ｔａｓｋ２の実行周期は２ｍｓ、Ｔａｓｋ３の実行周期は１０ｍｓである。
図４に示すように、優先順位の最も高いＴａｓｋ１は、その実行周期２５０μｓ毎にタスクフラグが設定されてタスクが実行される。Ｔａｓｋ２は、その実行周期２ｍｓ毎にタスクフラグが設定されるが、優先順位がより高いＴａｓｋ１が実行されていない期間に実行される。すなわち図４に示すように、Ｔａｓｋ２は２ｍｓ毎に実行されるが、Ｔａｓｋ１が実行されていない期間に、複数回に分割されて実行される。同様に、Ｔａｓｋ３は、その実行周期１０ｍｓ毎にタスクフラグが設定されるが、優先順位がより高いＴａｓｋ１およびＴａｓｋ２が実行されていない期間に実行される。すなわち図４に示すように、Ｔａｓｋ３は１０ｍｓ毎に実行されるが、Ｔａｓｋ１およびＴａｓｋ２の非実行期間に、複数回に分割して実行される。つまり、図４に示すように、実行周期１０ｍｓのうちの初期および終了前に実行され、Ｔａｓｋ１およびＴａｓｋ２が実行される中間時点では実行されない。
【００２４】
このように、パワーエレクトロニクス機器の制御装置ではマルチタスク処理が行われ、また、ソフトウェア、電子系ハードウェア、メカハードウェアが絡むため、パワーエレクトロニクス機器では、総合的な検証での不具合や割込み時の不具合発生が多い。そのため、パーソナルコンピュータ上でのプログラム作成時に、シミュレータでプログラムのデバッグを行っておくことは有用である。
【００２５】
しかしながら、従来のシミュレータは、前述のようにプログラムのデバッグをマルチタスクで実行することが困難など課題も多い。その理由に、シミュレーション時間と実時間との間にどうしても違いがあることが挙げられる。
すなわち、パワーエレクトロニクス機器の制御装置１のＣＰＵ３１は、ＲＩＳＣタイプが多く１クロックで実行できるが、ＲＩＳＣタイプのＣＰＵ３１を用いた処理を実現するためには、パイプライン処理などによる高速化を行う必要がある。しかしながら、パーソナルコンピュータなどで構成されるシミュレータでは、パイプラインの模擬を行うことは
困難であるためパイプラインなしで命令が実行されると解釈させることになる。
【００２６】
さらには、タイマなどのリソース（ハードウェア）を模擬できる能力は、シミュレータを構成するパーソナルコンピュータの処理能力に依存するが、模擬対象とするリソースによって模擬上における実際の実行時間がばらばらである。
たとえば、タイマのリソースはフリーランでカウントアップしているが、リソースとしてのタイマの中の経過時間とＣＰＵコア４１での経過時間とは異なるため、例えばタイマのタイマ値に応じて割込みを行う構成とした場合には想定していないタイミングで割込みが実行される可能性があり、的確にデバッグを行うことができない。
【００２７】
そこで、本実施形態では、デバッグ用のシミュレータの内部に新たにタイムベースを設け、このタイムベースを基準にＣＰＵやリソース各部の模擬を行う。
図５は、本実施形態におけるシミュレータ５０の一例を示すブロック図である。
このシミュレータ５０は、図５に示すように、図１に示すドア制御装置のＣＰＵ３１の動作を模擬するマイコン動作模擬部５１と、ＣＰＵ３１に接続される各種機器の動作を模擬するＨ／Ｗ模擬部５２と、デバッグ用のプログラムをもとにマイコン動作模擬部５１に対する命令設定動作を模擬する命令セット模擬部５３と、タイムベース生成部５４と、を備える。
【００２８】
マイコン動作模擬部５１は、ＵＡＲＴ４４やＩＯポート４５などＣＰＵ３１を構成する各リソースの模擬を含めてＣＰＵ３１の動作を模擬する。タイムベース生成部５４は、所定周期のタイムベースを生成する。このタイムベースは、図６に示すように、ＣＰＵ３１の各部で実行すべき処理を、パイプライン処理を用いずに模擬する場合にＣＰＵコア４１や各リソースで所定の処理を実行するために必要な処理時間の最大値に設定される。この設定は、例えば、予めＣＰＵコア４１や各リソースについて処理時間を予め検出してその最大値を検出し、オペレータが図示しない入力装置を操作すること等により行う。このタイムベースは、実際の環境では存在しない概念であって、タイムベースは実時間との対比を表す。
【００２９】
そして、シミュレータ５０では、ＣＰＵ３１を構成するＣＰＵコア４１や各リソースの模擬を行う場合には、このタイムベースに同期して、各指定された処理を行う。
このため、シミュレータ上で模擬したＣＰＵコア４１やリソース各部では、指定された所定の処理が終了した場合であっても、タイムベースに同期したタイミングでその次の処理を実行することになる。
【００３０】
したがって、ＣＰＵコア４１やリソース等各部はタイムベースという共通のタイマに同期して動作し、且つタイムベースの周期は、各部での処理時間のうちの最大値に設定されるため、各部では、各リソースでの所定の処理が終了した時点で次の処理を実行することになる。そのため、タイムベースを基準とする同一周期において、ＣＰＵコア４１や各リソースの動作を模擬することができ、すなわちマルチタスクでＣＰＵコア４１や各リソースの動作の模擬を行うことと同等となり、ＣＰＵコア４１やリソース間でのタイミングの整合をとることができる。
【００３１】
このため、ＣＰＵコア４１だけでなく各リソースを含めた動作環境においてプログラムのデバッグを行うことができ、その結果、ハードウェアで組み合わせたときに生じる可能性のある不具合を事前に確認し修正することができるため、開発効率を格段に向上させることができる。
ここで、上記実施の形態において、図５のマイコン動作模擬部５１がマイコン動作模擬手段に対応し、タイムベース生成部５４がタイムベース生成手段に対応している。
【符号の説明】
【００３２】
３１  ＣＰＵ
４１  ＣＰＵコア
４４  ＵＡＲＴ
４５  ＩＯポート
４８  タイマ
５０  シミュレータ
５１  マイコン動作模擬部
５４  タイムベース生成部
【図１】
2012133518.tif 000003
【図２】
2012133518.tif 000004
【図３】
2012133518.tif 000005
【図４】
2012133518.tif 000006
【図５】
2012133518.tif 000007
【図６】
2012133518.tif 000008
【図７】
2012133518.tif 000009
【図８】
2012133518.tif 000010