はじめに

CI(Continuous Integration:継続的インテグレーション)は、標準的なソフトウェア開発のプラクティスであり、開発者は少なくとも1日に1回、コードを共有リポジトリに統合する必要がある。各ソフトウェアのコミットは自動的にビルドされ、テストされるため、開発者は早期に問題を検出し、修正することができます。開発したコードを定期的に統合することで、エラーを素早く検出し、タイムリーに修正することができる。

チャレンジ

これはコンピューターや組込みソフトウェア開発では標準的な手法だが、パワーエレクトロニクスのソフトウェア開発にCIを適用することは最近まで不可能だった。実際、制御ファームウェア/ソフトウェア開発者が日々の変更をバージョン管理リポジトリ(SVNやGitなど)にコミットすると、ビルドはパワーラボでテストされる必要がある。

パワーラボで毎日ビルドをテストするのは非常にコストがかかり、時間もかかる(特にソフトウェア開発の時定数と比べると)。新しいソフトウェア/ファームウェアのビルドをテストするコストと複雑さを無視したとしても、テスト結果がラボから戻ってくるまでに、ソフトウェア担当者はすでに複数の新しいコード・リビジョンをコミットしている。そして、複数のコミット後にバグを修正する必要があり、プロセス全体を混乱させる。

ソリューション

超高忠実度のHIL(Hardware in the Loop)シミュレーションにより、パワーエレクトロニクスソフトウェアの完全な継続的インテグレーションプロセスが初めて可能になりました。

パワーエレクトロニクスのCIは、HIL技術のおかげで極めてシンプルかつ効果的になる:開発者は、例えば作業終了時にコードを共有リポジトリに統合します。その後、新しいソフトウェアのコミットが自動的にビルドされ、HILシミュレーションとインターフェイスされた実際のコントローラ・ハードウェアで構成されるHILシミュレータに移植されます。

電力も手間もない。

これにより、開発者は毎朝テストレポートを見ることができるようになり、新しいコードの開発を続ける前に早期に問題を修正できるようになった。

繰り返しになるが、開発したコードを定期的に統合することで、エラーを素早く検出し、タイムリーに修正することができる。

クレジット

著者 |イヴァン・セラノヴィッチ
ビジュアル |Typhoon HIL
編集 |デボラ・サント