Subsección: Device
los Device
La subsección define los dispositivos que agregará el generador de dispositivos. Hay varios tipos de dispositivos generados que se definen con las diferentes subsecciones Identification
, Wildcard
, y FlexibleWildcard
.
Sintaxis:
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
los
Device
La sección tiene una identificación de destino que la identifica de manera única entre los otros dispositivos generados de un módulo. Este ID se puede utilizar para hacer referencia a este dispositivo. Esto se hace principalmente en la definición.Parent
de otros dispositivos creados o E/S conectadas.los
Parent
La definición especifica el dispositivo principal deseado bajo el cual se montará el dispositivo creado.El dispositivo principal no se puede identificar en absoluto (la definición es opcional), por su ID o por un parámetro.
En detalle, el dispositivo principal se determina de la siguiente manera:
Si no
Parent
se define en absoluto, siempre se utiliza el primer padre coincidente disponible, y para un vacíoParent
la definición solo busca a partir del primer módulo principal. Si no se define ningún dispositivo en el propio módulo principal directo, se realiza un seguimiento del historial de los módulos principales hasta que finalmente haya un dispositivo que coincida o se alcance el módulo de nivel superior. En este caso, se utiliza su dispositivo de aplicación si es posible.Si, además, se especifica un ID de dispositivo o un parámetro como
Parent
, el historial de los dispositivos principales se escanea de la misma manera, por lo que ahora también se tienen en cuenta los dispositivos del propio módulo de salida y un posible dispositivo principal también debe tener la ID correspondiente.Si según las reglas descritas anteriormente no se puede encontrar ningún posible dispositivo principal, se genera un error durante la verificación de generación.
ParentSlotIndex
: Especifica el índice de la ranura (número de ranura) del dispositivo principal en el que se insertará el dispositivo. Esto es útil cuando se requiere enchufar.
la subsección
Identifikation
incluye la descripción única de un dispositivo que se agregará. Esto crea una clara referencia a este tipo.Device
fabricado.Las definiciones
Type
,ID
,ModuleID
, yVersion
de ElIdentification
sección identificar de forma única un tipo de dispositivo de una versión específica. Por ejemplo, un EtherCAT Master tiene la siguiente definición:Type := '64';
ID := '000 0001';
Version := '3.5.1.0';
Si
*
se define como la versión, siempre se utiliza la última versión del dispositivo. Si elModuleID
no se utiliza la definición, se buscan dispositivos con DeviceIdentification en el sistema; de lo contrario, se buscan dispositivos con una identificación de módulo.Si el dispositivo definido no existe en el repositorio de dispositivos, ya se emite un mensaje de error correspondiente durante el proceso de exploración.
Subsección
SetChildName
con las definicionesValue
yChildIndex
Estas opciones le permiten especificar el nombre que debe tener un dispositivo insertado automáticamente. Si se utiliza el mismo nombre más de una vez, el nombre resultante se vuelve único añadiendo un guión bajo y un número.
Value
: Nombre deseado del dispositivoChildIndex
: Índice del dispositivo insertado automáticamente al que se le cambiará el nombre
Esta sección ofrece la posibilidad de llenar los campos con la ayuda del Input Assistant. Para hacer esto, coloque el cursor al final de la línea después de
Identification
y presiona Regreso. Posteriormente, Input Assistant se abre y ofrece los canales disponibles. Después de elegir un dispositivo, los parámetros correspondientes se transfieren a la declaración del módulo. Tenga en cuenta que esta función solo está disponible cuando el final de la subsección (END_SEC
) aún no se ha introducido.La definición archivos contiene una lista de dispositivos que se agregarán al proyecto. Estos dispositivos se configuraron y exportaron manualmente a una biblioteca.
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