Cómo almacenar información en una tabla de datos con una longitud determinada. Se irán incorporando valores a cada una de las posiciones de la tabla.

Cuando los valores insertados lleguen a la última posición de la tabla, el objetivo es conseguir que el siguiente valor que se vaya a almacenar se sitúe en la posición del primer valor añadido a dicha tabla, es decir, que se irán borrando de la tabla los valores más antiguos incorporados, respetándose los valores más recientemente incorporados.

Qué funciones utilizar para trabajar con una tabla.

Para conseguir almacenar los valores en una tabla excluyendo los valores más antiguos cuando se haya ocupado la totalidad de la memoria de la tabla, se pueden utilizar varias funciones de Siemens. En concreto, en este proyecto se va a trabajar con las funciones siguientes:

FC84:  ATT TABLE.

FC85:  FIFO TABLE.

FC88:  TBL TABLE.

Estas funciones se pueden encontrar en el árbol del proyecto del S7-300, concretamente en la “Standard Library”.

Árbol del proyecto donde ecncontrar las funciones de Standard Library.

Árbol del proyecto donde ecncontrar las funciones de Standard Library.

En la siguiente imagen se puede observar cómo quedaría el bloque utilizando una función FIFO. Con el resto de funciones, la estructura sería similar, pero cambiando algunos parámetros de la función:

Ejemplo de la inserción de la Función FIFO para trabajar con la tabla de datos.

Ejemplo de la inserción de la Función FIFO para trabajar con la tabla de datos.

Procedimiento para crear la tabla de datos.

Creación de un bloque de datos cuyas posiciones serán las posiciones de la tabla.

Crear un DB con una longitud determinada que es donde se van a insertar los datos de nuestra tabla. Es decir, que nuestra tabla va a ser un DB con una longitud concreta. Por ejemplo, se utiliza el DB1. Por ejemplo, se puede crear un DB1 con 12 variables de tipo INT.

Estructura de nuestra tabla.

El primer dato de tipo INT será la longitud total. Se le debe colocar un valor “10” que indicará que la tabla tendrá 10 posiciones (para nuestro ejemplo).

El segundo dato indicará en ONLINE la cantidad de registros que hay actualmente en la tabla escritos. Este valor irá cambiando en ONLINE cuando se vaya insertando un dato nuevo.

El resto de datos de DB serán los registros donde se van a ir almacenando los valores que queremos almacenar.

Ejemplo del bloque de datos (DB1) utilizado para almacenar los datos.

Ejemplo del bloque de datos (DB1) utilizado para almacenar los datos.

Últimos detalles.

Para conocer en profundidad el trabajo de la tabla en Step 7, debes leer los siguientes documentos:

Para insertar un dato dentro de la tabla habrá que utilizar la función ATT.

Para que los datos nuevos introducidos se superpongan a los antiguos hay que utilizar la función FIFO.

Para realizar una operación con los datos de nuestra tabla utilizar la función TBL.


Desarrollo del documento

Documento desarrollado por tecnoplc.com bajo una Licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.
Ante cualquier duda, consultar en www.tecnoplc.com.
Creative Commons pequeño