ユーザー事例

ABB 社がパワー エレクトロニクスコントローラー用アプリケーション制御ソフトウェアの開発を加速

課題

電力変換器用ハイパワー エレクトロニクスコントローラーのための新しいアプリケーションソフトウェアの設計にあたり、作業を加速するツールを利用してより効率的な開発プロセスを導入すること

ソリューション

MathWorks ツールを活用して制御アルゴリズムを設計および検証し、同時にコントローラーのアプリケーション ソフトウェア開発プロセスを効率化

結果

  • 開発期間とコストの削減
  • 開発プロセスの向上
  • 非常に正確なコードの生成

「社のシステム エンジニアは、MATLAB と Simulink を利用して、AC 800PEC コントローラー用のレギュレーション ソフトウェアのプログラミング、シミュレーション、検証を短期間で行っています。これにより、開発期間が大幅に削減され、仕様からの逸脱も抑えることができています」

Fritz Wittwer, ABB
AC 800PEC コントローラー

スイスを本拠地とする ABB は、公益事業会社が業績の向上と環境への影響の削減を両立できるテクノロジーを開発しています。このテクノロジーは、100 か国以上の国々で利用されています。ABB のパワー エレクトロニクス グループは最近、電力変換器用の高性能パワー エレクトロニクス コントローラーである AC 800PEC を発表しました。

パワフルな CPU を大型の FPGA と組み合わせた AC 800PEC は、ハイパワー整流器、マイクロタービン用の周波数変換器、風力タービン、トラクションドライブ、電池エネルギー貯蔵システムといったパワー エレクトロニクス アプリケーションの制御に使用できます。

ABB では MathWorks ツールを活用して設計を行い、AC 800PEC コントローラー用制御ソフトウェアのコードを自動生成することで、制御ソフトウェアの開発を最適化し、生産性を向上しました。

ABB のパワー エレクトロニクス研究開発部門システム開発部の部長である Fritz Wittwer 氏は次のように述べています。「MathWorks 製品のおかげで、新しいコントローラー用のアプリケーション ソフトウェアの開発期間を大幅に短縮できました。この結果、開発コストをかなり削減でき、すばやく市場投入することができました」

課題

ABB の以前のプロジェクトでは、システムエンジニアが仕様を定義し、ソフトウェアエンジニアがこの仕様を解釈してソフトウェアを作成するという、従来式の開発プロセスを採用していました。しかし、このプロセスは時間がかかり、エラーが発生しやすくなります。その上、ソフトウェアが元の仕様やコンセプトに対応したものになる可能性は低くなります。

ABB の開発チームは、これらの問題を回避し、同時に生産性を向上できる開発プロセスを探しました。

ソリューション

ABB では、すべての開発プロセスにおける単一の開発プラットフォームとして、MathWorksのモデルベースデザイン ツールを導入しました。同社ではこれを「制御開発の最適化されたプロセス」と呼んでいます。

ABB では、以前に Simulink® を利用して他のプロジェクトのシステム シミュレーションを実行したことがありました。ソフトウェア保守サービス (Software Maintenance Service) に加入しているため、今回は、新しいパワー エレクトロニクスコントローラーの開発環境に SimulinkCoder™ を追加しました。Simulink Coderでコントローラーのコードを自動生成し、Simulink モデルから AC 800PEC コントローラーにダウンロードすることで、モデルから手作業で C コードを作成する必要がなくなりました。

まず、MATLAB® と Simulink を活用して、フィルタリング、電流制御、グリッドの同期、およびグリッド電力の監視のための制御アルゴリズムを設計し、電力や待機時消費電力などの物理的変数を計算しました。次に Simscape Power Systems™ でシステム シミュレーションを実行することで、アルゴリズムの検証を行いました。また、Stateflow®で制御シーケンスをモデリングし、障害時の保護機能がすばやく実行されることを確認しました。

さらに Simulink Coder を使用して、Simulinkモデルから ANSI C コードを自動生成しました。また Simulink Coder で Stateflow チャートから C コードを生成することで、制御アルゴリズムからソース コードを手作業で作成するという、時間と労力のかかる作業を避けることができました。生成されたコードは、コントローラーで直接使用できます。

Simulink を外部モードで使用することで、コントローラー上から対話式にソフトウェアのデバッグを行うことができました。

ABB では Simulink を実行可能な仕様書として使用することで、開発プロセスを通じて仕様とコードを同期させることができます。つまり、コンピューターでパラメーターを変更して最適化すると、モデルからコードが自動的に生成され、イーサネット接続を通じてコントローラーに直接転送されるのです。

AC 800PEC コントローラーは、高温と振動のためにハードウェア要件が厳しいトラクションコンバータでの使用を対象として、すでに市販されています。

結果

  • 開発期間とコストの削減. Wittwer 氏は次のように述べています。「MathWorks 製品のおかげで、新しい AC 800PEC コントローラーの制御ソフトウェア開発期間は、以前のコントローラーと比べて大幅に短縮されました。Simulink モデルからのコードをコントローラーで直接使用できるため、コストのかかる実装を別々に実行する必要がなくなったためです」

  • 開発プロセスの向上. ABB はソフトウェア保守サービスに加入しているため、MathWorksが年 2 回行う製品アップデートを利用することができ、モデルベース デザインに基づいてさらに開発プロセスを向上することができます。Wittwer 氏は次のように述べています。「ソフトウェア保守サービスの最大の利点は、製品アップデートで提供される新機能を利用できることです」

  • 非常に正確なコードの生成. AC 800PECコントローラーの C コードのほとんどが、Simulink Coder によって自動生成されました。Wittwer 氏は次のように述べています。「この方法では、シミュレーションしたものがそのまま実装されます。自動生成したコードは誤りがなく、Simulink で定義した制御アルゴリズムを正確に表しています」