Vinculación de sus propias E/S
Con esta funcionalidad, las E/S locales pueden conectarse a un controlador y utilizarse desde la aplicación IEC.
Edición de la descripción del dispositivo
En el ejemplo UDSIoDrvExample.project suministrado, se crean dos entradas y salidas con la descripción del dispositivo. Las entradas y salidas se enlazan a través de un Socket de Dominio Unix. Encontrará el ejemplo en el directorio de instalación de CODESYS en el subdirectorio CODESYS Control SL Extension Package\<version>\Examples\ExternalIoDrv.

Para definir sus propias entradas y salidas, el archivo de descripción del dispositivo SocketUnixIOTemplate.devdesc.xml tiene que ser adaptado. un XML parameter elemento tiene que ser definido para cada una de las entradas y salidas. ParameterId tiene que ser único aquí dentro del archivo de descripción del dispositivo. Recomendamos simplemente numerar en orden ascendente sin espacios. Ejemplo: 1000 1001 1002 y así sucesivamente: las entradas deben numerarse desde 1000, las salidas desde 2000.
Aviso
Si se modifica la descripción del dispositivo, se debe volver a instalar en el repositorio de dispositivos para que esté disponible en el proyecto.
<Parameter ParameterId="1000" type="std:DWORD"> <Attributes channel="input"/> <Default/> <Name name="local:in1">/Namne> </Parameter>
| Nombre | Descripción | 
|---|---|
| ID de parámetro | ID único por el que se llama a la entrada o salida | 
| escribe | Definición del ancho de la entrada o salida. Se realiza especificando un tipo de datos adecuadamente amplio, como  | 
| canal de atributos | 
 | 
| Nombre nombre | Nombre de la entrada o salida respectiva | 
Además, se debe asignar el ID del dispositivo, que se define en <DeviceIdentification>.El rango 0x0001 8000 a 0x0001 80FF se proporciona con este fin para evitar colisiones con los dispositivos existentes.
Importante
La descripción del dispositivo, así como el controlador de E/S subyacente, no deben instanciarse varias veces en un PLC porque el orden de los módulos no es fijo. Esto puede provocar que el controlador de E/S no pueda garantizar la asignación.
Ejemplo de Python
En el ejemplo de Python uds_io_driver.py, se reciben las salidas y se escriben las entradas del dispositivo. Los parámetros de entrada (salidas IEC) se pasan como tuplas de cadenas (paramType, paramValue) con el ID de parámetro de la descripción del dispositivo como índice.
El controlador puede manejar los tipos de datos. USINT, UINT, UDINT, y ULINT. Otros tipos de datos deben convertirse en un tipo de datos adecuado.
Ejemplo: ('2000': ('UDINT', '11'), '2001': ('UDINT', '22')}.Los parámetros de salida están en el mismo formato.
También para el par, un "salida"/parámetro de salida es, sin embargo, un valor de salida que la aplicación IEC debe transportar "hacia afuera" (por ejemplo, escribirlo en GPIO reales). El UDS_IODriver_0 La clase implementada en el ejemplo extiende el ExternalFunctionBase clase. El nombre de la clase se deriva de UDS_IODriver_ seguido del índice de instancia en orden ascendente. Call() es necesaria la función, que se llama desde el mecanismo de IEC. Las salidas IEC ahora se pueden evaluar aquí y las entradas IEC se pueden transferir.
| Uso de la interfaz solo como miembro de Linux  | sí | 
| Separación de procesos | sí |