割込み対策処理のモデル設計について

11 ビュー (過去 30 日間)
Chika Kishi
Chika Kishi 2018 年 5 月 23 日
回答済み: Akihiro Yasuda 2018 年 7 月 2 日
一時格納用変数から複数個のデータをグローバル変数へ同時に格納するためにフラグを設けて、割込みを防止するような処理をSimulinkモデルで実現する方法はありますか? (Cコードで書くと以下のような処理です。)
/* 一時格納用変数へ格納 */
  local_val1 = sample1;
local_val2 = sample2;
local_val3 = sample3;
  /* フラグOFF: OFFの間は割込み不可 */
  FLAG = 0;
  /* グローバル変数へ格納 */
  Global1 = local_val1;
Global2 = local_val2;
Global3 = local_val3;
/* フラグON: すべての変数格納が終了した時点でフラグをONとし、割込みを許可する */
  FLAG = 1;

回答 (1 件)

Akihiro Yasuda
Akihiro Yasuda 2018 年 7 月 2 日
下記図および添付ファイルのように、Function Caller経由でコピー処理をし、
その前後にAtomic Subsystemブロックを挿入し、
そのブロック内で割り込みフラグを設定するのはどうでしょうか?
上記以外ですと、外部コードとして作成し、それを参照する方法があると思います。
モデル内にブロックとして組み込む場合は、 ブロックの作成が参考になると思います。
カスタムストレージクラスImportFromFileを使用して生成コード時のみ反映する といった方法があると思います。

カテゴリ

Help Center および File Exchangeモデル化 についてさらに検索

製品


リリース

R2015a

Community Treasure Hunt

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

Start Hunting!