Información adicional acerca de la integración de la lógica de control en plantillas de dispositivos

Descripción general

Puede incluir una lógica de control en una plantilla de dispositivos si la lógica contiene una o más secciones de código que intercambian datos con el dispositivo de campo de una de las siguientes formas:

  • Una sección de código usa una nueva variable definida en la asignación de E/S del dispositivo de campo.

  • Una sección de código y la asignación de E/S del dispositivo de campo usan una variable común que se define en una GVL o un programa del controlador contenido por la aplicación a la que pertenece la sección del código.

    NOTA: Si usa estructuras o matrices, asegúrese de que solo estén relacionadas con un dispositivo de campo.
  • Una sección de código y el dispositivo de campo usan una variable fija específica del dispositivo (por ejemplo, las variables de referencia del eje usadas con las unidades Altivar o Lexium).

Llamadas interconectadas de secciones de código

Las secciones de código están formadas por una secuencia de llamadas interconectadas de bloques de funciones, funciones y operadores.

Si existe una de las siguientes relaciones entre las llamadas individuales, se considera que están conectadas:

  • Hay una conexión gráfica entre las llamadas individuales en CFC, FBD y LD.

  • Hay una variable conectada a la salida de una llamada y a la entrada de la otra llamada.

  • Una llamada usa el parámetro de la otra llamada.

Selección individual de bloques de funciones

Puede seleccionar individualmente los bloques de funciones incluidos en estas secciones de código que intercambian datos con el dispositivo de campo que se incluirá en la plantilla de dispositivos. Esto permite crear otras plantillas de dispositivos que proporcionan distintas funciones para el mismo dispositivo de campo.

NOTA: El tipo de bloque de funciones debe estar definido en una biblioteca.

Inclusión de expresiones en las plantillas de dispositivos

Las expresiones, así como las variables usadas en estas expresiones, que están conectadas a los parámetros de un bloque de funciones, una función o un operador, se guardan automáticamente en la plantilla de dispositivos.

Recomendaciones generales para la creación de la lógica de control

Si crea una plantilla de dispositivo en un lenguaje IEC, pero la instancia en un lenguaje IEC diferente, el resultado puede ser una diferencia en la ejecución. Por lo tanto, lo mejor es asegurarse de que dicha lógica de control sea lo más sencilla posible.

Si se garantiza que la lógica sea lo más sencilla posible, es probable que las secciones de código funcionen de forma idéntica aunque se creen en lenguajes IEC diferentes.

NOTA: Para la lógica de control compleja, es preferible crear una plantilla de funciones.

Recomendaciones para la creación de la lógica de control en FBD/LD

Evite los elementos de detección de flancos, ya que no existen en otros lenguajes IEC.

Si es posible, use los bloques de funciones R_TRIG o F_TRIG en su lugar.

Recomendaciones para la creación de la lógica de control en CFC

Use el comando Orden de ejecución > Ordenar conforme al flujo de datos para ordenar los elementos CFC que pertenecen a la misma sección de código, de acuerdo con su posición en el flujo de datos. Esto proporciona una mejor compatibilidad con otros lenguajes IEC.

Deje espacio (en dirección horizontal) entre los elementos CFC individuales, ya que debido al cambio de nombre, los nombres de las variables se ampliarán al crear un dispositivo a partir de una plantilla.

Ejemplo de lógica de control

En la siguiente figura se muestra un ejemplo típico de sección de código para un dispositivo de E/S distribuidas Advantys OTB en una aplicación de transporte:

La sección de código está formada por los siguientes bloques de funciones:

Nombre

Tipo

Función

InOTB_Conv20

Bloque de entrada

Conversión de datos procedentes de OTB al formato necesario para el bloque de control

Conv20

Bloque de control

Datos de procesamiento

OutOTB_Conv20

Bloque de salida

Conversión de datos procedentes del bloque de control al formato necesario para OTB

Las variables InByte2_Conv20, InByte1_Conv20 y OutByte_Conv20 están definidas en la asignación de E/S de OTB. Por lo tanto, la sección de código intercambia datos con el dispositivo OTB. De esta forma, puede convertirse en parte de la plantilla de dispositivos.