ドキュメンテーション センター

  • 評価版
  • 製品アップデート

目次

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

signalbuilder

Signal Builder ブロックを作成してアクセスする

構文

[time, data] = signalbuilder(block)
[time, data, signames] = signalbuilder(block)
[time, data, signames, groupnames] = signalbuilder(block)
block = signalbuilder([], 'create', time, data, signames, groupnames)
block = signalbuilder(path, 'create', time, data, signames, groupnames)
block = signalbuilder(path,'create', time, data, signames, groupnames, vis)
block = signalbuilder(path,'create', time, data, signames, groupnames, vis, pos)
block = signalbuilder(block, 'append', time, data, signames, groupnames)
block = signalbuilder(block, 'appendgroup', time, data, signames, groupnames)
signalbuilder(block,'appendsignal', time, data, signames)
signalbuilder(block, 'showsignal', signal, group)
signalbuilder(block, 'hidesignal', signal, group)
[time, data] = signalbuilder(block, 'get', signal, group)
signalbuilder(block, 'set', signal, group, time, data)
index = signalbuilder(block, 'activegroup')
[index, activeGroupLabel]= signalbuilder(block, 'activegroup')
signalbuilder(block, 'activegroup', index)
signalbuilder(block, 'annotategroup', onoff)
signalbuilder(block, 'print', [])
signalbuilder(block, 'print', config, printArgs)
figh = signalbuilder(block, 'print', config, 'figure')

説明

signalbuilder コマンドを使用すると、Signal Builder ブロックをプログラムで操作することができます。

    メモ:   signalbuilder コマンドを使用して Signal Builder ブロックを操作する場合、ブロックのダイアログ ボックスの [最後の編集を元に戻す] ボタンと [最後の編集のやり直し] ボタンがグレー表示になります。signalbuilder コマンドの結果を元に戻すことはできません。

Signal Builder ブロックの作成とアクセス

[time, data] = signalbuilder(block) は Signal Builder ブロック block の時間 (x 軸) と振幅 (y 軸) データを返します。

出力引数 timedata の形式は、次の表のようにブロックの構成によって異なります。

コンフィギュレーション

Time/Data の形式

1 信号、1 グループ

ブレークポイントの行ベクトル

1 信号、1 グループ

列セル ベクトル。各要素は個々の信号に対応し、点の行ベクトルが含まれる。

1 信号、1 グループ

列セル ベクトル。各要素は個々のグループに対応し、点の行ベクトルが含まれる。

1 信号、1 グループ

セル行列。各要素 (i,j) は信号 i とグループ j に対応する。

[time, data, signames] = signalbuilder(block) は信号名を文字列または文字列のセル配列として signames で返します。

[time, data, signames, groupnames] = signalbuilder(block) はグループ名を文字列または文字列のセル配列として groupnames で返します。

block = signalbuilder([], 'create', time, data, signames, groupnames) は、指定された値を使って Signal Builder ブロックを新しい Simulink® モデル内に作成します。上記の表では、timedata に使用可能な形式を説明しています。data がセル配列であり、time がベクトルである場合、time の値は、data の要素ごとにコピーされます。timedata の各ベクトルは、長さが同じであり、少なくとも 2 つの要素が含まれていなければなりません。time がセル配列である場合、列のすべての要素は、初期値と最終値が同じでなければなりません。信号名 signames とグループ名 groupnames を省略して既定値を使用することができます。この関数は、新しいブロック block へのパスを返します。create コマンドを使用するときは常に timedata を指定します。この 2 つのパラメーターは常に必須です。

block = signalbuilder(path, 'create', time, data, signames, groupnames) は、指定された値を使って新しい Signal Builder ブロックを path に作成します。path が空の場合、新しいモデル内にブロックが作成され、既定の名前が付きます。data がセル配列であり、time がベクトルである場合、time の値は、data の要素ごとにコピーされます。timedata の各ベクトルは、長さが同じであり、少なくとも 2 つの要素が含まれていなければなりません。time がセル配列である場合、列のすべての要素は、初期値と最終値が同じでなければなりません。信号名 signames とグループ名 groupnames を省略して既定値を使用することができます。この関数は、新しいブロック block へのパスを返します。create コマンドを使用するときは常に timedata を指定します。この 2 つのパラメーターは常に必須です。

block = signalbuilder(path,'create', time, data, signames, groupnames, vis) は、新しい Signal Builder ブロックを作成し、行列 vis の値に基づいて各グループ内に可視信号を設定します。この行列はセル配列 data と同じサイズにする必要があります。create コマンドを使用するときは常に timedata を指定します。この 2 つのパラメーターは常に必須です。すべての信号を不可視にした Signal Builder ブロックを作成することはできません。たとえば、すべての信号の vis パラメーターを 0 に設定しても、最初の信号は可視になります。

block = signalbuilder(path,'create', time, data, signames, groupnames, vis, pos) は、新しい Signal Builder ブロックを作成し、そのブロックの位置を pos に設定します。create コマンドを使用するときは常に timedata を指定します。この 2 つのパラメーターは常に必須です。すべての信号を不可視にした Signal Builder ブロックを作成することはできません。たとえば、すべての信号の vis パラメーターを 0 に設定しても、最初の信号は可視になります。

表示範囲よりも小さい信号または 0 から始まらない信号を作成すると、Signal Builder ブロックは未定義の信号データを外挿します。これは最後の値を保持することで行われます。

新しいグループの追加

block = signalbuilder(block, 'append', time, data, signames, groupnames) または block = signalbuilder(block, 'appendgroup', time, data, signames, groupnames) は、Signal Builder ブロック block に新しいグループを追加します。引数 timedata の信号の数は、既存のブロックと同じでなければなりません。

    メモ:  

    • signames' ' または {} の値を指定すると、関数は新しいグループに既存の信号名を使用します。

    • groupnames に値を指定しないと、関数は既定のグループ名パターン GROUP #n で新しい信号グループを作成します。

信号の取り扱い

signalbuilder(block,'appendsignal', time, data, signames) は、Signal Builder ブロック block のすべての信号グループに新しい信号を追加します。すべてのグループに同じ信号を追加するか、異なるグループに異なる信号を追加することができます。追加する信号に関係なく、すべてのグループに同数の信号を追加してください。ブロック内のすべてのグループに信号を追加してください。一部のグループに信号を追加することはできません。そのため、1 つのグループに time 引数と data 引数を指定するか (すべてのグループに同じ情報を追加)、異なるグループに異なる time 引数と data 引数を指定します。既定の信号名を使用するには、信号名の引数 signames を省略します。

signalbuilder(block, 'showsignal', signal, group) は、Signal Builder ブロックで非表示になっている signals を表示します。既定では、現在アクティブなグループの信号は作成時に可視になっています。作成時の信号の可視性は、vis パラメーターで制御します。signal は、一意の信号名、信号のスカラー インデックス、信号インデックスの配列のいずれかにすることができます。group は影響する信号を含む 1 つまたは複数の信号グループのリストです。group は、一意のグループ名、スカラー インデックス、インデックスの配列のいずれかにすることができます。

signalbuilder(block, 'hidesignal', signal, group) は、Signal Builder ブロックの信号 signal を非表示にします。既定の設定では、すべての信号は作成時に可視になっています。signal は、一意の信号名、信号のスカラー インデックス、信号インデックスの配列のいずれかにすることができます。group は影響する信号を含む 1 つまたは複数の信号グループのリストです。group は、一意のグループ名、スカラー インデックス、インデックスの配列のいずれかにすることができます。

    メモ:   showsignal メソッドおよび hidesignal メソッドに対して group 引数の値を指定しないと、signalbuilder によりすべての信号とグループに操作が行われます。

特定の信号とグループのための Get/Set メソッドの使用

[time, data] = signalbuilder(block, 'get', signal, group) は、指定した信号とグループの時刻とデータの値を取得します。引数 signal には、信号名、信号のスカラーのインデックス、または信号のインデックスの配列を使用することができます。引数 group には、グループ名、スカラーのインデックス、またはインデックスの配列を使用することができます。

signalbuilder(block, 'set', signal, group, time, data) は、指定した信号とグループの時刻とデータの値を設定します。グループや信号を削除するには、timedata に空の値を使用します。信号グループを削除するには、同じコマンドでそのグループのすべての信号も削除しなければなりません。

    メモ:   set メソッドに対して group 引数の値を指定しないと、signalbuilder によりすべての信号とグループに操作が行われます。

信号を削除するときは、すべてのグループからすべての信号を削除します。そのグループも削除するのでない限り、信号を削除するグループを選択することはできません。

    メモ:   関数 signalbuilder では、同一呼び出し内でデータの変更と削除はできません。アプリケーションからすべての信号とグループを削除することもできません。

表示範囲よりも小さい信号または 0 から始まらない信号を作成すると、Signal Builder ブロックは最後の値を保持することで、未定義の信号データを外挿します。

アクティブ グループのクエリ、ラベル付け、設定

index = signalbuilder(block, 'activegroup') は、アクティブ グループのインデックスを取得します。

[index, activeGroupLabel]= signalbuilder(block, 'activegroup') は、アクティブ グループのラベルの値を取得します。

signalbuilder(block, 'activegroup', index) は、アクティブ グループのインデックスを index に設定します。

現在のグループ表示の有効化

signalbuilder(block, 'annotategroup', onoff)は、Signal Builder ブロックのマスクにおける現在のグループ名の表示を制御します。

onoff値説明
'on'既定の設定。ブロック マスク上の現在のグループ名を表示します。
'off'ブロック マスク上の現在のグループ名を表示しません。

信号グループの表示

signalbuilder(block, 'print', []) は、現在アクティブな信号グループを印刷します。

signalbuilder(block, 'print', config, printArgs) は、現在アクティブな信号グループまたは config で指定された信号グループを印刷します。引数 config は、信号グループの表示をカスタマイズできる構造体です。config 構造体には、以下のフィールドのいずれかを含む場合があります。

フィールド説明値の例
groupIndex

表示する信号グループのインデックスを指定するスカラー。

2
timeRange

表示する時間範囲を指定する 2 要素ベクトル。この範囲は、ブロックの時間範囲を超えないようにしてください。

[3 6]
visibleSignals

表示する信号のインデックスを指定するベクトル。

[1 2]
yLimits

各信号の y 軸の範囲を指定するセル配列。

{[-1 1],
 [0 1]}

extent

次の形式の 2 要素ベクトル:

[width, height]

信号を表示する領域の次元をピクセル単位で指定します。

[500 300]
showTitle

タイトルを表示するかどうかを指定する論理値。true (1) は、タイトルを表示します。

false

印刷の前に、これらのフィールドの 1 つまたは複数を使用して構造体を設定します。たとえば、コンフィギュレーションの構造体 configstruct を使用してグループ 2 のみを印刷する場合は、次のように構造体を設定します。その他のフィールドを指定する必要はありません。

configstruct.groupIndex=2

オプション引数 printArgs により、表示のオプションを構成できます。MATLAB® 関数リファレンスの print を参照してください。

figh = signalbuilder(block, 'print', config, 'figure') は、現在アクティブな信号グループまたは config が指定する信号グループを新しい非表示の Figure ハンドル figh に出力します。

例 1

新しいモデル エディター ウィンドウに Signal Builder ブロックを作成します。

block = signalbuilder([], 'create', [0 5], {[2 2];[0 2]});

このブロックから、Signal Builder データを取得します。

[time, data, signames, groupnames] = signalbuilder('untitled/Signal Builder')
time = 

    [1x2 double]
    [1x2 double]

data = 

    [1x2 double]
    [1x2 double]

signames = 

    'Signal 1'    'Signal 2'

groupnames = 

    'Group 1'

Signal Builder ブロックは、1 つのグループに 2 つの信号を含みます。グループの 2 番目の信号を変更します。

signalbuilder(block, 'set', 2, 1, [0 5], [2 0])

信号名とグループ名を使って、これと同じ変更を行うには、以下を実行します。

signalbuilder(block, 'set', 'Signal 2', 'Group 1', [0 5], [2 0])

グループから最初の信号を削除します。

signalbuilder(block, 'set', 1, 1, [], [])

グループに新しい信号を追加します。

signalbuilder(block, 'append', [0 2.5 5], [0 2 0], 'Signal 2', 'Group 2');

appendgroup を使用して別のグループに新しい信号を追加します。

signalbuilder(block, 'appendgroup', [0 2.5 5], [0 2 0], 'Signal 2', 'Group 3');

例 2

新しいモデル エディター ウィンドウに Signal Builder ブロックを作成します。

block = signalbuilder([], 'create', [0 2], {[0 1],[1 0]});

Signal Builder ブロックは、2 つのグループをもちます。各グループには、信号が含まれます。2 番目のグループを削除するには、その信号も削除します。

signalbuilder(block, 'set', 1, 2, [], [])

例 3

新しいモデル エディター ウィンドウに Signal Builder ブロックを作成します。

block = signalbuilder([], 'create', [0 1], ...
         {[0 0],[1 1];[1 0],[0 1];[1 1],[0 0]});

Signal Builder ブロックは、2 つのグループをもちます。各グループには、3 つの信号が含まれます。

例 4

新しいモデル エディター ウィンドウに Signal Builder ブロックを作成します。

block = signalbuilder([],'create',{[0 10],[0 20]},{[6 -6],...
[2 5]});

Signal Builder ブロックには、2 つのグループがあります。各グループは、それぞれ 1 つの信号を含みます。

新しい信号グループを既存のブロックに追加します。

block = signalbuilder(block,'append',[0 30],[10 -10]);

新しい信号 sig3 をすべてのグループに追加します。

signalbuilder(block,'appendsignal',[0 30],[0 10],'sig3');

例 5

新しいモデル エディター ウィンドウに Signal Builder ブロックを作成します。

time = [0 1];
data = {[0 0],[1 1];[1 0],[0 1];[1 1],[0 0]};
block = signalbuilder([], 'create', time, data);

Signal Builder ブロックには、2 つのグループがあります。各グループは、それぞれ 3 つの信号を含みます。

2 番目のグループを削除します。信号グループを削除するには、グループ内のすべての信号も削除します。

signalbuilder(block, 'set',[1,2,3],'Group 2',[]);

例 6

新しいモデル エディター ウィンドウに Signal Builder ブロックを作成します。

block = signalbuilder([], 'create', [0 5], {[2 2];[0 2]});

Signal Builder ブロックは、2 つの信号を含む 1 つのグループをもちます。

信号 Signal 1 を非表示にします。

signalbuilder(block,'hidesignal','Signal 1', 'Group 1')

Signal Builder ブロックに Signal 1 が表示されなくなります。

Signal 1 を再度表示します。

signalbuilder(block,'showsignal','Signal 1', 'Group 1')

例 7

新しいモデル エディター ウィンドウに Signal Builder ブロックを作成します。

block = signalbuilder([], 'create', [0 5], {[2 2] [0 2]});

Signal Builder ブロックは、それぞれ 1 つの信号を含む 2 つのグループをもちます。

構造体 configstruct を作成し、印刷する Signal Builder ブロックをカスタマイズします。

configstruct.groupIndex = 2;
configstruct.timeRange = [0 2];
configstruct.visibleSignals = 1;
configstruct.yLimits = {[0 1]};
configstruct.extent = [500 300];
configstruct.showTitle = true;

このシーケンスにより、configstruct 構造体のすべてのフィールドが埋められます。

Signal Builder ブロックのビューを既定のプリンターに出力します。configstruct 構造体により、出力するビューが定義されます。

signalbuilder(block,'print',configstruct)

-dps などの印刷オプションで印刷します。

signalbuilder(block,'print',configstruct,'-dps')

configstruct 構造体により定義された Signal Builder ブロックのビューを新しい非表示の Figure ハンドル figH に出力します。

figH = signalbuilder(block,'print',configstruct,'figure')
figure(figH)
この情報は役に立ちましたか?