データ型の不一致と構造体の初期条件
Simulink.Parameter オブジェクトを使用したバス信号の初期条件の指定
この例では、構造体の初期条件を Simulink.Parameter
オブジェクトで置換する方法を示します。この方法によって構造体の調整可能な状態は維持されます。
Unit Delay ブロックをダブルクリックして、このブロックのパラメーターを表示します。Unit Delay ブロックは構造体の初期条件を使用しています。
MATLAB® コマンド ラインで
Simulink.Parameter
オブジェクトを定義します。パラメーター オブジェクトのデータ型をバス オブジェクトSensorData
に設定します。パラメーター オブジェクトの値を指定された構造体に設定します。調整可能性を維持するには、StorageClass
プロパティをExportedGlobal
に設定します。P = Simulink.Parameter; P.DataType = 'Bus: SensorData'; P.Value = struct('Torque',5,'Speed',8); P.StorageClass = 'ExportedGlobal';
Unit Delay ブロックのダイアログ ボックスで、[初期条件] を
P
(定義したSimulink.Parameter
オブジェクト) に設定します。Simulink.Parameter
オブジェクト内で定義される構造体は調整可能なままになります。
調整可能な初期条件構造体を使用するバス信号に対するコードの生成の詳細については、生成されたコードにおける信号および状態の初期化の制御を参照してください。
データ型の不一致とマスクされたアトミック サブシステム
構造体の初期条件がマスクされたアトミック サブシステムを使用して指定したバス信号を駆動するときに、データ型の不一致が発生します。
サブシステムを非アトミックに変更するか、(Simulink.Parameter オブジェクトを使用したバス信号の初期条件の指定で説明されているように) 構造体パラメーターを Simulink.Parameter
オブジェクトを使用して指定することによって、データ型不一致のエラーを回避します。