ユーザ作成のブロック​にブロックパラメータ​ダイアログを表示させ​、パラメータ設定をで​きるようにしたいので​すが、どうしたらいい​ですか?

조회 수: 11 (최근 30일)
MathWorks Support Team
MathWorks Support Team 2013년 10월 25일
답변: MathWorks Support Team 2013년 10월 25일
ユーザ作成のブロックにブロックパラメータダイアログを表示させ、パラメータ設定をできるようにしたいのですが、どうしたらいいですか?

채택된 답변

MathWorks Support Team
MathWorks Support Team 2013년 10월 26일
ユーザ作成のブロックパラメータダイアログを作成するには、マスクエディタを利用します。
●マスクエディタの起動方法
(1)ブロックパラメータダイアログを表示させたいサブシステムを右クリック
(2)コンテキストメニューから[ サブシステムのマスク ]を選択
既にマスクされたサブシステムでは[ サブシステムのマスク ]の代わりに[ マスクの編集 ]が表示されるので、これを選択します。
これにより以下の項目について設定可能となります。
1.ブロックアイコン
2.ブロックパラメータ
3.初期化コード
4.ブロックパラメータのドキュメント
1~3については、Simulink-Discreteライブラリで提供されているTransfer Fcn Real Zeroブロックの設定を例として示します。4は別の例題を利用して、設定の一例を紹介します。(Transfer Fcn Real Zero ブロックの設定を確認するためには、ブロックをモデルウィンドウに配置後、ブロックを右クリックし、コンテキストメニューから[ リンクオプション ]→[ リンクを使用不可能にする ]を選択してからマスクエディタを起動してください。)
1.ブロックアイコン
ブロックのアイコンを設定できます。
[ 描写コマンド ]に表示したい文字・図をコマンドで記述します。[ 描写コマンド ]に記述できるコマンドは[ 描写コマンドの例 ]のポップアップメニューに示されるものに限られます。
各コマンドの使用方法は、[ コマンド ]で使用したいコマンドを選択すると[ 文法 ]の右側に表示されます。
2.ブロックパラメータ
ユーザ定義のブロックパラメータを定義できます。
定義する手順は以下の通りです。
1) [ 追加 ]アイコン(1)を押す
2) [ ダイアログパラメータ ]の各列で以下の設定を行う
●プロンプト
ブロックパラメータで表示される文字列を定義します。マスクエディタで定義された文字列とブロックパラメータに表示される文字列の対応は矢印(2)のようになります。
●変数
ブロックパラメータで定義した値を格納する変数名を定義します。マスクエディタとブロックパラメータの対応は矢印(3-1)のようになります。
マスクされたサブシステムは固有のワークスペースを持ち、これをマスクワークスペースと呼びます。マスクされたシステムより下の階層(マスクされたシステムを右クリックして表示されるコンテキストメニュー[ マスクブロックのモデル表示 ]で参照可能)では、このマスクワークスペースを最初に参照します。矢印(3-2)のように、
下の階層のブロックでマスクエディタに定義された変数名を利用することができます。
●タイプ
ブロックパラメータを表示するときの形式です。選択できるものは以下の通りです。
- edit
- checkbox
- popup
各形式は、ブロックパラメータでは矢印(4)のように表示されます。
●数値評価
- チェックが入っている場合
文字列を入力すると、ワークスペース変数名として扱われ、その中に格納されている
数値を[ 変数 ]で定義した変数に受け渡し保存されます。
- チェックが入っていない場合
文字列を入力すると、文字列データとしてマスクワークスペースに保存されます。
●チューナブル
チェックが入っている場合、シミュレーション中にブロックパラメータの設定を変更することができます。
3)(タイプでpopupを選択した場合のみ)
[ ポップアップ(各行に一つ) ]でメニューで表示するアイテムを1行に1アイテム定義します。
4)[ ダイアログコールバック ]へダイアログパラメータの各項目を編集した場合に実行したい処理を記述します。
ここに記述する処理はベースワークスペースを参照するため、[ ダイアログパラメータ ]で設定した変数はコマンドget_paramで取得する必要があります。
例:ダイアログパラメータの変数Tの値を取得する場合
T = get_param(gcb, 'T');
3.初期化コード
初期化時に実行したい処理を[ 初期化コマンド ]に記述します。ダイアログパラメータで定義される変数の一覧が
[ ダイアログ変数 ]に表示されます。初期化コードは以下のタイミングで実行されます。
●モデルをロードするとき
●シミュレーションを開始するとき、またはブロックダイアグラムを更新するとき
●マスク付きブロックを回転/リサイズするとき
4.ブロックのドキュメント
ここではマスクされたブロックに対するタイプや説明、ヘルプテキストを編集することができます。各項目について
下記に示します。
●マスクタイプ
入力された文字列はブロックパラメータ、ドキュメントに反映されます。ユーザ定義のブロックパラメータを
作成する場合、上図の矢印(5)のように”(mask)”という文字列が追加され、マスクされたブロックと組込ブロ
ックを区別します。
●マスクの概要
ブロックパラメータダイアログで表示されるブロックの機能について簡単に説明するテキストを設定できます。
●マスクのヘルプ
ブロックパラメータダイアログ上でヘルプボタンを押したときに表示されるヘルプの設定を行います。ここでは次のものを指定することができます
- URL(http:, www, file:, ftp:, mailto: で始まる文字列)
指定したURLを実行します
例:<http://www.mathworks.com/>
- webコマンド
ブラウザで指定したサイトまたはファイルを開きます
例:web([matlabroot '/help/begin_here.html'])
- evalコマンド
入力した文字列をMATLAB言語の式として実行します
例:eval('edit helptext.txt')
- 任意の文字列
1行目に上記コマンドが記述されていなかった場合、入力された文字列をMATLABの
Helpウィンドウに表示します。HTML言語を使用することも可能です。

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Author Block Masks에 대해 자세히 알아보기

제품


릴리스

R2006a

Community Treasure Hunt

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

Start Hunting!