Bloques de organización OB.
Los bloques lógicos permiten estructurar el programa de la CPU.
Los bloques de organización OB´s definen la estructura del programa.
Los OB´s llaman a las funciones FC´s y a los bloques de función FB´s. Un FB siempre lleva asociado un bloque de datos DB.
La CPU procesa los OB´s según su clase de prioridad.
Siempre debe existir al menos un OB el cual será llamado por el sistema operativo de manera cíclica.
Los bloques OB, pueden ser programados por el usuario, pero se ejecutan bajo un evento asociado y asignado por el propio
sistema operativo del PLC
Program cycle. Es el bloque de organización principal, puede existir uno o más.
Startup. Se ejercuta una única vez cuando la CPU pasa de Stop a Run.
Cyclic Interrupt. Permite ejecutar una parte del programa con una frecuencia diferente. Normalmente utilizado con las funciones de regulación PID.
Programming error. Evita la parada del programa ante un error en una línea del programa.
Rack or station failure. Evita la parada de la CPU si se produce un fallo en la periferia descentralizada.
Time error interrupt. Interrumpe el procesamiento cíclico del programa cuando se rebasa el tiempo de ciclo máximo.
Bloques de datos DB.
Un bloque de datos DB es una memoria en la cual no se pueden grabar instrucciones, únicamente sirve para almacenar datos. Existen dos tipos de bloques de datos:
DB de instancia. Realacionado con una función FB, y de configuración automática, no podemos modificar.
DB Global. Puede ser escrito y leído desde cualquier función del programa. Configurado por el usuario y con posibilidad de escribir o modificar.
Funciones FC.
Las funciones lógicas FC son bloques de datos sin memoria.
Las funciones FC son como subrutinas que pueden ser llamadas desde cualquier parte del programa.
Se utilizan para evitar repetir el programa varias veces. Por ejemplo en el control repetitivo de motores.
Pueden implementarse con parámetros o no.
Las variables pueden se In (Escritura), Out(Lectura), InOut(Escritura-Lectura), o Temp. La bobina de un motor en el que usamos su contacto para la realimentación deberá ser considerada una variable InOut.
Las funciones FC no tienen memoria y si deseamos que se conserven los datos al terminar el ciclo deberemos implementarlas con marcas o variables de un DB.
El bloque FC no contiene un almacenamiento cíclico de datos, y por tanto si dentro del bloque se realiza una operación, sólo será útil durante esa ejecución.
Las variables utilizadas son variables locales y para diferenciarlas van precedidas del símbolo “#”.
El nombre de las variables puede repetirse ya que sólo están activas mientras se ejecuta la función. Las variables no pueden seleccionarse como remanentes salvo que las asociemos a un DB de instancia global.
Funciones FB.
Los bloques de función FB son bloques lógicos que depositan sus parámetros de
entrada, salida y entrada/salida de forma permanente en bloques de datos
instancia, DBi, de modo que siguen estando disponibles después de editar el
bloque. Por eso también se denominan «bloques con memoria».
Las funciones FB son como subrutinas con memoria. Un FB lleva asociado un bloque de datos DB llamado DB de instancia.
Los FB se utilizan para controlar tareas o dispositivos cuya operación no finaliza dentro de un ciclo.
A diferencia del FC, éste bloque tiene asociado por defecto un DB de Instancia, en el que los valores generados por la ejecución (llamada) del FB serán almacenados, a éstos datos se les llama ESTÁTICOS, y solo los tienen los FBs.
Si un bloque FB es llamado, va a ejecutar su rutina y a almacenar sus datos en el DB de instancia asociado a este FB. Quiere decir que en la siguiente llamada del bloque FB, los datos inmediatos anteriores se mantienen presentes, ya que permanecen estáticos contenidos en el DB asociado.
Podemos seleccionar las variables como remanentes.
Tipos de variables.
Variables globales. Son las variables asignadas como entradas, salidas o memoria.
Variables locales. Asociadas a cada bloque FC o FB se distinguen por que van precedidas por el signo #. Pueden ser del tipo In, Out, InOut, Temp. Además los bloques FB pueden incluir variables estáticas o permanentes, y por tanto pueden ser llamadas desde cualquier parte del programa.
Variables temporales. Las variables temporales se encuentran disponibles en los bloques FC y en los FB. Representan los datos que después de un ciclo de lectura del PLC en ese bloque, serán borrados. Estas variables permanecen activas sólo durante el tiempo de ejecución del bloque.
Variables estáticas. Son exclusivas de los bloques FB ya que se almacenan en el DB de instancia asociado a él. Esto hace que los datos permanezcan accesibles de forma continua sin importar si se mandó a llamar nuevamente el FB o no.
Resumen diferencias FC y FB.
- Si en las funciones FC se usan variables tipo TEMP, no se podrán usar en diferentes llamadas.
- La función FC no dispone de memoria, por tanto ante un corte de la alimentación eléctrica no memoriza ningún dato. En cambio la función FB si que memoriza los datos en el DB asociado.
PRÁCTICA 1
PRÁCTICA 2
PRÁCTICA 3
PRACTICA 4 (P Escena59)
Nos piden incorporar en la máquina anterior un contador de piezas en cada máquina y un botón de Reset. ESCENA 59
Cuestiones
FALLO7
FALLO8
TEST
