ドキュメンテーション

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

信号の基礎

信号について

"信号" は、時間の経過に伴って値が変化する数量を指し、時間軸のすべての時点で値をもちます。以下のような多くの信号の属性を指定できます。

  • 信号名

  • データ型 (例: 8 ビット、16 ビット、32 ビットの整数)

  • 数値型 (実数または複素数)

  • 次元 (1 次元、2 次元、多次元の配列)

多くのブロックは、任意のデータ型または数値型、大きさの信号を受け入れ、出力できます。他のブロックは、扱うことができる信号の属性に制限があります。

Simulink® では、信号は Simulink ブロック線図内のブロックおよびブロック線図自体によって表される動的システムの出力です。ブロック線図内のラインは、ブロック線図によって定義される信号間の数学的関係を表します。たとえば、ブロック A の出力とブロック B の入力を接続するラインは、B による信号出力が A による信号出力に依存することを示します。

Simulink ブロック線図は矢印付きのラインのある信号を表しています。信号のソースは、ブロックのメソッド (式) の評価中に信号に書き込むブロックに対応します。信号の行く先は、ブロックのメソッド (式) の評価中に信号を読み込むブロックです。

メモ:

Simulink 信号は、物理的なエンティティではなく、数学的なエンティティです。ブロック線図内のラインは、ブロック間の関係を物理的ではなく数学的に表します。Simulink 信号は、電気信号が電話線を通るように、ブロックを接続するラインを通るわけではありません。ブロック線図は、ブロック間の物理的な接続を示すものではありません。

信号の作成

モデルにソース ブロックを追加して、信号を作成します。たとえば、Simulink の Source ライブラリから Sine ブロックのインスタンスをモデルに追加することにより時間と共に正弦関数的に変化する信号を作成可能です。モデル内に信号を作成するブロックについての詳細は、Sourcesを参照してください。

信号とスコープのマネージャーを使用して、ブロックを使わずにモデル内に信号を作ることが可能です。詳細については、信号とスコープのマネージャーを参照してください。

信号線のスタイル

Simulink モデルには多くの異なるタイプの信号を含めることができます。詳細については、信号タイプを参照してください。信号のタイプは、ライン スタイルによって区別することができます。

ブロック線図の作成時は、すべてのタイプの信号が細い実線で表されます。ブロック線図を更新したりシミュレーションを開始したりすると、指定したライン スタイルで信号が表示されます。ライン スタイルをカスタマイズできる信号のタイプは非スカラー信号だけです。このオプションの詳細は、非スカラー ラインを太く表示を参照してください。

信号タイプライン スタイル
スカラーおよび非スカラー
非スカラー ([非スカラー ラインを幅広のラインで表示] オプションを有効にした場合 — 信号属性の表示を参照)

制御信号

バーチャル バス
非バーチャル バス
バス配列
可変サイズ

信号プロパティ

信号プロパティの指定

プロパティ インスペクター、モデル データ エディターまたは [信号プロパティ] ダイアログ ボックスを使用して次のプロパティを指定します。

  • 信号名とラベル

  • 信号のログ

  • コードの生成に使用する Simulink Coder™

  • 信号のドキュメンテーション

プロパティ インスペクターで信号プロパティにアクセスするには、最初にプロパティ インスペクターを表示します。[ツール表示][プロパティ インスペクター] を選択します。信号を選択すると、プロパティがプロパティ インスペクターに表示されます。モデル データ エディター ([ツール表示][モデル データ エディター]) を使用するには、[信号] タブを検証して信号を選択します。[信号プロパティ] ダイアログ ボックスを使用するには、信号を右クリックして [プロパティ] を選択します。各方法のメリットの詳細については、プロパティとパラメーターの設定を参照してください。

プログラムによる信号プロパティの指定

信号プロパティをプログラムによって指定するには、get_param などの関数を使用して、信号線を作成するブロック出力端子へのハンドルを取得します。その後、set_param を使用して、端子のプログラム上のパラメーターを設定します。

例については、プログラムによる信号の名前の設定を参照してください。

端子のプログラム上のパラメーターに信号プロパティをマッピングする方法の詳細については、[信号プロパティ] ダイアログ ボックスの概要を参照してください。

信号名とラベル

信号には名前を付けることができます。信号名は、既定では信号の下に "信号ラベル" として表示されます。モデル内で対話的に信号に名前を付けることも、プロパティ インスペクター ([ツール表示][プロパティ インスペクター])、モデル データ エディター ([ツール表示][プロパティ インスペクター]) の [信号] タブまたは [信号プロパティ] ダイアログ ボックスを使用して名前を付けることもできます。また、コマンド プロンプトでも信号の名前を指定できます (プログラムによる信号の名前の設定を参照)。信号名および信号ラベルについての Simulink エディターでの操作の概要は、信号名およびラベルの操作を参照してください。

信号名の構文の要件は、名前の使用方法に応じて異なります。主な要件には以下があります。

  • 信号名の先頭の文字に小なり記号 (<) は使用しないでください。

  • Simulink.Signal オブジェクトに関連付けられた信号名 (Simulink.Signal を参照)。信号名は、有効な MATLAB® の識別子でなければなりません。この識別子は英字で始まり、関数 namelengthmax で指定されている文字数の英数字またはアンダースコアが続きます。

  • データ ログ内で信号を識別および参照するために使用する信号名 (信号ログを使用して、信号データをエクスポート を参照)。このような信号名には、スペースと改行を使用できます。これらの文字を使用することで、名前が確認しやすくなりますが、ログ名のスペースと改行の処理に記載されているような特別な取り扱い方法が必要になる場合があります。

  • ブロック線図を理解しやすくする目的でのみ使用し、計算上は重要ではない信号名。このような信号名には、どのような文字でも使用でき、特別な取り扱いは必要ありません。

  • バス オブジェクトの要素である信号。信号名には有効な C 言語識別子を使用します。

  • Bus Creator ブロックへの入力には一意の名前が必要です。重複した名前が存在する場合、Bus Creator ブロックは (signal#) をすべての入力信号名に追加します。ここで、# は入力端子インデックスです。

それぞれの信号名を適切な MATLAB 識別子にすることで、さまざまなモデル コンフィギュレーションを扱うことができます。予期しない要件によって、さらに制約的な構文に従って信号名の変更が必要になる場合があります。関数 isvarname を使用すると、信号名が有効な MATLAB 識別子であるかどうかを判定できます。

信号の表示オプション

モデル ブロック線図で信号属性を表示すると、モデルが読みやすくなります。たとえば、Simulink エディターで [情報表示][信号と端子] メニューを使用して、以下のような信号属性についてモデル レイアウト情報に含めることができます。

  • 端子のデータ型

  • 設計範囲

  • 信号の次元

  • 信号の関連付け

詳細については、信号属性の表示を参照してください。

信号とその伝播元または伝播先のブロックを強調表示することもできます。詳細については、信号の伝播元と伝播先の強調表示を参照してください。

信号の設計属性と状態の保存

ブロック パラメーターおよび信号プロパティを使用して、データ型、最小値と最大値、物理単位、数値の実数/複素数などの信号の設計属性を指定できます。状態を設定するには、ブロック パラメーターを使用できます。このブロック パラメーターと信号プロパティを使用する場合、その仕様をモデル ファイルに保存します。

あるいは、ワークスペースまたはデータ ディクショナリに保存する Simulink.Signal オブジェクトのプロパティを使用することで、これらの属性を指定することもできます。Simulink.Signal およびデータ オブジェクトを参照してください。

モデル化の目的に基づいて、使用する戦略を選択します。

  • モデルの移植性、可読性、メンテナンスの容易さを向上させるには、これらの仕様をモデル ファイルに保存します。プロパティ インスペクター、モデル データ エディター、ブロック ダイアログ ボックスおよび [信号プロパティ] ダイアログ ボックスを使用してパラメーターおよびプロパティにアクセスします。外部の Simulink.Signal オブジェクトを保存および管理する必要はありません。モデル コンフィギュレーション パラメーターの [信号の関連付け][なし] に設定することを検討します。この設定により、モデルによる Simulink.Signal オブジェクトの使用が無効になります。

    並べ替え、グループ化およびフィルター処理が可能なリストを使用して信号の設計属性とコード生成設定を構成するには、モデル データ エディターの使用を検討します。このツールを使用して、Simulink.Signal オブジェクトを使用する代わりに、仕様をモデル ファイルに保存します。モデル データ エディターを使用したデータ プロパティの設定を参照してください。

  • これらの仕様をモデルから分離してそれぞれを個別に管理できるようにするには、Simulink.Signal オブジェクトを使用します。モデル データ エディターまたはモデル エクスプローラーを使用して、並べ替え、グループ化およびフィルター処理が可能なフラット リストで、仕様を設定することができます。オブジェクトを永久的に保存する場所を決定するには、Simulink モデルの変数とオブジェクトの保存場所の決定を参照してください。

信号のテスト

信号には以下の種類のテストを実行できます。

最小値と最大値

多くの Simulink ブロックに対して、出力信号用の有効な値の範囲を指定できます。Simulink はシミュレーション中に指定の範囲を超える信号をブロックが生成するタイミングを検出するための診断を提供します。詳細については、信号範囲を参照してください。

接続の検証

多くの Simulink ブロックには、受け入れる信号のタイプに制限があります。モデルのシミュレーションの前に、Simulink は、すべてのブロックをチェックして、ブロックの接続先の端子でそのタイプの信号出力が受け入れられるかどうかを確認し、互換性がない場合はエラーを報告します。

シミュレーションを実行する前に信号互換性エラーを見つけるには、ブロック線図を更新します。

シナリオ

Signal Editor ブロックには、シナリオの相互交換可能なグループが表示されます。Signal Editor を使用して相互交換可能なシナリオを表示、作成、編集、および切り替えます。

シナリオは、モデルのテストに役立つ場合があります。

関連するトピック