MATLAB Answers

Simlinkブロッ​クの優先度を変更する​際、即値ではなく”で​きる限り最後”のよう​に指定する方法はあり​ますか

6 views (last 30 days)
現在作っているモデルは、Simlink上で線を繋げておらず、DataStoreMemoryを使ったグローバルアクセスをしている構造です。
また、以下のような制約があります。
 ・入力と出力処理は自前で用意するので、優先度を指定できる。
 ・内部の処理は明確になっておらず、優先度を指定できない。
このような事情の中で、出力処理の実行順序が必ず最後になるようにする方法はありますか。
以下を試してみましたが、うまくいきませんでした。
 入力処理(DataStoreWriteとInputブロックを接続したもの)に優先度"1"を設定し、
 出力処理(DataStoreReadとOutPutブロックを接続)に優先度"99" を設定し、
 内部処理は優先度を指定をしない
 →上記の結果、入力処理→出力処理(一部)→内部の処理→出力処理(一部) という順番になりました。

  0 Comments

Sign in to comment.

Accepted Answer

Toshinobu Shintai
Toshinobu Shintai on 14 Sep 2019
Simulinkの実行順序を制御するには、例えばFunction callを使う方法があります。添付ファイルの「webview.html」を確認してください。
このように構成すると、「Input」「Calc」「Output」の順番で処理が行われます。
(R2015aではないバージョンでWeb Viewを作成しています。R2015aでも同様に作成可能かと思います。)

  3 Comments

ryosuke nakatsuka
ryosuke nakatsuka on 15 Sep 2019
ご回答ありがとうございます。
添付されている webview.htmlを開くことができませんでした。
 (開いても、真っ白なIEが開くだけ。)
ただ、回答内容から察すると、chartを利用して関数コールするイメージでしょうか。
Calcにあたる関数名が不明確な為、同じ事ができません。
※テスト用のテンプレートモデルを自動作成するツールを作ってます。
 ツール側で指定できるのは、Input,Outputのみで、Calcの中身は指定できません。
何らかの形式的な指定方法で、必ず最後になる優先度の付け方はないという事で宜しいでしょうか。
Toshinobu Shintai
Toshinobu Shintai on 16 Sep 2019
ご不便をおかけして申し訳ありませんが、Microsoft Edge、Firefox、Chrome等で開いていただけませんでしょうか。また、zip内のファイルはフォルダ階層そのままで全て解凍しておく必要があります。
もし上記ブラウザで見れないときは不具合報告したいので、見れない時は症状を教えていただきたく思います。
またどうしても見れないのであれば、私のモデルは一旦諦めて以下のリンク先から調べていただけますでしょうか。
ryosuke nakatsuka
ryosuke nakatsuka on 17 Sep 2019
ご回答ありがとうございます。
リンク先をみたところ、やりたい事とは違うようでした。
ひとまずは、モデル内のIn/Out以外の全てのブロックの優先度を固定で書き換えるスクリプトで対策することにします。

Sign in to comment.

More Answers (0)

Products


Release

R2015a