Bloques lógicos reutilizables con memoria asociada
Por lo general, los FBs se utilizan para controlar tareas o dispositivos cuya operación no
finaliza dentro de un ciclo. Para almacenar los parámetros operativos de manera que sea
posible acceder rápidamente a ellos de un ciclo a otro, todo FB del programa de usuario
tiene uno o más DBs instancia. Cuando se llama un FB, se especifica también un DB
instancia que contiene los parámetros del bloque y los datos locales estáticos de esa
llamada o "instancia" del FB. El DB instancia conserva estos valores una vez finalizada la
ejecución del FB.
Si el FB se diseña para realizar tareas de control genéricas, es posible reutilizarlo para
varios dispositivos, seleccionando diferentes DB instancia para las distintas llamadas del
FB.
Un FB guarda los parámetros de entrada, salida, entrada y salida y estáticos en un DB de
instancia.
Asignar el valor inicial en el DB instancia
El DB instancia almacena un valor predeterminado y un valor iniciar para cada parámetro. El
valor inicial proporciona el valor que debe utilizarse cuando se ejecuta el FB.
Posteriormente, el valor inicial puede modificarse durante la ejecución del programa de
usuario.
La interfaz del FB también dispone de una columna "Valor predeterminado" que permite
asignar un nuevo valor inicial a los parámetros mientras se escribe el código del programa.
Este valor predeterminado en el FB se transfiere posteriormente al valor inicial en el DB
instancia asociado. Si no se asigna ningún valor inicial nuevo a un parámetro en la interfaz
del FB, el valor predeterminado del DB instancia se copia en el valor inicial.
Utilizar un solo FB con DBs
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 instancia almacena los datos
(p. ej. velocidad, tiempo de aceleración y tiempo de operación total) de un dispositivo en
particular.
Controlador programable S7-1200
Manual de sistema, 11/2011, A5E02486683-05
99BPrincipios básicos de programación
6.3 Utilizar bloques para estructurar el programa
149