2016-07-27 51 views
0

シミュレーション実行中に、コマンドラインに連続してsimulink信号データを読み込みたい。 get_param()はブロックされているようですので、whileループを無限ループに入れてもうまくいきません。シミュレーション中にsimulink信号データをmatlabに読み込む

私はUDP送信ブロックを使用しようとしていますが、データを受信できないようです。私のUDPブロックは、リモートポート25000とローカルポート25001を介してlocalhostにデータを送信します。

私は、次のコードを使用し、MATLABで

が、それは単にタイムアウトするデータがない

u=udp('127.0.0.1', 25001,'LocalPort',25000); 
fopen(u) 
fread(u) 
fclose(u) 
delete(u) 

と連続してMatlabのCLIへのSimulink信号データを読み出すための私のオプションは何ですか? MATLABコマンドウィンドウで

set_param('sys','SimulationCommand','WriteDataLogs')

作業例えば、タイプ "sldemo_varsize_basic": "SET_PARAM()" のようなコマンドは、以下を使用し

+0

ちょうど "1つか2つの"信号、または潜在的に多くの信号のためにこれをしたいですか?そして、MATLABワークスペースで実際のデータが必要なのか、それとも必要としているのか、それともデータウィンドウを保存するのではなく、コマンドウィンドウ(つまりテキストメッセージの一部)に表示したいだけですか? –

答えて

0

制御シミュレーション。あなたが十分に大きいとシミュレーション時間を設定し、シミュレーション、「simout、simout1」、「客引き」と「XOUT」変数が作成される/ワークスペース内のたびに更新を開始した場合、上記のコマンド

set_param('sldemo_varsize_basic','SimulationCommand','WriteDataLogs') 

なり上記のコマンドを発行してください。

残念ながら、私はこの機能の良質な文書を見つけることができませんでした。

+0

ちょっと、シミュレーション中にデータログを利用できません。それらはシミュレーションが一旦停止すると利用可能になる。 – Akanksha

0

シミュレーション中にモデルアウトポートの値を保存しようとしていますか?シミュレート中にアウトポートの値を読み書きするためには、変数 'simout、simout1'、 'tout'、 'xout'などが作成されているため、これは不可能です。 Outportに「ランタイムオブジェクト」を添付し は、Simulinkドキュメンテーションの「シミュレーション中のアクセスブロックデータ」を参照するか、このリンクを参照してください。http://in.mathworks.com/help/simulink/ug/accessing-block-data-during-simulation.html?s_tid=gn_loc_drop

はそれが役に立てば幸い:)

この質問はすでに使用して、ここで回答されています上記のRunTimeオブジェクト: https://stackoverflow.com/a/17006419/6580313

関連する問題