サブセクション: デバイス
サブセクション Device デバイス ジェネレーターによって追加されるデバイスを定義します。生成されたデバイスにはいくつかのタイプがあり、それぞれに異なるサブセクションがあります。 Identification、 Wildcard そして FlexibleWildcard 決意すること。
構文:
SEC DeviceGenerator //optional: yes, modifier: [UPDATE]
SEC Device : <target ID> //optional: yes, modifier [UPDATE]
Parent := <target ID>; //optional: yes, type: ID
ParentSlotIndex := <slot number>; //optional: yes, type: literal/integer
SEC Identification //optional: yes, modifier: [UPDATE]
Type := <type number>; //optional: no, type: literal/string
ID := <ID mumber>; //optional: no, type: literal/string
ModuleID := <module ID>; //optional: yes, type: literal/string
Version := <version mumber>; //optional: no, type: literal/string
SEC SetChildName //optional: yes, modifier: [UPDATE]
Value := <child name>; //optional: no, type: literal/string
ChildIndex := <index number>; //optional: no, type: literal/string
END_SEC
END_SEC
END_SEC
SEC ExportDevice //optional: yes, modifier: [UPDATE, HIDE]
Files :=[<filename1>, <filename2>, ...]; //optional: no, type: string
END_SEC
END_SECセクション
Deviceには、モジュール内で生成された他のデバイス間でそれを一意に識別するターゲット ID があります。この ID を使用してこのデバイスを参照できます。これは主に定義で行われますParent他の生成されたデバイスまたは接続された I/O。定義
Parent作成されたデバイスをマウントする必要がある親デバイスを指定します。親デバイスは、その ID またはパラメータによってまったく識別できません (定義はオプションです)。
親デバイスは、次の方法で詳細に決定されます。
全然そんなことないよ
Parent定義されている場合、利用可能な最初の適切な親デバイスが常に使用され、空の親デバイスが使用されます。Parent-定義は最初の親モジュールからのみ検索されます。直接の親モジュール自体にデバイスが定義されていない場合、最終的に適合するデバイスが見つかるか、最上位モジュールに到達するまで、親モジュールの履歴が追跡されます。この場合、可能であればその応用機器が使用されます。デバイス ID またはパラメータでもあります
Parent指定すると、親デバイスの履歴も同様に検索され、出力モジュール自体のデバイスも考慮され、考えられる親デバイスも対応する ID を持っている必要があります。上記のルールに従って、親デバイスとなる可能性のあるデバイスが見つからない場合は、世代チェック中にエラーが出力されます。
ParentSlotIndex: デバイスが挿入される親デバイスのスロットのインデックス (スロット番号) を指定します。これは、プラグ接続が必要な場合に役立ちます。
サブセクション
Identifikationには、追加するデバイスの一意の説明が含まれます。これにより、このタイプへの明確な参照が作成されますDevice製造された。定義
Type、ID、ModuleIDそしてVersionセクションIdentification特定のバージョンのデバイス タイプを一意に識別します。たとえば、EtherCAT マスターには次の定義があります。Type := '64';ID := '000 0001';Version := '3.5.1.0';バージョンとしては
*が定義されている場合、デバイスの最新バージョンが常に使用されます。定義の場合ModuleIDが使用されない場合、システムは DeviceIdentification を使用してデバイスを検索します。それ以外の場合は、ModuleIdentification を使用してデバイスを検索します。定義されたデバイスがデバイス リポジトリに存在しない場合、スキャン プロセス中に対応するエラー メッセージが出力されます。
サブセクション
SetChildName定義とともにValueそしてChildIndexこれらのオプションを使用すると、自動的に挿入されたデバイスに付ける名前を指定できます。同じ名前が複数回使用される場合、結果の名前はアンダースコアと数字を追加することによって一意になります。
Value:デバイスの任意の名前ChildIndex: 名前を変更する自動挿入デバイスのインデックス
このセクションでは、入力ウィザードを使用してフィールドに入力するオプションが提供されます。これを行うには、カーソルを行の末尾に置きます。
Identificationセットして 戻る 押されました。次に、アシスタントが開き、利用可能なデバイスが表示されます。デバイスを選択すると、対応するパラメータがモジュール宣言に組み込まれます。この機能はサブセクションの終わり(END_SEC)はまだ入力されていません。定義 ファイル プロジェクトに追加されるデバイスのリストが含まれています。これらのデバイスは手動で構成され、ライブラリにエクスポートされました。
SEC Device : Buskoppler2
SEC Identification
Type := '65';
ID := '2_044C2C5200110000';
Version := '*';
END_SEC
END_SEC
SEC Device : KlemmeDigitalOutput
Parent := Buskoppler2;
SEC Wildcard : KlemmeTyp
Desc := TL.WildDesc;
END_SEC
SEC ExportDevices
Files := [ExtFile.BK5120_1SDO, ExtFile.BK5120_2SDO];
END_SEC
END_SECSEC std.DeviceGenerator
SEC Device : CANopen_Manager
Parent := CurrentCAN;
SEC FlexibleIdentification
Type := '16';
ID := '181016';
Version := '*';
Maximum := 1;
END_SEC
END_SEC
END_SEC
SEC std.Parameters
SEC Param : CurrentCAN
Name := TL.CurrentCAN_Name;
Desc := TL.CurrentCAN_Desc;
VariableType := wSTRING;
Default := 'CANBus_0';
END_SEC
END_SECSEC std.DeviceGenerator
SEC Device : EcoVario
Parent := CanManager;
SEC Identification
Type := '18';
ID := '1619 0001';
Version := '*';
SEC SetChildName : ChildDevice
Value := 'ChildName';
ChildIndex := 0;
END_SEC
END_SEC
END_SEC
SEC Parameters : EcoVario
SEC AddParameter : BoolParamAdd
ParameterID := '150';
ParameterName := 'BoolParam';
ParameterType := 'std:BOOL';
ChildIndex := 0;
END_SEC
SEC SetParameter : BoolParamAdd
ParameterID := '150';
ElemPath := '';
Value := 'TRUE';
ChildIndex := 0;
END_SEC
SEC SetParameter : bVirtual
ParameterID := '1040';
ElemPath := '';
ConnectorID := '0';
Value := 'TRUE';
ChildIndex := 0;
END_SEC
END_SEC
SEC InstRefMapping : Axis
SEC Demand
Desc := TL.DescAxis;
Properties := [SM_DRIVE_CAN];
END_SEC
END_SEC
END_SEC