Qué es un Array y para qué se utiliza. Qué finalidad tiene este tipo de dato en un proyecto S7-300. Definición para el Software de Step7, pero igualmente aplicable al mismo tipo de dato en TIA Portal. Podrás ver el comportamiento en Step7 y utilizar esta definición también para utilizarlo en TIA Portal. De qué está compuesto y cómo diferenciarlo del resto de datos.
Pero ¿qué es un Array de datos?
En términos de programación se puede definir un array (matriz o vector) como una zona en la que se van a almacenar una serie de elementos del mismo tipo de forma continua. Por lo tanto, se puede definir como un conjunto de elementos que estarán ordenados en filas, o en filas y columnas como si se tratara de dos dimensiones.
Mientras tanto, en la siguiente imagen se puede ver la estructura de un array:
¿Qué formato tienen los tipos de datos Array?
Asimismo, el array es un tipo de datos compuesto en Step 7 y puede comprender hasta 6 dimensiones. Se puede utilizar cualquier tipo de datos, con la particularidad de que todos deben ser el mismo tipo de dato. Por consiguiente, cuando creamos un Array tenemos que indicar el tipo de datos que tendrá la matriz. Por esta razón, si creamos un Array de 10 elementos del tipo BOOL, los 10 elementos serán del tipo BOOL.
Ciertamente, cuando creamos este vector o matriz debe tener, como mínimo, dos elementos.
Indicar las dimensiones de un array.
Ya que es más fácil enseñar con ejemplos, os muestro un par de ejemplos de declaración:
Unidimensional:
Array[a1..a2]
Array[-2..-1]
Array[0..1]
Si queremos añadir más dimensiones, se añadirán a continuación de la primera, separadas por comas.
Tridimensional:
Array[a1..a2, b1..b2, c1..c2]
Como editar una lista de variables.
Como resultado, cuando se declara un Array los valores se pueden inicializar en la columna de inicialización.
¿Cómo rellenar los valores iniciales de un Array?
Para inicializar los elementos se debe hacer con una lista de valores que irán separados con comas entre sí. Además, también se puede asignar una repetición de valores: por ejemplo, “4(10)” asignará el valor 10 a los 4 elementos siguientes. Por lo tanto, los elementos a los que no se les haya asignado ningún valor inicial, se establecerán automáticamente con valor “0”.
Direccionamiento simbólico.
En el programa de Step 7 se puede acceder a los valores del array mediante el nombre de la variable. Veamos un ejemplo:
L #nido[3]
T MW30
Por consiguiente, el código nos indica que va a cargar en MW30 el valor que se encuentra en el elemento número 3 del Array llamado “nido”.
Creación de un Array en un bloque de datos.
Finalmente vamos a crear un ejemplo en el cual vamos a crear una matriz dentro de un bloque de datos (DB).
En la imagen se observa que se le ha dado un nombre, una estructura y un valor inicial, igual que se ha mencionado en todos los pasos anteriores de este documento.
Como resultado, se ha creado una matriz de nombre: BIT.
Ciertamente a la hora de definir la matriz se le ha dado una longitud: [0..10], por lo que contendrá 10 elementos, y además se le indica el tipo de datos de esos elementos, en la fila de abajo indicado como: “BOOL”, por lo tanto se está hablando de 10 elementos de tipo bit.
Si obtenemos la vista de declaración del DB en cuestión se observarán los diez elementos:
Ya has visto la estructura y utilización de este dato complejo en Step7. Si tienes alguna duda sobre alguno de los tipos de datos en Step7, debes leer otro documento. Te explico paso a paso todos los tipos de datos para utilizar con tu S7-300. Puede que sepas utilizar un BOOL, ¿pero conoces con detalle los tipos de datos INT? ¿Y los tipos de datos REAL? No te lo pierdas:
Buenas tardes,
Estoy teniendo un problema con una DB que tiene ARRAYS en su interior. Quiero acceder al array pero no me deja poner nada dentro de los corchetes…
No se si me he explicado bien.
Un saludo. Gracias!
Hola: en primer lugar, tienes que asegurarte de que estás Offline, que me imagino que sí, pero por tenerlo claro, ya que en Online no te dejará modificarlo. Después, depende de como lo tengas declarado, es decir, si no está declarado correctamente, te aparecerá algún valor en rojo. Si está correcto, simplemente pinchando dentro de los corchetes te dejará introducir un valor, por ejemplo puedes poner: [0..69]. Recuerda poner los dos puntos para indicar que va desde un valor hasta otro valor, en este caso, de 0 a 69. Espero que te sirva de ayuda.