Skip to main content

サブセクション: デバイス

サブセクション Device デバイス ジェネレーターによって追加されるデバイスを定義します。生成されたデバイスにはいくつかのタイプがあり、それぞれに異なるサブセクションがあります。 IdentificationWildcard そして 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 製造された。

    • 定義 TypeIDModuleID そして Version セクション Identification 特定のバージョンのデバイス タイプを一意に識別します。たとえば、EtherCAT マスターには次の定義があります。

      Type := '64';

      ID := '000 0001';

      Version := '3.5.1.0';

      バージョンとしては * が定義されている場合、デバイスの最新バージョンが常に使用されます。定義の場合 ModuleID が使用されない場合、システムは DeviceIdentification を使用してデバイスを検索します。それ以外の場合は、ModuleIdentification を使用してデバイスを検索します。

      定義されたデバイスがデバイス リポジトリに存在しない場合、スキャン プロセス中に対応するエラー メッセージが出力されます。

    • サブセクション SetChildName 定義とともに Value そして ChildIndex

      これらのオプションを使用すると、自動的に挿入されたデバイスに付ける名前を指定できます。同じ名前が複数回使用される場合、結果の名前はアンダースコアと数字を追加することによって一意になります。

      • Value:デバイスの任意の名前

      • ChildIndex: 名前を変更する自動挿入デバイスのインデックス

    このセクションでは、入力ウィザードを使用してフィールドに入力するオプションが提供されます。これを行うには、カーソルを行の末尾に置きます。 Identification セットして 戻る 押されました。次に、アシスタントが開き、利用可能なデバイスが表示されます。デバイスを選択すると、対応するパラメータがモジュール宣言に組み込まれます。この機能はサブセクションの終わり(END_SEC)はまだ入力されていません。

  • 定義 ファイル プロジェクトに追加されるデバイスのリストが含まれています。これらのデバイスは手動で構成され、ライブラリにエクスポートされました。

30.
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


31. パラメータを使用した例
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


32. デバイス名の設定例
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