ワークスペース上のデ​ータをリアルタイムで​Simulinkに出​力する方法はあります​か?

ジャイロセンサをUSBで接続し、MATLAB上で測定データを読み取っています。Mファイルを作成し、バイナリからデータを変換しWorkspaceへ保存はできたのですが、そのデータをリアルタイムでSimulinkに出力する方法が分かりません。全体の構成は以下の図のようになっています。「Simin」 ブロックは試しましたが、リアルタイムで出力することはできませんでした。

 Akzeptierte Antwort

Tohru Kikawada
Tohru Kikawada am 6 Feb. 2017

3 Stimmen

ジャイロセンサーからの出力はUSBとありますが、仮想シリアルポート通信になるという前提でお答えいたします。
逐次データを読み込んでSimulinkで処理をしたいということでしたら下記の3つの方法が考えられます。
  1. Serial Receive ブロックを使う。COMポートから直接データを読み込む。Instrument Control Toolboxが必要。
  2. MATLAB Functionブロック を使って処理を記述する。MATLABの処理をSimulink上のブロックとして記述できる。ただし、シリアルポートからの読み込みなど一部の関数は coder.extrinsic で外部関数指定する必要がある。また、 状態を保持する必要がある変数は persistent として宣言する必要がある。
  3. System object を使ってシリアルポートからの処理を記述し、MATLAB SystemとしてSimulinkに読み込む。System objectを使ってシリアルポートのオープン、クローズなどの状態も含めて管理する。クラスを使ったより柔軟な制御ができるが、記述のルールがあるので難易度は高い。

1 Kommentar

Daisaiku Senoo
Daisaiku Senoo am 8 Feb. 2017
ご回答いただきありがとうございます。 Instrument Control Toolboxが大学のライセンスで使えたため、こちらを使用することで無事リアルタイムでのデータ取得ができました。 ありがとうございました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Verification, Validation, and Test finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by