Main Content

Simulink.SubSystem.getChecksum

非バーチャル サブシステムのチェックサムを返す

説明

[checksum,details] = Simulink.SubSystem.getChecksum(subsys) は、指定された非バーチャル サブシステムのチェックサムを返します。Simulink® は、サブシステムのパラメーター設定とそのサブシステムに含まれているブロックに基づいて、チェックサムを計算します。バーチャル サブシステムにはチェックサムがありません。

このコマンドの使用法の 1 つは、サブシステム用に生成されたコードが再利用される理由を調べることです。

メモ

Simulink.SubSystem.getChecksum は、モデルがまだコンパイルされていない場合、指定したサブシステムを含むモデルをコンパイルします。複数のサブシステムのチェックサムを取得し、複数のコンパイルを回避する場合は、model([], [], [], 'compile') コマンドを使用してモデルをコンパイルしてから Simulink.SubSystem.getChecksum を使用します。

このコマンドは、引数 subsys を受け取ります。これは、チェックサム データを返す非バーチャル サブシステムのブロックの完全な名前またはハンドルです。

すべて折りたたむ

モデル GeneratedCodeFunctionReuse に対して関数 Simulink.SubSystem.getChecksum を実行します。MATLAB エディター ウィンドウでは、両方の出力構造体が表示されます。[ワークスペース] ペインで、いずれかの構造体をダブルクリックしてコンテンツを確認します。

モデル GeneratedCodeFunctionReuse を読み込みます。

openExample('GeneratedCodeFunctionReuse')

サブシステム SS1 を選択し、MATLAB エディターで以下のコード行を実行して、完全な名前とサブシステム SS1 へのパスを取得します。

path_ss1 = gcb

次のコマンドを使用して、サブシステム上で関数 getChecksum を実行します。

[chksum1, chksum1_details] = Simulink.SubSystem.getChecksum(path_ss1)

出力構造体 chksum1chksum1_details によって、関数 getChecksum の呼び出しの出力が保存されます。

chksum1 = 

  struct with fields:

           Value: [4×1 uint32]
    MarkedUnique: 0


chksum1_details = 

  struct with fields:

          ContentsChecksum: [1×1 struct]
         InterfaceChecksum: [1×1 struct]
     ContentsChecksumItems: [359×1 struct]
    InterfaceChecksumItems: [60×1 struct]

入力引数

すべて折りたたむ

チェックサムを計算する非バーチャル サブシステムの完全な名前を入力します。

データ型: char

出力引数

すべて折りたたむ

チェックサム情報。次のフィールドを含む構造体として返されます。

Value4x1 uint32 – サブシステムの 128 ビット チェックサムを表す 4 つの 32 ビット整数の配列

MarkedUniquebool – サブシステムまたはサブシステムに含まれるブロックに、サブシステム用に生成されたコードを再利用しないようにするプロパティがある場合は true、そうでない場合は false

チェックサム情報。次のフィールドを含む構造体として返されます。

ContentsChecksumstructure – システム内のすべてのブロックに関する情報を与えるチェックサムを表す checksum と同じ形式の構造体。

InterfaceChecksumstructure – サブシステムのブロック パラメーターと接続に関する情報を与えるチェックサムを表す checksum と同じ形式の構造体。

次のフィールドを含む構造体配列が返されます。

Handle – Simulink がチェックサムに項目を追加した char array オブジェクト。ブロックについては、ハンドルはブロックの絶対パスです。ブロックの端子については、ハンドルはブロックの絶対パスで端子を識別する文字ベクトルです。

Identifierchar array – Simulink がチェックサムに加えた項目の記述子。項目が記述されたパラメーターである場合、記述子はパラメーター名です。

Valuetype – Simulink がチェックサムに加えた項目の値。項目がパラメーターである場合は、Valueget_param(handleidentifier) で返される値です。

次のフィールドを含む構造体配列が返されます。

Handle – Simulink がチェックサムに項目を追加した char array オブジェクト。ブロックについては、ハンドルはブロックの絶対パスです。ブロックの端子については、ハンドルはブロックの絶対パスで端子を識別する文字ベクトルです。

Identifierchar array – Simulink がチェックサムに加えた項目の記述子。項目が記述されたパラメーターである場合、記述子はパラメーター名です。

Valuetype – Simulink がチェックサムに加えた項目の値。項目がパラメーターである場合は、Valueget_param(handleidentifier) で返される値です。

バージョン履歴

R2006b で導入