7.3.3
Bloque de función (FB)
Un bloque de función (FB) es un bloque lógico que utiliza un bloque de datos instancia para sus
parámetros y datos estáticos. Los FBs tienen una memoria variable ubicada en un bloque de
datos (DB) o DB "instancia". El DB instancia ofrece un bloque de memoria asociado a esa
instancia (o llamada) del FB y almacena datos una vez que haya finalizado el FB. 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 instancia. La CPU ejecuta luego el código del programa
en ese FB y almacena los parámetros del bloque y los datos locales estáticos en el DB instancia.
Cuando finaliza la ejecución del FB, la CPU regresa al bloque lógico que ha llamado el FB. El DB
instancia conserva los valores de esa instancia del FB. Estos valores están disponibles para las
llamadas posteriores al bloque de función, bien sea en el mismo ciclo o en otros ciclos.
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.
También puede modificar y cargar la interfaz de bloque de función en estado operativo RUN
(Página 1229).
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.
Controlador programable S7-1200
Manual de sistema, V4.5 05/2021, A5E02486683-AO
Principios básicos de programación
7.3 Utilizar bloques para estructurar el programa
181