サブセクション: デバイス
サブセクション 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_SEC
SEC 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_SEC
SEC 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