任意の信号波形の作成方法が分からない
Show older comments
Simulinkで計算した値をマイコンに送信したいと考えており、ツールボックス(Desktop Real-Time)を使用してデータ通信をさせようとしています。
ツールボックスのoutputブロックを使用してデジタル信号を出力するのですが、出力する波形の作成方法が分かりません。
通信方式はUARTを考えており、通信プロトコルに合わせて、波形を作成しようとしています。
任意の波形を作る方法をご教授頂きたいです。
Answers (1)
Toshinobu Shintai
on 11 Apr 2022
1 vote
4 Comments
takaaki yamada
on 11 Apr 2022
Toshinobu Shintai
on 11 Apr 2022
Signal Editorは、現在のフォルダーなどに保存したmatファイルを参照する形で実行されますので、ワークスペースの値を自動的にmatファイルに書き出す処理を別途作成することで、運用できるかと思います。
以下のコマンドは、以前に私が作成したエクセルファイルのデータを自動的にSignal Editor用のmatファイルに変換するスクリプトなのですが、以下を参考に、Simulinkモデルの実行前にスクリプトでmatファイルを更新する仕組みを構築してみてはいかがでしょうか。
参考までに、エクセルファイル「input_data.xlsx」も添付しています。
%%
signal_data_raw = readtable('input_data.xlsx', ...
'VariableNamingRule', 'preserve');
ts_obj = cell(1, size(signal_data_raw.Variables, 2) - 1);
for i = 1:numel(ts_obj)
ts_obj{1, i} = timeseries(signal_data_raw(:,i+1).Variables, ...
signal_data_raw(:,1).Variables, ...
'Name', signal_data_raw.Properties.VariableNames{i+1});
end
%%
signal_dataset = Simulink.SimulationData.Dataset;
for i = 1:numel(ts_obj)
signal_dataset = signal_dataset.addElement(ts_obj{i});
end
%%
save_file_name = 'auto_inport_data.mat';
save(save_file_name, 'signal_dataset');
takaaki yamada
on 14 Apr 2022
Edited: takaaki yamada
on 14 Apr 2022
Toshinobu Shintai
on 14 Apr 2022
ハードウェア機器とどのように通信するかは、扱っている製品の種類などによって変わってくるかと思います。シンプルなアナログ、デジタル入出力だけでなく、シリアル通信、CAN通信、TCP/IPなどもあるかと思います。
通信プロトコルなどは自作する場合もあるかと思いますが、私もそこまで深く存じておりません。
Categories
Find more on Target Computer Setup in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!