FB y FC de un PLC

Hoy en día es común escuchar que la automatización es parte fundamental de las industrias para ayudar a reducir o eliminar tiempos muertos en la maquinaria, reducir o eliminar errores o defectos en la calidad de los productos, no obstante muchas veces desconocemos todo lo que implica automatizar algún proceso industrial de forma eficiente y…

Hoy en día es común escuchar que la automatización es parte fundamental de las industrias para ayudar a reducir o eliminar tiempos muertos en la maquinaria, reducir o eliminar errores o defectos en la calidad de los productos, no obstante muchas veces desconocemos todo lo que implica automatizar algún proceso industrial de forma eficiente y profesional. 

Muchos procesos industriales consisten en actividades cíclicas que se deben reproducir en varios elementos de la misma máquina y resulta poco eficiente el realizar una extensa programación para cada elemento en el mismo bloque, como lo es en el Main (OB1).


Así mismo, para poder realizar una programación eficiente de un PLC, se debe buscar que se use el mínimo de memoria total del controlador mediante el uso de subrutinas.

Una subrutina es un proceso que se ejecuta sólo cuando es llamado, diferenciándose así por ejemplo del bloque OB1 el cual es leído y ejecutado en cada ciclo de SCAN del PLC. Así se asegura que las áreas de memoria del controlador no se verán saturadas o en conflicto si es que se realiza una programación extensa en el bloque Main OB1.

En el software TIA Portal para los controladores SIEMENS se cuenta con 2 tipos de subrutinas que resultan imprescindibles en la programación estructurada de un proyecto de PLC, éstos son los FCs y FBs.

 

Un DB es un Bloque de Datos en el cual no se programa, solo se pueden almacenar datos que pueden ser leídos o escritos en otra parte del programa por algún bloque u operación. Existen 2 tipos de DB: DB de INSTANCIA y DB GLOBAL; el primero está relacionado con un FB y solo éste puede modificar sus valores, en cambio el DB Global puede ser escrito y leído por cualquier bloque.

 

 

Un bloque FC (Función) es una subrutina la cual puede contener una secuencia en específico, y que puede ser llamado desde otro bloque OB, FC o FB. Su peculiaridad reside en que no contiene un almacenamiento cíclico de datos, es decir, si dentro de él se tiene algún programa donde se escribe algún valor o se realiza una operación este podrá ser útil en esa y solo esa ejecución, y en la siguiente llamada del bloque FC el resultado de aquella operación se perderá.

Un bloque FB (Function Block) es una subrutina la cual también puede contener una secuencia u operaciones dentro de él, y que puede ser llamado también desde otro bloque como OB, FC o FB. A diferencia del FC, éste bloque tiene asociado por default un DB de Instancia, en el cual los valores procedentes del FB son almacenados, a éstos datos se les llama ESTÁTICOS, y solo los tienen los FBs.

Por tanto, al ser llamado el FB y ejecutada su lógica previamente programada, sus datos se almacenan en el DB de instancia asociado a este FB, por tanto, en la siguiente llamada del bloque, los datos inmediatos anteriores se vuelven a cargar, ya que están contenidos en el DB.

Antes de comenzar con la programación es importante familiarizarse con los conceptos de Variables Locales, Globales, Temporales y Estáticas.

Las variables locales, son aquellas que puede acceder el bloque en el que está asignado, si algún otro bloque intenta acceder o usar estas variables, le resultará imposible acceder a ellas de forma directa. Las variables globales, como el nombre lo indica, son aquellas que pueden ser usadas o accedidas desde y por cualquier bloque del proyecto.

En TIA Portal las variables Globales son aquellas que son direccionadas como entradas, salidas o memorias (E, Q, M); en cambio en TIA Portal las variables locales se agregan en cada FB o FC y se distinguen por tener precedente a su nombre el signo “#”

Las variables temporales están tanto en los FCs como en los FBs, representan los datos que después de un ciclo de lectura del PLC a ese bloque son borradas, pues solo estuvieron activas por ese tiempo de ejecución. En cambio las variables estáticas son exclusivas de los FBs ya que éstas se almacenan en el DB de instancia asociado a él, haciendo que el valor o dato escrito permanezca accesible y de forma continua sin importar si se mandó a llamar nuevamente el FB o no.

El dominar estas funciones, nos permitirá aprovechar al máximo las capacidades que nos brinda un PLC, logrando también reducir los recursos disponibles del controlador como lo es la memoria; programar de forma profesional  y estructurada es un requerimiento para la industria de hoy en día, pues reduce la cantidad de errores, la cantidad de tiempos muertos y posibilidad de migrar hacia las nuevas tendencias en la industria como lo es la Industria 4.0



ROS – ¿Un sistema operativo diseñado para robots?
La importancia que tiene los robots actualmente ha llegado a fines insospechables. Desde las industrias hasta las oficinas podemos encontrar actividad de estos seres artificiales; sin embargo, siempre ha existido una variable con la que los ingenieros han batallado buscando mejorar. Cómo hacer que estos seres piensen y actúen más como humanos y no como…