メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

addStructType

Simulink インターフェイス ディクショナリへの Simulink.Bus で表される構造体型の追加

R2022b 以降

R2023b でデータ ディクショナリのアーキテクチャ データ セクションが導入されました。インターフェイス、データ型、定数、ソフトウェア アドレス メソッドを管理するときは、代わりに Simulink.dictionary.ArchitecturalData プログラム インターフェイスの使用を検討してください。詳細については、Programmatically Manage AUTOSAR Architectural Dataを参照してください。

説明

dataType = addStructType(dictObj,dtName) は、指定された名前の Simulink.Bus 型をディクショナリに追加します。

dataType = addStructType(dictObj,dtName, SimulinkBus=busObj) は、指定された Simulink.Bus オブジェクト busObj をミラーリングする指定された名前 dtName の構造体型をディクショナリに追加します。

すべて折りたたむ

指定した名前の Simulink.Bus 型をディクショナリに追加するには、関数 addStructType を使用します。関連する関数のワークフローを示す詳細な例については、インターフェイス ディクショナリの作成と構成を参照してください。

% open interface dictionary
dictName = 'MyInterfaces.sldd';
dictAPI = Simulink.interface.dictionary.open(dictName);

% add an enumerated type
myEnumType1 = addEnumType(dictAPI,'myColor');
myEnumType1.addEnumeral('RED', '0', 'Solid Red');
myEnumType1.addEnumeral('BLUE', '1', 'Solid Blue');
myEnumType1.StorageType = 'int16';

% add a value type that uses the enum type as its data type
myValueType1 = addValueType(dictAPI, 'myValueType1');
myValueType1.DataType = 'int32';
myValueType1.Dimensions = '[2 3]';
myValueType1.DataType = myEnumType1;

%% add a structured type 
myStructType1 = addStructType(dictAPI, 'myStructType1');
structElement1 = myStructType1.addElement('Element1');
structElement1.Type.DataType = 'single';
structElement1.Type.Dimensions = '3';
structElement2 = myStructType1.addElement('Element2');
structElement2.Type = myValueType1;
% or
structElement2.Type = 'ValueType: myValueType1';

この例では、既存の Simulink.Bus オブジェクトをミラーリングする StructType 型を Simulink インターフェイス ディクショナリ MyInterfaces.sldd に追加します。

% open interface dictionary
dictName = 'MyInterfaces.sldd';
dictAPI = Simulink.interface.dictionary.open(dictName);

% create Simulink.Bus object and add elements
simBusObj = Simulink.Bus;
busElement1 = Simulink.BusElement;
busElement1.Name = 'MyBusElement1';
busElement1.DataType = 'single';
simBusObj.Elements(1) = busElement1;
busElement2 = Simulink.BusElement;
busElement2.Name = 'MyBusElement2';
simBusObj.Elements(2) = busElement2;

% add structure type based on simBusObj
myNewStructType = addStructType(dictAPI,'StructFromSimBus',SimulinkBus=simBusObj)
myNewStructType = 
  StructType with properties:
           Name: 'StructFromSimBus'
    Description: ''
       Elements: [1×2 Simulink.interface.dictionary.StructElement]
          Owner: [1×1 Simulink.interface.Dictionary]

入力引数

すべて折りたたむ

インターフェイス ディクショナリ。Simulink.interface.Dictionary オブジェクトとして指定します。この関数を使用する前に、Simulink.interface.dictionary.create または Simulink.interface.dictionary.open を使用して dictObj を作成するか開いておきます。

dictObj のプロパティ配列 DataTypes における DataType 定義名。文字ベクトルまたは string スカラーとして指定します。

例: "airSpeed"

バス型オブジェクト。Simulink.Bus オブジェクトとして指定します。

出力引数

すべて折りたたむ

Simulink.Bus をベースの実装とする構造体型オブジェクト。要素を含む Simulink.interface.dictionary.StructType オブジェクトとして返されます。

バージョン履歴

R2022b で導入

すべて折りたたむ