Es posible asociar distintos DBs de instancia a diferentes llamadas del FB. Los DBs
instancia permiten utilizar un FB genérico para controlar varios dispositivos. El programa se
estructura de manera que un bloque lógico llame un FB y un DB de instancia. La CPU
ejecuta entonces la lógica del programa en ese FB y almacena los parámetros del bloque y
los datos locales estáticos en el DB de instancia. Cuando finaliza la ejecución del FB, la
CPU regresa al bloque lógico que ha llamado el FB. El DB de instancia conserva los valores
de esa instancia del FB. Si el FB se diseña para realizar tareas de control genéricas, es
posible reutilizarlo para varios dispositivos, seleccionando diferentes DB de instancia para
las distintas llamadas del FB.
La figura siguiente muestra un OB que llama un FB tres veces, utilizando un bloque de
datos diferente para cada llamada. Esta estructura permite que un FB genérico controle
varios dispositivos similares (p. ej. motores), asignando un bloque de datos instancia
diferente a cada llamada de los distintos dispositivos.
Cada DB de instancia almacena los datos (p. ej. velocidad, tiempo de aceleración y tiempo
de operación total) de un dispositivo en particular. En este ejemplo, el FB 22 controla tres
dispositivos diferentes. El DB 201 almacena los datos operativos del primer dispositivo, el
DB 202, los del segundo y, el DB 203, los del tercero.
6.1.3
Los bloques de datos permiten almacenar fácilmente los datos del programa
Los bloques de datos (DB) se crean en el programa de usuario para almacenar los datos de
los bloques lógicos. Todos los bloques del programa de usuario pueden acceder a los datos
en un DB global. En cambio, un DB de instancia almacena los datos de un bloque de
función (FB) específico.
El programa de usuario puede almacenar los datos en las distintas áreas de memoria de la
CPU, p. ej. en las áreas de entradas (I), salidas (Q) y marcas (M). Además, es posible
utilizar un bloque de datos (DB) para acceder rápidamente a los datos almacenados en el
programa. Un DB se puede definir de manera que sea de sólo lectura.
Los datos almacenados en un DB no se borran cuando se cierra el bloque de datos o
cuando finaliza la ejecución del bloque lógico asociado. Hay dos tipos de DBs, a saber:
Easy Book
Manual de producto, 04/2011, A5E02486778-02
Programación cada vez más sencilla
6.1 Fácil diseño del programa de usuario
83