2022年02月10日
【第1回】連載概要
MBDてさぐり奮戦記
こんにちは。
私は約30年間リアルタイム制御をおこなうマイコン組込製品の量産開発を担当し、今はのんびり暮らしているエンジニアです。
約20年前ほとんど先行例のない時代に、量産開発にMBD手法を導入するための手法や開発環境を構築するプロジェクトに参加しました。
今回、ガイオ・テクノロジー株式会社よりMBD開発を始める技術者向けの記事を依頼され、20年も前の古い話ではありますが、これからMBD手法を導入される技術者諸賢にヒントになるような内容がなにかあるかもしれないと思い、お引き受けすることにしました。
現在の状況と大きく乖離がある場合は、ガイオ・テクノロジー株式会社に付記として追記していただきます。
20年前のあいまいな記憶をもとに記述いたしますので、不正確な内容もあるかもしれませんが、ご容赦下さい。
以下の内容で月一回投稿する予定です。気楽に読んでいただければと思います。
概要
背景
2000年頃、我々の製品が制御している対象は多くの複雑な非線形要素で構成されており、システムの振る舞いをあらかじめ特定するのは一般的に困難でした。
このため、制御の開発は、一般的に、実際に制御して問題点を抽出し改良してゆく工程を繰り返しながら所望の性能に到達させるインクリメンタルな開発手法が用いられたため、制御プログラムの変更回数が多く、制御プログラム開発の効率化が大きな課題になっていました。
また、当時の制御で使用する数学的な処理は四則演算レベルだったのですが、いずれ複雑な数学的演算処理が必要になる可能性があり、このような制御構築に対応できる開発環境の準備も必要でした。
我々のプロジェクトのミッション
約20年前の当時すでに市販の制御系設計支援ツールとしてデファクトになっていたMATLAB Simulink(MathWorks社)に対して、Simulinkモデル図(以下モデル図と略します)からC言語プログラムを生成するツールが徐々に実用化され始めていた時期でした。
また、MATLAB Simulinkは、高度な数学的な処理を容易に構築できる設計支援ツールで、今後必要となる複雑な演算処理に十分対応出来る仕様になっていました。
MATLAB Stateflow (MathWorks社)については、プロジェクトが対象とした機種では当時必須ではなかったことから、将来導入することを前提としつつ今後の検討項目としました。
我々のプロジェクトのミッションとしては、このMATLAB Simulinkでモデル図により制御仕様を作成することを前提に、以下4点を実現する事でした。
1. 作成したモデル図をマイコンのプログラムに組み込むためのプログラム構成等を構築
2. マイコンのプログラム生成を前提としたモデル図記述手法を構築築
3. 作成したモデル図からマイコンのオブジェクトプログラム生成までを自動化する環境構築築
4. 量産品質を確保するための手法の構築築
このミッションを実現するため、我々のプロジェクトでは主に、
1. プログラム言語という立場からMATLAB Simulinkを分析
2. MBD手法をどのように適応してゆくかを検討
3. MBD手法を導入し開発効率を向上させる開発環境の構築
4. モデル図記述手法の構築
5. MBD手法に対する品質管理手法の構築
6. 開発を支援する内製ツールの構築
をおこないました。
次回から、これらのことについてもう少し詳しく説明してゆきたいと思います。
最後まで、お読みいただきありがとうございました。
筆者紹介
約40年前に製造業の会社に入社後、リアルタイム制御をおこなうマイコン組込製品の量産開発を35年間担当し、アセンブラやC言語による制御プログラム開発や、MBDを含むソフトウェア開発環境の構築に従事しました。現役時代は理屈の世界で生きてきたので、退職後は感性の世界に憧れ、写真で絵作りをする世界で遊んでいます。