Está en la página 1de 39

SESION DE APRENDIZAJE N.

º 10
CONCEPTOS VARIOS

Docente Ing. Romel Jimenez. Montes De Oca


Memoria
las dos áreas principales es la organización de
memoria del PLC, este arreglo es conocido
como mapa de memoria. La primera de estas
secciones es la 'memoria de sistema o
memoria ejecutiva', la segunda es la 'memoria
de aplicación’.
Es importante entender el mapa de memoria
cuando se está creando un programa de
control para el PLC y se están definiendo las
tablas de datos.
Sección Tabla de Datos.
La sección de tabla de datos de la memoria del PLC, está compuesta de
varias áreas, estas son:
Estas áreas contienen información en formato binario representando el
estado de entradas y salidas, números, y códigos. Enseguida una
explicación de cada una de las tres áreas de la tabla de datos.
Tabla de Entradas.

La tabla de entradas es un arreglo de bits que almacena el estado de las


entradas digitales conectadas al PLC, a través de las interfases de
entrada. El número máximo de bits en la tabla de entradas, es igual al
número máximo de puntos de entrada digital que pueden conectarse al
PLC.
• Switch conectado a un bit de la tabla de entrada
Tabla de salidas.
La tabla de salidas es un arreglo de bits que controla el estado de los
dispositivos de salida digital que son conectados al PLC, a través de las
interfases de salida. El máximo número de bits disponibles de la tabla
de salidas es igual al máximo número de dispositivos de campo que
pueden hacer interfase con el PLC.
• Dispositivo conectado a un bit de la tabla de salida
Área de almacenamiento.

Contiene el estado de los bits internos que son referidos a: salidas


internas, bobinas internas, registros de uso general, valores
acumulados, etc. Todas estas condiciones internas son evaluadas por la
lógica del programa de control, en secuencias y/o operaciones de
registros.
Los valores almacenados, pueden representar también datos de
entrada de ciertos dispositivos. Esta área también puede ser usada para
almacenar constantes, tales como preset de timers y contadores,
resultados de operaciones aritméticas, valores acumulados de
contadores y timers, etc.
Diagramas de Lógica y Simbología de Lógica
de Contactos
En las aplicaciones de PLC's, no todos los elementos que participan en la lógica,
se encuentran programados y configurados como parte del programa que se
ejecuta en el procesador del PLC. Cuando hablamos de 'lógica cableada', nos
referimos a todas aquellas funciones lógicas (temporización, secuencia y
control), que son determinadas por la forma en como los dispositivos externos
al PLC son interconectados.
En ciertas aplicaciones, por razones de seguridad, algunas de las funciones de
control secuencial y/o lógico permanecen como lógica cableada y los puntos de
entrada/salida del PLC pueden interconectarse con esta lógica. Cuando el PLC
se encuentra funcionando correctamente, el control se realiza a partir de la
ejecución del programa en el PLC, cuando este llega a fallar, el operario puede
realizar algunas funciones elementales que permanecerán activas, ya que
dependen de la lógica cableada.
Simbología de Lógica de Contactos

La programación en forma de diagramas


de escalera, es el tipo de programación
más convencional, podríamos decir que las
tres funciones de lógica básica más
utilizadas son AND, OR y NOT. Pero existen
muchas otras de mayor complejidad que
están disponibles como parte del sistema
operativo del procesador del PLC y que
nos permiten implementar funciones de
control no solo secuencial, sino también
de control regulatorio.
Direccionamiento en el PLC

Cada símbolo en un renglón tendrá un número de referencia, el cual


representa una dirección
de memoria en el procesador del PLC; para las entradas y salidas
digitales consistirá , de un bit, en caso de valores analógicos, se
necesitara agrupar 8, 16 , 32 bits en forma de un byte. Esta es la
dirección lógica del cada dispositivo conectado al PLC, el procesador
mantiene una referencia constante entre el estado de cada punto de
entrada/salida y el contenido en memoria del procesador.
Bastidores de Entradas/Salidas y Tablas de Mapeo
El rack o bastidor retiene y organiza los módulos de e/s del controlador
programable permitiendo la asignación de una dirección en el mapa de
entradas/salidas. La dirección de e/s es un número único que identifica el
dispositivo de entrada/salida durante la configuración y ejecución del
programa.
Un rack en general, reconoce el tipo de módulo conectado a este (entrada o
salida) y la clase de interfase (discreta, analógica, numérica, etc).
bastidor maestro (master rack)
Se refiere al bastidor que contiene al cpu o módulo de procesamiento.
Este rack puede o no tener ranuras (s/ots) disponibles para la inserción
de módulos de entrada/salida. Entre más grande es el sistema del
controlador programable, en términos de cantidad de entradas/salidas,
es menos común que el rack maestro de cabida a módulos de
entrada/salida.
bastidor local
Es un bastidor que se ubica en la misma
área que el bastidor maestro, y que
contiene módulos de entrada/salida.
En general, un bastidor local contiene un
procesador de entradas y salidas que
permite el envío y recepción de datos al
procesador central o cpu del PLC. Esta
información bidireccional consiste de
datos de diagnostico, verificación de
errores de comunicación, estado de
puntos de entrada, y actualización de
puntos de salida.
bastidor remoto
Es un rack que contiene módulos de
entrada/salida, pero está localizado
en un punto distante con respecto
al procesador central. Los
bastidores remotos contienen un
procesador de entradas/salidas que
comunica el estado de los puntos
de entrada, actualiza estados de
salida y envía información de
diagnósticos locales al procesador
central.
Tipos de bloques
El programa se escribe en los llamados bloques. De manera estándar
está disponible el bloque de organización Main [OB1]. Este representa
la interfaz del sistema operativo de la CPU y, a su vez, este último lo
abre automáticamente y lo ejecuta de forma cíclica. En el caso de
tareas de control amplias, se subdivide el programa en bloques de
programa más pequeños, abarcables y ordenados por funciones. Estos
bloques son llamados desde los bloques de organización.
Programación lineal
En la programación lineal se guardan las instrucciones
en un bloque y se ejecutan en el orden en el que se
han guardado en la memoria de programa. Al llegar al
fin del programa (fin de bloque), vuelve a comenzar la
ejecución del programa desde el principio. Esto se
denomina ejecución cíclica. El tiempo que necesita un
dispositivo para ejecutar una vez todas las
instrucciones se denomina tiempo de ciclo. La
ejecución lineal del programa se utiliza normalmente
para controladores sencillos, no demasiado amplios, y
se puede implementar en un único bloque de
organización (OB).
Programación estructurada
En el caso de tareas de control amplias, se subdivide el programa en
bloques de programa más pequeños, abarcables y ordenados por
funciones. Esto presenta la ventaja de permitir la comprobación de
las partes del programa de forma independiente y ejecutarlas como
una función global durante el funcionamiento. Los bloques de
programa deben ser llamados por el bloque de orden superior. Si se
detecta un fin de bloque (BE), el programa continuará ejecutándose
en el bloque que llama, detrás de la llamada.
BLOQUES DE USUARIO: DESCRIPCIÓN
En primer lugar, hay que saber que existen muchas formas diferentes
de programar y que cada programador sigue sus reglas y se crea su
estructura de programa para su entendimiento. Los bloques en TIA
Portal son partes del programa donde puedes introducir un código de
programa determinado y de esta manera, dividir tu programa extenso
en muchos bloques para tener una fácil comprensión de este.
PARA QUÉ SIRVEN LOS BLOQUES DE USUARIO

Ya que sabemos la definición de un bloque en TIA Portal, vamos a


describir para qué sirven los bloques en programación. La utilización de
bloques en TIA Portal sirve para estructurar y organizar tu programa en
diferentes partes o rutinas que se irán ejecutando una detrás de la otra.
Por lo tanto, será más fácil seguir el programa para diagnosticar fallos y
para ver el funcionamiento.
Bloques de usuario
Para la programación estructurada existen los siguientes bloques de usuario:
• OB (bloque de organización):
• FB (bloque de función):
• FC (función):
• DB (bloque de datos):

Nota: Si solo se han utilizado variables internas en la programación de FC y


FB, estas pueden utilizarse varias veces como bloques estándar. Pueden ser
llamadas con cualquier frecuencia, aunque a los FB se les debe asignar en
cada llamada un área de memoria, la denominada instancia (p. ej. un DB).
OB (bloque de organización):
constituyen la interfaz entre el sistema operativo y el programa de usuario.
Estos bloques son llamados por el sistema operativo y controlan los procesos
siguientes: Comportamiento en arranque del sistema de automatización
• Ejecución cíclica del programa
• Ejecución del programa controlada por alarmas
• Tratamiento de errores
Los bloques de organización pueden utilizarse de distintas maneras en el
programa:
El programa se va a ejecutar secuencialmente, de manera que, ejecutará el OB1
principal y, cuando encuentre la llamada a un bloque, saltará a ese bloque.
OB de arranque, OB de ciclo, OB de error de tiempo y OB de diagnóstico: Estos bloques de organización
pueden insertarse y programarse fácilmente en el proyecto. No es necesario parametrizar ni llamar a estos
bloques de organización.
OB de alarma de proceso y OB de alarma cíclica: Estos bloques de organización se deben parametrizar tras
insertarlos en el programa. Además, durante el tiempo de ejecución, los OB de alarma de proceso se
pueden asociar a un evento mediante la instrucción ATTACH y desasociar nuevamente con DETACH.
OB de alarma de retardo: El OB de alarma de retardo se puede insertar y programar en el proyecto.
Además, es preciso llamarlo en el programa de usuario mediante la instrucción SRT_DINT. No es necesario
parametrizarlo. Información de arranque Al arrancar algunos bloques de organización, el sistema operativo
emite información que puede evaluarse en el programa de usuario. Esto puede resultar muy útil, sobre
todo, para el diagnóstico de fallos. En las descripciones de los bloques de organización se indica si se emite
información y de qué información se trata.
FB (bloque de función):

Los bloques de función contienen subprogramas que se ejecutan cada vez que un
bloque de función es llamado por otro bloque lógico.
Los bloques de función son bloques lógicos que depositan sus valores de forma
permanente en bloques de datos de instancia, de modo que siguen disponibles tras
procesar el bloque. Gracias a ello, continúan disponibles tras el procesamiento del
bloque. Por este motivo, se conocen también como bloques con "memoria". Los
bloques de función se utilizan en tareas que no se pueden realizar con funciones:
• Cuando son necesarios temporizadores y contadores en los bloques (consulte el
módulo M3).
• Cuando hay que almacenar información en el programa.
• Por ejemplo una preselección del modo de operación con un pulsador.
Un bloque de función también se puede llamar varias veces en
diferentes puntos de un programa. Esto facilita la programación de
funciones complejas que se repiten con frecuencia. Instancias de
bloques de función La llamada de un bloque de función se denomina
instancia. A cada instancia de un bloque de función se asigna un área
de memoria que contiene los datos que utiliza el bloque de función.
Esta memoria es proporcionada por bloques de datos que son creados
automáticamente por el software. La memoria también puede estar
disponible para varias instancias como multiinstancia en un bloque de
datos.
FC (función):
Una función contiene un programa que se ejecuta cada vez que la función es
llamada por otro bloque lógico. Las funciones (FC) son bloques lógicos sin memoria.
Los datos de las variables temporales se pierden tras haberse procesado la función.
Para guardar datos de forma permanente, las funciones pueden utilizar bloques de
datos globales. Las funciones se pueden utilizar p. ej. para los siguientes fines:
• Devolver valores de función al bloque invocante, p. ej. en funciones matemáticas
• Ejecutar funciones tecnológicas, p. ej. controles individuales con operaciones
lógicas binarias
Una función también se puede llamar varias veces en diferentes puntos de un
programa. Esto facilita la programación de funciones complejas que se repiten con
frecuencia.
DB (bloque de datos):

Al contrario que los bloques lógicos, los bloques de datos no contienen


instrucciones, sino que sirven para almacenar datos de usuario. Por tanto, los
bloques de datos contienen datos variables, con los que trabaja el programa
de usuario.
Los bloques de datos globales almacenan datos de usuario utilizables desde
todos los demás bloques. El tamaño máximo de los bloques de datos varía en
función de la CPU. La estructura de bloques de datos globales puede definirse
a discreción. Algunos ejemplos de aplicación son:
Guardar la información en un sistema de almacenamiento.
Guardar recetas de determinados productos.
Todo bloque de función, toda función o todo bloque de organización puede
leer datos de un bloque de datos global o escribir datos en él. Estos datos se
conservan en el bloque de datos incluso al cerrarlo.
La llamada de un bloque de función se denomina instancia. A cada llamada de
un bloque de función con transferencia de parámetros se asigna un bloque de
datos de instancia que sirve de memoria de datos. En él se depositan los
parámetros actuales y los datos estáticos del bloque de función. El tamaño
máximo de los bloques de datos instancia varía en función de la CPU. Las
variables declaradas en el bloque de función determinan la estructura del
bloque de datos de instancia. Un bloque de datos global y un bloque de datos
de instancia pueden estar abiertos simultáneamente.
Qué son los tipos de datos UDT en TIA Portal
UDT (User Data Type), son estructuras de datos simples (un entero) o complejos (un
array) que son definidos en el programa de usuario.
Es decir, no están disponibles en TIA Portal de origen, sino que eres tú quien los crea.
Estos UDT sirven para aunar bajo un único paraguas, datos de diferentes zonas de la
máquina que tienen una estructura común.
Así por ejemplo, podremos definir un UDT simple en el que pongamos consigna de
velocidad, orden de marcha, aceleración etc de una serie de variadores que al ser de
la misma marca, tienen la misma estructura de mando.
Por extensión, esto es posible también usarlo dentro del interface de un FB, ya que
este se va a apoyar en un DB, como ya sabes.
pueden utilizarse en todo el programa de usuario de dos formas:
Como tipos de datos simples o como tipos de datos compuestos en la
declaración de variables de bloques lógicos (FC, FB, OB) o como tipo de
datos para variables en un bloque de datos (DB). La ventaja es que basta
con definir una sola vez una estructura especial de datos, pudiéndola
asignar luego a cualquier cantidad de variables.
Como plantilla para crear bloques de datos de estructura idéntica, es decir,
que basta con elaborar una sola vez la estructura, pudiendo crear luego los
bloques de datos necesarios mediante la simple asignación del UDT (por
ejemplo, en el caso de las recetas: la estructura del DB es siempre igual,
variando sólo las cantidades).
En la siguiente figura se muestra un ejemplo del uso de un tipo de
datos de PLC en un bloque de datos.

También podría gustarte