Cómo superponer variables con AT en TIA Portal

El uso de la palabra clave AT en TIA Portal está dirigido a acceder a bits de forma independiente de una variable dada.

La ventaja de usar AT en TIA portal es que el tiempo de procesamiento es notablemente inferior a una conversión de datos.

¿Qué se puede hacer con AT en TIA Portal?

Pues una cosa bastante interesante.

Imagina que tienes una serie de booleanas que quieres empaquetar como un word. O un Word que quieres disgregar en sus diferentes bits. Pues voilà, para eso sirve la palabra clave AT en TIA Portal.

Es decir, cogerías los diferentes bits, los pones uno detrás de otro en un array, y este se superpone sobre la variable que es un word. Pues bien, luego puedes trabajar con la variable word que contiene los 16 bits que los tenías por separado.

Análogamente en el sentido contrario. Puedes tener un Word,  desmembrarlo

Tiene una serie de temas a tener en cuenta (sacado de la web de siemens):

  • En AWL, KOP, FUP y GRAPH es posible superponer en S7-1200 y S7-1500.
  • En SCL es posible superponer en todas las familias de CPUs.
  • Es posible superponer variables en los siguientes bloques:
    • En bloques de código con acceso estándar.

    • En bloques de código con acceso optimizado para variables con el ajuste de remanencia puesto a “Activo en IDB”.

  • El ancho de datos de la variable que superpone debe ser igual o menor a la variable que se superpone.
  • No se pueden superponer los tipos de datos VARIANT e INSTANCE.
  • No se pueden superponer bloques de librería que se hayan declarado como parámetros en la interfaz.
  • No se pueden superponer variables de PLC estructuradas que se hayan declarado como parámetros en la interfaz.

La programación de la superposición de variables (tags) se realiza en la interfaz de bloque de una función o bloque de función. Seguir el procedimiento indicado en la siguiente tabla para declarar las variables.

La forma de declararlo, es sencilla. En la zona temporal, declaras la variable del tipo que desees. En el ejemplo de la imagen, he elegido INT.

at en tia portal

Justo debajo, declaras una variable, en mi caso la he llamado arrayValor y de tipo pones AT. Inmediatamente este AT pasará a la zona izquierda haciendo referencia a la variable superior. Luego declaras un array de booleanas si lo que quieres es acceder bit a bit (por ejemplo).

Lo mejor de este invento es que si tu escribes en uno de los bits del ArrayValor, estás escribiendo en el valor de la variable “Valor”, y al revés.

¿Interesante eh?

Pues la gracia del invento es poder pasar de un valor analógico a uno digital, por ejemplo.

Así, podrías tener un número, que lo quieres sacar en salidas digitales (por la razón que sea). Pues haciendo esto, sería tan simple como igualar cada bit del array a la salida correspondiente.

Tan sencillo como esto.

Te invito a que lo pruebes.

Si te parece interesante la programación en TIA Portal, y necesitas ayuda en tu formación, seguramente pueda ayudarte. Échale un vistazo a este curso super completo que estoy preparando y que está teniendo muy buena aceptación

Acerca de Iñigo Gútiez

Ingeniero industrial por la Escuela de Ingenieros Superiores de Bilbao. Trabajo como ingeniero de proyectos y automatización en Guardian Industries

Te puede interesar

Entrevista a Juan Carlos Martín (REEA)

En esta ocasión traigo al blog algo muy especial. Más bien a alguien especial. La …