Skip to main content

Sous-section : Appareil

le Device La sous-section définit les appareils à ajouter par le générateur d'appareils. Il existe plusieurs types d'appareils générés qui sont définis avec les différentes sous-sections Identification, Wildcard, et FlexibleWildcard .

Syntaxe:

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
. Spécification:
  • le Device section a un ID cible qui l'identifie de manière unique parmi les autres appareils générés d'un module. Cet ID peut être utilisé pour référencer cet appareil. Cela se fait principalement dans la définition Parent d'autres appareils créés ou E/S connectées.

  • le Parent définition spécifie le périphérique parent souhaité sous lequel le périphérique créé doit être monté.

    L'appareil parent peut être identifié pas du tout (la définition est facultative), par son ID ou par un paramètre.

    Dans le détail, l'appareil parent est alors déterminé de la manière suivante :

    • Sinon Parent est défini, le premier parent disponible correspondant est toujours utilisé, et pour un vide Parent la définition recherche uniquement à partir du premier module parent. Si aucun périphérique n'est défini dans le module parent direct lui-même, l'historique des modules parents est suivi jusqu'à ce qu'il y ait finalement un périphérique qui corresponde ou que le module de niveau supérieur soit atteint. Dans ce cas, son dispositif d'application est alors utilisé si possible.

    • Si, en plus, un ID d'appareil ou un paramètre est spécifié comme Parent , l'historique des appareils parents est scanné de la même manière, les appareils du module de sortie lui-même étant désormais également pris en compte et un éventuel appareil parent doit également avoir l'ID correspondant.

    • Si, selon les règles décrites ci-dessus, aucun périphérique parent possible ne peut être trouvé, une erreur est émise lors du contrôle de génération.

    • ParentSlotIndex: Spécifie l'index de l'emplacement (numéro) du périphérique parent dans lequel le périphérique est inséré. Ceci est utile lorsqu’un branchement est nécessaire.

  • le Identification La sous-section inclut la description unique d'un appareil à ajouter. Cela crée une référence claire à ce type d'appareil.

    • Les définitions Type, ID, ModuleID, et Version du Identification section identifient de manière unique un type d'appareil d'une version spécifique. Par exemple, un maître EtherCAT a la définition suivante :

      Type := '64';

      ID := '000 0001';

      Version := '3.5.1.0';

      Si * est défini comme la version, la dernière version de l'appareil est toujours utilisée. Si la ModuleID définition n'est pas utilisée, le système recherche les appareils avec une DeviceIdentification, sinon il recherche les appareils avec une identification de module.

      Si l'appareil défini n'existe pas dans le référentiel d'appareils, un message d'erreur correspondant est déjà émis pendant le processus d'analyse.

    • Sous-section : SetChildName avec les définitions de Value et ChildIndex

      Ces options vous permettent de spécifier le nom que doit avoir un périphérique inséré automatiquement. Si le même nom est utilisé plusieurs fois, le nom résultant est rendu unique en ajoutant un trait de soulignement et un chiffre.

      • Value: Nom souhaité de l'appareil

      • ChildIndex: Index du périphérique inséré automatiquement à renommer

    Cette section offre la possibilité de remplir les champs à l'aide de l'assistant de saisie. Pour cela, placez le curseur en fin de ligne après Identification et appuyez sur Retourner. Ensuite, l'assistant de saisie s'ouvre et propose les canaux disponibles. Après avoir sélectionné un appareil, les paramètres correspondants sont transférés dans la déclaration de module. Veuillez noter que cette fonction n'est disponible que lorsque la fin de la sous-section (END_SEC) n'a pas encore été saisi.

  • La définition Des dossiers contient une liste d'appareils qui seront ajoutés au projet. Ces appareils ont été configurés manuellement et exportés vers une bibliothèque.

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


Exemple 31. Exemple avec paramètres
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


Exemple 32. Exemple de définition d'un nom d'appareil
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