MATLAB/SimulinkでRasberry Pi制御その10:Simulink OnlineでMATLAB functionを使ってみる

投稿日:2023年3月11日
最終更新日:2023年3月11日

Simulink OnlineでMATLAB functionを使ったシステムをラズパイで動かしてみる

これまでSimulink Online上で用意されたブロックを使ってラズベリーパイを動かしてきたが、前回つくったモデルなどはMATLAB functionを使ってMATLABのコードで処理を記述した方がシンプルにモデルをつくることができる。

ということで、今回はMATLAB functionを使って前回のモデルを書き換えてみたいと思う。ちなみにSimulinkのモデルやラズパイの接続は以下の記事のものと全く同じなので、詳細は以下を参照。

MATLAB/Simulinkで遊んでみる まとめ

 

実行環境

Raspberry Pi 4 Model B

Raspberry Pi OS (Buster)

MATLAB online (MATLAB R2022a)

Simulink online

 

SimulinkのブロックをMATLAB Functionブロックで置き換える

前回はString Compareブロック、String Constantブロックを2個ずつ配置して文字列の比較を行っていたが、今回はこのブロックをMATLAB Functionブロックで置き換えてみる。

MATLAB Functionブロックは以下のように配置して置き換えた。ちなみにMATLAB Functionブロックをドラッグ&ドロップしたときにデフォルトは1入力1出力だが、入出力の数はMATLAB Functionのコードを変えることで増やせる。

MATLAB FunctionブロックをダブルクリックするMATLAB Functionのコードを記述できるので、今回は以下のように1入力2出力の関数のコードを記述した。strcmp関数を使うことで、入力uと文字列”led”、”buz”を比較して、一致すればtrueを、一致しなければfalseを出力信号のledとbuzに出力 する。

あとはいつも通りラズパイで実行するだけ。動作としては前回と全く同じなので動画は割愛するが、MATLAB Functionを使うことで前回と比べてかなりスッキリとモデルを記述することができた。

今後もMATLAB Functionブロックを活用していきたい。

 

参考文献

この本のMATLAB/Simulink 6か月ライセンスを使ってやってます↓
Interface 2022年 9月号

 

MATLAB/Simulink記事まとめ

MATLABとSimulinkの記事は以下にまとめてます。

MATLAB/Simulinkで遊んでみる まとめ

 


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください