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_SEClos
DeviceLa 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.Parentde otros dispositivos creados o E/S conectadas.los
ParentLa 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
Parentse define en absoluto, siempre se utiliza el primer padre coincidente disponible, y para un vacíoParentla 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
Identifikationincluye la descripción única de un dispositivo que se agregará. Esto crea una clara referencia a este tipo.Devicefabricado.Las definiciones
Type,ID,ModuleID, yVersionde ElIdentificationsecció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 elModuleIDno 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
SetChildNamecon las definicionesValueyChildIndexEstas 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
Identificationy 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_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