• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar al pie de página

Programación Siemens

Cursos online de TIA Portal y PLC Siemens.

  • Cursos
  • Blog
  • Mi cuenta
    • Mi cuenta
    • Foros
    • Curso HMI con Python y Qt-Designer
    • Curso de AWL
    • Curso de iniciación a la Industria 4.0
    • Curso Express de TIA Portal
    • Curso de WinCC Flexible 2008
    • Crear HMI con OPC y VB.NET
    • Crear HMI con Snap7 y VB.NET
    • Curso ViSnap7
    • Curso de TIA Portal para CPU 1200
    • Curso de Step 7 V5.x
    • Curso de comunicaciones IE y Profinet
  • Contacto & Faq
Home | blog | Array en TIA Portal con 4 ejemplos

Array en TIA Portal con 4 ejemplos

Array en TIA Portal con 4 ejemplos

por Iñigo Gútiez · 2 comentarios

Hoy vamos a hablar de un concepto muy utilizado en la programación como son los array en TIA Portal.

No es algo que uses siempre, el 100% del tiempo, pero sí es algo habitual que hay que dominar.

Contenido

  • 1 ¿Qué es un array en TIA Portal?
  • 2 ¿Cómo hacer un array en TIA Portal?
  • 3 Ejemplos de array TIA Portal
    • 3.1 Uso de arrays en domótica, automatización y robótica
    • 3.2 Ejemplos de uso de array en TIA Portal en la industria
    • 3.3 Ejemplos de uso de arrays en TIA Portal en el blog
  • 4 ¿Qué te parecen los array en TIA Portal?

¿Qué es un array en TIA Portal?

Bueno, más que en TIA Portal, en general.

En una definición de andar por casa de array en plc podríamos decir que un array es una variable que es un listado de valores o variables a los que le asignamos un índice para poder acceder al contenido.

array en tia portal

Como ves, es como un conjunto de cajitas numeradas (0,1, 2…) donde cada cajita contiene el valor o información para dicha posición de la cajita.

Luego la forma de acceder a dicha información será haciendo referencia al número de cajita.

El uso de arrays en programación PLC es fundamental para almacenar datos que requieren cierta estructura y organización, como datos de sensores, actuadores o cualquier información que se necesite manipular de forma conjunta. Los arrays permiten un acceso eficiente a los elementos almacenados, lo que facilita el desarrollo de lógicas más complejas y la optimización del código.

Una definición más académica de array (matriz) de datos es la siguiente:

En informática, una matriz es una estructura de datos que consiste en una colección de elementos (valores o variables), del mismo tipo y tamaño de memoria, cada uno identificado por al menos un índice o clave de matriz.

Es una frase sencilla, pero que tiene su miga:

  • es una estructura de datos, es decir, siempre hablamos sobre datos y no sobre flujo de programa y el hecho de que sea una estructura hace que no sea sea lo que podríamos denominar una variable compleja, que a diferencia de una variable simple va a tener partes diferenciadas dentro de su contenido.
  • colección de elementos, es decir, vamos a tener un listado de valores (o variables) dentro de él. Lo que hemos llamado cajitas en la definición de andar por casa.
  • del mismo tipo y tamaño de memoria, es decir, todos tienen que se de la misma tipología (enteros, bool, timers…) y por tanto, cada uno de ellos tienen el mismo tamaño dentro de la memoria. Esto es importante porque no vamos a poder mezclar tipologías dentro del array. Ojo, sí podremos crear un array de Struct TIA Portal, donde cada estructura tenga enteros y reales, por ejemplo. Pero el array sería de tipo estructura, por lo que mantiene la coherencia.
  • cada uno identificado por al menos un índice o clave de matriz, es decir, están indexados y vamos a poder referirnos a cada posición del array mediante un número, o varios números, lo que implica que una matriz podrá ser de diferentes dimensiones: matrices de doble entrada, en 3D…

array en TIA Portal

¿Cómo hacer un array en TIA Portal?

La idea fundamental es almacenar información en cada cajita para posteriormente recuperar la información de dicha cajita mediante lo que denominaríamos recorrer un array en TIA Portal.

Los array solo se pueden declarar dentro de un DB. No es posible realizarlo con marcas.

A la hora de declarar el array, tan solo deberás usar la palabra reservada ARRAY dentro de la declaración de la variable.

Luego tendremos que dar el rango del array. Por ejemplo declararemos:

  • Array[1..10] para índices entre 1 y 10
  • Arrau[3..18] para índices que vayan entre 3 y 18
  • Array[-10..10] para índices que vayan entre -10 y 10

Pero también podrás declarar array en TIA Portal que tengan más de una dimensión:

  • Array[1..10, 30..45] para crear matrices TIA Portal con índice1 entre 1 y 10 y indice2 entre 30 y 45
  • Array[1..3,1..10,1..100] para índice1 entre 1 y 3, índice2 entre 1 y 10 e índice3 entre 1 y 100

Posteriormente haremos referencia a una posición de dicho array simplemente haciendo referencia a la posición de la cajita:

  • NombreDB.NombreVariableArray[5]
  • NombreDB.NombreVariableArray[5,6]

También vas a poder acceder a la información de forma indirecta usando variables:

  • NombreDB.NombreVariableArray[#indice] siendo #indice la que contendrá la posición a leer del array.

Ejemplos de array TIA Portal

Uso de arrays en domótica, automatización y robótica

  • Control de iluminación: Mediante el uso de un array, es posible almacenar y controlar el estado de múltiples luces en un sistema de domótica. Cada elemento del array puede representar una luz específica y su estado (encendido/apagado).
  • Monitoreo de sensores: En sistemas de automatización, se pueden utilizar arrays para almacenar lecturas de sensores, por ejemplo, temperatura, presión o nivel. Cada posición del array guarda la información correspondiente a un sensor específico.
  • Control de movimientos: En aplicaciones robóticas, los arrays son útiles para almacenar coordenadas de movimiento, velocidades o estados de actuadores. Esto permite realizar secuencias de movimientos precisos y controlados.

Ejemplos de uso de array en TIA Portal en la industria

  • Sistema de gestión de inventario: Un array puede utilizarse para almacenar y rastrear la cantidad de productos en un almacén, asignando una posición del array a cada producto y controlando su stock.
  • Control de procesos industriales: En aplicaciones industriales, los arrays pueden ser utilizados para monitorear y controlar múltiples variables de un proceso, como presiones, temperaturas, velocidades, entre otros.
  • Manejo de recetas en la industria alimentaria: Con el uso de arrays, es posible almacenar recetas de productos alimentarios y acceder a la información necesaria para la producción de cada producto en particular.

Estos son solo ejemplos de las infinitas posibilidades de uso de los arrays en TIA Portal. La flexibilidad y versatilidad de esta herramienta ofrece soluciones eficientes a una amplia variedad de aplicaciones en el ámbito de la automatización industrial.

Ejemplos de uso de arrays en TIA Portal en el blog

Durante estos años hemos hecho innumerables ejemplos en los que hemos usado un array en TIA Portal, pero vamos a repasar algunos de ellos como ejemplo.

  • Arranque de motores en el que mediante un array de multi instancias, programamos el arranque de los motores.
  • FIFO y LIFO en TIA Portal en el que introducimos datos y los recuperamos del FIFO/LIFO en función de las necesidades.
  • El caso de los caracteres booleanos en el que usamos un array de arrays para resolver el problema.
  • Deshacer y rehacer en TIA Portal para usarlo en tus HMI de Siemens emulando lo que puedes hacer con las aplicaciones de Windows. Te puede ser útil en editores como en el que se muestra en el ejemplo.

Ni que decir tiene que hay más ejemplo de arrays en TIA Portal dentro del blog, pero estos solo son unos ejemplos muy diferentes unos respecto a otros ya que nada tiene que ver el arranque de motores con un FIFO o con usarlo con el hacer/rehacer para un HMI.

Como verás en los ejemplos, el uso de arrays es muy útil cuando tienes información homogénea y que puedes indexar para que de una forma sencilla puedas referirte a dichos valores simplemente con un índice.

El uso como digo es independiente del proyecto. Lo vas a ver en cualquier tipo de máquina o línea. La única característica es que quieres guardar información que posteriormente vas a recorrer.

¿Qué te parecen los array en TIA Portal?

Supongo que lo tienes claro, pero he creído que podía ser importante darle un pequeño barniz nuevamente. Siempre está bien echar un vistazo a conceptos básicos en el blog, porque a veces hay lectores que no tienen las cosas demasiado claras.

Espero que con esta entrada quede un poco más claro lo que es un array, independientemente de que sea para TIA Portal o para Step 7 clásico, ya que se comportan básicamente igual.

Recuerda que todos los ejemplos resueltos, y muchos más los tienes a tu disposición en el curso TIA Portal de la serie S7-1200.

 

Iñigo Gútiez
Iñigo Gútiez

Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí

Puedes seguirme en cualquiera de las siguientes redes sociales.

Publicado en: blog, TIA Portal

Interacciones con los lectores

    Deja un comentario Cancelar

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

    2 Comentarios

  1. David dice

    8 agosto, 2023 a las 14:09

    Una tuve que controlar varios variadores de frecuencia y fue cuando entendi el sentido de STRUCT.
    Me cree una estructura de datos: frecuencia deseada, frecuencia real, consumo, en run,… donde las variables, como bien mencionas, podian ser de diferentes tipos, booleanas enteras, etc….
    Y como tenia mas de un variador solo tenia que crear un array de «variadores» con la estructura dentro. Una vez hecho, fue super facil a la hora de programar y si tienes que agregar algun variador mas
    no hay problema.
    Tus publicaciones ayudan mucho. A veces a recordar y otras a descubrir. Gracias

    Responder
  2. Guillermo J. Garbaty dice

    9 agosto, 2023 a las 21:39

    Muy bueno inge!!! Se lo extrañaba por acá con su sabiduría!!

    Responder

Footer

· Acerca de
· Misión, Visión y valores
· Aviso Legal y Política de Privacidad
· Condiciones de Venta
· Política de cookies
Utilizamos cookies propios y de terceros para mejorar nuestros servicios y tu experiencia de usuario. Si continuas navegando, consideramos que aceptas su uso. Aceptar Política de cookies
Política de Cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR