8.
0 Programación Básica de PLC (Programable Logic Controller )
[Link]ón
De una manera general podemos definir al controlador lógico programable como
toda máquina electrónica diseñada para controlar en tiempo real y en medio
industrial procesos secuénciales de control. Su programación y manejo pueden ser
realizados por personal con conocimientos eléctricos o electrónicos, sin previos
conocimientos sobre informática.
Los Controladores Lógicos Programables, (PLCs, Programable Logic Controller)
nacieron a finales de la década de los 60s y principios de los 70s. Las industrias que
propiciaron este desarrollo fueron las automotrices. Ellas usaban sistemas
industriales basadas en relevadores (relés), en sus sistemas de manufactura.
Buscando reducir los costos de los sistemas de control, la General Motors preparó
en 1968 ciertas especificaciones detallando un “Controlador Lógico
Programable”. Estas especificaciones definían un sistema de control por
relevadores que podían ser asociados no solamente a la industria automotriz, sino
prácticamente a cualquier industria de manufactura. Estas especificaciones
interesaron a ciertas compañías tales como GEFanuc, Reliance Electric,
MODICON, Digital Equipament Co. , de tal forma que el resultado de su trabajo se
convirtió en lo que hoy se conoce como Controlador Lógico Programable.
Los PLCs surgen como equipos electrónicos sustitutos de los sistemas de control
basados en relevadores, que se hacían más complejos lo que arrojaba ciertas
dificultades en cuanto a la instalación de los mismos. Los altos costos de operación
y mantenimiento y la poca flexibilidad y confiabilidad de los equipos como así
también el costo excesivo, impulsaron el desarrollo de los nuevos autómatas.
Los primeros PLCs se usaron solamente como reemplazo de relevadores, es decir,
su capacidad se reducía exclusivamente al control On Off (de dos posiciones) en
máquinas y procesos industriales. De hecho todavía se siguen usando en muchos
casos como tales. La gran diferencia con los controles por relevador fue su facilidad
de instalación, ocupan menor espacio, costo reducido, y proporcionan
autodiagnósticos sencillos.
En la década de los 70s con el avance de la electrónica, la tecnología de los
microprocesadores agregó facilidad e inteligencia adicional a los PLCs generando
un gran avance y permitiendo un notorio incremento en la capacidad de interfase
con el operador, ampliación de datos, uso de términos de video, desarrollo de
programas, etc.
De a poco se fue mejorando la idea inicial de los PLCs convirtiéndose en lo que
ahora son, Sistemas Electrónicos Versátiles y Flexibles.
El control Lógico Programable es ideal para ser operado en condiciones criticas
industriales, ya que fue diseñado y concebido para su uso en el medio ambiente
industrial.
Los PLC ofrecen muchas ventajas sobre otros dispositivos de control tales como
relés, temporizadores electrónicos, contadores y controles mecánicos como del tipo
tambor.
Cuando se decidió implementar un sistema diferente para mejorar el desempeño
industrial de una empresa, los ingenieros de la General Motors pensaron que dicho
dispositivo debería reunir las siguientes cualidades:
• El dispositivo de control debería ser fácil y rápidamente programable por el
usuario con un mínimo de interrupción.
• Todos los componentes del sistema deberían ser capaces de operar en plantas
industriales sin un especial equipo de soporte, de hardware o de ambiente.
• El sistema tenía que ser de fácil mantenimiento y reparación. Tenía que incluir
indicadores de status para facilitar las reparaciones y la búsqueda de errores.
• El sistema tenía que ser pequeño y debía consumir menor potencia que los
sistemas de control por relevadores.
• Tenía que ser capaz de comunicarse con un sistema central de datos para
propósitos de monitoreo.
• Las señales de salida tenían que poder manejar arranques de motores y válvulas
solenoides que operan con la tensión de red de C.A.
• Debía ser competitivo en costo de venta e instalación, respecto de los sistemas
en base a relevadores.
Los PLC actuales no solamente cumplen estos requisitos si no que lo superan. El
PLC actual es una computadora de propósito especifico que proporciona una
alternativa más flexible y funcional para los sistemas de control industriales.
Es un aparato electrónico operado digitalmente que usa una memoria programable
para el almacenamiento interno de instrucciones las cuales implementan funciones
específicas tales como lógicas, secuénciales, temporización, conteo y aritméticas,
para controlar a través de módulos de entrada/salida digitales y analógicas, varios
tipos de máquinas o procesos. Una computadora digital que es usada para ejecutar
las funciones de un controlador programable, se puede considerar bajo este rubro, se
excluyen los controles secuénciales mecánicos.
Al PLC también se le puede definir como una “caja negra” en la que existen
terminales de entrada a los que se conectarán pulsadores, finales de carrera, foto
celdas, detectores, etc. , terminales de salida a los que se le conectarán bobinas de
contactores, electroválvulas, lámparas, etc., de tal forma que la actuación de esos
últimos están en función de las señales de entrada que estén activadas en cada
momento, según el programa almacenado.
La tarea del usuario se reduce a realizar el “programa” que no es más que la relación
entre las señales de entrada que se tienen que cumplir para activar cada salida.
De esta manera, los PLC deben incluir algún tipo de dispositivo lógico
programable.
[Link] de los PLC:
Los PLCs se introdujeron por primera vez en la industria en 1960 aproximadamente. La
razón principal de tal hecho fue la necesidad de eliminar el gran costo que se producía
al reemplazar el complejo sistema de control basado en relés y contactores. Bedford
Associates propuso algo denominado Controlador Digital Modular (MODICON,
MOdular DIgital CONtroler) a un gran fabricante de coches. Otras compañías
propusieron a la vez esquemas basados en ordenador, uno de los cuales estaba basado
en el PDP-8. El MODICON 084 resultó ser el primer PLC del mundo en ser producido
comercialmente.
El problema de los relés era que cuando los requerimientos de producción cambiaban
también lo hacía el sistema de control. Esto comenzó a resultar bastante caro cuando los
cambios fueron frecuentes. Dado que los relés son dispositivos mecánicos y poseen una
vida limitada se requería una estricta mantención planificada. Por otra parte, a veces se
debían realizar conexiones entre cientos o miles de relés, lo que implicaba un enorme
esfuerzo de diseño y mantenimiento.
Los “nuevos controladores” debían ser fácilmente programables por ingenieros de
planta o personal de mantenimiento. El tiempo de vida debía ser largo y los cambios en
el programa tenían que realizarse de forma sencilla. Finalmente se imponía que
trabajaran sin problemas en entornos industriales adversos. La solución fue el empleo
de técnica de programación familiar y reemplazar los relés mecánicos por relés de
estado sólido.
A mediados de los 70 las tecnologías dominantes de los PLC eran máquinas de estado
secuénciales y CPU basadas en desplazamiento de bit. Los ADM 2901 y 2903 fueron
muy populares en el Modicon y PLCs A-B.
Los microprocesadores convencionales cedieron la potencia necesaria para resolver de
forma rápida y completa la lógica de los pequeños PLCs. Por cada modelo de
microprocesador había un modelo de PLC basado en el mismo. No obstante, el 2903
fue de los más utilizados.
Las habilidades de comunicación comenzaron a aparecer en 1973 aproximadamente. El
primer sistema fue el bus Modicon (Modbus) El PLC podía ahora dialogar con otros
PLCs y en conjunto podían estar aislados de las maquinas que controlaban. También
podían enviar y recibir señales de tensión variables, entrando en el mundo analógico.
Desafortunadamente, la falta de un estándar acompañado con un continuo cambio ha
hecho que la comunicación de PLCs sea un maremagnum de sistemas físicos y
protocolos incompatibles entre sí. No obstante fue una gran década para los PLCs.
En los 80 se produjo un intento de estandarización de las comunicaciones con el
protocolo MAP (Manufacturin Automation Protocol) de General Motors. También fue
un tiempo en el que se redujeron las dimensiones del PLC y se pasó a programar con
programación simbólica a través de ordenadores personales en vez de los clásicos
terminales de programación. Hoy día el PLC más pequeño es del tamaño de un simple
relé.
Los 90 han mostrado una gradual reducción en el número de nuevos protocolos, y en la
modernización de las capas físicas de los protocolos más populares que sobrevivieron a
los 80. El último estándar (TEC 1131-3) intenta unificar el sistema de programación de
todos los PLC en un único estándar internacional. Ahora disponemos de PLCs que
pueden ser programados en diagramas de bloques, lista de instrucciones, C y texto
estructurado al mismo tiempo.
Los PC están comenzando a reemplazar al PLC en algunas aplicaciones, incluso la
compañía que introdujo el Modicon 084 ha cambiado al control basado en PC. Por lo
cual, no sería de extrañar que en un futuro no muy lejano el PLC desaparezca frente al
cada vez más potente PC, debido a las posibilidades que este último puede
proporcionar.
Aplicaciones de un PLC y Ventajas:
El PLC por sus especiales características de diseño tiene un campo de aplicación muy
extenso. La constante evolución del hardware y software amplía continuamente este
campo para poder satisfacer las necesidades que se detectan en el aspecto de sus
posibilidades reales.
Su utilización se da fundamentalmente en aquellas instalaciones en donde es necesario
realizar procesos de maniobra, control, señalización, etc. Por tanto, su aplicación abarca
desde procesos de fabricación industrial de cualquier tipo al de transformaciones
industriales, control de instalaciones, etc.
Aunque el PLC fue originalmente diseñado como un dispositivo de reemplazo de
control industrial, hoy se los emplea en innumerables aplicaciones para que cumplan las
necesidades de los usuarios. Los PLC están diseñados modularmente y por lo tanto con
posibilidades de poder expandirse para satisfacer las necesidades de la industria. Es
importante que a la aplicación de un PLC se puede considerar los beneficios de las
futuras expansiones.
Pero entonces, ¿Qué es un PLC?
Se entiende por controlador lógico programable (PLC) a toda máquina electrónica
diseñada para controlar en tiempo real y en medio industrial procesos secuénciales.
Sin embargo, esta definición está quedando obsoleta, ya que han aparecido los micro-
plc’s, destinados a pequeñas necesidades y al alcance de cualquier persona. Tal como
comentamos, un PLC suele emplearse en procesos industriales que tengan una o varias
de las siguientes necesidades:
• Espacio reducido.
• Procesos de producción variables.
• Procesos de producción secuénciales.
• Instalaciones de procesos complejos.
Necesidades de chequeo de programación centralizada de las partes del proceso.
De esta manera, son ampliamente utilizados en el control de maniobras de máquinas,
maniobra de instalaciones y en aplicaciones de señalización y control.
No podemos dejar de lado los pequeños PLCs para uso más personal (que se pueden
emplear, incluso, para automatizar procesos en el hogar, como la puerta de una cochera
o las luces de la casa).
Cabe aclarar que, si bien uno de los inconvenientes de utilizar estos dispositivos radica
en la capacitación del personal que los va a utilizar, en la mayoría de las universidades
de la especialidad, se enseña tanto el funcionamiento como su empleo por lo cual es un
tema superado. En cuanto al costo tampoco hay problema, ya que hay PLCs para todas
las necesidades y a precios bajos.
Ventajas y Desventajas de los PLC’s.
Entre las ventajas del uso de los PLC’s tenemos:
• Menor tiempo de elaboración de proyectos.
• Posibilidad de añadir modificaciones sin costo añadido en otros componentes.
• Mínimo espacio de ocupación.
• Menor costo de mano de obra.
• Mantenimiento económico.
• Posibilidad de gobernar varias máquinas con el mismo autómata.
• Menor tiempo de puesta en funcionamiento.
Si el autómata queda pequeño para el proceso industrial puede seguir siendo de utilidad
en otras máquinas o sistemas de producción.
En cuanto a las desventajas, sólo podemos mencionar la necesidad de adiestramiento de
personal y su “posible” costo elevado.
[Link] básica de un PLC.
¿Qué es la Lógica programable?
La lógica programable, es una familia de componentes que contienen conjuntos de
elementos lógicos (AND, OR, NOT, TON, TOF, etc.) que pueden configurarse para que
cumplan cualquier función lógica que el usuario desee y que el componente soporte.
Estructura de un PLC.
Todos los PLCs comerciales poseen una estructura externa compacta en la que están
todos los elementos (en un solo).
Sin embargo, podemos decir que existen básicamente dos formas externas de
presentación de los PLCs, una modular y la otra compacta.
En cuanto a la estructura modular existen:
Estructura americana: separa las E/S del resto del autómata.
Estructura europea: cada módulo es una función (fuente de alimentación, CPU, E/S,
etc.).
Los micro-plcs suelen venir sin caja, en formato kit, ya que su empleo no es
determinado y se suele incluir dentro de un conjunto más grande de control o dentro de
la misma maquinaria que se debe controlar.
En la figura 1 se muestra el diagrama en bloques correspondiente a la estructura interna
de un PLC típico, en él podemos ver lo siguiente:
En la parte inferior del diagrama podemos observar la comunicación del PLC con el
exterior, así tenemos Registros de entrada y salida de datos y puertas de expansión. A
ellas se conectan las secciones de entrada y de salida.
Sección de entradas: se trata de líneas de entrada, las cuales pueden ser de tiò digital o
analógico. En ambos casos se tienen rangos de tensión característicos, los cuales se
encuentran en las hojas de características dadas por el fabricante. A estas líneas
conectaremos los sensors, y las líneas de transmisión.
Sección de salidas: son una serie de líneas, que también pueden ser de carácter digital o
analógico. A estas líneas conectaremos los actuadores.
Tanto las entradas como las salidas están aisladas de la CPU según el tipo de autómata
que utilicemos. Normalmente se suelen emplear opto acopladores en las entradas y
relés/opto acopladores en las salidas.
Un elemento importante es el microprocesador que forma parte del “corazón” de la
CPU.
La unidad central de proceso (CPU) se encarga de procesar el programa de usuario que
le introduciremos. Para ello disponemos de diversas zonas de memoria, registros, e
instrucciones de programa (parte superior del diagrama en bloques).
Adicionalmente, en determinados modelos más avanzados, podemos disponer de
funciones ya integradas en la CPU; como reguladores PID, control de posición, etc.
Muchos equipos poseen una unidad de alimentación (algunas CPU la llevan incluida).
También se dispone de una unidad o consola de programación que nos permitirá
introducir, modificar y supervisar el programa de usuario. Los dispositivos periféricos,
como nuevas unidades de E/S, más memoria, unidades de comunicación en red, etc., y
las interfases facilitan la comunicación del autómata mediante enlace serie con otros
dispositivos (como un PC).
La memoria.
Dentro de la CPU disponemos de un área de memoria, la cual posee “varias secciones”
encargadas de distintas funciones. Así tenemos:
Memoria del programa de usuario: aquí introduciremos el programa que el PLC va a
ejecutar cíclicamente.
Memoria de la tabla de datos: es la zona encargada de atribuir las funciones específicas
del programa. Se suele subdividir en zonas según el tipo de datos (como marcas de
memoria, temporizadores, contadores, etc).
Memoria del sistema: aquí se encuentra el programa en código de máquina que
monitoriza el sistema (programa del sistema o firmware). Este programa es ejecutado
directamente por el microprocesador/microcontrolador que posea el PLC.
Memoria de almacenamiento: se trata de una memoria externa que empleamos para
almacenar el programa de usuario, y en ciertos casos parte de la memoria de la tabla de
datos. Suele ser de uno de los siguientes tipos: EPROM, EEPROM, o FLASH.
Cada PLC divide su memoria de esta forma genérica, haciendo subdivisiones
específicas según el modelo y fabricante.
CPU
La unidad de proceso central (CPU) es el corazón del PLC. Es la encargada de ejecutar
el programa de usuario mediante el programa del sistema (es decir, el programa de
usuario es interpretados por el programa del sistema). Sus funciones son vigilar que el
tiempo de ejecución del programa de usuario no exceda un determinado tiempo máximo
( tiempo de ciclo máximo). A esta función se la suele denominar Watchdog (perro
guardián).
También se encarga de ejecutar el programa de usuario, crear una imagen de las
entradas, ya que el programa de usuario no debe acceder directamente a dichas
entradas.
Otra función es la de renovar el estado de las salidas en función de la imagen de las
mismas obtenida al final del ciclo de ejecución del programa de usuario.
Por último, también se encarga de realizar el chequeo del sistema. Para ello el PLC
posee un ciclo de trabajo, que ejecutará de forma continua el diagrama de flujo
mostrado en la figura 2.
Unidades de E/S ( ENTRADA/SALIDA)
Generalmente se dispone de dos tipos de E/S:
- Digital.
- Analógica.
Las E/S digitales se basan en el principio de todo o nada, es decir o no conducen señal
alguna o poseen un nivel mínimo de tensión. Estas E/S se manejan nivel de bit dentro
del programa de usuario.
Las E/S analógicas pueden poseer cualquier valor dentro de un rango determinado
especificado por el fabricante. Se basan en conversores A/D y D/A aislados de la CPU
(ópticamente o por etapa de potencia). Estas señales se manejan a nivel de byte o
palabra (8/16 bits) dentro del programa de usuario.
Las E/S son leídas y escritas dependiendo del modelo y del fabricante, es decir pueden
estar incluidas sus imágenes dentro del área de memoria o ser manejadas a través de
instrucciones especificas de E/S.
Interfases.
Todo PLC, salvo casos excepcionales, posee la virtud de poder comunicarse con otros
dispositivos (como un PC).
Lo normal es que posea una interfase serie del tipo RS-232 / RS-422.
A través de esta línea se pueden manejar todas las características internas del
controlador, incluida la programación del mismo, y suele emplearse para
monitorización del proceso en otro lugar separado.
Unidades de Programación.
La programación del PLC puede ser hecha por una unidad de programación que suele
ser en forma de calculadora. Es la forma más simple de programar el equipo, y se suele
reservar para pequeñas modificaciones del programa o la lectura de datos en el lugar de
colocación del equipo.
También se puede usar una consola de programación. Es un terminal a modo de
ordenador que proporciona una forma más cómoda de realizar el programa de usuario y
observar parámetros internos del PLC. Desfasado actualmente.
El modo más empleado para programar un Plc es mediante una computadora tipo PC.
Permite programar desde un ordenador personal estándar, con todo lo que ello supone:
“herramientas más potentes, posibilidad de almacenamiento en soporte magnético,
impresión, transferencia de datos, monitorización mediante software SCADA,
SUCOSOFT, etc”.
Para cada caso el fabricante proporciona lo necesario, bien el equipo o el
software/cables adecuados. Cada equipo, dependiendo del modelo y fabricante, puede
poseer una conexión a uno o varios de los elementos anteriores. En el caso de los
micro-plc se escoge la programación por PC o por unidad de programación integrada en
la propia CPU.
Dispositivos Periféricos.
El PLC, en la mayoría de los casos, puede ser ampliable. Las ampliaciones abarcan un
gran abanico de posibilidades, que van desde las redes internas (LAN, etc), módulos
auxiliares de E/S, memoria adicional...hasta la conexión con otros autómatas del mismo
modelo.
Cada fabricante facilita las posibilidades de ampliación de sus modelos, los cuales
pueden variar incluso entre modelos de la misma serie.
[Link]ísticas Técnicas del PLC:
Estructura del PLC PS4-141-MM1:
Comunicación de datos entre el PLC y el PC a través del terminal RS232.
Ejemplo de los requeriemientos para la comunicación.
(1) Fuente de alimentación:
El PS4 – 141-MM1 funciona con una tensión asignada de 24 V DC. La conexión
de alimentación está protegida contra polarización inversa.
(2) Entrada contador rápido:
A través de la entrada digital I0.0 pueden contarse, independientemente del
tiempo del ciclo, impulsos de conteo de hasta 3 kHz. El PLC ( autómata
programable) puede procesar impulsos rectangulares de 24 V DC con una
relación impulso/pausa de 1.
(3) Entradas digitales:
El autómata posee 16 entradas digitales, las cuals están aisladas galvanicamente
de la CPU. Las entrdas han sido diseñadas para 24 V DC; el retardo de entrada es
de 0,1 ms.
(4) Entrada de Alarma:
La entrada digital I 1.0 puede emplearse para una reacción rápida del autómata,
independiente del tiempo del ciclo, ante cualquier posible incidencia. La
programación como entrada rápida se realiza en combanación con el módulo de
función “ FALARMO”. Puede utilizarse tamto el impulsor de flanco ascendente
como el descendente.
(5) Borne roscado enchufable
La conexión de todas las entradas y salidas se efecúa mediante bornes
roscados enchufables. Estas regletas de sujeción enclavadas permiten realizar un
precableado.
(6) Indicador de estado de las entradas digitales:
Los diodos luminosos (LED) se encargan de indicar los estdos físicos de las
entradas.
(7) Salidas digitales, entradas/salidas analogicas
Salidas digitales:
El PS4-141-MM1 dispone de 14 salidas digitales de 24 V/0,5 A. Las entrdasa
están aisladas galvánicamente y protegidas contra cortocircuito y sobrecarga.
Pueden conectarse en paralelo hasta cuatro salidas.
Entradas/salidas analógicas:
El autómata disponen de dos entradas analógicas y una salida analógica. El
margen deseñal oscila entre 0 y 10 V. La resolución de las entrdas es de 10
bits( 1.024 incrementos); la de la salida analógica es de 12 bits(4.096 incrementos)
(8) Indicador de estado de las salidas:
Los diodos luminosos (LED) indican los estados lógicos de las salidas
(9) Interface de Suconet K:
A través del inerface RS 485 se conectan entre los participantes del Suconet ( por
ejemplo, con el módulo de ampliación EM 4..). Socunet K es el bus distribuido
estándar abierto de Klockner – Moeller. Como alternativa, pueden intercambiarse a
través de este interface datos de forma transparente con perifericos asociados vía
RS 232 o RS 485. La comunicación recibe el apoyo de un módulo funcional de
programación.
(10) Potenciómetro para el ajuste de valores de consiga P1,P2.
Dos potenciómetros paara el ajuste de valores consigna permite la predefinición
de estos valores en el aparato, resultando posibles así modificaciones del valor
consignado sin reprogramar. La resolución es de 10 bits.
(11) Interruptor S1 para resistencias de final de Bus:
Las resistencias de final de bus se conectan en el primer y último participante
físico en el bus ambos interruptores DIP deben situarse en la posición “ON”
(12) Interface de programador (PRG):
El interface RS 232 se emplea para programar a través de PC. Además, a través
de este interface, puden intercambiarse datos de forma transparente con
periféricos asociados. La comunicación de datos, al igual que ocurre con el
interface RS 485, recibe el apoyo de un módulo funcional de programación.
(13) Módulos de momoria:
El autómata PS4 – 141- MM1 dispone internamente de una memoria RAM de 32
kbyte mantenida por bateria. La subdivisión en una memoria de datos de
programa y en una memoria de programa de usuario es dinámica. Se dispone
como máximo de 24 kbyte para el programa de usuario. Si se precisan más de 8
kyte para el programa de usuario, se reduce proporcionalmente el tamaño de la
memoria de programa.
(14) Indicador de estado del autómata:
Los diodos luminosos 1 a 4 indican los estados del autómata:
1. Preparado (Ready):
No se ejecuta el programa de usuario.
2. Funcionando (Run):
Se ejecuta el programa de usuario.
3. No preparado ( Not Ready):
No hay programa en el autómata o bien hay un error en el programa
de usuario ( por ejemplo, excedido el tiempo de ciclo)
4. Batería ( Battery):
No hay batería o bien la bateriá no suministtra sufuciente tensión.
Reloj a tiempo real.
El autómata dispone de un reloj a tiempo real mantenido por bateria, permitiendo
así controlar los tiempos de máquinas e instalaciones. Existe la posibilidad, por
ejemplo, de conmutar en cada programa de usuario entre hora de verano y hora
de invierno.
[Link] de Programación mediante el software Sucosoft S4.0
8.5.1. Descripción:
El software Moeller Sucosoft S40 es una versión rediseñada del sistema de
programación del IEC 1131-3 y obedece a una programación del PLC en base abierta y
portátil.
La interfaz del usuario ha sido rediseñada ergonómicamente para soportar al usuario
en el manejo y la edición de proyectos de automatización.
Posee una extensa librería con muchos bloques de función que reduce el tiempo
requerido de programación. Una nueva característica de la versión 4.0 es que es posible
la creación de las librerías definidas por el usuario e incorporación de otras. Moeller
también tiene una gama amplia de librerías para el control de ciclos cerrados y
aplicaciones de HVAC ( Aire acondicionado).
El uso de éstos bloques de función ya probados reduce el tiempo requerido por crear
una aplicación complejas. La red de programación, facilita la habilitación de todos los
controladores de un sistema descentralizado al programar y diagnosticar desde un punto
central. Sucosoft S40 es la herramienta de programación central para PS4-
141/151/201/271/341 y PS416. Puede correrse en Windows 95/98 y Windows NT 4.0,
y se puede selecionar entre cinco idiomas (alemán, inglés, francés, español, italiano).
8.5.2. Estructura de programación:
La estructura del software “SucosoftS4” de la empresa Klockner Moeller opera de
la misma forma que la mayoria de los software administrador por Windows.
[Link].Proyecto :
En este menu se puede crear un nuevo archivo, abrir o borrar algun archivo
ya existente. Permite guardar los cambios realizados a proyectos existentes,
entre otras tareas.
[Link].Editar:
En el menu editar, es posible crear o renombrar los archivos ya existentes,
así como permite ver información y propiedades del archivo.
[Link].Visualización:
El menu visualización muestra y permite controlar las barras de simbolos ,
herraminetas y línea de estado.
[Link].Generación:
En este menú se realizan la compilación del programa en la forma leíble para el
PLC.
- Generar Todo: Generá la compilación del archivo. PCD seleccionado, para que
sea reconocido por el PLC.
- Generar partes nuevas: Generá la compilación de un archivo que solo ha
sido modficado, para que este sea reconocido nuevamente por el PLC.
- Cancelar generación: Detiene la compilación del archivo .PCD que esta
siendo compilado.
- Archivo Make nuevo: Permite generar un nuevo archivo. PCD apartir de un
archivo. MAK creado recientemente en el Editor POU.
- Seleccionar archivo Make:Permite generar el [Link] apartir de un archivo
.MAK ya existene.
- Seleccionar PLC...: Se puede seleccionar el tipo de PLC de mando que se
usar para controlar los demás PLC esclavos.
- Parametros del programa: Permite generar una contraseña para la ejecuación
del [Link] , así como indicar la respuesta en caso de Not Ready del
PLC. Además permite indicar la duración de los ciclos.
La contraseña se compone de un máxima de ocho signos. Con esta contraseña se
protege el acceso al programa y a la CPU.
Para el comportamiento después de una interrupción se puede elegir tres formas:
· Paro: El PLC no se arranca automáticamente
· Arranque en caliente: El programa sigue al punto antes de la interrupción
· Arranque en frío: El programa comienza al inicio
El tiempo de ciclo para la ejecución del programa se puede seleccionar entre 1ms
hasta 255ms. El standard es 60ms. Cuando el tiempo de ciclo del programa es más
grande como el tiempo elegido, la CPU se cambia automáticamente al estado “NOT
READY”.
En el submenú “Gama de Marcas” se selecciona para los marcadores los campos
activos en la memoria de datos. El campo activo es elegible entre 0 hasta 16383
byte. Inicialmente todos los campos están desactivados.
Se pueden elegir entre tres tipos de marcadores:
- Marcas Activas:
Este marcador pierde su valor actual en el caso de una interrupción.
Su valor inicial es “0”.
- Marcas retentivas (Arranque en caliente)
Este marcador no pierde su valor en el caso de un arranque en caliente. En la
declaración de variables no se debe declarar este tipo de marcador con el atributo
RETAIN. El campo elegible es un subconjunto del campo activo del marcador
activo.
- Marcador utilizadas como recetas (Arranque en frío)
Este marcador no pierde su valor en el caso de un arranque en caliente y tampoco en
el caso de un arranque en frío. En la declaración de variables no se debe declarar
este tipo de marcador con el atributo RETAIN. El campo elegible es un subconjunto
del campo marcador activo y no debe cruzarse con el campo activo de los
marcadores retentivas o remanentes (Arranque en caliente).
8.5.3. Herramientas:
- Editor POU:
El editor POU se compone del editor para la declaración de las variables y el editor
para la programación. Este puede contener programa, bloque funcional, funciones
y variables.
El editor para la declaración ofrece la posibilidad de declarar las variables con una
guía de usuario o en forma libre para programadores experimentados.
El editor para la programación ofrece las posibilidades de programar en:
-La lista de instrucción
-El esquema de contacto
-El plano de función
Además obtiene el editor-POU un control de la sintaxis automático de la
programación y el submenú para imprimir la documentación del programa.
- Prueba y puesta en servicio:
Se realiza aquí la transmisión del programa del computador al PLC y se encuentran
todas la herramientas de prueba y puesta en marcha como:
-Visualización del programa en el estado “RUN”
-Cambio del programa en el estado “On-Line”
-Diagnostico de errores
-Diagnóstico del estado de la CPU
-Forzar salidas y marcadores
-Indicación del estado de las entradas
-Test de cableado
-Comparación del programa computador/PLC
- Editor de Formulario:
Aquí se puede elegir el formato del formulario para la documentación del programa.
También es posible de desarrollar su propio formato según de sus necesidades.
- Configurador de Topología:
Aquí se configura la estructura del hardware del sistema de automatización. Se
elijen los parametros de los módulos del PLC y otros equipos como variadores de
frecuencia y paneles de operador que trabajarán en la aplicación. Hay un menú para
indicar el grado de utilización de las entradas y salidas de la configuración. Además
se calcula el tiempo del ciclo para todos los participantes del bus de campo.
8.5.4. Extras:
En este submenu es posible encontrar una bibioteca, así como la indicación
del idioma, herramientas y opciones utilizado por el software.
[Link]ón del PLC mediante Ladder o Esquema de Contactos.
Los pasos de programación son los siguientes:
= >Crear proyecto
= >Configuración del hardware
= >Programación del POU
= >Compilación del POU
= >Prueba y puesta en servicio.
8.6.1. Crear un Proyecto:
Para crear un nuevo proyecto se debe crear una nueva carpeta con el nombre
del proyecto en la cual se almacenarán los archivo generados por el software. Es
preciso indicar la ubicación en la CPU de la carpeta del nuevo proyecto. Al hacer
clik en OK, el software genera automáticamente una carpeta llamada “ SOURCE”,
en la cual se ubicarán los archivos compilados.
8.6.2. Configuración del Hardware:
Con el configurador de topología que se encuentra en el menu herramientas, se
selecciona los dispositivos que participarán en la aplicación. Estos pueden ser
PLC’s, módulos de expansión local o remoto y otros dispositivos como p.e.
variadores de frecuencia o paneles de operador.
Con el botón “Configurador de topología” se activa el menú. En el submenú
“Configuración” hay que elegir “Nuevo”. Se abre una ventana “Nueva
configuración” donde se indica el nombre del fichero de la configuración y el tipo
del PLC con cual se realizará el programa.
Los símbolos en la barra de herramientas tienen el siguiente significado:
-Crear una nueva configuración.
-Abrir una configuración existente.
-Guardar la configuración activa.
-Imprimir la configuración actual
-Expandir localmente el componente marcado.
-Añadir una estación de red.
-Borrar el componente marcado.
-Ajustar los parametros para el componente marcado.
-Visualización comprimida o normal.
-Número de bytes de las entradas y salidas utilizados.
-Visualizar el tiempo de ciclo de bus.
Con el botón “OK” se confirma la configuración. En la pantalla aparece ahora el
PLC elegido, en nuestro caso el PS4-141-MM1. Para el caso que se realice el
programa con módulos remotes de tipo esclavo se pueden añadir los,
seleccionandolos de una lista que aparece tocando el botón “ Expandir
componentes”. Con la opción “ Ajustar parametros en el módulo” se define los
estados “Master” o “Esclavo” y la velocidad de la comunicación entre los distintos
participantes del bus.
Con el mando “Guardar archivo ” se graba el fichero de configuración-p.e. [Link]
– en el subdirectorio “[Link]”.
8.6.3. Programación del POU:
Con el botón “Editor POU” se activa el menú. En el submenú “Archivo” hay que
elegir “Nuevo”. Se abre una ventana “Nueva” donde se selecciona el tipo de POU:
- Programa:
- Bloque funcional:
- Función:
Para obtener un programa ejecutable se confirma la selección “Programa”. Ahora se
abren dos ventanas:
- Control Sintaxis Editor Variables
- Editor LI
La ventana “Control Sintaxis Editor Variables” corresponde al editor para declarar
las variables. Con el submenú “Opciones/Modo libre” se puede cambiar al editor
de modo libre para programadores experimentados.
En el editor de variables con la guía de usuario hay que llenar los siguientes
campos:
- Nombre:
Se asignan los nombre a las señales que se usar para la programación.
- Tipo:
Se diferencian entre dos distintos tipos de datos para las variables:
El tipo de dato elemental es predefinido y marcado con una palabra clave (Tabla 1).
El tipo de dato deducido con cual se puede crear su propio tipo de dato.
En el editor de modo libre se declara este tipo de dato con las palabras clave
TYPE....END_TYPE.
- Valor:
La asignación de un valor inicial a una variable p.e. del tipo INT.
En el editor de modo libre se asigna el valor inicial con el símbolo “:=”. Sin este
asignación el valor inicial es “0”.
- Atributos:
La variable puede obtener el atributo “RETAIN” o “CONSTANT”. Una variable
con el atributo RETAIN se queda con su valor después de un arranque en caliente.
Con el atributo CONSTANT la variable no puede cambiar su valor.
- Dirección:
Es la dirección de una variable física como una entrada o salida del PLC. Por
ejemplo I0.[Link] o Q0.[Link]
- Comentario:
Puede indicarse la descripción de la función de la variable.
Además se puede elegir entre la variable de tipo, local y global. La variable local
solamente tiene validez en la POU correspondiente. La variable global tiene validez
también en todos los bloques funcionales que están llamados en la POU
correspondiente.
Después de la declaración de las variables se comienza con la programación.
En la ventana “Editor LI” se programa con el método de la lista de instrucción. En
el submenú “Extras” se puede cambiar a los otros lenguajes de programación.
Con el submenú “Archivo” y “Guardar como” hay que grabar el programa. El
nombre de fichero puede tener hasta 8 signos. El programa siempre tiene que estar
grabado en el subdirectorio “[Link]” del proyecto elegido.
Después de la grabación del programa se activa con “Prueba de Sintaxis” ubicado
en el menu “ Archivo”. Si hay errores aparece una ventana con una lista de las
fallas.
Tabla Nº1: Tipo de dato elemental.
Palabra Clave Tipo Bits Valor Inicial
BOOL Cifra de Bool ( 1 o 0) 1 0
SINT Short Integer (-128 a +128 ) 8 0
INT Integer ( -32768 a + 32768 ) 16 0
USINT Unsigned Short Integer ( 0 a 255) 8 0
UINT Unsigned Integer ( 0 a 65535) 16 0
TIME Periódo de tiempo / T#0s
DATE Fecha / D#2000-01-01
TIME_OF_DAY Hora / TOD#[Link]
DATE_AND_TIME Fecha y Hora / DT#2000-01-01
[Link]
STRING Representación de carácteres / 32 signos (max 253)
BYTE Secuencia de 8 bit 8 0
WORD Secuencia de 16 bit 16 0
8.6.4. Compilación del POU:
Primero se debe seleccionar el mando que controlará nuestro PLC. Esto se
realiza al hacer clik en “ Seleccionar PLC”, se habre otra ventana en la cual
aparecen los mandos, en este caso se debe seleccionar el mando tipo SPS : PS4-
200. esto se realiza sólo una vez durante la creación de un proyecto.
Para poder transferir el programa de la computadora al PLC hay que compilar el
programa en la forma leible para el PLC. Este proceso se efectúa en dos pasos:
- Con el botón “Generación ” en el menú principal se abre una ventana donde hay
que elegir en el submenú la opción “Archivo MAKE nuevo”. Se habre una
nueva ventana donde se puede seleccionar el programa del tipo POU y el
fichero de configuración. Cuando se ejecutó la “Lista de Generación” sin
errores, aparece un mensaje “Archivo Make creado con éxito”.
- Con la opción “Generar todos” en el menú “Generación” se realiza la
compilación del programa. Después de la compilación con éxito del archivo tipo
PCD , aparece el mensaje “Generación de cógido de programa finalizada con
éxito”.
Cuando se presentan errores durante de la generación o compilación del programa,
aparece un mensaje “No es posible de generar el código” con una lista de errores.
Tocando dos veces una línea en esta lista de errores, se abre automáticamente el
editor de la POU donde ocurrió este error.
8.6.5. Prueba y puesta en servicio:
Para la transferencia del archivo compilado al PLC, es preciso comprobar la
conectividad entre el computador y el PLC.
Al presionar “ Prueba y puesta en servicio” del submenu “ herramientas”, se
desplega una ventana , en la cual aparece una subventana de “ lista de
conexiones”. En ella se debe indicar los parametros para lograr la conexión
con el PLC utilizado . En esta ventana se ejecuta entre otras cosas las siguientes
tareas:
-Transferencia del programa del computador al PLC
-Programación de todos los equipos de la aplicación vía SUCONET
-Selección del interface
-Diagnostico del estado de la CPU
-Diagnóstico de errores
-Visualización del programa en el estado “RUN”
-Programación en forma “On-line”
-Forzar salidas y marcadores
-Indicación del estado de las entradas
Posteriormente se deben indicar los siguientes parametros:
- Conexión: Indica el tipo de proyecto con el que serealizará la conexión.
Debe aparecer el nombre del proyecto inicialmente indicado. ( p.e.:
LABPLC05).
- Tipo de Aparato: Debe aparecer el modelo de PLC de mando selecionado.
(p.e.: PS4-200).
- Estado: Inicialmente debe aparecer el estaso “ desconectado”, pero cuando
ya se ha cargado un programa, usando el mismo computador, este reconoce
al PLC y aparece indicando el estado “ conectado”.
- Interface: Se debe seleccionar la interface de conexión utilizada, esta puede
ser el COM1 o COM2, dependiendo de la ubicación en la cual se conecto la
interface RS 232.
- Número de participantes: se indica la contidad de PLC que se estan
conectados como esclavos, inicialmente no aparece ningun valor.
Antes de poder transferir un programa del computador al PLC hay que asegurarse
que el programa este compilado y el PLC este en el modo READY. Cuando el PLC
está en el modo RUN, cuando se selecciona el archivo de tipo .PCD se debe
confirmar presionando el botón “ trasnferir a PLC”, en ese momento aparece un
mensaje indicando que el autómata esta en ejecución, al aceptar el PLC se
coloca en la posición 1(HALT) , es decir entre en estado de RESET. El PLC ahora
cambia en el modo READY.
Posteriormente se desplega una ventana que indica el avance de transferencia
de datos. Luego aparecerá un mensaje consultado si desea ejecutar el programa
cargado. Al “aceptar” el PLC se activa en modo RUN, quedando en
condiciones de ejecutar la secuencia programada.
= >Salir del submenú tocando el botón “Cerrar”
Para ver si el programa funciona correctamente, se activa el submenú “Ver/Cambiar
POU”
Este submenú se acciona con el botón “POU-Editor” en la ventana “Configuración
Comunicaciones”. Se abre una nueva ventana, donde hay que seleccionar con el
botón “Recursos” el programa y con el botón “Ver/Cambiar POU” se acciona la
visualización del programa.
Con la opción “Ver estados” se cambia al modo “On-line”. Este modo permite ver
los cambios de los estados de las entradas, marcadores, salidas y bloques
funcionales durante de la ejecución del programa. Así se puede verificar si el
programa funciona en la forma planificada. Con la opción “Modificar” se realiza
cambios en el programa.
Cuando ocurren errores durante la ejecución del programa, los submenús “Estado
CPU” y “Diagnostico programa” pueden entregar informaciones sobre el tipo de
error.
8.6.6. Lenguaje de Programación:
[Link].Funciones lógicas:
Las funciones lógicas se pueden obtener con una combinación de interruptores (ver
la sección 14.3), ahora se verá cómo se pueden escribir programas tipo escalera para
esas combinaciones.
• Función AND (Y).
La figura muestra una bobina que no se energiza a menos que dos interruptores, en
general abiertos, se cierren. Si los interruptores A y B están cerrados, se obtiene la
función lógica AND(Y). El diagrama de escalera empieza en A, la segunda entrada
representa al interruptor B. La línea termina en ( ) y representa a la salida.
• Función OR (O)
La figura ilustra una bobina que no se energiza hasta que uno de los interruptores A
o B, en general abiertos, se cierra, situación que corresponde a una compuerta lógica
OR(O). El diagrama de escalera empieza en el A o B. La línea termina en ( ), que
representa a la salida.
• Función ORN (O - NO)
La figura muestra cómo representar el diagrama del programa de escalera para una
compuerta ORN (O-NO). Dado que debe haber una salida cuando ni A ni B tengan
entrada, entonces cuando existe entrada en A o en B no hay salida, el programa
escalera muestra la entrada A en paralelo con la entrada B, ambas representadas por
contactos en general cerrados ( permantemente cerrado).
• Función ANDN (Y – NO)
La figura muestra una compuerta ANDN (Y- NO ). No hay salida cuando tanto A
como B tienen una entrada. El diagrama del programa de escalera indica que para
que haya salida, ni la entrada A ni la entrada B deben estar activadas.
• Función XOR (O EXCLUYENTE)
La figura muestra cómo dibujar el diagrama de un programa escalera para una
compuerta XOR (O EXCLUYENTE), donde no hay salida cuando no hay entrada ni
para la entrada A ni para la entrada B, ni tampoco cuando hay entrada tanto en la
entrada A como en la entrada B. Nótese que las entradas están representadas por dos
juegos de contactos, uno normalmente abierto y otro normalmente cerrado. La
figura siguientes muestra la forma de contacto para la compuerta XOR.
Dentro de una secuencia hay que usar siempre el mismo formato(Bit, Byte, Word)
de los operandos. No es posible p.e. de conjugar la entrada I0.0 con un marcador del
formato byte o word. La operación tiene que tener también el formato adecuado al
operando. La operación “Set” p.e. se puede utilizar solamente con operándores del
formato bit. Utilizando un mando negado, el estado del operando o el estado del
registro de trabajo se actúa en forma negada.
[Link].El Esquema de Contacto.
El menú del Editor POU ofrece la posibilidad de programar en distintos lenguajes
de programación. Para elegir el “Esquema de Contacto” se selecciona en el
submenú “Opciones” del Editor POU la opción “Lenguaje Programación”. Hay que
elegir “LD” (Ladderdiagram) para abrir el editor en el lenguaje de esquema de
contacto.
Los elementos principales del esquema de contacto son los siguientes:
Una señal activa la vincula como “1”, y desactivada como “0”.
Una señal activa la vincula como “0” , y desactivada como “1”.
Una señal activa acciona la salida.
Estado Reset, desactiva la salida, aunque la entrada este en “1”
Estado Set , mantiene la salida activada
Con estos elementos se pueden realizar en forma gráfica las distintas vinculaciones
lógicas con AND y OR.
Además se pueden elegir las otras funciones y bloques funcionales al hacer clik en
el segundo boton del ratón, se desplega una ventana donde se puede insertar la
variables y los operadores.
• Para comenzar se elige en la barra de herramientas el botón “Extras” y en el el
submenu “ Lenguage de programación”, se desplega un menu con los tipo
LI, EBF y EDC. Cuyo sisgnificado es:
LI : Editor en Lista de Instrucciones.
EBF: Editor en Esquema de Bloques Funcionales.
EDC: Editor en Esquemas De Contactos.
Posteriormente se hace clik con el ratón en la ventana de editor. Dependiendo
del editor seleccionado, el esquema básico aparecerá de la siguiente forma. Cabe
destacar que el editor LI, es recomendado solo para profesionales avanzado o con
cierta experiencia en programación .
Presionando el icono de “Iniciar red en EDC”.
Aparece una red básica que consta solamente de un contacto de entrada y de una
salida.
Si se preciona el icono “ Insertar un Bloque Funcional” en lenguage EBF aparace
el esquema básico en forma de bloque:
• Para añadir otros contactos en una vinculación de AND o ANDN se marca con
el ratón el lugar donde se insertará la variable y se presiona el boton derecho
del ratón, se desplegará un submenu desde donde se selecciona
“operadores”. Luego aparece una ventana de “operadores”, tal como muestra
la figura siguiente, en dicha ventana se seleciona el operador lógico
“AND” y luego se presiona “transferir”.
El resultado de esta operación se visualiza en la figura.
• Para añadir una vinculación de OR o ORN hay que marcar el lugar de la
variable y continuar al igual que con la vinculación AND, pero esta vez
seleccionar el operador lógico OR o ORN.
En la siguiente figura se muestra el resultado al insertar una vinculación
OR.
• Para poder asignar otro operador, insertar una variable se ejecuta el mismo
procedimiento indicado en la vinculación AND.
• Para negar un contacto o una salida se le marca y se toca la tecla de espacio.
• Para borrar un contacto o una red, se le marca y se toca la tecla “Suprimir”.
• Para insertar un bloque funcional se debe “insertar variable”, y seleccionar
del listado “todos”, la variable que fue asignada previamente. Si la
variable fue asignada correctamente como un Bolque funcional ( p.e.: Time
Generator, TOF, TON ), se desplegará el bloque en el editor EBF.
• Cada red puede obtener su propio comentario. La ventana para escribir el
comentario se abre cuando se elige el botón “Insertar comentario” en la barra
de herramienta. El comentario aparece bajo del número de la red.
Tabla Nº 2: Lista de Instrucciones:
a) Lista de Conjunto de los Operadores.
Tipo Designación Operando Tipo de Dato
Entrada Entrada I, IB, IW Bit, Byte, Word
Entrada análoga IAW Word
Perifería IP, IPB Bit, Byte
Contador IC Word
Salida Salida Q, QB, QW Bit, Byte, Word
Salida análoga QAW Word
Perifería QP, QPB Bit, Byte
Marcador Marcador M, MB, MW Bit, Byte, Word
Díagnostico Información IS Bit
Comunicación Send Data SD Word
Receive Data RD Word
b) Lista de conjunto de los mandos básicos.
Algebra de Bool Y, AND AND, ANDN Bit, Byte, Word
O, OR OR, ORN Bit, Byte, Word
O exluyente, XOR XOR, XORN Bit, Byte, Word
Aritmetica Adición ADD Byte, Word
Sustracción SUB Byte, Word
Multiplicación MUL Byte, Word
División DIV Byte, Word
Operación Cargar LD, LDN Bit, Byte, Word
Asiganación ST, STN Bit, Byte, Word
Poner, Set S Bit
Poner, Reset R Bit
Salto Condicional JMPC, JMPCN Bit
Salto Incondiconal JMP Bit
Llamada Incondicional CAL Bloque Funcional
Llamada Condicional CALC, CALCN Bloque Funcional
8.6.7. Descripción de los Bloques Funcionales:
[Link].Lista de los bloques funcionales:
Información detallada sobre el funcionamiento de cada bloque funcional ofrece el
menú “Ayuda” en la opción “Language elements/ Functions Blocks”.
No. Function block Description
Edge detection
1 F_TRIG Edge detection, falling edge
2 R_TRIG Edge detection, rising edge
Flip-flops
3 RS RS Flip-Flop
4 SR SR Flip-Flop
Date and time
5 RealTimeClock Compare with real-time clock
6 RTC Set real-time clock
7 GetRealTimeClock Read real-time clock
8 SetRealTimeClock Set real-time clock (only PS4-200, PS4-300)
9 DATconcat Concatenate DATE_AND_TIME
10 DATsplit Split DATE_AND_TIME
11 DateConcat Concatenate DATE
12 DateSplit Split DATE
13 TimeConcat Concatenate TIME
14 TimeSplit Split TIME
15 TODconcat Concatenate TOD
16 TODsplit Split TOD
Timing FBs
17 MS_TimeFalling Off-delay timer, milliseconds
18 MS_TimeRising On-delay timer, milliseconds
19 S_TimeFalling Off-delay timer, seconds
20 S_TimeRising On-delay timer, seconds
21 TimeGenerator Clock generator
22 TimePulse Pulse generator
23 TOF Off delay
24 TON On delay
25 TP Pulse
Counter and comparison FBs
26 _16BitCounter 16-bit up/down counter
27 _32BitCounter 32-bit up/down counter (only PS416, PS4-300)
28 CounterLE Control of the Counter LE module (only PS4-200,
PS4-300)
29 CTD Down counter
30 CTU Up counter
31 CTUD Up and down counter
32 _16Bit_Compare 16-bit comparator
33 _32Bit_Compare 32-bit comparator (only PS416, PS4-300)
34 SSI-Encoder Absolute value encoder (only PS4-300)
35 IncEncoder Incremental encoder (only PS4-300)
Register operations
36 SR_x 1-bit shift register
37 SRB_x 8-bit shift register
38 SRW_x 16-bit shift register
39 LifoBx 8-bit LIFO register
40 LifoWx 16-bit LIFO register
41 FifoBx 8-bit FIFO register
42 FifoWx 16-bit FIFO register
Code converters
43 _16BitBinaryToBCD 16-bit binary/decimal code converter
44 _32BitBinaryToBCD 32-bit binary/decimal code converter (only PS416,
PS4-300)
45 BCDTo16BitBinary 16-bit decimal/binary code converter
46 BCDTo32BitBinary 32-bit decimal/binary code converter (only PS416,
PS4-300)
Array operations
47 CompareArray Data block comparison or value search
48 TransferArray Copy or initialise array
49 Serialize Copy data structure to array
50 Deserialize Extract data from array
51 BlockCompare Data block comparison or value search (only PS4-
200, PS4-300)
52 BlockTransfer Copy or initialise data block (only PS4-200, PS4-300)
Sequence control
53 SFC_x Sequence control function block (only PS4-200, PS4-
300)
String processing
54 COMtoSTR Convert received characters to STRING
55 STRtoCOM Copy string to marker area
56 ADRtoSTR Convert received characters to STRING (only PS4-
200, PS4-300)
57 STRtoADR Copy string to marker area (only PS4-200, PS4-300)
Communication
58 SCO Serial communication function block (only PS4)
59 COM Serial communication function block (only PS416)
60 DialOrHangup Establish or clear a connection to a DTE via modem
(only PS416, PS4-300)
61 SendATCommand Send AT command to a modem (only PS416, PS4-
300)
62 SUCOM_A Protocol emulation for direct memory access (only
PS416)
63 MOD200 Serial communication via MODBUS /IBUS (only
PS416)
64 ASi_PARAM Change slave parameters during operation:
ASi_PARAM (only PS4-200, PS4-300)
65 PSCO Profibus-FMS communication (only PS4-200, PS4-
300)
66 SuconetP PROFIBUS-FMS communication (only PS416)
67 SuconetS_BGKS InterBus communication (only PS416)
68 PdpStationDiag Request diagnostics data from PROFIBUS-DP station
(only PS416)
69 PdpFreezeSync PROFIBUS-DP control commands (PS416, PS 4-
300)
70 DE4netDP Frequency inverter DF 4 (PS416, PS 4-300)
71 DE4netK Frequency inverters DF4
72 MI4netK Communication function block MI4
73 MI4K Communication function block MI4 (only PS4-200,
PS4-300)
Reading and writing the memory card
74 ReadMC Read data from memory card
75 WriteMC Save data on memory card
76 SetMCFileLength Create and initialise data file (only PS416)
77 ReloadData Read data from memory card (only PS4-200, PS4-
300)
78 SaveData Save data on memory card (only PS4-200, PS4-300)
Alarm FBs
79 CounterAlarm Counter alarm (not for PS 4-271)
81 EdgeAlarm Edge alarm (not for PS 4-271)
81 TimerAlarm Timer alarm
OS system function block
82 PS_ApplicationHalt Stop the user program (only PS416, PS4-300)
83 PS_ClearKOMBit Clear "KOM" diagnostic bit (only PS416)
84 PS_Diagnostic Read diagnostic flags (only PS416, PS4-300)
85 PS_GetDateAndTime Read real-time clock (only PS416, PS4-300)
86 PS_Message Scan cycle status (only PS416)
87 PS_ReadOSInfo Scan operating system information
88 PS_SwitchPosition Read switch position (only PS416, PS4-300)
89 CPUDataExchange Exchange data between PLCs (only PS416)
90 ColdstartRetention Definition of cold start retentive marker area (only
PS416)
Peripheral access
91 ReadDirect Direct reading from digital inputs (only PS416)
92 WriteDirect Direct writing to digital outputs (only PS416)
93 ReadAnalogDirect Direct reading from analog inputs (only PS416)
94 WriteAnalogDirect Direct writing to analog outputs (only PS416)
95 ReadCounterDirect Direct reading from counter inputs (only PS416)
Conversion functions
96 DataScale Scaling of data
97 PTtoCelsius Linearisation of PT1000 values (nur PS 4-200)
98 PTtoFahrenheit Linearisation of PT1000 values (nur PS 4-200)
99 NItoCelsius Linearisation of NI1000 values (nur PS 4-200)
100 NItoFahrenheit Linearisation of NI1000 values (nur PS 4-200)
101 IEEE_To_Real Number conversion (nur PS416, PS 4-300)
102 Real_To_IEEE Number conversion (nur PS416, PS 4-300)
[Link]. Bloque funcional TIMEGENERATOR
Significado de los operandos:
Set Condición de inicio (flanco positivo)
Period Periódo en milisegundos
PulseOutput Salida del impulso
Diagrama en función del tiempo
Descripción
Con un flanco positivo en la entrada “Set” el bloque funcional TimeGenerator toma
a su cargo el factor del tiempo de periódo T de la entrada “Period”. La salida
“PulseOutput” entrega un impulso con una proporción de ciclo/pausa de 1:1.
Con un flanco negativo a la entrada “Set” se desacciona la salida “PulseOutput”.
El tiempo de periódo tiene que ser mayor que el tiempo del ciclo del PLC.
Un cambio del valor a la entrada “Period”, se registra solamente con un cambio del
flanco (positivo a negativo y nuevamente positivo) en la entrada “Set”.
Ejemplo:
VAR
TG : TimeGenerator;
S1 I0.[Link] : BOOL;
Periodo: UINT := 320;
K1 Q0.[Link]: BOOL;
END_VAR
PROGRAM
CAL TimeGenerator(Set := S1, Period := Periodo)
LD [Link]
ST K1
END_PROGRAM
[Link].Bloque funcional TOF (Temporizador de apertura atrasada)
Significado de los operandos:
IN Condición de inicio
PT Valor de tiempo predefinido
Q Estado binario del temporizador
ET Valor actual de tiempo
Descripción
Con un flanco de impulso positivo en la entrada “IN”, el temporizador toma a su
cargo el factor del tiempo de retraso que se ubica en la entrada “PT” y la salida “Q”
se acciona. Con un flanco de impulso negativo en la entrada “IN” la salida “Q” se
desacciona con el factor del tiempo de retraso predefinido en la entrada “PT”.
A la salida “ET” se puede registrar el tiempo transcurrido.
El tiempo de retraso elegido tiene que ser mayor que el tiempo de ciclo del PLC.
Ejemplo:
PROGRAM
VAR
Timer : TOF;
S1 I0.[Link] : BOOL;
TimeDuration : TIME := 125;
K1 Q0.[Link] : BOOL;
ActualTime : TIME;
END_VAR
CAL Timer(IN := S1, PT := TimeDuration)
LD Timer.Q
ST K1
LD [Link]
ST ActualTime
END_PROGRAM
[Link].Bloque funcional TON (Temporizador con atracción atrasada)
(fig)
Significado de los operandos:
IN Condición de inicio
PT Valor de tiempo predefinido
Q Estado binario del temporizador
ET Valor actual de tiempo
(fig)
Descripción
Con un flanco de impulso positivo en la entrada “IN”, el temporizador toma a su
cargo el factor del tiempo de retraso que se ubica en la entrada “PT”. La salida “Q”
se acciona con retraso según del factor del tiempo de retraso a la entrada “PT”.
Con un flanco de impulso negativo en la entrada “IN”, la salida “Q” desacciona
también.
A la salida “ET” se puede registrar el tiempo transcurrido. El tiempo de retraso
elegido tiene que ser mayor que el tiempo de ciclo del PLC.
Ejemplo:
8.6.8. Retención (reset).
Con frecuencia se presentan situaciones en las que es necesario mantener
energizada una bobina, aun cuando ya no exista la entrada que proporciona la
energía. Para lograr lo anterior se utiliza lo que se conoce como circuito de
retención. Este es un circuito de autosostenimiento, ya que después de ser
energizado mantiene ese estado hasta que recibe otra entrada. Es decir, recuerda su
último estado.
La figura 19.16 ilustra un circuito de retención. Cuando la entrada 1 se energiza y se
cierra, se produce una salida. Sin embargo, cuando hay una salida, el contacto
asociado a la salida se energiza y se cierra. Estos contactos aplican el operador
OR(O) a los contactos de la entrada 1. Por lo tanto, aun cuando el contacto de la
entrada 1 se abra, el circuito mantendrá energizada la salida. La única manera de
liberar la salida es accionado el contacto de la entrada 2 el cual en general está
cerrado.
Para ejemplificar cómo se usa un circuito retenedor, suponga que se requiere
controlar un motor mediante un PLC de manera que al trabajar, cuando se acciona el
interruptor de paro, el motor se apaga; usando focos indicadores se sabe si el motor
está encendido o apagado. La figura 19.17 muestra el diagrama equivalente. Cuando
no hay entradas, el foco del motor indica que está apagado. El contacto del motor,
en general cerrados, encienden el foco de apagado. Al oprimir el botón de arranque,
el contacto, en general abierto, se cierra y el motor se enciende. El contactos del
motor, que está en paralelo con el contacto de arranque, retiene la condición
anterior. Además, el otro contacto del motor, en general cerrado, se abre, y se apaga
el foco de apagado; el contacto del motor, en general abierto, se cierra y se activa el
foco de encendido. El interruptor de paro abre el contacto, antes cerrado, y para el
motor.
8.6.9. Secuenciamiento.
Con frecuencia se presentan dos situaciones de control que requieren secuencias de
salidas; la conmutación de una a otra salida se controla mediante sensores. Suponga
que se requiere un programa de escalera para un sistema neumático (figura 19.18)
en el cual se controlan dos cilindros biestables, A y B, mediante válvulas de doble
solenoide; en este caso se usan los sensores de inicio y final de carrera a-, a+,b-yb+
para detectar los límites del movimiento del vástago de los pistones; se requiere de
una secuencia de activación de los cilindros correspondiente a A+,B+,A-Yb-.
La figura 19.19 muestra una opción para configurar el programa anterior. En el
primer peldaño se induce la entrada del interruptor de arranque A. La extensión del
cilindro de A, es decir, cuando se energiza el solenoide A+, tiene lugar sólo cuando
el interruptor de inicio está cerrado y también cuando el interruptor b- está cerrado;
este último indica que el cilindro B se contrae. Cuando se extiende el cilindro A, el
interruptor a+, el cual indica la extensión de A, se activa. Esto produce una salida
que se envia al solenoide B+, y como resultado B se extiende. Por efecto de lo
anterior, se cierra el interruptor, lo cual indica la extensión de B, es decir, del
interruptor b+, se produce la salida del interruptor limitador a-, se produce una
salida hacia el solenoide B-, la cual produce la contracción del cilindro A.
Consecuencia de dicha contracción, se cierra el interruptor limitador a- y se produce
una salida que se envía al solenoide B-, lo cual produce la contracción de B. Con lo
anterior concluye el ciclo del programa y se regresa al primer peldaño; el programa
queda en espera de que se cierre el interruptor de inicio para que se repita de nuevo
el ciclo.
Temporizadores.
Para especificar un circuito de temporización hay que indicar cuál es el intervalo de
temporización, así como las condiciones o eventos que producirán la activación y
paro de dicho temporizador. En términos generales, es posible establecer un símil
entre temporizadores y relevadores con bobinas ya que éstos, una vez que reciben
energía, cierran o abren contactos después de transcurrido determinado tiempo
preestablecido. La figura 19.26 muestra parte de un programa que incluye un
temporizador de retraso a la activación. Cuando se recibe una entrada, se activa el
temporizador y se inicia la temporización. Después de determinado tiempo, los
contactos asociados con el temporizador se cierran y se produce la salida.
Para lograr tiempos de retraso mayores que los que se pueden obtener con un solo
temporizador, se conectan entre sí varios temporizadores, lo cual se conoce como
conexión en cascada. La figura 19.27 muestra un arreglo en cascada. Cuando los
contactos de entrada se cierran, se activa el temporizador 1. Una vez transcurrido el
lapso de retraso, su contacto se cierra y se activa el temporizador 2. Después del
lapso de retraso, se cierra su contacto y se genera una salida.
La figura 19.28 muestra un programa cuyo propósito es activar una salida durante
0.5s y desactivarla durante otros 0.5s luego activarla de 0.5s desactivarla 0.5s y así
en forma sucesiva. Cuando el contacto de entrada se cierra, se activa el
temporizador después de 0.5s es decir, el tiempo predefinido de activación. Después
de este tiempo se cierra el contacto del temporizador 1 y se activa el temporizador 2.
Este permanece activo el lapso predeterminado, es decir, 0.5s y luego abre su
contacto, con lo cual el temporizador 1 se desconecta. El contacto de éste se abre y
se desconecta el temporizador 1. Ésta cierra su contacto y se repite otra vez todo el
ciclo. Es decir, el contacto de temporización del temporizador 1 permanece
conectado durante 0.5s, luego desconectado durante 0.5, se conecta durante 0.5s, y
así en forma sucesiva. Es decir la salida se conecta durante 0.5s, se desconecta por
otros 0.5s, se vuelve a conectar durante 0.5s, y así en forma sucesiva.
Por lo general los PLC sólo tienen temporizadores de retraso a la activación, es
decir, que se activan después de cierto lapso de retraso. La figura 19.29 muestra
como diseñar un temporizador de retraso a la desactivación, es decir, un
temporizador que interrumpe la energía alimentada por una salida en cuanto
transcurre determinado lapso de retraso. Cuando el contacto de entrada se cierra por
un momento, se entrega energía en la salida y se activa el temporizador. Los
contactos de salida retienen el valor de la entrada y mantienen activa la salida.
Después del lapso predefinido del temporizador, este se activa, abre el circuito de
retención, y apaga la salida.
Relevadores internos.
Los términos relevadores interno, relevador auxiliar o marcador se refieren a todo lo
que se puede considerar un relevador interno del PLC. Si bien éstos se comportan
como relevadores con sus respectivos contactos asociados en realidad no son
verdaderos contactos, sino simulaciones del software del PLC. Algunos tienen
respaldo de baterías y se emplean en circuitos para garantizar el corte de energía en
plantas cuando hay una interrupción del suministro eléctrico. Los relevadores
internos son muy útiles en la implantación de secuencias de conmutación.
Los relevadores internos se utilizan con frecuencia en programas con muchas
condiciones de entrada. Suponga que la excitación de una salida depende de dos
condiciones de entrada distintas. La figura 19.30 muestra cómo elaborar un
diagrama de escalera con relevadores internos. El primer peldaño muestra una
condición de entrada para controlar la bobina del relevador interno, IR1. El segundo
peldaño muestra la segunda condición de entrada para controlar la bobina del
relevador interno, IR2. Los contactos de ambos relevadores tienen un
comportamiento tipo compuerta OR(o) para el control de la salida. La secuencia de
instrucciones, utilizando la notación de Mitsubishi (figura 19.31) es:
Fig.
Otra aplicación de los relevadores internos es la activación de varias salidas. La
figura 19.32 muestra un programa de escalera de este tipo. Cuando el contacto de
arranque se cierra, se activa el relevador interno y éste retiene la señal de entrada.
También activa la salida 1 y permite la activación de las salidas 2 y 3.
Un ejemplo de la aplicación de los relevadores internos es el siguiente: suponga que
se requiere diseñar un programa de escalera para controlar un sistema neumático,
con válvulas controladas por doble solenoide y dos cilindros, A y B, y en el que los
sensores de posición a-, a+, b- y b+, se usan para detectar el momento cuando los
vástagos de los pistones alcanzan los límites del movimiento (figura 19.33ª). La
secuencia que se requiere es: a la extensión del vástago del émbolo A sigue la
extensión del vástago del émbolo de B; a continuación se retrae el pistón B y, al
final, el ciclo concluye cuando el pistón de A se contrae. Mediante un relevador
interno puede realizarse la conmutación de las salidas entre un grupo y otro y de
esta manera los cilindros están bajo el control de una modalidad conocida como
control en cascada (ver la sección 5.5.1). La figura 19.33b muestra el diagrama del
programa anterior. Al cerrar el interruptor de inicio, se activa el relevador interno.
Esto energiza al solenoide A+, por lo que se extiende el pistón del cilindro A. Al
hacerlo, activa el sensor a+ y se extiende el pistón del cilindro B. En consecuencia,
se activa el sensor b+ y se activa también el relevador. Lo anterior permite energizar
el solenoide B-y el pistón de B se retrae. Esta acción cierra el sensor b-, el solenoide
A – recibe energía y se retrae el vástago del cilindro A.
Ejemplo de otra aplicación de los marcadores o relevadores internos es desactivar
un autosostenimiento. La figura 19.34 muestra el diagrama de escalera. Cuando el
contacto de la entrada 1 se oprime por un momento, la salida recibe energía y se
activa. El contacto de la salida se cierra y la salida se autosostiene, es decir, se
mantiene a sí misma, aun cuando el contacto de la entrada ya no esté cerrado. Para
eliminar la retención autosostenida de la salida basta que se abra el contacto del
relevador interno, lo cual se produce si la entrada 2 se cierra y activa la bobina del
relevador interno.
La figura 19.35 muestra un ejemplo de cómo utilizar un relevador interno con
batería de respaldo. Al cerrar el contacto de la entrada 1, la bobina del relevador
interno respaldado por batería se activa. Esto produce el cierre del contacto del
relevador interno incluso, si el contacto de la entrada se abriera como consecuencia
de una interrupción del suministro eléctrico, el contacto del relevador interno
seguirá cerrado. Es decir, la salida controlada por un relevador interno permanece
energizada, aun cuando se interrumpa la alimentación.
Contadores
Los contadores se usan cuando es necesario contabilizar las veces que se acciona un
contacto. Por ejemplo, cuando los artículos que transporta una banda se depositan
en una caja y cuando el siguiente artículo se debe depositar en otra caja. Entre las
funciones de los PLC están las de conteo y disponen de los circuitos adecuados para
tal fin. En la mayoría de los casos, el contador que utilizan es un contador regresivo.
Es decir el contador va disminuyendo el valor de su conteo, a partir de un valor
preestablecido, hasta llegar a cero; los eventos se van restando a un valor inicial.
Una vez que llega el contacto del contador cambia de estado. En un contador
progresivo, el conteo aumenta hasta un valor predeterminado; es decir, los eventos
se suman hasta que se logra llegar al valor deseado. Una vez que se alcanza éste, el
contacto del contador cambia de estado.
La figura 19.36ª muestra un programa básico de conteo. En un diagrama de escalera
el contador se representa por un rectángulo que abarca dos líneas. En una de ellas se
encuentra la señal de reinicio del contador. La otra es la línea de salida y el K10
indica que el contacto del contador modificará su estado en el décimo pulso.
Cuando el contacto de la entrada 1 se cierra por un momento, se restablece el valor
de calibración del contador. El contador procede a contar el número de pulsos que
produce la apertura y cerrado del contacto de la entrada 2. Cuando este conteo
alcanza el valor preestablecido, en este caso 10, se cierra el contacto del contador.
La salida se enciende después de 10 pulsos de la entrada 2. Si en algún momento del
conteo el contacto de la entrada 1 se cierra por un momento el contador restablecerá
el conteo a 10. La secuencia de instrucciones con la notación de Mitsubishi (figura
19.36b) es:
(Cuadro)
Para ejemplificar el empleo de un contador suponga que se requiere controlar una
máquina para que transporte 6 artículos en una dirección para empacarlos en una
caja, luego, 12 artículos en otra dirección para su empacado en otra caja. La figura
19.37 muestra el programa. Éste consta de dos contadores, una predefinido para
contar hasta 6 y el otro hasta 12. La entrada 1 cierra por un momento sus contactos
para iniciar el ciclo de conteo, con lo que se restablecen ambos contadores. Los
contactos de la entrada 2 se activan mediante un microinterruptor que se acciona
cada vez que un artículo pasa en el punto de separación de las dos trayectorias. El
contador 1 cuenta hasta 6 artículos y cierra su contacto. Éste activa la salida, que
puede ser un solenoide que acciona una tapa móvil mediante la cual se cierra una
trayectoria y se abre otra. El contador 1 tiene contactos que al cerrarse activan el
contador 2 para iniciar el conteo. Una vez que el contador 2 cuenta 12 artículos,
reinicia los contadores y abre los contactos del contador 1, se desactiva la salida y
los artículos dejan de ser enviados a la caja que contiene 12.
Varios relevadores internos se agrupan para formar un registro que sirva como área
de memoria de una secuencia de bits en serie. Un registro de 4 bits se formaría
utilizando cuatro registros internos, uno de 8 bits usando ocho. Se utiliza el término
registro de corrimiento, porque los bits se recorren una posición cuando llega una
entrada al registro. Por ejemplo, si en un registro de 8 bits, al principio la
configuración es:
(tabla)
A continuación, al registro llega una entrada con un pulso de corrimiento 0:
0- (tabla)
Finalmente, todos los bits se recorren un espacio y el último bit se (descarta)
desborda.
En el PLC el agrupamiento de varios registros auxiliares para formar un registro de
corrimiento se realiza de manera automática al elegir la función del registro de
corrimiento en un tablero de control.
En el PLC de Mitsubishi se utiliza la función de programación SFT (corrimiento),
aplicándola al número del relevador auxiliar que ocupe el primer lugar en la
configuración del registro. Esto ocasiona que el bloque de relevadores, empezando
por el del número inicial, se reserve para el registro de corrimiento. Por ejemplo, si
el número que se elige como primer relevador es M140, el registro de corrimiento
estará formado por M140, M141, M142, M143, M144, M145, M146 y M147.
Los registros de corrimiento tienen tres señales de control: una para cargar datos en
el primer elemento del registro (OUT), una para el comando de corrimiento (SFT) y
una para el reestablecimiento (RST). Con OUT, se carga un nivel lógico, 0 o 1 en el
primer elemento del registro de corrimiento. Con SFT, un pulso desplaza el
contenido del registro un bit a la vez, el bit final se desborda y se pierde. Con RST,
el pulso de un contacto restablece el contenido del registro, dejando en él solamente
ceros.
La figura 19.38 muestra un diagrama de escalera, que contiene un registro de
corrimiento con la notación de Mitsubishi; sin embargo, el principio es el mismo,
aun con otros fabricantes. El M140 se eligió como primer relevador del registro. Al
activar el X400, en el primer elemento del registro de corrimiento se carga un 1
lógico, es decir, en M140. Por lo tanto, en el registro hay 10000000. El circuito
muestra que cada elemento del registro de corrimiento se conectó como si fuese un
contacto del circuito. El contacto M140 se cierra y Y430 se activa (figura 19.39).
Cuando el contacto X401 se cierra, los bits del registro se corren un lugar en el
registro; se obtiene 11000000, un número 1 se desplaza en el registro porque X400
todavía está activa. El contacto M141 se cierra y Y430 se activa. Conforme cada
uno de los bits se desplaza, las salidas también reciben energía. La secuencia de
instrucciones de esta escalera es:
(tabla)
Los registros de corrimiento se pueden usar para una secuencia de eventos.
Controles maestro y de salto.
Es posible conectar o desconectar a la vez una gran cantidad de salidas usando el
mismo contacto de relevador interno en cada peldaño de la escalera, de manera que
al activar o desactivar éste se afectan los demás peldaños. Otra opción de
programación para lograr el mismo efecto es usar un relevador maestro. La figura
19.40 ilustra su uso. Podemos pensar que este relevador controla la alimentación de
todos los peldaños subsecuentes de la escalera. Cuando una señal de entrada cierra
el contacto de la entrada 1, se activa el relevador maestro MC1 y a continuación se
activa todo el grupo de peldaños controlados por dicho relevador. El final de una
sección controlada por un relevador maestro se indica por las literales MCR. Si
hubiera una señal de entrada en la entrada 2, se activa el relevador maestro MC2, así
como los peldaños controlados por dicho relevador. Si no hubiera señales de entrada
ni en la entrada 1 ni en la entrada 2, el siguiente peldaño del programa será el
correspondiente a la señal de salida 6, que controla la entrada 9. Éste es un
programa de bifurcación, toda vez que si hay una entrada 1, entonces hay
bifurcación lleva a seguir la ruta controlada por MC2, si no hay entradas, se
procede a ejecutar la parte restante del programa y se ignoran las bifurcaciones.
Con un PLC Mitsubishi, mediante la programación respectiva es posible designar
un relevador interno como relevador de control maestro. Por ejemplo, para
programar un relevador interno M100 como relevador de control maestro, la
instrucción en el programa es:
MC M100
Para indicar el final de la sección controlada por un relevador de control maestro, la
instrucción en el programa es:
MCR M100