開発工数6割減
電源MBDで大切にした2つのこと
シミュレーションを制御系設計にだけ使って、その後しまいこんでいませんか?
それは非常にもったいない使い方をしています。
弊社ではパワコンやデジタル電源を設計する中で、10年以上モデルベース開発を行なっていますが、開発工数が大幅削減した事例では、非常に幅広い範囲でシミュレーションを使用しました。
この記事では、実際にあるパワーコンディショナ開発において開発工数が6割減を達成した事例をもとに、どのようにツールを使っていけば開発工数削減に効果的か、「モデルベース=高価」という印象を覆せるか、解説します。
(具体的な会社名などは伏せさせていただきます)
いかにMILSでバグを取り切るか
まず一つ目のアプローチは、MILS(Model in the Loop Simulation)での開発工程をどのように行うかです。
MILSとは、プラントモデルも、コントローラモデルも全てPC上のシミュレーション環境で実行可能なシミュレーションをいいます。
宣伝になりますが、弊社のパワエレ向け高速回路シミュレータ Scideamはこのプラントモデリングツールとなります。モデルベース開発を行うのに高速安定解析と「ちょうどいい」結果を出力することが可能です。
ちょうどいいモデルとは、MILSの目的、すなわち、フィードバックループを組んで制御系や保護、シーケンスなどを設計するために、必要な結果を“適した粒度で”高速に演算することができます。
MILSでは、このように高速に解析できるモデルを作成し、様々な条件を、とことんモデルでシミュレーションしましょう。
なぜなら、制御ソフトはシミュレーションも実機も結果は同じになるはずだからです。
そして、電源開発のMILSでは、シミュレーション結果が実機と非常に合いやすいということも重要な理由です。もし、シミュレーション結果が実機とさっぱり合わないようであれば、このプロセスは全て破綻します。また、高速演算できない場合も破綻します。
弊社の場合、自動シミュレーションを行い、レポートを自動生成するシステムを構築し、テストパターンを夜中実行していますが、朝までに500から多いものでは数千のテストパターンを実行し、実機検証の回数を劇的に減らしました。
これが、工数削減の要因その1です。
詳しくは、別の記事にも書いていますので、そちらもご覧ください。
試験モデルを運用する
試験モデルを作成して、MILSをとことん行った後は、実機での試験になるわけですが、悲しいかな実機試験で一つもNGにならないということは、ありません。そんな甘いもんじゃないです。もちろん。
さて、何がNGになってしまうかというと、一つ目は、おおよそモデル試験をしていなかった範囲、想定できていなかった使い方などで起こります。
「想定外」という言葉は、あまり使いたくないですが、もし、想定できていたのなら、それはモデル試験をすることでパスする状態まで持ち込めて、実機ではNGにならなかったでしょう。あるいは、「想定外」ではなく、「仕様の範囲外」ということかもしれません。
いずれにせよ、想定できれば全てに対して対策は打てる環境が整っているわけです。実機で、さらに変な使い方をして、イレギュラー条件、意地悪試験をたくさん行い、それを試験モデルにフィードバックしましょう。
次に、NGとなる場合はプラントモデルと実機の結果が合わない場合です。この場合は、モデルを実機に近づけるように改良しましょう。
さて、このような形で、実機試験を行いながら、プラントモデルや試験モデルを修正していきます。
したがって、実は制御ソフトとして実装されるモデルに加えてプラントモデルやテストモデル、テストシナリオなども継続して、修正、管理していく必要があります。
大変じゃない?と思われる方、たくさんいるかと思います。
しかし、この環境を整えておくことで、実機試験NGが出てからの修正がとてつもなく早くなります。
Vプロセスはどのように変わるか
電源開発のVプロセスで最も力を入れたいのは、MILSです。
他業種の機械系や熱などのモデルと比べると、電源開発向けのモデルは実機に非常によく合います。
したがって、MILSで上手にバグFixすることができれば、実機でのバグはほとんど出ません。
事実、私たちが携わった開発で、各工程、全てのバグFixログを取っていましたが、およそ70%ものバグがMILS/SILSで修正されていました。
それだけ大量のバグを含んだ、ファームウエアだったわけですが、、、
まぁともあれ、電源開発向けにVプロセスを作るれば、以下のようになります。
ここで、Vプロセスでの設計対象は、コントローラなわけですが、コントローラが実機に近づくにつれて各工程で試験を行います。
MILSとSILSにおけるプラントモデルと試験モデルは同じものなので、変更の工数はそれほど多くないことにも注目です。
そして、実機でパスできなかった試験の結果を、MILS側の試験モデルにフィードバックし、精度を上げていきます。
まとめ
というわけで、弊社では、以下の二つで開発工数を6割削減しました。
- MILSでとことんシミュレーションする
- 実機でのフィードバックをMILSに返し、いつでもシミュレーションできるような環境を整える
開発工数6割減という種明かしをすれば、開発のあと行程にバグを持ち込まない、手戻りを少なくする。という、とてもとても初歩的なことを、実践しただけではあります。
そのために必要なことを電源開発向けに上手にカスタマイズしただけです。
何度も言いますが、電源モデルベースには、MILSが非常に効果的です。
どの開発行程を実施していても、MILSに戻ってこれるような環境を作っておくこと、そして、躓いた試験をMILSで再現できるようにしておくことが、開発工数削減に非常に役に立ちます。
環境を整えて、美しい製品を、早く作り、世界を驚かせてください。
モデルベース開発については、こちらにまとまっておりますので、併せてご覧ください。
▼関連投稿 ーモデルベース開発 まとめー