【上流検証】最小構成のモデルベース開発事例 その13【MILS前編】

【上流検証】最小構成のモデルベース開発事例 その13【MILS前編】 事例

バックナンバーはこちら
https://www.simulationroom999.com/blog/model-based-of-minimum-backnumber/

はじめに

今回から実際にシミュレーション。
しかし、わざとメンドクサイ手法を取ってみる。

登場人物

博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

何を使ってシミュレーションする?

太郎くん
太郎くん

よし!

仕様書も書き上げて、

委託先に送付も終わって一段落だな。

フクさん
フクさん

そういえば、シミュレーションとかして無かったね。

太郎くん
太郎くん

あ゛。そういえば。

フクさん
フクさん

まぁ、

ブロック線図は完成しているし、

そんなに難しくはないとは思うけど。

太郎くん
太郎くん

じゃあ、

Simulinkに転記して動かしてみようか?

フクさん
フクさん

いや。

この際だからExcelでやってみよう。

太郎くん
太郎くん

Excel?
Excelは表計算ソフトであって、

シミュレーションツールじゃないよ?

フクさん
フクさん

それを言ったら、

MATLABだって数値計算ツールだ。

太郎くん
太郎くん

うーん、

でもそう言うってことはできるってことなんだよね?

フクさん
フクさん

うん。

メンドクサイけどね。

太郎くん
太郎くん

メンドクサイけどやるの?

フクさん
フクさん

メンドクサイさを味わってSimulink等の有難みを噛み締めてもらおうかと思って。

太郎くん
太郎くん

スパルタだなぁ。

Excelでシミュレーション

フクさん
フクさん

まず各ブロックの信号線に番号を振っていこうか。

太郎くん
太郎くん

こんな感じかな。

PID制御器ブロック線図
一次遅れ系ブロック線図
フクさん
フクさん

Excelの列として「目標値」「実車速」と各信号線の番号を書く。

太郎くん
太郎くん

書いた。

フクさん
フクさん

よし。目標値はこちらで入れておこう。
太郎くんは各信号線の番号に沿って計算式を入れて行って。

太郎くん
太郎くん

えーーーー!
これ、むちゃむちゃ面倒なんだけど!!

フクさん
フクさん

だからメンドクサイって言っただろ?

太郎くん
太郎くん

むぅ。
今はたまたま暇だからやるけど。

~2時間後~

太郎くん
太郎くん

一応できた・・・。

フクさん
フクさん

お疲れ。
細かいミスはこっちで直しておいたよ。

太郎くん
太郎くん

で、どうシミュレーションになるの?

フクさん
フクさん

こんな感じ

PID制御器と一次遅れ系をExcel上でシミュレーションしてみた結果
太郎くん
太郎くん

おーー。
目標値に追従している!
本当にシミュレーションしている!

フクさん
フクさん

って感じの作業をせずに

「数分でシミュレーション可能にしてくれるSimulinkスゲー」

ってのが今回の話。

太郎くん
太郎くん

すんごく大変だったよ!

フクさん
フクさん

次回はSimulinkでやろうね。

太郎くん
太郎くん

二度とExcelでシミュレーションはしない!!

まとめ

フクさん
フクさん

まとめだよ。

  • 離散化済みであれば、ExcelでもPID制御のシミュレーションは可能。
    • ただし、かなり面倒くさい
    • MATLAB/Simulinkが無い時代は恐らくこういった面倒なことをやっていたのだろう。

バックナンバーはこちら

コメント

タイトルとURLをコピーしました