Simulink モデル上にダブルクリックすると様々なコールバックを実行するボタンを作成するにはどうすればよいですか?
6 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2013 年 10 月 25 日
編集済み: MathWorks Support Team
2021 年 2 月 17 日
ダブルクリックすることで様々なコール(シミュレーション開始、変数データのファイル保存など)を行うようなブロックを作る方法を教えてください。
採用された回答
MathWorks Support Team
2021 年 2 月 17 日
編集済み: MathWorks Support Team
2021 年 2 月 17 日
ブロックをダブルクリックしたときに特定の動作を実行させたい場合、通常、Subsystem ブロックの OpenFcn コールバック関数を利用します。
下記は、シミュレーション開始ボタンを作成する際の手順です。
1. Ports & Subsystems ライブラリの下の Subsystem ブロックをモデル上に配置
2. Subsystem ブロックをダブルクリックし、サブシステム内の内容をすべて削除
"In1ブロック"、"Out1ブロック"、および"ライン"のすべてを削除します。
3. Subsystemブロックを右クリックし、[サブシステムのマスク] を選択し、マスクエディタ画面を開く
4. [アイコンと端子] タブの [アイコンを描画するコマンド] の欄に下記のコマンドを入力して [OK] ボタンをクリックし、マスクエディタ画面を閉じる
disp('シミュレーション開始')
5. Subsystemブロックを右クリックし、[書式] → [ブロック名の非表示] を選択
6. ブロックを右クリックし、[ブロックプロパティ] を選択、次に [コールバック] タブを選択し、左側のコールバック関数リストから [OpenFcn] を選択し、右側の [コールバック関数の内容:"OpenFcn"] の箇所に、ブロックをダブルクリックすると実行されるコマンドを記述します。
たとえば、ブロックをダブルクリックするとシミュレーションを実行したい場合は、
sim(bdroot)
と記述します。
下記の関連ドキュメントのサンプルをご参照ください。
クリックするとシミュレーションが開始されるボタンと、変数が保存されるボタンの例です。
なお、Simulink のコールバックの詳細は、下記のドキュメントの節をご参照ください。
・Simulinkユーザーガイド > 動的システムのモデル作成 > モデルの作成 > コールバック関数の使用
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で モデル、ブロックおよび端子のコールバック についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!