Unidad Iztapalapa Ciencias Básicas e Ingeniería

Anuncio
www.infoPLC.net
Unidad Iztapalapa
Ciencias Básicas e Ingeniería
Licenciatura en Ing. Electrónica
Área de concentración:
Computación
El PLC como dispositivo de automatización
Alumnos:
Taboada Balderas Armando 93222934
Zozoaga Gómez Erick 94218343
Asesor:
________________________
Víctor Hugo Téllez Arrieta
Martes 10 de Abril de 2003
www.infoPLC.net
El PLC como dispositivo de automatización
Taboada Balderas Armando
Zozoaga Gómez Erick
www.infoPLC.net
AGRADECIMIENTOS
De antemano quiero agradecer a todas aquellas personas que han confiado en mí para sacar
adelante, no un trabajo, sino toda una carrera, y que sin las cuales no sería posible tal empresa.
Desde luego muy especialmente a:
Primeramente a mis papás:
El Sr. Leovino Taboada Ortega y la Sra. Socorro Balderas Bonilla
Quienes me enseñaron que una de las cosas más importantes en la vida es el luchar por
convertir en realidad los más anhelados sueños y que sin sus consejos, desvelos y apoyo no
habría podido continuar con esta bonita carrera.
A mi esposa e hijo:
Myrna Raquel Ruiz Gómez y Armando Taboada Ruiz respectivamente.
Mis Amores. A quienes les he robado muchos días y muchas noches en los que no he podido
estar con ellos. Esperándoles de alguna manera devolverles con creces todo ese tiempo.
A mis hermanas
Susana Taboada Balderas, Carmen Taboada Balderas, Graciela Taboada Balderas y Socorro
Taboada Balderas
Quienes me apoyaron incondicionalmente en lo económico y lo más importante en lo moral
para no claudicar en la terminación de este un paso más en mi carrera.
Armando Taboada Balderas
www.infoPLC.net
A mis padres por su apoyo incondicional siempre.
Erick Zozoaga Gómez
www.infoPLC.net
Contenido
CONTENIDO
PRÓLOGO......................................................................................................................................xv
1.0
INTRODUCCIÓN....................................................................................................................1
1.1 SISTEMAS DE CONTROL ..................................................................................................1
1.1.1 Fases de estudio en la elaboración de un automatismo ..................................................2
1.1.2 Opciones tecnológicas....................................................................................................3
1.2 CONTROLADORES LÓGICOS PROGRAMABLES .........................................................3
1.2.1 Campos de aplicación.....................................................................................................5
1.2.2 Ventajas e inconvenientes del plc ..................................................................................5
1.2.3 Historia del PLC.............................................................................................................6
2.0
ESTRUCTURA DE LOS PLC................................................................................................9
2.1 ESTRUCTURA O ARQUITECTURA EXTERNA .............................................................................9
2.1.1 Estructura compacta .......................................................................................................9
2.1.2 Estructura modular .......................................................................................................11
2.2 ESTRUCTURA O ARQUITECTURA INTERNA ............................................................................12
2.2.1 Unidad central de procesamiento (CPU)......................................................................14
2.2.1.1 Configuración de la unidad de control....................................................................15
2.2.1.2 Funciones de la CPU ..............................................................................................18
2.2.1.3 CPU sin µP .............................................................................................................19
2.2.1.4 Ciclo básico de trabajo de la CPU ..........................................................................19
2.2.2 Memorias del PLC .......................................................................................................20
2.2.2.1 Organización de la memoria. Principios de direccionamiento ...............................21
2.2.3 Fuente de alimentación.................................................................................................25
2.2.4 Unidades de entrada-salida...........................................................................................26
2.2.4.1 Entradas ..................................................................................................................26
2.2.4.2 Salidas.....................................................................................................................27
2.2.5 Áreas de interfaces .......................................................................................................28
2.2.6 Tipos y unidades de programación...............................................................................28
2.2.6.1 Funciones principales de los equipos de programación..........................................28
2.2.6.2 Tipos de unidades de programación .......................................................................31
2.2.7 Periféricos.....................................................................................................................33
2.2.8 Tamaño de los PLC ......................................................................................................33
2.3 CONFIGURACIÓN DE E/S.......................................................................................................34
2.3.1 Entradas/Salidas centralizadas .....................................................................................35
2.3.2 Entradas/Salidas distribuidas........................................................................................36
3.0
INTERFACES DE ENTRADA / SALIDA...........................................................................41
3.1 INTRODUCCIÓN ...............................................................................................................41
3.2 TIPOS DE INTERFACES DE E/S ......................................................................................41
3.3 ENTRADAS/SALIDAS DIGITALES.................................................................................43
3.3.1 Entradas lógicas............................................................................................................44
3.3.1.1 Entradas de corriente directa PNP ..........................................................................45
3.3.1.2 Entradas de corriente directa NPN .........................................................................46
ix
www.infoPLC.net
Contenido
3.3.1.3 Entradas de corriente alterna.................................................................................. 47
3.3.2 Salidas lógicas ............................................................................................................. 49
3.3.2.1 Salidas de CD PNP ................................................................................................ 49
3.3.2.2 Salidas de CD NPN................................................................................................ 51
3.3.2.3 Salidas de relé ........................................................................................................ 52
3.3.2.4 Salidas estáticas de CA .......................................................................................... 53
3.4 ENTRADAS Y SALIDAS ANALÓGICAS ....................................................................... 54
3.4.1 Conversión A/D........................................................................................................... 55
3.4.1.1 Convertidores basados en contadores binarios ...................................................... 56
3.4.1.2 Convertidores de aproximaciones sucesivas.......................................................... 56
3.4.1.3 Convertidores de doble rampa de integración........................................................ 57
3.4.2 Conversion D/A........................................................................................................... 57
3.4.2.1 Convertidores D/A unipolares ............................................................................... 57
3.4.2.2 Convertidores D/A dipolares o con signo .............................................................. 57
3.4.3 Interfaces para entradas analógicas ............................................................................. 58
3.4.4 Interfaces para salidas analógicas................................................................................ 59
4.0
PROGRAMACION DEL PLC............................................................................................. 61
4.1 INTRODUCCION............................................................................................................... 61
4.2 MNEMONICOS (LENGUAJE BOLÉANO Y LISTAS DE INSTRUCCIONES) .................................. 64
4.2.1 Primera consulta .......................................................................................................... 66
4.2.2 Asignación ................................................................................................................... 66
4.2.3 And .............................................................................................................................. 67
4.2.4 Or................................................................................................................................. 67
4.2.5 XOR (O exclusiva) ...................................................................................................... 67
4.2.6 Expresiones entre paréntesis........................................................................................ 68
4.2.7 Y antes de O ................................................................................................................ 69
4.2.8 Operaciones de flancos................................................................................................ 69
4.2.9 Set y Reset ................................................................................................................... 70
4.2.10 Negar, activar, desactivar y salvar el RLO ................................................................. 70
4.2.11 Operaciones con contadores ....................................................................................... 71
4.2.11.1 Cargar un valor preseleccionado.......................................................................... 71
4.2.11.2 Borrar un contador ............................................................................................... 72
4.2.11.3 Contadores ascendentes y descendentes .............................................................. 72
4.2.11.4 Consulta del saldo de contadores ......................................................................... 72
4.2.11.5 Lectura del valor de un contador.......................................................................... 73
4.2.12 Operaciones con temporizadores ................................................................................ 73
4.2.12.1 Cargar un valor de temporizador ......................................................................... 74
4.2.12.2 Consulta del estado de temporizadores ................................................................ 75
4.2.12.3 Temporizador como impulso ............................................................................... 75
4.2.12.4 Temporizador como impulso prolongado ............................................................ 76
4.2.12.5 Temporizador como retardo a la conexión con memoria..................................... 76
4.2.12.6 Temporizador como retardo a la desconexión ..................................................... 76
4.2.12.7 Borrar un temporizador........................................................................................ 77
4.2.12.8 Re-arranque de un temporizador.......................................................................... 77
4.2.12.9 Lectura de un valor de temporizador ................................................................... 78
4.2.13 Operaciones con salto incondicional........................................................................... 78
4.2.14 Operaciones de salto condicional en bifurcación del RLO......................................... 79
4.2.15 Operaciones de salto condicional en función de RB u OV/OS................................... 80
4.2.16 Operaciones de salto condicional en función de A1 y A0 .......................................... 80
4.2.17 Loop ............................................................................................................................ 81
x
www.infoPLC.net
Contenido
4.2.18 Llamar funciones y módulos de función con CALL ...................................................82
4.2.19 Llamar funciones y módulos con CC y UC.................................................................83
4.2.20 Llamar funciones de sistema integradas ......................................................................84
4.2.21 Funciones Master Control Relay .................................................................................84
4.2.22 Finalizar módulos ........................................................................................................86
4.2.23 Operaciones de comparación.......................................................................................87
4.2.23.1 Comparar dos números enteros ............................................................................87
4.2.23.2 Comparar dos números reales...............................................................................89
4.3 LENGUAJES DE ALTO NIVEL ..................................................................................................90
4.4 LADDER (DIAGRAMA DE ESCALERA) ................................................................................91
4.4.1 Load y Load not ...........................................................................................................95
4.4.2 Out y Out not................................................................................................................96
4.4.3 ...........................................................................................................................................97
4.4.4 And y And not ..............................................................................................................97
4.4.5 Or y Or not ...................................................................................................................98
4.4.6 Combinación de instrucciones AND y OR ................................................................98
4.4.7 Instrucciones de bloque lógico AND LOAD/OR LOAD.............................................99
4.4.8 End .............................................................................................................................100
4.4.9 Actualización de entradas y salidas............................................................................101
4.4.10 Instrucciones avanzadas.............................................................................................102
4.4.10.1 Relevadores temporales ......................................................................................102
4.4.10.2 Temporizadores ..................................................................................................104
4.4.10.3 On-delay timer ....................................................................................................104
4.4.10.4 Off-delay timer ...................................................................................................105
4.4.10.5 Retentive o temporizadores acumulativos ..........................................................105
4.4.10.6 Temporizador de alta velocidad..........................................................................107
4.4.10.7 Exactitud del tiempo ...........................................................................................107
4.4.10.8 Contadores ..........................................................................................................109
4.4.10.9 Contadores ascendentes ......................................................................................110
4.4.10.10 Contadores descendentes ..................................................................................111
4.4.10.11 Contadores ascendente-descendente.................................................................112
4.4.10.12 Contadores de alta velocidad ............................................................................113
4.4.10.13 Instrucción KEEP .............................................................................................114
4.4.10.14 Instrucción DIFERÉNCIATE UP-DIFU ..........................................................115
4.4.10.15 Instrucción DIFFERENTIATE DOWN-DIFD.................................................115
4.4.10.16 Instrucción INTERLOCK e INTERLOCK CLEAR – IL e ILC ......................116
4.4.10.17 Instrucciones JUMP y JUMP END (JMP y JME)............................................117
4.4.10.18 Registros de corrimiento...................................................................................118
4.5 GRAFCET .............................................................................................................................119
4.5.1 Etapas .........................................................................................................................121
4.5.1.1 Etapas iniciales .....................................................................................................121
4.5.1.2 Etapas normales ....................................................................................................122
4.5.2 Acciones asociadas.....................................................................................................122
4.5.2.1 Acción condicionada ............................................................................................123
4.5.2.2 Acción retardada...................................................................................................124
4.5.2.3 Acción limitada.....................................................................................................124
4.5.2.4 Acción de impulso ................................................................................................124
4.5.2.5 Acción memorizada ..............................................................................................125
4.5.3 Transacciones .............................................................................................................125
4.5.3.1 Receptividades asociadas a las transiciones .........................................................126
4.5.4 Líneas de evolución o líneas de enlace ......................................................................126
4.5.5 Diseño y estructuras del Grafcet ................................................................................126
xi
www.infoPLC.net
Contenido
4.5.5.1
4.5.5.2
4.5.5.3
4.5.5.4
4.5.5.5
4.5.5.6
4.5.5.7
4.5.5.8
4.5.5.9
4.5.5.10
Desarrollo del sistema.......................................................................................... 127
Evolución del sistema .......................................................................................... 128
Secuencia única.................................................................................................... 128
Bifurcación en “O”. También llamada selección de secuencia............................ 129
Bifurcación en “Y”. También llamada trabajos en paralelo ................................ 131
Saltos de etapas .................................................................................................... 133
Bucles................................................................................................................... 134
Subrutinas ............................................................................................................ 135
Macro-etapas........................................................................................................ 136
Diagramas paralelos........................................................................................... 136
4.6 DIAGRAMAS LÓGICOS ..................................................................................................... 137
4.6.1 Funciones básicas ...................................................................................................... 138
4.6.2 Funciones especiales.................................................................................................. 139
4.6.2.1 Temporizador con retardo a conexión ................................................................. 139
4.6.2.2 Temporizador con retardo a desconexión ............................................................ 139
4.6.2.3 Relevador de impulsos......................................................................................... 139
4.6.2.4 Reloj..................................................................................................................... 140
4.6.2.5 Biestable Set-Reset .............................................................................................. 140
4.6.2.6 Generador de pulsos............................................................................................. 140
4.6.2.7 Temporizador a la conexión con memoria........................................................... 140
4.6.2.8 Contador progresivo/regresivo............................................................................. 141
4.6.2.9 Contador de horas de servicio.............................................................................. 141
4.6.2.10 Relevador de supresión ...................................................................................... 141
4.6.2.11 Conmutador de valor de umbral para frecuencias.............................................. 141
4.6.3 Comparación del plano de funciones con LADDER................................................. 142
5.0
COMUNICACIONES Y REDES....................................................................................... 145
5.1 INTERCONEXIONES ESTÁNDAR................................................................................ 145
5.1.1 Comunicaciones serie ................................................................................................ 145
5.1.2 Ethernet...................................................................................................................... 146
5.2 REDES INDUSTRIALES ................................................................................................. 147
5.2.1 Niveles en una red industrial ..................................................................................... 148
5.3 REDES LAN INDUSTRIALES........................................................................................ 149
5.3.1 MAP .......................................................................................................................... 149
5.3.2 Ethernet industrial...................................................................................................... 150
5.4 PROTOCOLOS Y BUSES DE CAMPO .......................................................................... 151
5.4.1 MODBUS .................................................................................................................. 152
5.4.2 AS-i............................................................................................................................ 152
5.4.3 BITBUS ..................................................................................................................... 153
5.4.4 COMPOBUS ............................................................................................................. 154
5.4.5 PROFIBUS ................................................................................................................ 154
5.4.5.1 PROFIBUS-DP .................................................................................................... 155
5.4.5.2 PROFIBUS-PA .................................................................................................... 155
5.4.5.3 PROFIBUS-FMS ................................................................................................. 155
5.5 COMPARACIÓN DE LOS BUSES DE CAMPO............................................................ 156
5.5.1 Información general................................................................................................... 156
5.5.2 Características físicas ................................................................................................ 157
5.5.3 Mecanismo de transporte........................................................................................... 158
5.5.4 Desempeño ................................................................................................................ 159
xii
www.infoPLC.net
Contenido
6.0
6.1
6.2
6.3
6.4
6.5
6.6
6.7
APLICACIONES .................................................................................................................161
CONTROL DE UNA PUERTA CORREDIZA.................................................................161
DETECCIÓN DE ETIQUETAS EN UNA EMBOTELLADORA....................................163
ELEVADOR CLASIFICADOR DE PAQUETES (FESTO)............................................164
CONTROL AUTOMÁTICO DEL TREN DE LAVADO DE AUTOS ............................167
CONTROL AUTOMÁTICO DE UN GARAGE ..............................................................171
CONTEO DEL NÚMERO TOTAL DE PRODUCTOS EN LÍNEAS MÚLTIPLES DE
PRODUCCIÓN (KEYENCE)..........................................................................................175
CONTEO DEL NÚMERO DE ROTACIONES - CONTADOR DE FRECUENCIA
(KEYENCE).......................................................................................................................177
APÉNDICE. NORMA IEC-61131-3 ...........................................................................................179
CONCLUSIONES..........................................................................................................................187
BIBLIOGRAFÍA Y REFERENCIAS ..........................................................................................191
xiii
www.infoPLC.net
Contenido
xiv
www.infoPLC.net
Prólogo
PRÓLOGO
El objetivo de este libro radica en la gran importancia que tiene el conocer la tecnología
que actualmente se emplea en la automatización y de la cual no existe una gran bibliografía, o al
menos no se difunde como debería de hacerse.
El contenido del presente trabajo se ha recopilado tanto de libros, paginas web, revistas y
tutoriales, algunos de ellos muy buenos, en los que de alguna manera sus autores, se han
preocupado por tratar de exponer los temas más importantes acerca de la automatización de
procesos mediante el empleo de los controladores lógicos programables mejor conocidos como
PLCs.
Finalmente cabe mencionar que mucha de la información presentada aquí podría parecer
incompleta, pero la idea principal es tener un buen punto de partida para aquellas personas que
se interesen por el tema y sobre todo que deseen continuar investigando y de ser posible
enriquecer, corregir o más aún actualizar los temas aquí tratados.
Nunca consideres el estudio como una obligación
sino como una oportunidad para penetrar en el
bello y maravillosos mundo del saber.
Albert Einstein
Un camino de mil millas comienza con un paso.
Franklin, Benjamín
xv
www.infoPLC.net
Prólogo
xvi
www.infoPLC.net
Introducción
1.0
1.1
INTRODUCCIÓN
SISTEMAS DE CONTROL
Todo proceso industrial se compone de secuencias de acciones que deben ser controladas.
En los procesos sencillos, un operario es el que se encarga de este control y de vigilar la marcha
correcta del sistema pero, en la mayoría de las ocasiones, esto no es posible debido al tamaño del
proceso.
Se puede definir el control como la manipulación indirecta de las magnitudes de un
sistema denominado planta a través de otro sistema llamado sistema de control. Este sistema
opera, en general, con magnitudes de baja potencia o señales, y gobierna unos accionamientos
que son los que realmente modulan la potencia entregada a la planta. Habitualmente el sistema
de control se encarga de la toma de ciertas decisiones ante determinados comportamientos de la
planta, hablándose entonces de sistemas automáticos de control. Para esto se requiere la existencia
de unos sensores que detecten el comportamiento de dicha planta y de unas interfaces para
adaptar las señales de los sensores a las entradas del sistema de control.
Todo sistema automático por simple que éste sea se basa en el concepto de bucle o lazo:
UNIDAD
DE CONROL
SEÑALES DE
ENTRADA
INTERFACES
RESPUESTA
SALIDAS
SEÑALES
DE
CONTROL
ACCIONAMIENTOS
PLANTA
SENSORES
SEÑALES
DE
REALIMENTACIÓN
Elementos de señal
Elementos de potencia
Figura 1.1 Sistema de control automático en lazo cerrado
Primordialmente el papel del autómata programable dentro de éste sistema es el de la
unidad de control, aunque suele incluir también totalmente o en parte, las interfaces con las
señales de proceso.
Al conjunto de señales de entrada y de realimentación que entran a la unidad de control se
les denomina genéricamente entradas y al conjunto de señales de control obtenidas salidas.
1
www.infoPLC.net
Introducción
1.1.1 Fases de estudio en la elaboración de un automatismo
Para el desarrollo y elección correcta de un automatismo, es necesario conocer
previamente los datos siguientes:
•
•
•
Las especificaciones técnicas del sistema o proceso a automatizar y su correcta
interpretación.
La parte económica asignada para evitar la elaboración de una buena opción técnica
e inviable económicamente.
Los dispositivos existentes en el mercado que se van a utilizar en la elaboración del
automatismo.
El siguiente organigrama representa el procedimiento general o fases más utilizado para el
estudio de los automatismos.
Inicio
Especificaciones
funcionales
Estudio
previo
Resolución
de las opciones
tecnológicas
más eficaces
Estudio
técnicoeconómico
Estudio
económico
de las opciones
Toma
de decisiones
Decisión
final
Lógica
cableada
Lógica
programada
Fin
Figura 1.2 Organigrama general para el estudio de automatismos.
2
www.infoPLC.net
Introducción
1.1.2 Opciones tecnológicas
El automaticista dispone de numerosas herramientas tecnológicas para realizar el sistema
de control de su planta, que se reagrupan habitualmente en dos categorías fundamentales: Las
soluciones cableadas y las programadas. El siguiente cuadro muestra éstas opciones:
Tipo
Familia
Tecnológica
Lógica
Cableada
Eléctrica
Electrónica
Lógica
Programada
Electrónica
Subfamilias
específicas
Relés
electromagnéticos
Electroneumática
Electrohidráulica
Electrónica estática
Sistemas
Microordenadores
Informáticos
Miniordenadores
Microsistemas (universales específicos)
Autómatas
Programables
Tabla 1.1 Principales soluciones tecnológicas de un problema de automatismo
De todas estas opciones nos concentraremos en el estudio de los Autómatas Programables
o Controladores Lógicos Programables (PLC’s).
1.2
CONTROLADORES LÓGICOS PROGRAMABLES
Se define un Controlador Lógico Programable (PLC) o Autómata Programable Industrial
(API) como una computadora especializada, diseñada para controlar máquinas y procesos en
ambientes industriales operando en tiempo real.
Realiza funciones lógicas, series, paralelos, temporizaciones, contajes y otras más potentes
como cálculos, regulaciones, etc.
También la National Electrical Manufacturers Association (NEMA) define al PLC como un
dispositivo electrónico digital que utiliza una memoria programable para almacenar
instrucciones y para implementar funciones especificas tales como funciones lógicas,
secuenciales, de temporización, de conteo y aritméticas para controlar máquinas y procesos.
En general puede verse como una ‘caja negra’ en la que existen unos terminales de entrada
a los que se conectan pulsadores, finales de carrera, fofocélulas, detectores..., unos terminales de
salida a los que se conectarán bobinas de contactores, electroválvulas, lámparas, etc., de tal
forma que la actuación de éstos últimos está en función de las señales de entrada que estén
activas en cada momento según el programa introducido. Por lo tanto, los elementos
tradicionales como relés auxiliares, de enclavamiento, temporizadores, contadores, etc., son
internos.
3
www.infoPLC.net
Introducción
Desde el punto de vista de su papel dentro del sistema de control, se ha dicho que el
autómata programable es la unidad de control incluyendo las interfaces con las señales de proceso.
Por otro lado se trata de un sistema con un hardware estándar, con capacidad de conexión directa a
las señales de campo (niveles de tensión y corrientes industriales, transductores y periféricos
electrónicos) y programable por el usuario.
El concepto de hardware estándar se complementa con el de modularidad, entendiendo
como tal el hecho de que éste hardware está fragmentado en partes interconectables que
permiten configurar un sistema según las necesidades.
Existen autómatas compactos que incluyen una unidad de control y un mínimo de
entradas y salidas y luego tienen previstas una serie de unidades de expansión de
entradas/salidas o autómatas grandes montados en rack para aplicaciones más complejas.
También existe la posibilidad en autómatas grandes, de elección entre varios tipos de
CPU, adaptados a la tarea que deba realizarse o incluso de múltiples CPU trabajando en paralelo
en tareas distintas.
Esta adaptabilidad ha progresado últimamente hacia el concepto de inteligencia distribuida,
gracias a las comunicaciones entre autómatas y a las redes autómata-computadora. Esta técnica
sustituye el gran autómata con muchas E/S controladas por una única CPU, por varios
autómatas con un número menor de E/S, conectados en red y controlando cada punto o sección
de una planta bajo el control de una CPU central.
4
www.infoPLC.net
Introducción
1.2.1 Campos de aplicación
El PLC por sus características especiales de diseño se utiliza en la mayoría de sectores
industriales donde existe la necesidad de realizar procesos de maniobra, control, señalización,
etc. Un autómata suele emplearse en procesos industriales que tengan una o varias de las
siguientes necesidades:
•
•
•
•
•
•
Espacio reducido.
Procesos de producción periódicamente cambiantes.
Procesos secuenciales.
Maquinaria de procesos variables.
Instalaciones de procesos complejos y amplios.
Chequeo de programación centralizada de las partes del proceso.
Aplicaciones generales:
•
•
•
•
•
•
•
•
•
Robótica.
Maniobra de máquinas.
Maniobra de instalaciones.
Señalización y control.
Manejo de materiales.
Administración de energía.
Máquinas herramientas.
Máquinas de moldeo y fundición.
Líneas de transferencia automáticas.
Esto se refiere a los autómatas programables industriales, dejando de lado los pequeños
autómatas 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).
1.2.2
Ventajas e inconvenientes del plc
Entre las ventajas 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.
5
www.infoPLC.net
Introducción
Y entre los inconvenientes:
•
•
Adiestramiento de técnicos.
Costo inicial.
Esto es relativo, ya que todas la carreras de ingeniería incluyen la automatización como
una de sus asignaturas. En cuanto al costo, pueden encontrarse autómatas para todas las
necesidades y a precios ajustados.
1.2.3 Historia del PLC
Los PLC's 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. En 1968 Ford y General
Motors impusieron a sus proveedores de automatismos unas especificaciones para la realización
de un sistema de control electrónico para máquinas transfer. Este equipo debía ser fácilmente
programable, sin recurrir a las computadoras industriales ya en servicio en la industria. Bedford
Associates propuso algo denominado Controlador Digital Modular (MODICON, MOdular
DIgital CONtroler). 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
quería una estricta manutenció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 una 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
secuenciales y CPU basadas en desplazamiento de bit. Los AMD 2901 y 2903 fueron muy
populares en el Modicon y PLC's A-B. Los microprocesadores convencionales cedieron la
potencia necesaria para resolver de forma rápida y completa la lógica de los pequeños PLC's.
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 PLC's y en
conjunto podían estar aislados de las máquinas que controlaban. También podían enviar y
recibir señales de tensión variables, entrando en el mundo analógico.
6
www.infoPLC.net
Introducción
Desafortunadamente, la falta de un estándar acompañado con un continuo cambio
tecnológico ha hecho que la comunicación de PLC's sea un maremagnum de sistemas físicos y
protocolos incompatibles entre sí. No obstante fue una gran década para los PLC's.
En los 80 se produjo un intento de estandarización de las comunicaciones con el protocolo
MAP (Manufacturing Automation Protocol) de General Motor's. 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 (IEC 1131-3) intenta unificar el sistema de programación de todos los PLC en
un único estándar internacional. Ahora disponemos de PLC's 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 éste último puede proporcionar.
7
www.infoPLC.net
Introducción
8
www.infoPLC.net
Estructura de los PLC
2.0 ESTRUCTURA DE LOS PLC
En este capítulo conoceremos el hardware tanto en su configuración externa, como interna
dada la importancia que implica durante el manejo de un PLC tanto a nivel externo, como
interno.
2.1 ESTRUCTURA O ARQUITECTURA EXTERNA
El término estructura externa o configuración externa de un PLC se refiere al aspecto físico
exterior del mismo, bloque o elementos en que está dividido, etc. Desde su nacimiento hasta
nuestros días han sido varias las estructuras que han salido al mercado condicionadas no solo
por el fabricante del mismo, sino por la tendencia existente en el área al que perteneciese:
europea o norteamericana.
Por configuración o arquitectura del PLC se entiende la estructura que adopta su sistema
físico, esencialmente la unidad de control, el sistema de entradas y salidas y la memoria de la
máquina, a fin de adaptarlo a las particularidades de la aplicación: número de entradas y
salidas, ubicación de las mismas, potencia de cálculo, capacidad de almacenamiento, etc. Por lo
que la visión externa del PLC es de forma robusta dado que tiene que "aguantar" situaciones
industriales extremas.
Por otro lado, dada la modularidad intrínseca del PLC, esta adaptación resulta
particularmente sencilla utilizando los módulos o ampliaciones previstas a tal efecto por los
fabricantes en sus distintos modelos y gamas. Así, existen básicamente dos configuraciones
posibles para la unidad de control:
•
•
Estructura compacta o unidad de control compacta (control centralizado).
Estructura modular o unidad de control modular (control distribuido).
2.1.1 Estructura compacta
Este tipo de PLC se distingue por presentar en un solo bloque sus elementos, esto es, fuente
de alimentación, CPU, memorias, entradas/salidas, etc. Puesto que estos módulos no pueden
funcionar de forma autónoma, el control queda centralizado en la CPU única, la cual se encarga
de controlar toda la planta. Para ello, ejecuta sólo un programa que contiene todas las rutinas de
control, y elabora las ordenes de mando de forma secuencial, una detrás de otra. Estos módulos
compactos se utilizan generalmente, en instalaciones pequeñas que requieran pocas señales de
control.
En canto a su unidad de programación, existen tres versiones: unidad fija o enchufable
directamente en el autómata, enchufable mediante cable y conector, o la posibilidad de ambas
conexiones. Si la unidad de programación es sustituida por una PC, nos encontraremos que la
posibilidad de conexión del mismo será mediante cable y conector (este tema se tratará con más
detalle en la sección 2.2.6.).
9
www.infoPLC.net
Estructura de los PLC
Figura 2. 1 Ejemplo de un PLC compacto de la marca Keyence de la serie KV y otro
de la marca Siemens de la serie Logo!, los cuales cuentan con una fuente de alimentación,
CPU, memorias, entradas y salidas, unidad de programación, etc.
El montaje del autómata al armario que ha de contenerlo, se realiza por cualquiera de los
sistemas conocidos: carril DIN, placa perforada, etc.
Por otro lado, pueden clasificarse, precisamente, por el número de puntos E/S que
presente el autómata programable, es decir:
•
•
Microatómatas, con E/S< 24,
Miniautómatas, con 24< E/S < 60.
Los miniautómatas pueden ampliarse mediante unidades E/S compactas o mediante
módulos de extensión E/S, siempre conectados entre sí y al autómata base por medio de cables
de expansión. Ver figura 2.2.
Es posible conectar varias de esta unidades de expansión sobre el mismo bus interno del
autómata, unidas todas ellas a la misma CPU hasta que el límite de direccionamiento que ésta lo
permita.
Las unidades de E/S compactas incluyen normalmente su propia fuente de alimentación
con entrada de 110/220 VCA o 24 VCD, y una fuente de salida a 24 VCC para alimentación de
captadores y sensores de entrada (y, si las cargas y la instalación lo permiten, de actuadores de
salida).
10
www.infoPLC.net
Estructura de los PLC
Figura 2. 2 Ejemplo de PLC compacto. Unidad base y dos unidades de expansión, respectivamente,
los cuales, cada uno posee su propia fuente de alimentación.
2.1.2 Estructura modular
Como su nombre indica, la estructura de este tipo de PLC se divide en módulos o partes del
mismo que realizan funciones específicas con sus propias unidades de proceso, y en general, con
sus propias interfaces de E/S. Estos módulos se encuentran conectados a la unidad central (CPU
principal, maestra, supervisora, etc.) que gestiona de forma general el sistema y permite el
intercambio de datos entre los elementos, procesadores o interfaces, del mismo. Aquí cabe hacer
dos divisiones para distinguir entre las que denominaremos estructura americana y estructura
europea.
Estructura americana: Se caracteriza por separar las E/S del resto del PLC, de tal forma que
en un bloque compacto están reunidas las CPU, memoria de usuario o de programa y fuente de
alimentación, y separadamente las unidades de E/S en los bloques o tarjetas necesarias.
Estructura europea: Su característica principal es la de que existe un módulo para cada
función: fuente de alimentación, CPU, E/S, etc. La unidad de programación se une mediante
cable y conector. La sujeción de los mismos se hace bien sobre carril DIN o placa perforada, bien
sobre RACK, en donde va alojado el BUS externo de unión de los distintos módulos que lo
componen.
Figura 2. 3 Ejemplo de un PLC modular
11
www.infoPLC.net
Estructura de los PLC
2.2 ESTRUCTURA O ARQUITECTURA INTERNA
Un autómata programable industrial (API) o controlador lógico programable (PLC), es un
equipo electrónico de control con un cableado interno (hardware) independiente del proceso a
controlar, que se adapta a dicho proceso mediante un programa específico (software) que
contiene la secuencia de operaciones a realizar. Esta secuencia de operaciones se define sobre
señales de entrada y salida al proceso, cableadas directamente en los bornes de conexión del
PLC.
Las señales de entrada pueden proceder a elementos digitales, como finales de carrera y
detectores de proximidad, o analógicos, como sensores de temperatura y dispositivos de salida
en tensión o corrientes continuas.
Las señales de salida son órdenes digitales o señales analógicas de corriente o tensión, que
se envían a los elementos indicadores y actuadores del proceso, como lámparas, contactores,
válvulas, etc.
El PLC gobierna las señales de salida según el programa de control previamente
almacenado en una memoria, a partir del estado de las señales de entrada. Este programa se
introduce en el autómata a través de la unidad de programación, que permite además funciones
adicionales como depuración de programas, simulación, monitorización, control del PLC, etc.
Una característica notable del PLC frente a otros sistemas de control programables está en
la estandarización de su hardware, que permite la configuración de sistemas de control "a
medida", según las necesidades estimadas de potencia de cálculo y número y tipo de señales de
entrada y salida.
El PLC se configura alrededor de una unidad central o de control, que, unida por medio
de buses internos a las interfaces de entrada y salida y a las memorias, define lo que se conoce
como arquitectura interna del PLC.
Los PLC´s se componen esencialmente de los siguientes bloques tal y como se representan
en la figura 2.4
•
•
•
•
•
Unidad central de proceso (CPU).
Memorias internas.
Interfaces de entrada.
Interfaces de salida.
Fuente de alimentación.
La unidad de control o unidad central de proceso (CPU) consulta el estado de las entradas y
recoge de la memoria de programa la secuencia de instrucciones a ejecutar, elaborando a partir
de ella las señales de salida u órdenes que se enviarán al proceso. Durante la ejecución del
programa, las instrucciones son procesadas en serie, una tras otra. En otras palabras, la unidad
de control, es la inteligencia del sistema, ya que mediante la interpretación de las instrucciones
del programa de usuario y en función de los valores de entrada, activa las salidas deseadas.
12
www.infoPLC.net
Estructura de los PLC
Figura 2. 4 Esquema de bloques simplificado de un PLC.
La unidad de control también es la responsable de actualizar continuamente los
temporizadores y contadores internos que hayan sido programados.
La memoria del autómata programable contiene los datos o instrucciones que se necesitan
para ejecutar la tarea de control.
La fuente de alimentación proporciona, a partir de la tensión exterior, las tensiones
necesarias para el buen funcionamiento de los distintos circuitos electrónicos del sistema. En
ocasiones el autómata puede disponer de una batería conectada a esta fuente de alimentación, lo
que asegura el mantenimiento del programa y algunos datos en la memoria en caso de una
interrupción de la tensión exterior.
La sección de entradas, mediante el interfaz, adapta y codifica en forma comprensible por
la CPU las señales procedentes de los dispositivos de entrada o captadores, esto es, pulsadores,
finales de carrera, sensores, etc.; También tiene una misión de protección de los circuitos
electrónicos internos del autómata, realizando una separación eléctrica entre éstos y los
captadores.
La sección de salidas, mediante el interfaz, trabaja en forma inversa a la de entradas, es
decir, decodifica las señales procedentes de la CPU, las amplifica y controla con ellas los
dispositivos de salida o actuadores, como lámparas, relevadores, contactores, arrancadores,
electroválvulas, etc., aquí también existen unos interfaces de adaptación a las salidas y de
protección de circuitos internos.
Después de haber visto el esquema de bloques simplificado de un autómata programable
o PLC, vamos a estudiar de una forma más detallada las partes del autómata ya descritas y las
funciones más importantes que realizan, lo que nos permitirá lograr el objetivo de conocer a un
nivel aceptable este equipo electrónico. Cabe mencionar que cualquier conocimiento sobre
Electrónica Digital y microprocesadores serán de gran ayuda para entender en mayor medida el
funcionamiento.
13
www.infoPLC.net
Estructura de los PLC
La arquitectura de un PLC de la gama baja o media queda representada por la figura 2.5.
Esta arquitectura es la básica de los autómatas existiendo poca variación de unos fabricantes a
otros. Su representación nos permite entender con mayor profundidad los circuitos que lo
componen.
Figura 2. 5 Arquitectura interna de un PLC
2.2.1 Unidad central de procesamiento (CPU)
La CPU (Central Processing Unit) está constituida por los elementos siguientes: procesador,
memoria y circuitos auxiliares asociados. La figura 2.6 muestra los bloques fundamentales de
una CPU, donde se reconocen los siguientes:
•
•
•
•
•
•
14
ALU, (Aritmetic Logic Unit), es la encargada de realizar las operaciones aritméticas y
lógicas (combinacionales Y, O, sumas, comparaciones, etc.).
Acumulador, que almacena el resultado de la última operación realizada por la ALU.
Flags, o indicadores de resultado de operación (mayor que, menor que, positivo,
negativo, resultado cero, etc.). El estado de los flags puede ser consultado por el
programa.
PC, (program counter), o contador de programa, es el encargado de la lectura de las
instrucciones de usuario y, por tanto, de la secuencia de ejecución. Esta secuencia
puede ser modificada con el juego de instrucciones de salto.
Decodificador de instrucciones y secuenciador, cableado y/o programado, donde se
decodifican las instrucciones leídas en la memoria y se generan las señales de
control.
programa ROM monitor del sistema, es donde se almacena la secuencia de puesta en
marcha, las rutinas de test y de error en la ejecución, etc.
www.infoPLC.net
Estructura de los PLC
•
•
•
Opcionalmente, un cartucho de memoria ROM externa, que contendría una
ampliación del intérprete incorporado, a fin de que la CPU pudiera decodificar y
ejecutar instrucciones complejas o escritas en lenguajes de programación más
potentes.
Registros de pila, algunos autómatas lo incluyen, permitiendo con el almacenar
resultados parciales del programa (obtenidos mediante instrucciones particulares de
paréntesis o bloques) antes de operar con ellos y asignar el resultado a una salida.
Buses, no son circuitos en sí, sino zonas conductoras en paralelo que transmiten
direcciones, datos e información de control (bus de direcciones, bus de datos y bus
de control respectivamente) entre las diferentes partes de la CPU. Por otro lado, se
puede hacer una diferencia entre buses internos y externos. Los primeros unen entre
sí las diferentes partes del µP, mientras que los segundos son pistas de circuitos
impreso que unen chips independientes. Los buses internos (bus de direcciones, bus
de datos y bus de control) y externos son continuación unos de otros.
Figura 2. 6 Diagrama a bloques de la unidad central de proceso o CPU.
La combinación de la CPU con la memoria interna, imagen de entradas/salidas, y de
programa de usuario, es conocida también con el nombre de unidad de proceso o tarjeta central,
aunque algunos fabricantes denominan por extensión al conjunto simplemente CPU.
2.2.1.1
Configuración de la unidad de control
En un sentido amplio, la unidad de control es la encargada de gestionar las informaciones
precedentes del proceso para establecer sobre él la secuencia de control que desea el usuario.
Para ello, en un sistema programable con autómatas la unidad de control debe:
•
•
•
•
Ejecutar las instrucciones del programa,
Ordenar las transferencias de información en el sistema de entrada/salida,
Establecer los lazos de regulación y control necesarios,
Comunicarse con el entorno informático y con los operadores humanos.
El programa de usuario puede ir desde sencillas combinaciones de variables lógicas
(AND, OR, NOT), utilizando temporizadores y contadores, hasta estructuras de programación
multitarea, que combinan en la misma aplicación las rutinas de tratamiento y elaboración de
15
www.infoPLC.net
Estructura de los PLC
señales de mando para distintos subprocesos de control como, por ejemplo, regulación de
temperatura, condiciones de alarma, comunicación de periféricos, etc.
Estos programas complejos, que no sólo gobiernan diferentes variables, sino también
subprocesos distintos, pueden tener tiempos de respuesta prohibitivos, para el control en tiempo
real, si se encarga la ejecución del programa a una única CPU por potente que esta sea.
La solución consiste en repartir la tarea de control entre varios procesadores, resultando
así en dos configuraciones de unidad de control bien diferenciadas:
•
•
Unidad de control compacta, formada por una sola CPU que elabora el programa en
monoproceso, es decir, ejecuta un solo programa que contiene todas las rutinas de
control, y elabora las ordenes de mando en forma secuencial, una detrás de otra.
Unidad de control modular, con ejecución en multiproceso, redunda en un aumento de
la potencia global del sistema, al descargar las tareas sobre varios procesadores que
las ejecutan de forma más eficiente, y con mayor rapidez, en los lazos respectivos de
comunicación y control. Por la ubicación e interconexión de los procesadores que
forman la unidad de control de un sistema modular de Autómatas, se tienen las
siguientes arquitecturas posibles:
Multiprocesadores centrales,
Procesador central + procesadores periféricos,
Procesadores conectados en red.
Multiprocesadores centrales
La arquitectura de multiprocesadores se obtiene al conectar, sobre un mismo bastidor,
varias unidades centrales gestionadas por una unidad de coordinación o coordinador. Cada una
de estas unidades ejecuta una parte del programa de usuario (subprograma) de forma
independiente a las demás, definiendo su propio ciclo de ejecución. De esta forma, el máximo
tiempo de respuesta para una señal de planta viene dado por el mayor de los tiempos de ciclo, y
no por la suma de todos ellos.
Todas las unidades centrales tienen acceso al mismo mapa de entradas/salidas del
autómata, estableciendo cada una la gestión del bus y el intercambio de datos con la periferia y
con las otras unidades cuando lo permite el coordinador superior.
En la arquitectura multiprocesador, cada CPU trabaja cíclicamente, con intercambio de
información a través de la unidad de coordinación, siguiendo la siguiente secuencia:
1.
2.
3.
Actualización de las señales de entrada, y lectura de datos del coordinador,
Ejecución del programa de usuario,
Actualización de señales de salida, y transmisión de datos al coordinador.
Como se observa, la unidad de coordinación es pieza fundamental en el funcionamiento
de las unidades centrales conectadas, realizando dos funciones específicas:
16
www.infoPLC.net
Estructura de los PLC
•
•
Asigna cíclicamente a cada procesador el bus interno del autómata, para el
intercambio de datos de E/S y comunicación con periféricos externos.
Actúa como origen/destino de la información transmitida entre procesadores, que
tienen acceso a un área de memoria común en el coordinador donde todos ellos
pueden leer y escribir datos.
Además, esta unidad actúa como procesador principal, incorporando los elementos de
mando general del autómata, como son los interruptores de arranque/partada (RUN/STOP),
rutina de iniciación tras un “reset”, reloj de vigilancia de tiempo de acceso a cada procesador al
bus, etc.
En algunos sistemas multiprocesadores las funciones de la unidad de coordinación son
asumidas por algún otro procesador, que asume el carácter de procesador principal, encargado
no sólo de ejecutar su propio programa, sino también de gestionar el funcionamiento de los
demás procesadores auxiliares, encargados de la regulación analógica y otros cálculos y del
control de periféricos, respectivamente.
La arquitectura de multiprocesadores presenta las tres ventajas particulares siguientes:
•
•
•
Permite la estructuración de la tarea de control, obteniéndose programas más fáciles
de desarrollar y depurar.
En el caso de una ampliación o modificación de la tarea de mando (del programa de
usuario), que desborde la capacidad de direccionamiento o proceso de la unidad de
control utilizada, no es necesaria la sustitución de todo el sistema, incluyendo las
unidades de E/S, sino que basta colocar otro procesador adicional en el bastidor.
Pueden reducirse los tiempos de respuesta frente a señales rápidas de la planta
utilizando varios procesadores que se reparten las tareas críticas y no críticas en el
tiempo.
En definitiva, las unidades centrales de un sistema multiprocesador permiten configurar
un sistema en cuanto a las necesidades en la potencia de cálculo, ejecutando cada una de ellas
programas diferentes pero compartiendo las mismas direcciones de E/S y el mismo bus interno.
Procesador central + procesadores periféricos
Dada la diversidad de funciones que debe realizar la CPU, algunas de ellas muy
complejas, aparece en autómatas de gama media y altas, una subdivisión reparto de tareas, a fin
de optimizar su funcionamiento; Esta es la estructura de control distribuido mediante el empleo
de módulos inteligentes: en este caso, se conectan al bus procesadores específicos especializados
en tareas como la medición y regulación de temperatura, control de posición, conexión con
otros procesadores dentro de una red local, etc. lo que permite traspasar ciertas funciones,
normalmente críticas en el tiempo, a estos periféricos inteligentes (denominados así porque
incluyen sus propios procesadores y memorias), descargando al procesador central de unos
procesos a los que no podría atender con la necesaria rapidez.
Los procesadores periféricos, son en otras palabras, CPU´s especializadas en ciertas
aplicaciones de regulación y control, con entradas y salidas analógicas y digitales incorporadas,
17
www.infoPLC.net
Estructura de los PLC
que solicitan del programa de usuario únicamente los parámetros y consignas de la aplicación.
Conseguidos estos, el funcionamiento posterior es totalmente autónomo a la CPU principal.
Un procesador periférico inteligente se define entonces como un procesador auxiliar, con
sus propias memorias e interfaces de entrada/salida, que contiene en principio un programa o
interprete de programa especializado en la ejecución de una tarea concreta:
•
•
•
Procesador, porque incorpora su propio sistema µP, que le permite ejecutar de forma
autónoma tareas críticas en el tiempo.
Periférico, porque está unido a la unidad central a través del bus interno del
autómata, pero no exige la presencia de una unidad de coordinación puesto que
incluye sus propias interfaces de E/S.
Inteligente, porque incorpora en su memoria el programa de tratamiento específico
(regulación, posicionamiento, etc.), al que se le indica, desde el programe de usuario,
los parámetros particulares de la aplicación (constantes PID, coordenadas de
movimiento, etc.).
Ambas soluciones, estructura de multiprocesadores centrales y conexión de módulos
inteligentes, pueden coexistir en algunos modelos de PLC´s, proporcionando una potencia
superior de cálculo, capacidad y rapidez en la ejecución.
Procesadores conectados en red
El caso de procesadores conectados en red se tratara a detalle en el capitulo 6.
2.2.1.2
Funciones de la CPU
En la memoria ROM del sistema, el fabricante ha grabado una serie de programas ejecutivos
fijos, llamados firmware o software del sistema y es a estos programas a los que se accederá el µP
para realizar las funciones ejecutivas que correspondan en función del tiempo en que trabaje.
El software de sistema de cualquier Autómata consta de una serie de funciones básicas
que realiza en determinados tiempos de cada ciclo: en el inicio o conexión , durante el ciclo o
ejecución del programa y a la desconexión. Este software o programa del sistema es ligeramente
variable para cada autómata, pero en general, contiene las siguientes funciones:
•
•
•
•
•
Supervisión y control de tiempo de ciclo (watchdog), tabla de datos, alimentación,
batería, etc.
Autotest en la conexión y durante la ejecución del programa.
Inicio del ciclo de exploración de programa y de la configuración del conjunto.
Generación del ciclo base de tiempo.
Comunicación con periféricos y unidad de programación.
Hasta que el programa del sistema no ha ejecutado todas las acciones necesarias que le
corresponden, no se inicia el ciclo de programa de usuario.
18
www.infoPLC.net
Estructura de los PLC
2.2.1.3
CPU sin µP
No todos los Autómatas programables o PLC utilizan el µP como elemento base de la
CPU, algunos fabricantes emplean como tal los dispositivos lógicos programables (DPL), o red de
puertas lógicas (gate array), también llamados circuitos integrados de aplicación específica, en
inglés, application specific integrated circuit, ASIC. El ASIC utilizado, por ejemplo, en los SEPTEC
serie 90 de sprecher+Shuh contiene 15,000 puertas lógicas.
2.2.1.4
Ciclo básico de trabajo de la CPU
La operación del PLC se basa en la exploración continua de un programa. Podemos pensar
que dicha exploración consiste de tres pasos de progresión importantes (aunque típicamente hay
más de tres, nos enfocaremos de esta manera a los pasos más importantes). Son estos tres pasos
los que típicamente controlan al sistema y que actualizan los valores de los contadores y
temporizadorers internos.
Paso1. Primero el autómata programable o PLC examina el estado 0 ó 1 de cada una de sus
entradas y las almacena en los registros de la memoria de entradas, esto es, en la zona de
entradas de la memoria de la tabla de datos. Esta situación se mantiene durante todo el ciclo de
programa para poder ser empleada en su siguiente paso de la progresión.
Paso2. Segundo, el PLC ejecuta una por una las instrucciones del programa de acuerdo a
los datos recavados en el paso1, salvando posteriormente los resultados obtenidos durante la
ejecución del programa asignando el estado de la señal a los registros de las salidas poder
usarlos en el paso de progresión siguiente.
Paso3. Tercero, el PLC pone al día o actualiza , el estado de sus salidas basado en la
información computada dado el estado de cada una de sus entradas. Posteriormente, el PLC
regresa de nuevo al paso de progresión 1 y repite continuamente cada uno de sus pasos.
El ciclo de operación del PLC se muestra en la figura 2.7.
Por otro lado, dada la velocidad con que se realiza cada ciclo, del orden de 5 a 10 ms/1K
instrucciones, se puede decir que las salidas se ejecutan en función de las variables de entrada
prácticamente en tiempo real.
Figura 2. 7 Ciclo de operación de un PLC
19
www.infoPLC.net
Estructura de los PLC
2.2.2 Memorias del PLC
La memoria de trabajo es el almacén donde el PLC guarda todo cuanto necesita para
ejecutar la tarea de control.
La memoria ideal para el autómata o PLC debería ser simultáneamente rápida, pequeña,
barata y de bajo consumo de energía. Como ninguna de las memorias del mercado reúne todas
estas condiciones, los PLC combinan distintos tipos de ellas. Algunos de tipos de memoria
empleadas por un PLC podrían ser las mostradas en la tabla 2.1.
TIPO DE
MEMORIA
RAM
o memoria de
lectura escritura
ROM
o memoria de
solo escritura
PROM
o memoria
programable
EPROM
o memoria
modificable
EEPROM
o memoria
modificable
SISTEMA
DE
PROGRAMACIÓN
SISTEMA
DE
BORRADO
Eléctrica
Eléctrico
Durante
su proceso
de fabricación
Es imposible
su
borrado
Es imposible
su
borrado
Por
rayos
UV
Eléctrica
Eléctrica
Eléctrica
ANTE EL CORTE
DE TENSIÓN
LA MEMORIA
Se pierde
es
volátil
Eléctrico
Se mantiene
Se mantiene
Se mantiene
Se mantiene
Tabla 2. 1 Tipos de memorias semiconductoras
Dependiendo de la función asignada se utilizará un tipo de memoria u otra.
De esta forma, los tipos de memoria presentes en un PLC son:
•
•
•
20
Memoria de usuario: El programa de usuario normalmente se graba en memoria
RAM, ya que no sólo ha de ser leído por el microprocesador, sino que ha de poder
ser variado cuando el usuario lo desee, utilizando la unidad de programación. En
algunos PLC´s, la memoria RAM se auxilia de una memoria de sombra del tipo
EEPROM. La desconexión de la alimentación o un fallo en la misma borraría esta
memoria, ya que al ser la RAM una memoria volátil necesita estar constantemente
alimentada y es por ello que los Autómatas que la utilizan llevan incorporada una
batería tampón (o de respaldo) que impide su borrado.
Memoria de la tabla de datos: La memoria de esta área también es de tipo RAM, y en
ella se encuentra, por un lado, la imagen de los estados de las entradas y salidas, y
por otro, los datos numéricos y variables internas, como temporizadores, contadores,
marcas, etc.
Memoria y programa del sistema: Esta memoria, que junto con el procesador componen
la CPU, se encuentra dividida en dos áreas: la llamada memoria del sistema, que
www.infoPLC.net
Estructura de los PLC
•
utiliza memoria RAM, y la que corresponde al programa del sistema o firmware, que
lógicamente es un programa, fijo grabado por el fabricante, y por tanto, el tipo de
memoria utilizado es ROM. En algunos Autómatas se utiliza únicamente la EPROM,
de tal forma que se puede modificar el programa memoria del sistema previo
borrado del anterior con rayos UV.
Memorias EPROM y EEPROM: Independientemente de otras aplicaciones, algunas ya
mencionadas en los párrafos anteriores, este tipo de memorias tiene gran aplicación
como memorias copia para grabación y archivo de programas de usuario.
Figura 2. 8 Tipos de memorias de un PLC
2.2.2.1
Organización de la memoria. Principios de direccionamiento
Direccionamiento de puntos de E/S
Todos los PLC emplean un número para identificar un punto de E/S (Entrada/Salida), el
cual es denominado direcció.
Cada dispositivo del mundo real es reconocido en el programna del PLC por su dirección.
Las direcciones hacen referencia a dos partes: el canal y el bit. El canal es una celda o
grupo de bits que pueden ser manipulados como una unidad. La longitud del tamaño del canal
(tamaño de palabra) puede varia de un tipo de PLC a otro.
La dirección de un punto de E/S es un número de 5 dígitos (los cuales pueden variar
nuevamente, dependiendo del PLC en cuestión). Los tres primero dígitos identifican al canal y
los dos siguientes identifican al bit. Así, por ejemplo, un punto de entrada con la dirección 00011
está asignado al canal 000 y bit 11. De igual forma un punto de salida con la dirección 00104 está
asignado al canal 001 y bit 04.
21
www.infoPLC.net
Estructura de los PLC
Figura 2. 9 Ejemplo de direccionamiento de puntos de E/S
Organización de la memoria y direcciones
La CPU requiere de instrucciones para procesar todos los datos que están siendo
introducidos, y requiere, además, un área para almacenar estos datos. La Memoria proporciona
esta área y es en ella que el programa de usuario es almacenado.
La memoria de los PLC está organizada por áreas de funciones bien diferenciadas y
claramente definidas. La estructura de la memoria de los PLC es conocida como matriz de
memoria, mapa de memoria o mapa de E/S. La matriz se divide en secciones o áreas con el fin
de que sea más manejable por el usuario. La mayor}a de las áreas tienen un prefijo tal como HR,
T, DM y un número de 3 o 4 dígitos para definir su localización específica en la memoria. Por
ejemplo, el Temporizador 0 (Timer 0) será referenciado como T000, el relevador de
mantenimiento 0 (Holding Relay 0) como HR0000 y la memoria de datos 0 (Data Memory 0)
como DM0000.
Todos los PLC cuentan como mínimo con las siguientes áreas dentro de su matriz de
memoria:
Area IR (Relevadores Internos)
Las funciones de los bits de ésta área son:
•
•
Area de entradas y salidas: Son bits del área IR designados a los módulos de entrada
y salida conectados al PLC. Ellos reflejan el estado ON/OFF de las señales de
entrada y salida del mundo real.
Area de trabajo: Son los bits que pueden ser usados libremente en el programa del
PLC para almacenar un estado. Los bits de trabajos son resetados (es decir, llevados
a OFF) cuando la fuente de alimentación del PLC es apagada o cuando la operación
del PLC comienza o se detiene.
Los bits restantes del área IR tiene funciones específicas. La mayoría de estos, pero no
todos, pueden ser empleados como bits de trabajo cuando la función específica no está siendo
empleada.
22
www.infoPLC.net
Estructura de los PLC
Los bits del área IR tienen direcciones con prefijo IR seguido de un número de 5 dígitos;
los tres primeros dígitos indican el canal y los dos siguientes el bit, así, la dirección IR00205
hacen referencia al bit 5 canal 2 (direccionamiento por bit). Si la dirección se señala con sólo tres
dígitos, se estará haciendo referencia a un canal completo, por ejemplo, IR300 hace referencia a
todos los bits del canal 300 (direccionamiento por canal).
Area SR (Relevadores especiales)
Los bits de esta área funcionan esencialmente como banderas (flags) relacionadas con la
operación del PLC, algunas de ellas son:
•
•
•
•
Pulsos de reloj
Bandera de escaneo
Bandera de error
Bandera de alarma de batería
Esta área de memoria es direccionada en forma similar al área IR.
Nota: Las áreas de memoria IR y SR pueden prescindir de los prefijos IR y SR
respectivamente al ser direccionadas.
Area TR (Relevadores Temporales)
Estos bits son empleados para almacenar temporalmente condiciones ON/OFF de
ejecución en las ramificaciones de un programa de escalera complejo. Son útiles sólo cuando se
requiere programar un diagrama de escalera con código mnemónico.
Todos los PLC tienen 8 relevadores temporales (aunque esto puede variar de un tipo de
PLC a otro) identificados como TR0 hasta TR7 (TR es el prefijo para acceder al área).
Area HR (Relevadores de mantenimiento)
El área HR es empleada para el almacenamiento y manipulación de datos internos. Esta
área de memoria es retentiva, es decir, retiene el estado ON/OFF de los bits aún luego de que la
fuente de alimentación del PLC se haya apagado o cuando la operación del mismo comienza o
se detiene. Ella es empleada en la misma forma que el área de trabajo.
El área de memoria HR puede ser accesada por canal (HR00) o por bit (HR0012).
Area AR (Relevadores Auxiliares)
Similarmente al área SR, los bits del área AR funcionan principalmente como banderas
relacionadas con la operación del PLC, algunas de ellas son:
•
•
•
Tiempos de ciclo largo
Contador de potencia OFF
Banderas de diagnósticos
23
www.infoPLC.net
Estructura de los PLC
Con pocas excepciones, el estado de los bits y words AR son refrescados cada ciclo. Esta
área de memoria es retentiva.
El área AR puede ser accesada por canal (AR11) o por bit (AR1100).
Area LR (Relevadores de Enlace)
El área RL es empleada para el almacenamiento interno de datos enlazados o compartidos
entre dos o más PLCs.
Los bits LR pueden ser empleados como bits de trabajo cuando no están siendo empleados
para enlaces de datos.
Esta área de memoria no es retentiva, y al igual que el área HR y AR puede ser
direccionada por canal (LR00) o por bit (LR0010).
Area TC (Temporizadores /Contadores)
Esta área está dedicada para el empleo de los temporizadores (TIM), temporizadores de
alta velocidad (TIMH), contadores (CNT) y contadores reversibles (CNTR). Ya que
temporizadores y contadores ocupan la misma área, un contador no puede ser especificado con
el mismo número que un temporizador. Por ejemplo, CNT010 y TIM010 no pueden ser
empleados al mismo tiempo.
Los registros de temporizadores/contadores son memoria de tipo retentiva. Los valores
fijados SV (descrito con detalle más adelante) para temporizadores y contadores son retenidos
aún si la fuente de alimentación falla. El valor presente PV de los contadores es conservado en
caso de que la potencia falle, no así los temporizadores.
Area DM (Memoria de Datos)
Es empleada para la manipulación y almacenamiento de datos. Esta área no puede ser
accesada por bit, sino en unidades de palabra. Cierta zona del área DM es destinada a la
configuración del PLC.
El área de memoria DM es retentiva.
Area UM (Memoria de Usuario)
Es empleada para almacenar el programa de usuario. Las direcciones en la memoria del
programa son ligeramente diferentes que aquellas en las otras áreas de memoria, ya que cada
dirección no necesariamente contiene la misma cantidad de datos. Cada dirección mantiene una
instrucción (descrito con detalle más adelante). Ya que algunas instrucciones no requieren
operandos, mientras que otras requieren hasta tres operandos, una dirección de la memoria del
programa puede ser de una o cuatro palabras de largo.
Esta área de memoria es retentiva.
24
www.infoPLC.net
Estructura de los PLC
2.2.3 Fuente de alimentación
La fuente de alimentación proporciona las tensiones necesarias para el funcionamiento de
los distintos circuitos del sistema.
Un PLC está formado por bloques que requieren niveles de tensión y de potencia
diferentes y que, además, están sometidos a condiciones ambientales de ruido electromagnético
también distintas. Por todo ello, es frecuente que la alimentación se obtenga de varias fuentes
separadas, procurando independizar las diferentes partes del circuito:
•
•
•
Unidad central e interfaces E/S (alimentación Autómata).
Alimentación de entradas.
Alimentación de salidas (cargas) de tipo electromagnético.
Esta división, salvo en pequeños compactos, suele mantenerse en todos los PLC´s, que
necesitan al menos de dos fuentes de alimentación independientes:
•
•
Alimentación del Autómata (CPU, Memoria e interfaces).
Alimentación de los emisores de señal y de los actuadores de salida.
La alimentación de la CPU puede ser continua a 24 Vcc, tensión muy frecuente en cuadros
de distribución , o en alterna a 110/220 Vca. En cualquier caso, la propia CPU alimenta las
interfaces conectadas a través del bus interno.
La alimentación a los circuitos E/S puede realizarse, según los tipos, en alterna a
48/110/220 Vca, o en continua a 12/24/48 Vcc.
La fuente de alimentación del Autómata puede incorporar una batería tampón (o de
respaldo), que se emplea para el mantenimiento de algunas posiciones internas (relevadores o
registros) y del programa de usuario en memoria RAM, cuando falla la alimentación o se
desconecta el PLC. La capacidad de esta batería normalmente a 3.5 V, oscila entre los 1500 mAh
y 1 año de vida para las más pequeñas utilizadas en los Autómatas compactos, y los 5000 mAh y
10 años de vida en las necesarias en Autómatas modulares de gama alta.
Los fabricantes proporcionan, sobre todo en sistemas modulares tipo rack, módulos de
alimentación con diferentes tensiones de salida y niveles de potencia suficientes, en general,
para cubrir cualquier necesidad de alimentación.
La elección de uno u otro esquema de alimentación para un sistema de PLC depende
fundamentalmente de las características de sus entradas y salidas:
•
•
•
•
Niveles de potencia necesarios para la aplicación.
Compatibilidad entre la tensión auxiliar suministrada por el PLC y las necesidades
en el sistema de E/S.
Funcionamiento o no de sensores y cargas a igual tensión de alimentación.
Necesidad de aislamiento galvánico en el sistema de E/S.
25
www.infoPLC.net
Estructura de los PLC
En la tabla 2.2 se muestran algunas de las característica nominales de fuentes de
alimentación.
TENSION DE
ENTRADA (V)
TENSION DE
SALIDA (V)
CORRIENTE
NOMINAL DE
SALIDA (A)
FRECUENCIA
PROTECCION
SOBRECORRIENTE
APLICACIONES
100/
240 ca
12
cd
100/120 ca
200/240 ca
12
cd
24
cd
12
cd
100/120 ca
200/240 ca
24
cd
1.25
2.00
1.70
1.00
50/60 Hz
50/60 Hz
---
50/60 Hz
SI
CPU + E/S
SI
CPU + E/S
SI
CPU + E/S
SI
E/S
Tabla 2. 2 Características nominales de fuentes de alimentación.
2.2.4 Unidades de entrada-salida
Las interfaces de entrada y salida establecen la comunicación entre la unidad central y el
proceso, filtrando, adaptando y codificando de forma comprensible para dicha unidad las
señales procedentes de los elementos de entrada, y decodificando y amplificando las señales
generadas durante la ejecución del programa antes de enviarlas a los elementos de salida.
En los PLC´s compactos, las E/S están situadas en un solo bloque junto con el resto del
Autómata.
En los Autómatas modulares o PLC´s modulares, las E/S son módulos o tarjetas
independientes con varias E/S, y que se acoplan al bus de datos por medio de su conductor o
conector correspondiente, o bien a un bastidor o rack, que le proporciona dicha conexión al bus
y su soporte mecánico.
Las funciones principales d las unidades de E/S son el adaptar las tensiones e intensidades
de trabajo de los captadores y actuadores a las de trabajo de los circuitos electrónicos del PLC;
realizar una separación eléctricamente los circuitos lógicos de los de potencia, generalmente a
través de opto acopladores, y proporcionan el medio de identificación de los captadores y actuadores
ante el procesador.
2.2.4.1
Entradas
Las entradas son fácilmente identificables, ya que se caracterizan físicamente por sus
bornes para acoplar los dispositivos de entrada o captadores, por su numeración y más que
nada por su identificación INPUT o ENTRADA; llevan además una indicación luminosa de
activado por medio de un LED.
En cuanto a su tensión, las entradas pueden ser de tres tipos:
26
www.infoPLC.net
Estructura de los PLC
•
•
•
Libres de tensión.
A corriente continua.
A corriente alterna.
En cuanto al tipo de señal que reciben, éstas pueden ser: analógicas y digitales.
a)
Analógicas:
Cuando la magnitud de la señal que se acopla a la entrada corresponde a una medida de,
por ejemplo presión, temperatura, velocidad, etc. esto es, una señal analógica, es necesario
disponer de este tipo de módulo de entrada. 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. Véase la tabla 2.3.
CAMPO O RANGO
DE INTENSIDAD O
TENSIÓN
0…10 V
4…20 mA
0…±10 V
4…20 mA
RESOLUCIÓN
8 bits
8 bits
12 bits
12 bits
TIEMPO
DE
CONVERSIÓN
1mS
1mS
1mS
1mS
PRECISIÓN
±(1 % + 1 bit)
en entradas
y
±1 % en salidas
Tabla 2. 3 Parámetros más significativos de estos módulos.
b)
Digitales
Son las mismas utilizadas y corresponden a una señal de entrada de todo o nada, esto es, a
un nivel de tensión o a la ausencia de la misma. Ejemplo de elementos de este tipo son los finales
de carrera, interruptores, pulsadores, etc.
Estas E/S se manejan a nivel de bit dentro del programa de usuario.
2.2.4.2
Salidas
La identificación de las salidas se realiza igual que en las entradas, figurando en este caso,
la indicación de OUTPUT o SALIDA. Es en las salidas donde se conectan o acoplan los
dispositivos de salida o actuadores, e incluye un indicador, por medio de un LED, de activado.
Los tipos de salida que se pueden tener en un PLC son:
•
•
•
Con relevadores.
Con triac´s.
Con transistores.
Mientras que la salida con transistores se utiliza cuando los actuadores son a corriente
continua, las salidas con relevadores y triac´s suelen utilizarse para actuadores a corriente
alterna
27
www.infoPLC.net
Estructura de los PLC
En cuanto a las intensidades que soportan cada una de las salidas, esta es variable, pero
suele oscilar entre 0.5 y 2 A.
Al igual que las entradas, pueden ser analógicas y digitales, si bien esta última es la más
utilizada. En las analógicas es necesario un convertidor digital analógico (DAC) que nos realice la
función inversa a la entrada.
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 específicas de E/S.
2.2.5 Áreas de interfaces
Son los circuitos que permiten la comunicación de la CPU con el exterior llevando la
información acerca del estado de las entradas y transmitiendo las ordenes de activación a las
salidas. Constan de enlaces del tipo RS-232 o RS-422, y efectúan la comunicación mediante el
código ASCII. Asimismo, permiten la introducción, verificación y depuración del programa mediante
la consola de programación, así como la grabación del programa a casete, en memoria EPROM,
comunicación con el TRC (monitor), impresora, etc.
Por último, y para efecto de apreciar de una forma globalizada el conjunto formado por un
Autómata programable o PLC y su entorno se presenta, a continuación, la figura 2.7, en la cual
se muestran mediante la identificación (a), (b), (c) y (d) las distintas posibilidades de conexión de
equipos de programación y sus posibilidades en cuanto al almacenamiento de programas y
lenguajes de programación.
2.2.6 Tipos y unidades de programación
La unidad de programación es el medio material o físico del que se auxilia el programador
para grabar o introducir en la memoria de usuario las instrucciones del programa. Pero esta unidad
realiza, además, otras tareas fundamentales.
2.2.6.1
Funciones principales de los equipos de programación
La gama de funciones que son capaces de ejecutar los equipos de programación son
múltiples y variadas, aumentando el tipo de éstas en razón directa a la complejidad del equipo.
Entre dichas funciones principales podemos encontrar:
a)
Programación
•
•
•
28
Introducción de instrucciones (programa).
Búsqueda de instrucciones o posiciones de memoria.
Modificación del programa:
Borrado de instrucciones.
Inserción de instrucciones.
Modificación de instrucciones.
www.infoPLC.net
Estructura de los PLC
•
•
•
c)
Grabación de programas
•
•
•
•
c)
En cinta casete.
En chip de memoria EPROM o EEPROM.
En papel mediante impresora.
En disquete mediante PC.
Visualización y verificación dinámica del programa
•
•
•
d)
Detección de errores de sintaxis o formato.
Visualización del programa de usuario o parte del mismo, contenido en la
memoria de usuario.
Forzamiento del estado de marcas, registros, contadores, temporizadores, etc.
Del programa o parte de él.
De entradas y salidas.
De temporizadores, contadores, registros, etc.
Modos de servicio
•
•
•
STOP (off-line), o salidas en reposo.
RUN (on-line), o ejecutando el programa.
Otros modos intermedios como MONITOR, etc.
29
www.infoPLC.net
Estructura de los PLC
Figura 2. 10 Estructura completa del PLC
30
www.infoPLC.net
Estructura de los PLC
2.2.6.2
Tipos de unidades de programación
Desde el punto de vista constructivo, podemos distinguir tres tipos principales:
a)
Unidades tipo calculadora
Son las más comúnmente utilizadas en los PLC de gama baja; consta del correspondiente
teclado, conmutador de modos, display de cristal líquido o siete segmentos de dos o más líneas,
así como de las entradas para la grabación del programa de usuario. Puede ser totalmente
independiente, ser enchufada directamente en la CPU, o con ambas posibilidades.
En las de pocas líneas (2 o 4), sólo es posible escribir mnemónicos, pero en las de pantallas
llamadas de programación gráfica pueden visualizarse algunas líneas de programa de lenguajes
gráficos, datos del programa, etc.
Figura 2. 11 Ejemplo de una unidad
de programación tipo calculadora.
b)
Consola de programación
Esta en una posición intermedia entre la unidad de programación tipo calculadora y el
tipo PC. Consta de pantalla de plasma o tipo similar y tamaño suficiente para 20, 30 o más líneas
y 60, 80 o más caracteres por línea, así como teclado. Al igual que el PC que se describe a
continuación, utiliza el software de programación preciso para los lenguajes utilizados en el
PLC, almacenando los programas en disquete (ver la figura2.12).
c)
Unidad con PC
Esta unidad que se adapta al PLC mediante el interfaz correspondiente, lleva incorporado
un monitor de tubo de rayos catódicos (TRC) y realiza la misma función que la unidad de
programación normal, pero con mayores prestaciones permitiendo visualizar los esquemas o
diagramas completos o partes importantes de los mismos. Este equipo incorpora el software
31
www.infoPLC.net
Estructura de los PLC
necesario para poder trabajar en más de un lenguaje de programación, incluso realiza la
transformación de lenguajes (véase la figura 2.12).
Figura 2. 12 Ejemplo de una unidad de programación tipo consola.
Por otro lado, las instrucciones que se introducen en la unidad de programación, no son
directamente interpretables por el procesador, que se ha de auxiliar de un circuito intermedio
llamado Compiler o Compilador.
Dicho Compilador representa el elemento intermedio o unión entre el PLC y la unidad de
programación. Su misión, es la de traducir la información textual de la unidad de programación
al lenguaje máquina y viceversa mediante unos códigos intermedios que son interpretados por
un programa residente en el firmware.
Cabe mencionar que, algunos fabricantes en sus modelos de gama baja incluyen en los
mismos PLC´s una unidad fija de programación (véase la figura 2.1), o bien, un tipo de
miniconsola de programación, la cual se adapta al PLC por medio de un conector RJ45. Véase la
figura 2.13.
Figura 2. 13 Unidad de programación con una PC
32
www.infoPLC.net
Estructura de los PLC
Figura 2. 14 PLC de gama baja de la marca Keyence, el cual
emplea una unidad de programación enchufable tipo miniconsola
2.2.7 Periféricos
Como elementos auxiliares y físicamente independientes de los PLC´s, los periféricos
realizan funciones concretas de gran importancia.
Algunos de los equipos periféricos empleados por los Autómatas o PLC´s de la gama baja
son:
•
•
Impresora, que permite obtener en papel el listado de instrucciones o programa de
usuario, el de temporizadores, contadores, etc., utilizados, así como los esquemas
correspondientes.
Unidades de cinta o memoria, por medio de las cuales grabamos los programas en
cinta casete o chips de memoria EPROM o EEPROM, respectivamente.
Algunos otros de los equipos que se utilizan en la gama media o en algún caso en la gama
baja serían:
•
•
•
•
•
Monitores de tipo TRC.
Lectores de código de barras.
Displays y teclados alfanuméricos.
Unidad de teclado y tests
Etc.
2.2.8 Tamaño de los PLC
La clasificación de los PLC´s en cuanto a su tamaño se realiza en función del número de
sus entradas-salidas; de esta manera, son tres los grupos de PLC´s que podemos encontar:
1.
2.
3.
Gama baja. Hasta un máximo de 128 entradas-salidas. La memoria de usuario de que
disponen suele alcanzar un valor máximo de 4 K-instrucciones.
Gama media. De 128 a 512 entradas-salidas. La memoria de usuario de que disponen
suele alcanzar un valor máximo de hasta 16 K-instrucciones.
Gama alta. Más de 512 entradas-salidas. Su memoria de usuario supera en algunos
casos los 100 K-instrucciones.
33
www.infoPLC.net
Estructura de los PLC
2.3 CONFIGURACIÓN DE E/S
El sistema de entradas/salidas de un PLC está formado por las interfaces E/S y los
bastidores de soporte de los mismos que en conjunto:
•
•
Permiten el intercambio de información entre el autómata y la planta, y
Proporcionan un soporte físico para la identificación o direccionamiento de los
dispositivos E/S conectados a los bornes.
Para dimensionar correctamente el autómata y reducir los costes del hardware, parece
conveniente adaptar el número de entradas/salidas conectadas a una misma CPU a las
necesidades reales del usuario, por lo que los fabricantes proveen de modularidad a sus
equipos.
Esta modularidad se hace más necesaria en autómatas de gamas medias y altas y montaje
en “rack” o bastidor, donde se dispone de CPU con potencia de cálculo elevada que necesitan
controlar un número variable, menor o mayor según la aplicación, de puntos de entrada y
salida, incluso situados a gran distancia de la unidad de control.
Los PLC´s disponen entonces de módulos o tarjetas E/S independientes, con sus circuitos
de interfaz, conexión al bus interno y borneo exterior. Los módulos que se suministran por
separado de la CPU, permiten configurar al sistema de entradas/salidas a la medida del
usuario.
Aunque la existencia de interfaces E/S conectables a bastidor es característica de
autómatas modulares, las ventajas que aportan en adaptabilidad y flexibilidad del sistema E/S
han llevado a su desarrollo incluso para autómatas compactos o miniautómatas.
Estas máquinas permiten ampliar sus entradas/salidas no por conexión de tarjetas en un
bastidor, que no existe para ellos, sino utilizando unidades de expansión compactas, conectadas
por cable con una distribución rígida de los bornes sobre la que el usuario no puede actuar (ver
la figura 2.2)
Se tiene así que en los desarrollos con autómatas programables existe una gran variedad
de configuraciones y posibilidades constructivas en los sistemas de entrada/salida, utilizando
los módulos y unidades de expansión disponibles.
En la siguiente gráfica aparecen los diferentes tipos de configuraciones del sistema de
entrada/salida.
34
www.infoPLC.net
Estructura de los PLC
Figura 2. 15 Configuración del sistema de E/S
Las entradas/salidas centralizadas se conectan directamente a la CPU del autómata, con
transmisión de datos en paralelo, mientras que las entradas/salidas distribuidas se unen con el
autómata base a través de un módulo de interconexión o procesador de enlace E/S (I/O Master
Unit), con transmisión serie de datos sobre cable o fibra.
El sistema de entradas /salidas distribuidas puede, a su vez, estar compartido por varios
procesadores o autómatas, en sistemas de control distribuido que implementan estructuras
sofisticadas y complejas.
2.3.1 Entradas/Salidas centralizadas
Las entradas/salidas centralizadas se disponen en las inmediaciones de la CPU, o
autómata base, a fin de aumentar el número de puntos E/S disponibles, dentro de la capacidad
de direccionamiento del procesador.
Estas entradas/salidas responden a las siguientes características:
•
•
•
•
•
Se conectan a la CPU a través del bus interno del autómata, sin intervención de
algún tipo de adaptador o procesador de comunicaciones.
Las transferencias de datos se realizan en paralelo.
Están colocadas a distancias menores a 5 mts. del autómata base.
Según modelos, pueden no usar fuente de alimentación propia, recogiendo las
tensiones de trabajo sobre las líneas del bus interno o de la interfaz amplificadora.
La expansión se limita normalmente a interfaces E/S digitales e interfaces analógicas
sin tratamiento de señal.
En las configuraciones de estas unidades E/S centralizadas hay que distinguir entre las
correspondientes a:
35
www.infoPLC.net
Estructura de los PLC
•
•
Autómatas de entradas/salidas compactas, y
Autómatas de entradas/salidas modulares que presentan diferentes características
de conexión.
Ambos casos tratados en la sección 2.1 Estructura o arquitectura externa.
2.3.2 Entradas/Salidas distribuidas
Es frecuente que las máquinas o procesos bajo control no se encuentren localizados en un
mismo punto, sino distribuidos en una amplia superficie, una nave industrial, por ejemplo.
También puede ocurrir, que una vez decidido colocar una CPU de cierta potencia de
cálculo para cubrir las necesidades en un punto de la instalación, se decida aprovechar la misma
CPU para controlar otros puntos o zonas de la planta.
En ambos casos se plantea la necesidad de conectar el autómata con sensores y actuadores
alejados de él. Normalmente, estas conexiones no se realizan por cableado directo entre los
elementos de la planta y los bornes de E/S del autómata centralizado: los costes del cableado y
los riesgos de error o avería aumentan proporcionalmente con el número de elementos
conectados.
La solución pasa por colocar las interfaces allí donde se necesitan y conectarlas después
con la CPU a través de un módulo de interconexión o procesador de enlace E/S, que agrupa las
señales en tramas o paquetes binarios y las envía después por transmisión serie sobre
únicamente un canal de conexión, resultando entonces una configuración de entradas/salidas
distribuidas o descentralizadas (ver la figura 2.15).
Si el número de puntos E/S a conectar es pequeño, pueden utilizarse módulos o tarjetas
especiales que contienen en un mismo cuerpo el procesador de enlace y algunas interfaces, 4 u 8,
por ejemplo, de entradas/salidas. En cualquier caso, como siempre, el número total de
entradas/salidas resulta limitado por el tipo de CPU utilizada.
Figura 2. 16 Reducción de cableado utilizando entradas/salidas distribuidas
Las ventajas del modelo de conexión distribuida son las siguientes:
36
www.infoPLC.net
Estructura de los PLC
•
•
•
Permite control a distancia de equipos y sistemas manipulando las variables locales
desde un único programa en la CPU principal.
Disminuyen los costes de instalación, al sustituir el cableado necesario entre los
elementos de la planta y la CPU por una conexión única de hilo eléctrico o fibra
óptica, a través de procesadores de comunicaciones maestro-esclavo.
Permite ahorro de costes de montaje y material, suprimiéndose incluso los bornes
intermedios de conexión.
Por otro lado, según la conexión con el autómata base que contiene la CPU, las
expansiones de entradas/salidas distribuidas pueden adoptar las siguientes configuraciones:
•
•
•
Bus: Un solo procesador de enlace en la unidad base se conecta en bus con cada uno
de los procesadores locales (Ver figura 2.16).
Estrella: La unidad base contiene tantos procesadores de enlace como unidades de
expansión se necesiten, de forma que es posible la desconexión total de cualquiera
de ellos sin afectar el funcionamiento del conjunto (Ver figura 2.17).
Mixta: La unidad base contiene procesadores independientes para cada expansión,
pero, a su vez, cada una de estas expansiones puede estar formada por varias
unidades conectadas en bus entre sí (Ver figura 2.18).
Dependiendo de las distancias de interconexión, es posible una clasificación adicional de
estas entradas/salidas distribuidas. Así, se distingue entre entradas/salidas locales o remotas.
Esencialmente, una unidad de entradas/salidas distribuidas es local cuando las unidades
de expansión se colocan a distancias entre 50 y 100 metros, lo que impide la conexión directa al
bus interno característica de los sistemas centralizados. Por esta razón deben existir
procesadores de enlace E/S en la unidad base y en la unidad de expansión, que se encargan de
efectuar las conversiones serie/paralelo y paralelo/serie entre el bus interno del autómata y las
líneas de comunicación serie, y de supervisar la integridad de las comunicaciones.
Al igual que las expansiones centralizadas de entradas/salidas, las distribuidas locales se
limitan normalmente a interfaces E/S digitales e interfaces analógicas sin tratamiento de señal.
Sin embargo, a diferencia de aquellas, las unidades incluyen su propia fuente de alimentación y
la comunicación con la CPU se realiza a través del un canal serie.
Las E/S distribuidas se denominan remotas cuando la distancia de conexión con la unidad
base es superior a 100 metros, alcanzando en algunos modelos hasta algunas decenas de
kilómetros.
La comunicación, siempre vía serie, entre el procesador maestro en la unidad base y los
procesadores esclavos en las unidades de expansión, se realiza mediante interfaces estándar RS
232/422/485, utilizando protocolos específicos del fabricante (protocolos propietarios), o buses
de campo normalizados (PROFIBUS, MODBUS, etc.), sobre soporte eléctrico u óptico.
Precisamente la distancia máxima entre estaciones, y la longitud total del bus de expansión
dependen del soporte o medio físico empleado, cable eléctrico o fibra óptica, aunque los valores
finales son muy variables dependiendo del fabricante.
37
www.infoPLC.net
Estructura de los PLC
Figura 2. 17 Expanciones de E/S con estructura de bus
En la tabla siguiente se muestra una comparación aproximada entre estos diferentes
medios.
Medio de transmisión
Distancia máxima
Par trenzado, con malla
2000 m
Cable coaxial
4000 m
Fibra óptica
20 Km
(*) Depende de la distancia
Tabla 2. 4 Medios de transmisión.
38
Velocidad (*)
375 KBd
1.5 MBd
1.5 MBd
www.infoPLC.net
Estructura de los PLC
Figura 2. 18 Expanción de E/S con estructura de estrella.
Figura 2. 19 Expanciones de E/S con estructura mixta estrella-bus.
39
www.infoPLC.net
Estructura de los PLC
40
www.infoPLC.net
Interfaces de Entrada / Salida
3.0
3.1
INTERFACES DE ENTRADA / SALIDA
INTRODUCCIÓN
Las interfaces de Entrada/Salida proveen al control del proceso un diálogo operadormáquina y comunicación entre la máquina y sistema de control.
Para un sistema de control, las entradas son el conjunto de señales externas que recibe,
unas de mando y otras de realimentación; éstas van desde un simple pulsador o final de carrera
hasta la medición de cualquier magnitud física que intervenga en el proceso.
Las salidas dan al operador datos sobre el estado del proceso y a los accionamientos las
órdenes oportunas para controlarlo. Las salidas pueden consistir en señales de todo-nada
actuando sobre relés, electroválvulas u otros elementos electromecánicos o señales analógicas o
digitales para señalización en instrumentos de medida, visualizadores, impresión de mensajes,
mostrar el estado de los sensores, accionamientos, etc.
El PLC se diferencia de otros sistemas programables esencialmente por que dispone de un
bloque de circuitos de interfaz de E/S muy potente, que le permite comunicarse con un entorno
exterior en el que se manejan señales de potencia, con tensiones y corrientes de nivel industrial,
también suelen disponer de buses de comunicación digital similares a los que normalmente
incorporan los sistemas informáticos.
Un factor muy importante en la elección del autómata es seleccionar adecuadamente las
interfaces de E/S en cada caso para conseguir una alta fiabilidad y disponibilidad del sistema
debido a que estos circuitos son los más directamente ligados a señales de campo con cableados
largos y por tanto, sujetos a ruidos y perturbaciones eléctricas e incluso a fuertes sobrecargas en
caso de cortocircuitos u otros accidentes imprevistos.
3.2
TIPOS DE INTERFACES DE E/S
Se entiende por interfaz cualquier bloque que sirve de enlace entre otros dos. Los bloques a
enlazar podrán trabajar, en general, con niveles distintos de voltaje e incluso con códigos
distintos. Tenemos entonces dos funciones básicas de la interfaz:
•
•
Enlace a nivel de hardware (niveles y tipo de voltaje)
Enlace a nivel de código (estados lógicos, conversión A/D o D/A, tipo de código de
señal, etc.
La interfaz puede variar en complejidad dependiendo del tipo de señales que empleen los
sistemas a enlazar. Podemos clasificar a las señales se mando y a las de proceso en entornos
industriales en dos grandes grupos:
41
www.infoPLC.net
Interfaces de Entrada / Salida
•
•
Señales de todo-nada: Codificación digital binaria (un bit).
Señales continuas, con dos tipos posibles de codificación:
- Analógica
- Digital en palabras de determinada longitud (8, 16 bits, etc.).
Dependiendo del sentido o sentidos de enlace, las interfaces podrán ser:
•
•
Unidireccionales, un solo sentido.
Bidireccionales, en ambos sentidos, ya sea conmutado de un sentido a otro (halfduplex) o simultáneamente en ambos sentidos (full-duplex).
El enlace entre sistemas digitales que intercambian información en forma de palabras,
requiere una interfaz que maneja dos tipos de señales:
•
•
Datos: contienen la información útil.
Señales de control o de Protocolo: controlan el flujo de información.
Para sistemas digitales programables, puede establecerse una división entre dos partes de
la interfaz:
•
•
Interfaz de hardware: enlace del nivel de voltaje y estados lógicos.
Interfaz de software: interpretación de códigos y de las señales de control.
La siguiente tabla resume los tipos de interfaces de E/S más comunes en los autómatas
programables y las funciones básicas que debe realizar en cada caso la interfaz.
TIPOS
CODIFICACIÓN SENTIDO
FUNCIONES DE LA INTERFAZ
Adaptación de niveles de tensión
ENTRADAS
Filtrado de perturbaciones
TODO O
Aislamiento eléctrico
BINARIA
NADA
1 bit
Adaptación de niveles de tensión
SALIDAS
Amplificación de corriente
Aislamiento eléctrico
ANALÓGICAS
ENTRADAS
Adaptación y filtrado de señal
(0, ±10V)
Conversión A/D
(4, 20mA)
SALIDAS
Conversión D/A
Adaptación a 0, ±10 V o 4, 20mA
ENTRADAS
Selección de canal y multiplexado
CONTINUAS
Conversión de códigos
DIGITALES
SALIDAS
Conversión de códigos (Bin <-> ASCII <-> 7segmentos)
(8, 16, 32... bits)
Amplificación de corriente
BIDIRECCIONES Conversión de código (serie <-> paralelo)
Protocolo de diálogo (hardware +software)
Tabla 3.1 Tipos y funciones de las interfaces de entrada/salida.
42
www.infoPLC.net
Interfaces de Entrada / Salida
3.3
ENTRADAS/SALIDAS DIGITALES
Las interfaces de entrada digitales son aquellas que conectan el autómata con señales de
proceso de tipo binario o con grupos de señales binarias formando palabras.
Siendo el PLC sucesor de muchos sistemas antiguos basados en relés, está especialmente
adaptado a las señales binarias, ésta es una característica que le distingue de otros sistemas de
control industrial como robótica, máquinas-herramienta e incluso sistemas informáticos. Un
criterio importante de clasificación de los autómatas estriba precisamente el número de E/S y su
CPU suele estar especialmente adaptada al tratamiento de bits.
Las señales de entrada lógicas (todo-nada) proceden generalmente de contactos
electromecánicos (interruptores, finales de carrera, etc.) y las salidas suelen activar bobinas de
electroimanes (relés, electroválvulas, etc.).
Ambas tienen en común que suelen estar
alimentados con tensiones alternas de 24 a 220VCA o tensiones de 24 a 110VCC. La interfaz para
estas señales suele ser una interfaz de hardware unidireccional. Las entradas captan los niveles
de tensión de entrada y se convierten a niveles lógicos TTL; en el caso de las salidas se hace la
conversión inversa.
Una característica muy importante en estas interfaces es el aislamiento eléctrico entre los
circuitos internos del autómata que operan con niveles TTL y los circuitos externos. Este
aislamiento presenta enormes ventajas como protección ante sobrevoltaje, inmunidad al ruido
eléctrico y otras perturbaciones a las que suelen estar sometidas las señales externas. Este
aislamiento exige tener fuentes de alimentación separadas para la lógica interna del autómata y
para las E/S, estas fuentes pueden estar contenidas dentro del mismo autómata o ser externas
para alimentar las E/S o incluso independientes para entradas y salidas.
La siguiente figura resume los tipos de interfaces de E/S digitales:
Corriente
Continua
PNP
NPN
Entradas
Corriente
Alterna
ENTRADAS/
SALIDAS
DIGITALES
Corriente
Continua
Salidas
PNP
NPN
Corriente
Alterna
Relé
Figura 3.1 Interfaces de E/S digitales
43
www.infoPLC.net
Interfaces de Entrada / Salida
3.3.1 Entradas lógicas
Las interfaces de entrada para señales binarias pueden clasificarse en distintos tipos según
sus características.
Por el tipo de voltaje de alimentación:
•
•
De corriente alterna (CA). Los valores de tensión más frecuentes son 24, 48, 110 y 220250 VCA.
De corriente continua (CC). Con voltajes de 12, 24, 48 y 110 VCC. Y según la polaridad
de la fuente conectada al común:
- PNP: Común de alimentación a negativo.
- NPN: Común de alimentación a positivo.
Según el aislamiento de la interfaz:
•
•
Eléctricamente aislado: Alimentaciones completamente separadas de las E/S y de la
lógica interna. Este aislamiento se consigue con opto acopladores y es el más empleado
por su seguridad.
Acoplamiento directo: Señales sin aislamiento eléctrico que por tanto, requieren unir el
común de alimentación de E/S al cero de la lógica interna. En desuso.
Un punto importante a considerar en las interfaces de entradas binarias es el margen de
ruido, que es el rango de valores que puede tomar dicha señal siendo interpretada
inequívocamente como nivel lógico 0 o 1. Este parámetro permite determinar el máximo nivel de
perturbación que puede superponerse a una señal de entrada sin que el sistema lógico interprete
erróneamente su nivel lógico. Se distinguen dos márgenes de ruido:
•
•
44
Estático. Se aplica a señales que permanecen durante un tiempo significativamente
mayor que la constante de tiempo de respuesta de dicha interfaz. El margen de ruido
estático de nivel 0 es el rango de valores para un voltaje de entrada permanente que la
interfaz interpretará como nivel 0. De igual manera para el nivel 1, es el rango de
valores de voltaje de entrada permanente que la interfaz interpretará como 1. Para
voltajes de entrada entre ambos márgenes de ruido, la interfaz dará un estado lógico
indeterminado y la señal de entrada sería erróneamente interpretada por el PLC.
Dinámico. Aplicable a señales transitorias cuya duración es inferior a la constante de
tiempo de respuesta de la interfaz. Los márgenes de ruido dinámico para los niveles 0
y 1 son la máxima amplitud de perturbación de cierta duración que no producen
cambio de estado lógico a la entrada.
www.infoPLC.net
Interfaces de Entrada / Salida
3.3.1.1 Entradas de corriente directa PNP
La diferencia entre las entradas PNP y NPN es, si la carga (en ése caso el PLC es la carga)
va a tierra o al polo positivo de la fuente de alimentación. Un dispositivo PNP tiene la carga
conectada a un voltaje positivo:
Figura 3.2 Dispositivo PNP
Las entradas PNP trabajan con lógica positiva y se conectan de la siguiente manera:
•
•
•
Se unen por un extremo todos los interruptores y se conectan al común de entradas o de
interruptores del PLC, que en el caso de la interfaz PNP será al positivo de la fuente de
alimentación.
El otro extremo de cada uno de los interruptores se conectan a las distintas terminales
de entrada del PLC.
Opcionalmente, si se utiliza una fuente de alimentación separada del autómata para
las E/S, el común de la interfaz deberá conectarse al negativo de la fuente de
alimentación de E/S.
De la figura 3.3 se observa que cada entrada dispone de un filtro RC para aumentarla
inmunidad a perturbaciones, ya que aumenta el margen dinámico de ruido. Para cualquier
sensor o interruptor estático en la entrada deben analizarse dos parámetros fundamentales: La
corriente de fuga del detector o sensor y la impedancia de entrada a la interfaz. El producto de
ambos no debe exceder el margen superior de ruido de entrada a nivel 0, de lo contrario la
interfaz interpretará erróneamente el nivel 1.
Las señales de entrada, ya adaptadas a los niveles de voltaje internos del PLC, se conectan
al bus interno mediante un multiplexor, que será explorado durante la fase de lectura de las
entradas para su registro en la memoria de E/S.
45
www.infoPLC.net
Interfaces de Entrada / Salida
Figura 3.3 Conexión de interruptores a entradas tipo PNP
3.3.1.2 Entradas de corriente directa NPN
La interfaz NPN tiene características muy semejantes a las PNP, la diferencia radica en que
éstas emplean lógica negativa en vez de positiva. Un sensor NPN tiene la carga conectada a
tierra:
Figura 3.4 Dispositivo NPN
La conexión es inversa a la PNP:
•
46
Se unen por un extremo todos los interruptores y se conectan al común de
interruptores, en este caso, al polo negativo de la fuente E/S.
www.infoPLC.net
Interfaces de Entrada / Salida
•
•
El otro extremo de cada uno de los interruptores se conecta a los distintos terminales
de entrada del autómata.
Igualmente, si se utiliza una fuente de alimentación separada del autómata para las
E/S, el común de la interfaz deberá conectarse al positivo de la fuente de alimentación
de E/S.
Figura 3.5 Conexión a entradas tipo NPN
Los voltajes de trabajo de las entradas NPN y PNP son iguales así como su
funcionamiento.
3.3.1.3 Entradas de corriente alterna
Los módulos de entrada CA son menos usados que los de corriente directa debido a que
los sensores tienen comúnmente salidas de tipo transistor.
La siguiente figura muestra la conexión típica de un dispositivo CA al módulo de entrada.
Por lo general el cable "vivo" de CA está conectado al interruptor, mientras que el "neutro" va al
común del PLC. La tierra de CA debe ser conectada a la terminal de tierra del chasis del PLC.
47
www.infoPLC.net
Interfaces de Entrada / Salida
Figura 3.6 Entradas de CA
Como en DC, Las conexiones de AC tienen un código de color, esta codificación varía
según el país, en los Estados Unidos son comunes el blanco ("neutro"), negro("vivo") y verde
("tierra"). Fuera de los Estados Unidos el código comúnmente es, azul ("neutro"), café ("vivo"), y
verde con una franja amarilla ("tierra").
La figura 3.7 muestra la configuración interna de una interfaz de CA. Estas interfaces
incorporan casi siempre aislamiento eléctrico por optoacoplador. Puede observarse que la
tensión de entrada es rectificada en la interfaz y que ésta dispone de un filtro RC. La fuente de
alimentación será, en este caso, una tensión alterna obtenida de un transformador.
Cabe resaltar en este tipo de interfaces, los grandes márgenes de tensión de entrada que
admiten tanto en el nivel 0 como en el nivel 1. Por ejemplo, una interfaz para tensión nominal de
220V admite como nivel 0 cualquier voltaje entre 0 y 70V y como nivel 1 a voltajes entre 180 y
260V.
Fig. 3.7 Conexión de interruptores a entradas tipo CA
48
www.infoPLC.net
Interfaces de Entrada / Salida
3.3.2 Salidas lógicas
Son las interfaces que conectan el autómata con los accionamientos del proceso tales como
relés, electroválvulas, etc. Una característica común a todos ellos suele ser que disponen de un
buffer o registro donde el procesador escribe una sola vez por ciclo el valor 1 o 0 según
corresponda; este registro constituye el bloque lógico de enlace entre la lógica interna y la
interfaz.
Según sus características, se pueden clasificar las interfaces de salida en diferentes grupos.
Por los componentes utilizados como salida, podemos distinguir en dos grandes grupos:
•
•
Interfaces de salida estáticas. Éstas emplean algún tipo de semiconductor para conmutar
la salida, y se derivan dos grupos según el tipo de voltaje:
- De corriente directa. El conmutador de salida es un transistor de colector abierto
pudiendo ser NPN o PNP según la polaridad.
- De corriente alterna. El conmutador de salida suele ser un triac o un par de
transistores en antiparalelo.
Interfaces de salida por relé. Este tipo es válido tanto para CD como para CA y
proporciona siempre aislamiento eléctrico entre la salida y la lógica interna.
Por el aislamiento entre el circuito de salida y la lógica interna podemos clasificar las
interfaces en:
•
•
Salidas acopladas directamente
Salidas aisladas eléctricamente
Las salidas de tipo transistor sólo pueden trabajar con cargas en CD. En este tipo de
salidas, el PLC aplica una pequeña corriente a la base del transistor y por lo tanto se activará el
dispositivo conectado a la salida del PLC. Normalmente un PLC tendrá las salidas de tipo NPN
o PNP. El tipo físico del transistor también varía según el fabricante. Algunos de los tipos
disponibles son el BJT y el MOSFET. Ambos tienen características particulares: el de tipo
MOSFET tiene más capacidad de conmutación, mientras que el BJT es más rápido. En cualquier
caso nunca debe excederse la corriente máxima de conmutación del fabricante.
3.3.2.1 Salidas de CD PNP
La característica esencial de estas interfaces es que trabajan con lógica positiva, por lo
tanto cada salida suministra en estado 1 un voltaje positivo respecto al común de las cargas.
La configuración típica de cada salida es la de un transistor PNP a colector abierto con
protección de inversión de polaridad y diodo de inversa para cargas inductivas. Por lo tanto
admiten como carga: bobinas de relés, solenoides, contadores de impulsos de tipo
electromagnético o electrónico, etc.
49
www.infoPLC.net
Interfaces de Entrada / Salida
Figura 3.8 Interfaz de salidas tipo PNP
La conexión de las cargas y la fuente se efectúa de la siguiente manera:
•
•
Se unen por un extremo todas las cargas y se conectan al común de cargas o polo
positivo de la fuente E/S.
El otro extremo de cada una de las cargas se conecta a los distintos terminales de salida
de la interfaz.
Las características más destacables de las salidas estáticas a colector abierto, comparadas
con las de relé (estudiadas más adelante) son:
•
•
•
•
•
•
•
50
Velocidad de respuesta superior.
Larga vida útil al no existir desgastes mecánicos.
Menor volumen ocupado.
Permiten protección de cortocircuito a base de bloquear el transistor de salida.
Menor capacidad de carga de la salida.
Caída de tensión en el transistor de salida, mayor que la que produce el contacto de un
relé.
Presentan una pequeña corriente de fuga cuando la salida está en 0.
www.infoPLC.net
Interfaces de Entrada / Salida
3.3.2.2 Salidas de CD NPN
Estas interfaces presentan características muy similares a las PNP, siendo la diferencia
que la lógica es negativa, es decir, cada salida suministra en estado 1 un voltaje negativo
respecto al extremo común de las cargas. La salida consiste en un transistor NPN a colector
abierto y las mismas características que para PNP.
Figura 3.9 Interfaz de salida NPN
La conexión de las cargas y la fuente de alimentación se efectúa de la siguiente manera:
•
•
Se unen por un extremo todas las cargas y se conectan al polo positivo de la fuente de
E/S.
El otro extremo de cada una de las cargas se conecta a los distintos terminales de salida
de la interfaz.
Las ventajas e inconvenientes de este tipo de salidas con respecto alas de relé son las
mismas que las expuestas anteriormente.
51
www.infoPLC.net
Interfaces de Entrada / Salida
3.3.2.3 Salidas de relé
Uno de los tipos más comunes de salidas disponibles son las salidas de relé. Un relé puede
usarse con cargas de CA y CD. Tipos comunes de cargas son solenoides, motores, lámparas, etc.
Es importante revisar las especificaciones de la carga antes de conectarla a la salida del PLC,
debe verificarse también que la corriente máxima que consumirá esté dentro de lo especificado
de la salida del PLC.
Algunas cargas son aparentes. Son las llamadas cargas inductivas. Estas tienden a liberar
una "corriente de retorno" cuando se activan. La corriente de retorno es como picos de voltaje
que pasan a través del sistema. Esto puede ser dañino para el PLC; puede estimarse que estos
picos son 30 veces la corriente nominal de la carga. Por lo general un diodo, varistor, u otro
circuito "snubber" debe usarse para ayudar a evitar cualquier daño al relé.
Figura 3.10 Interfaz de salidas de relé
Este tipo de interfaz contiene un relé por cada salida, la bobina de dicho relé está
controlada por el sistema lógico del AP y sus contactos se encuentran disponibles en bornes
externos. Por lo general, cada salida consta de un contacto normalmente abierto, y es frecuente
que varios contactos compartan un terminal común tal como se puede ver en la figura anterior.
En algunos casos el contacto está protegido mediante un circuito RC o un varistor a fin de evitar
las perturbaciones antes mencionadas.
52
www.infoPLC.net
Interfaces de Entrada / Salida
3.3.2.4 Salidas estáticas de CA
Estas interfaces utilizan un triac como conmutador de salida, un par de tiristores en
antiparalelo, varistor o un puente rectificador cortocircuitado por un tiristor y disponen de
aislamiento eléctrico mediante optoacoplador. En algunos casos disponen también de algún
circuito de protección que bloquea la salida en caso que la carga demande más carga que la
permitida.
Fig. 3.11 Interfaz de salida estática de CA.
Las ventajas de esta interface con respecto a la de relé son las siguientes:
•
•
•
•
Mayor rapidez de conmutación
Ausencia de desgaste mecánico
Eliminación al máximo de perturbaciones en la línea debido al cierre al paso por cero
de tensión y apertura al paso por cero de la corriente.
Menor tamaño
Los inconvenientes:
•
•
•
•
•
•
•
Sensibles a sobrecargas.
Sensibles a perturbaciones en la alimentación.
Caída de voltaje en estado de paso del orden de 2V.
Ligera corriente de fuga en estado de bloqueo.
Mayor disipación de potencia y, por tanto, calentamiento.
Menor flexibilidad para mezclar varias tensiones de mando
Aptas sólo para ciertos márgenes de voltaje.
53
www.infoPLC.net
Interfaces de Entrada / Salida
3.4
ENTRADAS Y SALIDAS ANALÓGICAS
No todos los Autómatas programables o PLC’s son capaces de manipular señales
analógicas, pero es frecuente que existan módulos de ampliación para los tipos compactos o
tarjetas analógicas en los tipos de rack, que si son capaces de tratar dichas señales.
Paralelamente dichos Autómatas incorporan ciertas funciones de software específicas para
tratar este tipo de señales y que permiten controlar valores máximos y mínimos de ciertas
variables del proceso, realizar cálculos aritméticos o incluso funciones más complejas para
control PID, aplicables a servoválvulas, servomotores, control de temperatura, etc.
El procesamiento de datos dentro del Autómata programable es enteramente digital, como
corresponde a todo sistema basado en un microprocesador y, por tanto, las señales de tipo
analógico deben ser previamente digitalizadas para que puedan ser procesadas.
Así pues, para el tratamiento de señales analógicas será preciso ante todo convertir dichas
señales a la forma digital. Dicha forma digital consistirá en representar la magnitud de la
variable analógica por un número codificado en forma binaria o en forma BCD (Decimal
Codificado en Binario).
Recíprocamente, si el Autómata programable debe suministrar al proceso variables o
señales de regulación continuas, deberá previamente convertir los datos internos en forma
binaria o BCD a magnitudes de tipo analógico.
El proceso de adaptación que sufren las señales analógicas, tanto en la entrada como en la
salida, se muestra en la figura 3.12. Debe tenerse en cuenta que, en general, no se trata de las
mismas señales, sino que el Autómata procesará las señales de entrada y elaborará otras de
salida, combinando entradas y variables internas y procesándolas con los algoritmos adecuados.
D/A
D/A
MULTIPLEXOR
ANALOGICO
CONVERTIDOR
A/D
Analog.
CPU
AUTOMATA
BUS
MULTIPLEXOR
DIGITAL
BUS
Dig. D/A
ENTRADAS
ANALÓGICAS
SALIDAS
ANALÓGICAS
SELECCIÓN DE
CANAL
Figura 3.12 Proceso de adaptación de las señales de E/S analógicas.
54
www.infoPLC.net
Interfaces de Entrada / Salida
Las funciones de multiplexado, conversión A/D y D/A indicadas en la figura son
precisamente unas de las funciones especiales que realizan las interfaces de E/S analógicas.
3.4.1 Conversión A/D
La conversión A/D tiene por objeto la transformación de señales analógicas de tensión o
corriente en datos numéricos que, por lo general, se obtendrán en código binario. El proceso de
conversión requiere, en general, que la señal analógica haya sido previamente tratada para
conseguir dos objetivos:
•
•
Adaptación al fondo de escala, con objeto de aprovechar al máximo la resolución del
convertidor.
Mantener el valor de la señal constante durante la conversión. Esto es especialmente
necesario para las señales de variación rápida, pero que no puede serlo para otras más
lentas o incluso, para ciertos tipos de convertidores.
Para realizar estas funciones, las interfaces de entrada analógicas suelen disponer de un
amplificador de ganancia programable y de un circuito de muestreo y retención (Sample &
Hold).
El amplificador de ganancia programable consiste esencialmente de un amplificador
operacional con varias resistencias de retroalimentación conectadas a través de un multiplexor
analógico, cuya función consiste básicamente en adaptar la escala de la señal de entrada de tal
forma que los convertidores A/D puedan realizar un muestreo de la señal analógica como paso
previo a la conversión. Como consecuencia de ello se obtienen sólo valores puntuales de la
magnitud continua (en realidad la señal continua queda aproximada por una señal escalonada).
Posteriormente, el circuito de muestreo y retención denominado abreviadamente S&H, adquiere
el valor puntual de la señal analógica y posteriormente, lo mantiene mientras dura la
conversión. Dicho circuito está basado en la carga de un condensador durante la fase de
muestreo y el mantenimiento de su tensión mientras dure la conversión.
Los tipos básicos de convertidores A/D que se pueden encontrar en un PLC o Autómata
programable son:
•
•
•
Convertidores basados en contadores binarios.
Convertidores de aproximaciones sucesivas.
Convertidores de doble rampa de integración.
55
www.infoPLC.net
Interfaces de Entrada / Salida
3.4.1.1 Convertidores basados en contadores binarios
Como veremos a continuación, podemos tener dos tipos de convertidores basados en
contadores binarios, los cuales son convertidores basados en un contador unidireccional y los
convertidor es basados en un contador bidireccional.
a) Convertidores a base de un contador unidireccional.
Este tipo de convertidores constan básicamente de un contador binario, un convertidor
D/A como retroalimentación y un amplificador operacional que compara la magnitud de la
entrada analógica con el contenido del contador a través del convertidor D/A.
El funcionamiento de este sistema es el siguiente: se da una señal de inicio de conversión,
que pone al contador a cero y lo habilita para que entren los impulsos de reloj. A partir de esto,
el contador va incrementando su valor a cada impulso de reloj y el comparador comprueba si el
valor del contador es mayor o menor que la señal analógica de entrada. Mientras sea menor se
permitirá la entrada de nuevos impulsos de reloj, pero cuando el contador llegue a superar el
valor de la entrada se inhiben los impulsos de reloj y se genera una señal de fin de conversión. El
contenido del contador en este instante será la palabra binaria que representa a la magnitud
analógica de la entrada.
b) convertidores basados en un contador binario bidireccional.
Este tipo de convertidores se basan en el mismo principio que los anteriores, con la
salvedad de que no hay propiamente un inicio y un final de conversión, sino que el contador
incrementa o decrementa su conteo dependiendo de que si su salida es menor o mayor al valor
de la señal de entrada respectivamente.
3.4.1.2 Convertidores de aproximaciones sucesivas
El método de conversión de aproximaciones sucesivas se basa en ir tanteando el valor
digital de salida d forma que el primer valor de tanteo es el que corresponde a mitad de escala,
es decir, se coloca un 1 en el MSB. Se comprueba entonces si este valor es mayor o menor que el
valor analógico de entrada. Si es mayor, se pone un 0 en el MSB y si es menor se pone un 1 en
dicho bit. Se sigue el tanteo con el siguiente bit por el lado de más peso, lo cual supone dividir
otra vez la escala por dos, y se actúa de forma análoga al caso anterior. El proceso finaliza
cuando se han tanteado todos los bits, es decir, después de n ciclos de reloj, siendo n el número
de bits de la palabra digital.
Este tipo de convertidor, es mucho más rápido que los vistos anteriormente, sobre todo
para palabras de gran número de bits.
En cuanto a su resolución, ésta sólo depende del número de bits y del valor máximo de la
señal de entrada respecto a la tensión de referencia del convertidor D/A. Así, el convertidor de
aproximaciones sucesivas tiene la misma resolución que los basados en contadores.
56
www.infoPLC.net
Interfaces de Entrada / Salida
3.4.1.3 Convertidores de doble rampa de integración
Este tipo de convertidor difiere radicalmente de los vistos anteriormente en los siguientes
aspectos:
•
•
•
No utilizan un convertidor D/A en la retroalimentación.
No requiere un circuito previo de muestreo, aun en casos de señales de variación
rápida.
No obtiene un valor puntual de la señal de entrada, sino un valor promedio de la
misma durante un cierto intervalo de la conversión.
Este tipo de convertidor, es muy utilizado en las interfaces de entrada de los Autómatas
programables, puesto que en muchos casos se trata con señales lentas y, además, al obtener un
valor promedio durante el intervalo, es idóneo para la eliminación de ruidos aleatorios que
puedan estar superpuestos a la señal.
3.4.2 Conversion D/A
La conversión D/A consiste en la transformación de información digital, un byte o una
variable numérica expresada en forma binaria con n bits, en una señal analógica cuyo valor sea
proporcional al valor numérico de una tensión o una corriente.
3.4.2.1 Convertidores D/A unipolares
Se denomina convertidor D/A unipolar aquel cuya entrada es una palabra digital sin bit
de signo, por lo tanto la salida será una tensión analógica que va de cero a un valor máximo,
pero siempre con el mismo signo.
Una posible configuración de un convertidor D/A unipolar consiste simplemente de un
sumador analógico donde cada bit controla la entrada de tensión en una rama de suma,
conectándola a Vref o a 0 mediante un conmutador digital, según sea el bit 1 o 0 respectivamente.
Otra posible configuración de un convertidor D/A unipolar es la basada en una red R, 2R,
la cual se basa en la propiedad de dicha red de dividir la corriente por dos en cada uno de los
nodos, dando a cada bit, por tanto, un peso ½ del anterior, empezando por el MSB que tiene un
peso de ½ .
3.4.2.2 Convertidores D/A dipolares o con signo
Los convertidores D/A con signo son aquellos que aceptan como entrada una palabra
digital cuyo bit de más peso (MSB) indica el signo y entregan como salida una tensión analógica
que va de -Vmáx a +Vmáx. El bloque básico consiste de un convertidor de código binario en
complemento a dos a una tensión de salida. Este bloque es análogo al unipolar, pero con la
diferencia de que ahora el bit MSB es ahora el bit de signo y controla el conmutador de más
peso (½), pero después de sufrir una inversión. Además se suma a ala entrada una polarización
igual a Vref/2, que después de la inversión del amplificador operacional se traducirá en una
salida - Vref/2.
57
www.infoPLC.net
Interfaces de Entrada / Salida
Cuando el MSB es 0 (números positivos), las salidas debidas a éste y la polarización se
cancelan y los (n-1) bits restantes actúan como en un convertidor D/A unipolar, dando valores
de salida analógica entre 0 y +Vref(1-2-n)/2.
Cuando el MSB es 1 (números negativos), la salida debida a éste se anula y la debida a la
polarización sitúa el origen a una tensión de salida -Vref/2. Los (n-1) bits restantes actúan como
un convertidor D/A unipolar.
3.4.3 Interfaces para entradas analógicas
Las interfaces de entrada de tipo analógico para Autómatas programables suelen disponer
de varios canales de entrada agrupados, pero, casos especiales, no se utiliza un convertidor para
cada canal, sino que se utiliza un solo convertidor para un conjunto de entradas analógicas. Para
ello es preciso que en cada momento sólo una de ellas esté conectada al convertidor,
realizándose la conversión en forma cíclica, una tras otra.
El esquema de bloques de una interfaz de entradas analógicas completa para n canales
puede verse en la figura 3.13, donde se ha supuesto la existencia de una serie de transductores
analógicos cuyos datos deben ser procesados por la unidad central, pudiendo ésta seleccionar en
cada momento el canal que desea leer y, en algunos casos, incluso el factor de escala a aplicar.
Figura 3.13 Interfaz de entradas analógicas.
La función de conectar varios canales de entrada a un solo convertidor se realiza mediante
un multiplexor analógico, que consiste básicamente de un conjunto de interruptores estáticos de
tipo MOS gobernados por un decodificador que selecciona en cada momento el cierre de uno de
ellos. Además, dicho multiplexor sirve además como adaptador de impedancias .
Las interfaces de entrada analógicas más comunes trabajan con señales normalizadas de 0
a 10V o de 4 a 20mA, pero algunas familias de Autómatas de gama alta disponen también de
tarjetas específicas para tipos concretos de transductores (termopares, codificadores, etc.) . Este
tipo de interfaces son también llamadas interfaces dedicadas.
58
www.infoPLC.net
Interfaces de Entrada / Salida
Como criterio general, los parámetros más relevantes a comprobar en cada aplicación son
los siguientes:
•
•
•
•
•
•
•
•
•
•
Márgenes de tensión o corriente de entrada.
Impedancia de entrada.
Nivel de aislamiento entre entradas y unidad de control y entre entradas entre sí.
Resolución, que dependerá del número de bits del convertidor.
Tipo de conversión A/D.
Polaridad de la señal de entrada (conversión con signo o sólo valor absoluto).
Tiempo de adquisición del dato (velocidad de muestreo)..
Precisión o margen de error.
Precauciones de instalación (longitud y tipo de cables).
Exigencias de fuente de alimentación.
3.4.4 Interfaces para salidas analógicas
Las interfaces de salida analógicas permiten enviar al proceso señales de regulación o para
instrumentación, empleando, por lo general, señales normalizadas de uno de los siguientes
tipos:
•
•
•
•
Señales de 0 a 10V.
Señales de 0 a 5V.
Señales de 0 a 20mA.
Señales de 4 a 20mA.
La figura 3.14 muestra un diagrama de bloques elemental de un canal de salida analógica.
El CPU del PLC enviará los datos en forma numérica a la salida correspondiente y es la interfaz
la que dispone de un convertidor D/A por canal. Aunque no es en general, la interfaz puede
disponer de un amplificador de salida con aislamiento galvánico y, a veces, de una salida que
puede seleccionarse entre 0-10 V, 0-20mA o 4-20mA.
En algunos PLC de gama alta, el registro de entrada de datos puede ser un contador
bidireccional con autonomía propia, de forma que la salida puede gobernarse de forma
automática, cargando datos del bus del PLC, o en forma manual mediante las señales INCR y
DECR, que permiten variar la salida analógica a efecto de prueba o para control manual del
proceso.
59
www.infoPLC.net
Interfaces de Entrada / Salida
Figura 3.14 Interfaz de salidas analógicas.
Como criterio general, los parámetros más relevantes de las interfaces de salida analógicas
a comprobar en cada aplicación son los siguientes:
•
•
•
•
•
•
•
•
•
•
60
Posibilidad de salidas multivalentes 0-10 V, 0-20 mA 0 4-20 mA.
Márgenes de tensión y/o corriente de salida.
Impedancia de salida.
Protección contra cortocircuitos.
Nivel de aislamiento entre salidas y unidad de control y entre salidas entre sí.
Resolución (que dependerá del número de bits del convertidor D/A).
Límites de error.
Posibilidad de doble paridad de salida (conversión con signo o sólo valor absoluto).
Posibilidad de control manual/automático.
Exigencias de instalación: fuente de alimentación, longitud de cables, etc.
www.infoPLC.net
Programación del PLC
4.0 PROGRAMACION DEL PLC
4.1 INTRODUCCION
Hasta el momento se ha descrito al PLC como una máquina formada por elementos de
hardware capaces de comunicarse físicamente con el proceso para:
•
•
Recoger el conjunto de variables (digitales y/o analógicas) que definen el estado del
mismo (señales de entrada),
Enviar otro conjunto de variables que modifiquen dicho estado en un sentido
predeterminado (señales de salida).
Pero para esto, el PLC necesita para su completa adaptación al proceso de un operador
humano que defina como se quiere la evolución del mismo. Este operador intercambia entonces
información con el hardware del PLC para:
•
•
Fijar, mediante una secuencia de ordenes, la ley general de mando, de la que se
obtienen las variables de salida o de control,
Intervenir, continuamente o no, sobre el proceso para modificar la evolución o,
simplemente, para leer su estado.
El primero de los puntos, establecimiento de la secuencia de ordenes, se denomina
programación de PLC, y la secuencia establecida, programa de aplicación.
Al segundo punto, intervención del operador sobre el proceso, se le conoce comúnmente
como explotación de la aplicación, y durante ella se permiten modificar algunos parámetros
(tiempo, consignas, módulos de cuenta, etc.), pero no modificar el programa.
Se ha descrito pues, a la programación como la codificación al lenguaje del PLC del
conjunto de órdenes que forman la ley de mando o control deseada. Codificar, a su vez, significa
transformar una información en otra equivalente de distinto formato. Por lo que un programa es
una sucesión o lista en un determinado orden de distintas órdenes de trabajo también llamadas
instrucciones y capaz de hacer ejecutar al autómata la secuencia de trabajo pretendida. Por lo
tanto, se define, de esta manera, al lenguaje de programación como un conjunto de símbolos y
textos inteligibles por la unidad de programación que le sirven al usuario para codificar sobre
un cierto Autómata las leyes de control deseadas, mientras que lenguaje de explotación será el
conjunto de ordenes y comandos que el usuario puede enviar, desde la misma unidad o desde
un terminal adecuado, para recoger estados o modificar variables de proceso.
La programación del PLC pasa, pues, por los siguientes pasos:
1.
2.
3.
Determinar qué debe hacer el sistema de control y en que orden (por ejemplo,
mediante un diagrama de flujo, una descripción literal, etc.).
Identificar los componentes (señales) de entrada y salida al PLC.
Representar mediante un modelo el sistema de control, indicando todas las
funciones que intervienen, las relaciones entre ellas, y la secuencia que deben de
seguir. Esta representación puede ser:
61
www.infoPLC.net
Programación del PLC
•
•
4.
5.
6.
7.
Algebraica: Instrucciones literales.
Gráfica: Símbolos gráficos.
Asignar direcciones de entrada/salida o internas a cada uno de los componentes que
aparecen en el modelo.
Codificar la representación anterior en instrucciones o símbolos inteligibles por la
unidad de programación. Esto, dado que, el código de salida a obtener son los
códigos binarios que entiende la CPU; El código de entrada no es más que el control
que se quiere implementar, representado en alguna forma.
Transferir las instrucciones obtenidas a la memoria del Autómata desde la unidad de
programación.
Depurar el programa y obtener una copia de seguridad.
En pocas palabras, al conjunto total de instrucciones, ordenes y símbolos que están
disponibles para escribir un programa se le denomina lenguaje de programación.
Ahora bien, por otro lado, la descripción del proceso y su control puede hacerse con la
enumeración literal de las acciones a desarrollar por el mismo, expuestas secuencialmente y con
la indicación de las condiciones de habilitación o validación de cada caso. La ventaja de estas
descripciones, que es a la vez su principal inconveniente, es la ausencia de rigor en la
exposición. Con esto se quiere decir que, una persona, aun poco calificada desde el punto de
vista de la automática, es capaz de explicar lo que debe de hacer el proceso en cuestión. Esta
descripción, si bien posiblemente estará libre de errores, adolecerá casi con seguridad de falta de
especificaciones en los procesos, en las variables o en las relaciones entre ellos. Por mencionar un
ejemplo, supóngase que se quiere controlar un taladro para la perforación de un pedazo de
madera. El personal encargado del proceso podría describir la secuencia de pasos de la siguiente
manera (ver figura 4.1):
Figura 4. 1 Perforación de un pedazo de madera
En efecto, observando la figura y la descripción podrían plantearse algunas preguntas:
62
www.infoPLC.net
Programación del PLC
1.
2.
3.
4.
¿Qué ocurre si la presión detectada por el nanómetro no es la precisa?
¿Cuándo debe empezar a girar la broca, antes, durante o después de la bajada del taladro?
¿Cuándo debe detenerse el giro de la broca R, al llegar al tope b1 en la bajada del taladro,
durante la subida, o después de haber llegar al tope b0 en la subida del taladro?
¿Cómo se afloja la pieza, por retroceso del cilindro A, por extracción manual, o por
movimiento del soporte?
Parece que con una descripción como la dada, que en principio resultaba suficientemente
clara, el diseñador necesita de una serie de preguntas adicionales antes de empezar a trabajar en
el control.
La conclusión que se obtiene es que la descripción literal o se hace exhaustiva, con lo cual
es de difícil comprensión en su conjunto, o no es totalmente unívoca con el proceso que se quiere
controlar. Afortunadamente existen otras formas de representación, de sintaxis más definida,
que permiten descripciones más concisas y claras de la tarea de control.
Como se vio anteriormente, puede emplearse el lenguaje vulgar (descripciones literales)
para describir lo que el automatismo hace en cada momento, junto con las condiciones que debe
satisfacer, y probablemente en las etapas previas del diseño, sin embargo, la creciente
complejidad de los automatismos a desarrollar y la necesidad de dejar perfectamente
especificadas las condiciones de trabajo, obligan a emplear útiles simbólicos de representación
que permitan, interpretados adecuadamente, obtener toda la información posible acerca del
sistema de control. Para ello, estos útiles de representación deben cumplir dos condiciones:
•
•
Ser comunes para el emisor y receptor de la información, por cuanto sean comprensibles
simultáneamente para ambos.
Ser de empleo coherente, por cuanto utilicen unas reglas de combinación entre ellos
(sintaxis) perfectamente establecidas.
Además de lo anterior, sería deseable que la misma simbología utilizada para representar
el sistema de control pudiera emplearse para programar el PLC: el ahorro de tiempo y
documentación y la seguridad en el programa obtenido serían considerables. Sin embargo, esta
solución no es siempre posible: el lenguaje de programación depende del PLC empleado y de
su fabricante, que decide el tipo de unidad de programación (literal, gráfica) y del intérprete
(firmware) que utiliza su máquina, mientras que el modelo de representación depende del
usuario, que lo elige según sus necesidades o conocimientos. Por lo anterior, dado el incremento
en la complejidad de la programación de los autómatas programables, se requiere más que
nunca de la estandarización de la misma.
Bajo la dirección del IEC el estándar IEC 1131-3 (IEC 65) para la programación de PLC's
ha sido definida tal la simbología (en el siguiente capitulo se tratara sobre el estándar IEC 11313). El IEC 1131-3 alcanzó el estado de Estándar Internacional en Agosto de 1992. Los lenguajes
gráficos y textuales definidos en el estándar son una fuerte base para entornos de programación
potentes en PLC's.
Según los símbolos utilizados en el modelo, la representación puede ser:
63
www.infoPLC.net
Programación del PLC
•
•
•
Proposicional: Por medio de descripciones literales, tal como se llevo a cabo la
descripción del proceso en el perforado de un pedazo de madera en el tema
anterior.
Algebraica: Por medio de Mnemónicos (o también conocido como lista de
instrucciones IL, booleano, abreviaturas mnemotécnicas o bien AWL) o lenguajes de
alto nivel.
Gráfica: Por medio de esquemas de relevadores (o también conocido como diagrama
de contactos LD Ladder Diagram, plano de contactos, esquema de contactos, o bien
KOP), diagramas lógicos, ordinogramas o diagramas de flujo, así como también por
medio de las técnicas GRAFCET.
Ahora bien, si la representación elegida para el sistema de control es comprensible por la
unidad de programación, no será necesaria ninguna codificación, al aceptar ésta los símbolos
utilizados. En caso contrario, habrá que traducirla al lenguaje de programación empleado por la
unidad de programación.
Finalmente, el programa obtenido está formado por un conjunto de instrucciones,
sentencias, bloques funcionales y grafismos que indican las operaciones a realizar sucesivamente
por el PLC.
4.2 MNEMONICOS (LENGUAJE BOLÉANO Y LISTAS DE INSTRUCCIONES)
El lenguaje booleano está constituido por un conjunto de instrucciones que son una
trascripción literal de las funciones del álgebra de Boole, a saber:
•
•
•
OR Función de la suma lógica
AND Función del producto lógico
NOT Función de negación
complementadas con instrucciones de inicio de sentencia y asignación de resultados:
•
•
LOAD Leer la variable inicial
OUT Enviar un resultado a la salida
Y de operaciones de bloques (paréntesis):
•
•
OR LOAD coloca bloque en paralelo
AND LOAD coloca bloque en serie
En operación normal, el PLC necesita de otras instrucciones como ampliación del lenguaje
booleano, que le permitan manejar elementos de uso común en automatización. Son estas las
instrucciones secuenciales predefinidas:
•
•
•
•
64
TIM definir un temporizador
CNT definir un contador
SET activa una variable binaria (unidad de memoria)
RST desactivar una variable binaria
www.infoPLC.net
Programación del PLC
Además, la mayor parte de los autómatas incluyen extensiones al lenguaje booleano básico
descrito, que le permiten la manipulación de datos y variables digitales y la gestión del
programa. Estas extensiones, pueden clasificarse en:
1.
Instrucciones aritméticas
•
•
•
•
2.
Instrucciones de manipulación de datos
•
•
•
•
•
3.
CMP comparar variables digitales
SFR rotaciones de bits (variables binarias)
SHIFT rotaciones de palabras (variables digitales)
MOV transferencias de datos
BDC/BIN conversiones de códigos numéricos, etc.
Instrucciones de gestión de programa
•
•
•
•
4.
ADD sumar
SBB restar
MUL multiplicar
DIV dividir
END fin de programa
JMP salto de bloque de programa
MCS habilitación de bloque de programa
JMPSUB salto a subrutina, etc.
Las instrucciones aritméticas y de manipulación de datos admiten múltiples variaciones:
•
•
•
•
•
•
Aritmética binaria o BCD
Instrucciones lógicas sobre palabras (8 o 16 bits)
Transferencias entre bloques de palabras
Codificación a salida en 7 segmentos
Instrucciones de direccionamiento indirecto
Instrucciones trigonométricas, etc.
Al lenguaje resultante, que no puede llamarse ya booleano después de ampliarlo con estas
extensiones, se le denomina lista de instrucciones IL (Istruction List). Ya de forma más extendida
se acepta con el término de mnemónicos.
Un lenguaje en mnemónico o lista de instrucciones consiste en un conjunto de códigos
simbólicos, cada uno de los cuales corresponde a una instrucción. Cada fabricante utiliza sus
propios códigos, y una nomenclatura distinta para nombrar las variables del sistema.
Por lo anterior, podemos decir que este lenguaje tiene las siguientes características:
•
El lenguaje en mnemónico es similar al lenguaje ensamblador del micro.
65
www.infoPLC.net
Programación del PLC
•
•
Las funciones de control vienen representadas con expresiones abreviadas.
La fase de programación es más rápida que en el lenguaje de esquemas de
contactos.
Por otro lado, cabe señalar que algunos fabricantes amplían las capacidades de
programación de sus autómatas de gama baja con instrucciones avanzadas, que serían de más
lógica aplicación en autómatas de superiores prestaciones. El tiempo de ejecución resultante
sobre CPU desaconseja su empleo en la mayoría de ocasiones. Sin embargo, disponible ya en el
firmware capaz de interpretarlas, desarrollando para otros autómatas de la familia, cuesta muy
poco introducirlo en las versiones básicas aunque no sea más que por motivos comerciales de
competencia.
Con el propósito de complementar el tema de mnemónicos, tomaremos como ilustración
la programación del PLC Simatic S7 de la marca Siemens a lo largo de lo que resta del tema.
En este caso dependiendo del tipo de operando que empleemos, se hará uso de uno o
varios de los siguientes registros (los cuales son propios del Simatic S7):
•
•
Bit de resultado lógico (RLO): aquí se almacena el resultado de operaciones lógicas a
nivel de bit y primera consulta.
Acumuladores (ACU 1 y ACU 2): aquí se almacenan los operandos y resultados de
operaciones lógicas a nivel de byte, palabra, y doble palabra.
Además de que:
•
•
Un operando del tipo bit sería una entrada o salida digital.
Un operando del tipo byte o superior sería la lectura de una entrada analógica.
4.2.1 Primera consulta
Cuando efectuamos una asignación, o se comienza un nuevo ciclo de programa, se está en
estado de primera consulta. Es decir, la primera instrucción lógica que se efectúe servirá para
situar su operando en el RLO.
Las operaciones S y R (Set y Reset respectivamente) también producen que el bit de
primera consulta se ponga a 0.
Da igual si se trata de una operación AND, OR, o XOR, en los tres casos se introduce el
operando en el RLO de forma directa. Si tratamos con instrucciones NAND, NOR, o XOR se
introducirá el operando de forma negada (si es un 0 el bit RLO será 1).
4.2.2 Asignación
La instrucción "=" copia el contenido del RLO al operando especificado, sin perder el
contenido del RLO. Los posibles operandos son: E, A, M, DBX, DIX y L y los registros afectados
en este caso son: ER y STA.
Como ejemplo veamos la siguiente instrucción:
66
www.infoPLC.net
Programación del PLC
INSTRUCCION
= E 2.0
DESCRIPCIÓN
Copia el RLO a la entrada E 2.0
Tabla 4-1 Ejemplo del empleo de la instrucción de asignación
4.2.3 And
La instrucción "U" realiza la función lógica AND entre el RLO y el operando especificado,
almacenando el resultado en RLO (se pierde el valor anterior). Se puede operar con el negado
del operando si se adjunta "N" (UN). Los posibles operandos son: E, A, M, DBX, DIX, L, T y Z y
los registros afectados son: RLO, STA
Por ejemplo, veamos las siguientes instrucciones:
INSTRUCCION
U E 0.0
UN A 1.2
DESCRIPCIÓN
Realiza un AND entre el RLO y la entrada E 0.0
Realiza un NAND entre el RLO y la salida A 1.2
Tabla 4-2 Ejemplo del empleo de la instrucción AND
4.2.4 Or
La instrucción "O" realiza la función lógica OR entre el RLO y el operando especificado,
almacenando el resultado en RLO (se pierde el valor anterior). Se puede operar con el negado
del operando si se adjunta "N" (ON). Los posibles operandos son: E, A, M, DBX, DIX, L, T y Z y
los registros afectados son: RLO y STA.
Veamos en este caso los siguientes ejemplos:
INSTRUCCION
O T 0
ON M 5.0
DESCRIPCIÓN
Realiza un OR entre el RLO y el estado del temporizador
T0
Realiza un NOR entre el RLO y la marca M 5.0
Tabla 4-3 Ejemplo del empleo de la instrucción OR
4.2.5 XOR (O exclusiva)
La instrucción "X" realiza la función lógica XOR entre el RLO y el operando especificado,
almacenando el resultado en RLO (se pierde el valor anterior). Se puede operar con el negado
del operando si se adjunta "N" (XN). Los posibles operandos son: E, A, M, DBX, DIX, L, T y Z y
los registros afectados son: RLO y STA
En este caso tenemos los siguientes ejemplos:
INSTRUCCION
X Z 0
XN A 1.0
DESCRIPCIÓN
Realiza un XOR entre el RLO y el estado del contador Z 0
Realiza un XNOR entre el RLO y la salida A 1.0
Tabla 4-4 Ejemplo del empleo de la instrucción XOR
67
www.infoPLC.net
Programación del PLC
4.2.6 Expresiones entre paréntesis
Instrucciones "U(", "UN(", "O(", "ON(", "X(", "XN(", ")" sin operandos
Las operaciones U, O, X, y sus negaciones UN, ON, y XN permiten ejecutar operaciones
lógicas con fracciones de una cadena lógica encerradas entre paréntesis (expresiones entre
paréntesis). Los paréntesis que encierran una fracción de una cadena lógica indican que el
programa va a ejecutar las operaciones entre paréntesis antes de ejecutar la operación lógica que
precede a la expresión entre paréntesis.
La operación que abre una expresión entre paréntesis almacena el RLO de la operación
precedente en la pila de paréntesis. A continuación, el programa combina el RLO almacenado
con el resultado de las combinaciones lógicas ejecutadas dentro del paréntesis (siendo la primera
operación dentro de los paréntesis de primera consulta).
Ahora bien, hay que tomar en cuenta que como en todo hay límites, por lo que el límite de
anidamientos de paréntesis depende del PLC empleado. Los registros afectados son: RLO, STA,
RB, pila de paréntesis
Ejemplo:
U(O E 0.0 U E 0.1) = A 2.0
Veamos los pasos que sigue el programa en este ejemplo: Efectúa un AND en primera
consulta, con lo que el resultado de las operaciones dentro del paréntesis se introducirá
directamente en RLO. Efectuamos un OR con la entrada 0.0, al ser en primera consulta (primera
operación dentro del paréntesis) lo que sucede es que el contenido de E 0.0 pasa a ser el nuevo
valor del RLO. Se efectúa un AND entre el RLO obtenido anteriormente y la entrada 0.1,
almacenándose el resultado en el RLO. Se cierra el paréntesis, con lo que el RLO de las
operaciones efectuadas dentro se opera según la instrucción que inicia el paréntesis (en este caso
la instrucción U). Tal y como comentamos, al estar la instrucción de inicio al principio del
programa se ejecuta como primera consulta, con lo que el RLO pasará a valer lo que el resultado
dentro del paréntesis. Copiamos el contenido del RLO en la salida 2.0.
En pocas palabras, si ejecutáramos este programa la salida 2.0 valdría 0 a menos que E 0.0
y E 0.1 valiesen 1, con lo que pasaría a valer 0.
Un programa equivalente sería (en este caso):
INSTRUCCION
O E 0.0
U E 0.1
= A 2.0
DESCRIPCION
Copiamos la E 0.0 en el RLO (primera c.)
Efectuamos un AND entre el RLO y la E 0.1
Copiamos el resultado a la salida 2.0
Tabla 4-5 Programa equievalente sin emplear paréntesis
68
www.infoPLC.net
Programación del PLC
4.2.7 Y antes de O
Instrucción "O" sin operando. Si introducimos una instrucción "O" sin operando seguida
de una o varias instrucciones AND se evalúa en primer lugar las instrucciones AND y el
resultado se combina con el RLO según un OR. Esta operación equivale a emplear "O(" con
instrucciones del tipo AND dentro del paréntesis. En este caso los registros que se verán
afectados son: RLO, STA, OR y la pila de paréntesis. Veamos el siguiente ejemplo:
INSTRUCCION
U E 0.0
O
U E 0.1
U M 0.3
= A 4.0
DESCRIPCIÓN
Se introduce en el RLO el valor de la entrada 0.0
(primera c.)
Comenzamos una operación Y antes de O
Introducimos el valor de la entrada 0.1 en el RLO (primera c.)
Efectuamos un AND entre el RLO y la marca 0.3
Se finaliza Y antes de O. Se efectúa un OR entre el primer RLO
y el RLO resultado de las operaciones AND. Luego se copia el
contenido del RLO en la salida 4.0
Tabla 4-6 Ejemplo del empleo de la instrucción Y antes de O
4.2.8 Operaciones de flancos
Instrucciones "FP" y "FN".
Las operaciones de flanco positivo (FP) y flanco negativo (FN) pueden utilizarse para
detectar cambios de flanco en el RLO. El cambio de 0 a 1 se denomina flanco positivo, mientras
que el cambio de 1 a 0 se denomina flanco negativo. Cada instrucción FP o FN emplea un
operando para poder comparar el RLO actual con el que había en el ciclo anterior, se
recomienda emplear marcas de memoria. Si se realiza un cambio de flanco en el sentido de la
instrucción empleada, ésta produce un impulso positivo (1) en el RLO durante el ciclo actual.
Los posibles operandos son: E, A, M, DBX, DIX y L, mientras que los registros afectados son en
este caso RLO y STA. Se emplea una operando para almacenar el RLO. Veamos el siguiente
ejemplo:
INSTRUCCION
DESCRIPCIÓN
U E 1.0
Empleamos la entrada 1.0 para detectar un cambio de flanco
FP M 1.0
Empleamos la marca 1.0 para detectar el cambio de flanco
= A 4.0
Asignamos el resultado de la operación FP a la salida 4.0
Tabla 4-7 Ejemplo del empleo de la instrucción FP
En este ejemplo cada vez que ingresemos un flanco positivo en la entrada 1.0 se producirá
un impulso de longitud un ciclo en la salida 4.0, tal y como se muestra a continuación:
CICLO
E 1.0:
M 1.0:
A 4.0:
1
0
0
0
2
0
0
0
3
1
1
1
4
1
1
0
5
1
1
0
6
0
0
0
7
0
0
0
8
0
0
0
9
1
1
1
10
1
1
0
11
0
0
0
Tabla 4-8 Efectos de la instrucción FP en cada ciclo
69
www.infoPLC.net
Programación del PLC
Para el caso de sustituir en el ejemplo FP por FN, se obtendría:
CICLO
E 1.0:
M 1.0:
A 4.0:
1
0
0
0
2
0
0
0
3
1
1
0
4
1
1
0
5
1
1
0
6
0
0
1
7
0
0
0
8
0
0
0
9
1
1
0
10
1
1
0
11
0
0
1
Tabla 4-9 Efectos de la instrucción FN en cada ciclo
NOTA: Es obligatorio no emplear los operandos ocupados por FP y FN para otros fines, ya
que entonces se falsifica el RLO almacenado en ellos y por lo tanto se produce un
funcionamiento incorrecto del programa.
4.2.9 Set y Reset
Instrucciones "S" y "R".
La operación set (S) fuerza a uno el operando especificado si el RLO es 1. La operación
reset (R) fuerza a cero el operando especificado si el RLO es 1. En ambos casos el bit de primera
consulta se hace 0. Los posibles operandos son: E, A, M, D, DBX, DIX y L y el registro afectado
es: ER. Veamos el siguiente ejemplo:
INSTRUCCIÓN
U E 1.0
S A 4.0
U E 1.1
R A 4.0
DESCRIPCIÓN
Copiamos al RLO el valor de la entrada 1.0 (primera c.)
Si RLO=1 se fuerza la salida 4.0 a 1
Copiamos al RLO el valor de la entrada 1.1 (primera c.)
Si RLO=1 se fuerza la salida 4.0 a 0
Tabla 4-10 Ejemplo del empleo de las instrucciones Set y Reset
En este ejemplo (báscula S-R) tiene preferencia el reset sobre el set, ya que esta última
instrucción se ejecuta después, es decir si las entradas 1.0 y 1.1 fuesen 1 la salida 4.0 sería 0.
4.2.10 Negar, activar, desactivar y salvar el RLO
Instrucciones "NOT", "SET", "CLR" y "SAVE" sin operando.
NOT
Niega (invierte) el RLO actual al no haberse activado el bit OR. Los registros afectados son:
RLO el cual se invierte y STA=1.
SET
Fuerza el RLO de forma incondicional a 1. Los registros afectados son: RLO=1, STA=1,
ER=0 y OR=0.
70
www.infoPLC.net
Programación del PLC
CLR
Fuerza el RLO de forma incondicional a 0. Los registros afectados son: RLO=0, STA=0,
ER=0 y OR=0.
SAVE
Almacena el RLO en el registro de estado (en el bit RB). El RLO almacenado puede ser
consultado de nuevo con la instrucción "U BR". Los registros afectados son: RB el cual almacena
el valor de RLO.
4.2.11 Operaciones con contadores
Los contadores permiten distintas operaciones, que debemos emplear en su manejo, entre
estas podemos mencionar las siguientes:
•
•
•
•
•
Cargar un valor de preselección.
Borrar el contador.
Contar hacia adelante y hacia atrás.
Consultar su estado como un operando más en operaciones lógicas de bit.
Consultar su valor en ACU 1.
Todas estas operaciones serán explicadas con profundidad en los siguientes puntos.
4.2.11.1 Cargar un valor preseleccionado
Instrucciones: "L C#" y "S Z".
Un contador se pone a un determinado valor cargando dicho valor en la palabra baja del
ACU 1, mediante una operación de carga, y luego en el contador, mediante una instrucción set.
LC#
"L C#" introduce un valor de conteo en la palabra baja del ACU 1. Dicho valor inicial del
contador puede ser un valor comprendido entre 0 y 999. En este caso, los registros afectados son:
ACU 1 y ACU 2 .
SZ
"S Z" introduce el valor de conteo en ACU 1 en el contador si RLO vale 1. En este caso el
registro afectado es: ER. Veamos el siguiente ejemplo:
INSTRUCCIÓN
L C# 3
U E 1.0
S Z 1
DESCRIPCION
Introduce el valor de conteo 3 en el ACU 1
Carga en el RLO el valor de la entrada 1.0
Introduce el valor 3 (dentro de ACU 1) en el contador 1
si la entrada 1.0 es 1
Tabla 4-11 Ejemplo del empleo de la instrucción SZ
71
www.infoPLC.net
Programación del PLC
4.2.11.2 Borrar un contador
Instrucción: "R Z". Borra el contador especificado (puesta a cero) si el RLO vale 1. El
registro afectado en este caso es ER.
Ejemplo:
INSTRUCCION
U E 1.0
R Z 1
DESCRIPCION
Carga en el RLO el valor de la entrada 1.0
Borra el contador 1 (a cero) si la entrada 1.0 es 1 (RLO=1)
Tabla 4-12 Ejemplo del empleo de la instrucción R Z
4.2.11.3 Contadores ascendentes y descendentes
Instrucciones: "ZV" y "ZR"
ZV
"ZV" incrementa el contador especificado si hay un cambio de flanco ascendente (0 a 1) en
el RLO. El incremento se produce en una unidad. Cuando el contador alcanza el límite superior
de 999, se detiene y no sigue incrementando.
ZR
"ZR" decrementa el contador especificado si hay un cambio de flanco ascendente (0 a 1) en
el RLO. El decremento se produce en una unidad. Cuando el contador alcanza el límite inferior
de 0, se detiene y no sigue decrementando.
En este caso el registro afectado es: ER
Ejemplos:
INSTRUCCION
U E 0.0
ZV Z 1
U E 1.0
ZR Z 1
DESCRIPCIÓN
Carga en el RLO el valor de la entrada 0.0
Incrementa el contador 1 si la entrada 0.0 presenta un
cambio de flanco ascendente
Carga en el RLO el valor de la entrada 1.0
Decrementa el contador 1 si la entrada 1.0 presenta un cambio
de flanco ascendente
Tabla 4-13 Ejemplo del empleo de la instrucción ZR
4.2.11.4 Consulta del saldo de contadores
El programa puede consultar el estado de un contador de la misma manera que consulta el
estado de señal de una entrada o salida, pudiendo combinar el resultado de la consulta. Cuando
se consulta el estado del contador con las operaciones U, O, o X el resultado es 1 si el valor del
contador en ese momento es mayor que 0.
72
www.infoPLC.net
Programación del PLC
Ejemplo:
INSTRUCCION
L C# 5
U E 2.0
S Z 1
U E 1.0
ZR Z 1
U Z 1
= A 0.0
DESCRIPCIÓN
Introduce el valor de contaje 5 en el ACU 1
Carga en el RLO el valor de la entrada 2.0
Introduce el valor 5 (dentro de ACU 1) en el contador 1 si la
entrada 2.0 es 1
Carga en el RLO el valor de la entrada 1.0
Decrementa el contador 1 si la entrada 1.0 presenta un cambio
de flanco ascendente
Introduce en el RLO el estado del contador 1
Introduce el estado del contador 1 en la salida 0.0
Tabla 4-14 Ejemplo de una consulta en un contador
4.2.11.5 Lectura del valor de un contador
Instrucciones: "L Z" y "LC Z"
Con la instrucción "L Z" introducimos en el ACU 1 (parte baja) el valor del contador
especificado en binario. El valor en ACU 1 puede ser introducido en otro contador.
Con la instrucción "LC Z" introducimos en el ACU 1 (parte baja) el valor del contador
especificado en BCD. En esta codificación no es posible pasar el valor de ACU 1 a otro contador.
En este caso los registros afectados son: ACU 1 y ACU 2 .
Ejemplos:
INSTRUCCION
L Z 1
LC Z 2
DESCRIPCIÓN
Introduce el valor del contador 1 en el ACU 1
Introduce el valor del contador 2 en el ACU 1 en BCD
Tabla 4-15 Ejemplo de la lectura del valor de un contador
4.2.12 Operaciones con temporizadores
Los temporizadores permiten distintas operaciones que debemos emplear en su manejo.
Entre estas operaciones podemos mencionar las siguientes:
•
•
•
•
•
Funcionamiento en un modo determinado.
Borrar la temporización.
Re-arrancar un temporizador (FR).
Consultar su estado como un operando más en operaciones lógicas de bit.
Consultar su valor en ACU 1.
Cada temporizador lo podemos hacer funcionar en uno de los siguientes modos:
73
www.infoPLC.net
Programación del PLC
•
•
•
•
•
Impulso (SI).
Impulso prolongado (SV).
Retardo a la conexión (SE).
Retardo a la conexión con memoria (SS).
Retardo a la desconexión (SA).
Todas estas operaciones serán explicadas con profundidad en los siguientes puntos.
4.2.12.1 Cargar un valor de temporizador
El valor de temporización se debe cargar en la parte baja del ACU 1, para desde allí
transferirlo al temporizador mediante el set que determine el modo de temporización adecuado.
El tiempo va decrementando hasta ser igual a 0. El valor de temporización puede cargarse
en la palabra baja del ACU 1 en formato binario, hexadecimal o BCD. Para ello debemos elegir
una base de tiempos y un valor dentro de dicha base, con lo que podemos realizar
temporizaciones desde 0 a 9990 segundos (0H_00M_00S_00MS a 2H_46M_30S_00MS).
La siguiente sintaxis permite cargar un valor de temporización predefinido:
L W#16#abcd
Donde:
a = base de tiempos
bcd = valor de temporización en formato BCD
Base de tiempos Código respectivo
10 ms
0
100 ms
1
1s
2
10 s
3
Tabla 4-16
En este caso los registros afectados son: ACU 1 y ACU 2
Ejemplo:
INSTRUCCION
DESCRIPCIÓN
L W#16#210
Esto introduce un valor de 10 segundos en ACU 1 (2 base de
1s, 10 los segundos que deseamos)
Tabla 4-17 Ejemplo de carga de un temporizador
L S5T#aH_bbM_ccS_ddMS
a = horas, bb= minutos, cc = segundos, dd = milisegundos
74
www.infoPLC.net
Programación del PLC
En este caso la base de tiempos se selecciona de forma automática, tomándose la de valor
más bajo posible. Debido a esto los valores de resolución demasiado alta se redondean por
defecto, alcanzando el rango pero no la resolución deseada. Así, las posibles resoluciones y
rangos son:
Resoluciones
0,01 s
0,1 s
1s
10 s
Rangos
10MS a 9S_990MS
100MS a 1M_39S_900MS
1S a 16M_39S
10S a 2H_46M_30S
Tabla 4-18
En este caso los registros afectados son: ACU 1 y ACU 2 .
Ejemplo:
INSTRUCCIÓN
DESCRIPCIÓN
L S5T#00H02M23S00MS Esto introduce un valor de temporización de 2 minutos
y 23 segundos en el ACU 1
Tabla 4-19
4.2.12.2 Consulta del estado de temporizadores
El programa puede consultar el estado de un temporizador de la misma manera que
consulta el estado de señal de una entrada o salida, pudiendo combinar el resultado de la
consulta.
Cuando se consulta el estado del temporizador con las operaciones U, O, o X el resultado
es 1 si el valor de la salida del temporizador es 1.
4.2.12.3 Temporizador como impulso
Instrucción: "SI"
Si el RLO (al ejecutar esta instrucción) cambia de 0 a 1, el temporizador arranca. El
temporizador marcha con el valor de tiempo indicado en ACU1. Si el RLO cambia de 1 a 0 antes
de terminar el tiempo, el temporizador se detiene. La salida del temporizador entrega 1 mientras
el temporizador corre. En este caso, el registro afectado en este caso es: ER. Veamos el siguiente
ejemplo:
INSTRUCCION
U E 0.0
L S5T#45s
SI T 2
U T 2
= A 0.1
DESCRIPCIÓN
Empleamos la entrada 0.0 como entrada del temporizador
Introducimos un valor de temporización de 45 segundos
Empleamos el temporizador 2 como impulso
Leemos la salida del temporizador
Asignamos la salida del temporizador a la salida 0.1
Tabla 4-20 Ejemplo de empleo de un temporizador como impulso
75
www.infoPLC.net
Programación del PLC
4.2.12.4 Temporizador como impulso prolongado
Instrucción: "SV"
Si el RLO (al ejecutar esta instrucción) cambia de 0 a 1, el temporizador arranca y continua
en marcha incluso si el RLO cambia a 0 antes de que el temporizador termine. Mientras el
tiempo está corriendo, la salida vale 1. En este caso, el registro afectado es ER. Veamos el
siguiente ejemplo:
INSTRUCCION
U E 0.7
L S5T#65s
SE T 4
U T 4
= A 8.1
DESCRIPCIÓN
Empleamos la entrada 0.7 como entrada del temporizador
Introducimos un valor de temporización de 65 segundos
Empleamos el temporizador 4 como retardo a la conexión
Leemos la salida del temporizador
Asignamos la salida del temporizador a la salida 8.1
Tabla 4-21 Ejemplo de l empleo de un temporizador como impulso prolongado
4.2.12.5 Temporizador como retardo a la conexión con memoria
Instrucción: "SS"
Si la entrada (RLO en la ejecución de la instrucción) cambia de 0 a 1, el temporizador
arranca y continua corriendo incluso si la entrada (RLO) cambia a 0, antes que el temporizador
termine de contar. Si el tiempo ha concluido la salida continua a 1 independientemente del
estado de la entrada (RLO). Solo se puede poner a 0 la salida mediante un Reset. El
temporizador vuelve a arrancar con el valor de temporización indicado en el ACU 1 si el estado
de la señal en la entrada (RLO) cambia de 0 a 1 mientras el temporizador está en marcha.
Nuevamente, el registros afectado es: ER. Veamos el ejemplo de la tabla 4.22.
INSTRUCCION
U E 1.2
L S5T#32s
SS T 2
U T 2
= A 3.1
DESCRIPCIÓN
Empleamos la entrada 1.2 como entrada del temporizador
Introducimos un valor de temporización de 32 segundos
Empleamos el temporizador 2 como retardo a la c.
con memoria
Leemos la salida del temporizador
Asignamos la salida del temporizador a la salida 3.1
Tabla 4-22 Ejemplo del empleo de un temporizador como retardo a la conexión con memoria
4.2.12.6 Temporizador como retardo a la desconexión
Instrucción: "SA"
Si la entrada (RLO en la ejecución de la instrucción) cambia de 1 a 0, el temporizador
arranca y continua corriendo. Si la entrada (RLO) cambia a 1 antes que el temporizador termine
de contar, se resetea el temporizador. Mientras el tiempo está corriendo, la salida vale 1. En este
caso, el registro afectado en este caso es: ER. Veamos el siguiente ejemplo se la tabla 4.23.
76
www.infoPLC.net
Programación del PLC
INSTRUCCION
DESCRIPCIÓN
U E 4.2
Empleamos la entrada 4.2 como entrada del temporizador
L S5T#32s
Introducimos un valor de temporización de 32 segundos
SA T 7
Empleamos el temporizador 7 como retardo a la desconexión
U T 7
Leemos la salida del temporizador
= A 1.1
Asignamos la salida del temporizador a la salida 1.1
Tabla 4-23 Ejemplo del empleo de un temporizador como retardo a la desconexión
4.2.12.7 Borrar un temporizador
Instrucción: "R T". Esta instrucción borra (resetea) el temporizador indicado. El
temporizador vuelve al estado de reposo, es decir parado y con la salida igual a 0. El registro
afectado en este caso es: ER. En la tabla 4.24 se muestra un ejemplo.
INSTRUCCION
DESCRIPCIÓN
U E 0.0
Empleamos la entrada 0.0 como entrada del temporizador
L S5T#2s
Introducimos un valor de temporización de 2 segundos
SS T 2
Empleamos el temporizador 2 como retardo a la conexión con
memoria
U E 0.1
Empleamos la entrada 0.1 como entrada de borrado
R T 2
Si la entrada 0.1 cambia de 0 a 1 el temporizador 2 se borra
U T 2
Leemos la salida del temporizador
= A 3.1
Asignamos la salida del temporizador a la salida 3.1
Tabla 4-24 Ejemplo de cómo borrar un temporizador mediante la instrucción R T
4.2.12.8 Re-arranque de un temporizador
Instrucción: "FR T". Cuando el RLO cambia de 0 a 1 (flanco de subida) delante de una
operación FR se habilita el temporizador. Este cambio del estado de señal siempre es necesario
para habilitar un temporizador.
Para arrancar un temporizador y ejecutar una operación normal de temporizador no hace
falta habilitarlo. Esta función se emplea únicamente para redisparar un temporizador que está
en marcha, es decir, para rearrancarlo. Este rearranque sólo puede efectuarse cuando la
operación de arranque continúa procesándose con un RLO de 1. El registro afectado en este caso
es: ER. Veamos el ejemplo de la tabla 4.25.
INSTRUCCIÓN
U E 2.0
FR T 1
U E 2.1
L S5T#5s
SI T 1
U T 1
= A 4.0
DESCRIPCIÓN
Empleamos la entrada 2.0 como re-arranque
Re-arrancamos el temporizador 1 si la E 2.0 pasa a 1
Empleamos la entrada 2.1 como entrada del temporizador
Introducimos un valor de temporización de 5 segundos
Empleamos el temporizador 1 como impulso
Leemos la salida del temporizador
Copiamos la salida del temporizador a la salida 4.0
Tabla 4-25 Ejemplo de un re-arranque de un temporizador
77
www.infoPLC.net
Programación del PLC
Si el RLO cambia de 0 a 1 en la entrada de re-arranque mientras está en marcha el
temporizador, el temporizador vuelve a arrancar. El tiempo programado se emplea como
tiempo actual para el re-arranque. Un cambio del RLO de 1 a 0 en la entrada de re-arranque no
produce ningún efecto.
Un cambio del RLO de 0 a 1 en la entrada de habilitación no afecta al temporizador si
todavía hay un RLO 0 en la entrada del temporizador.
4.2.12.9 Lectura de un valor de temporizador
Instrucciones: "L T" y "LC T"
Con la instrucción "L T" introducimos en el ACU 1 (parte baja) el valor del temporizador
especificado en binario. El valor en ACU 1 puede ser introducido en otro temporizador.
Con la instrucción "LC T" introducimos en el ACU 1 (parte baja) el valor del temporizador
especificado en BCD. En esta codificación no es posible pasar el valor de ACU 1 a otro
temporizador. En este caso los registros afectados son: ACU 1 y ACU 2. Véase el siguiente
ejemplo:
INSTRUCCIÓN
L T 1
LC T 2
DESCRIPCIÓN
Introduce el valor del temporizador 1 en el ACU 1
Introduce el valor del temporizador 2 en el ACU 1
en BCD
Tabla 4-26 Ejemplo de lectura del valor de un temporizador
4.2.13 Operaciones con salto incondicional
Instrucciones: "SPA" y "SPL"
Las operaciones de salto incondicional (SPA) interrumpen el desarrollo normal del
programa, haciendo que el mismo salte a una meta determinada (operando de la operación
SPA). La meta define el punto en que deberá continuar el programa. El salto se efectúa
independientemente de condiciones.
La operación Salto a meta (SPL) es un distribuidor de saltos seguido de una serie de saltos
incondicionales a metas determinadas (lista de saltos). El salto de la lista se escoge según el valor
contenido en el ACU1, es decir si el ACU1 vale 0 se escogerá el primer salto incondicional (SPA),
si vale 1 se saltará al segundo salto... Si el valor se encuentra fuera de la lista se salta a la meta
especificada en SPL.
Una meta se compone de 4 caracteres como máximo. El primer carácter debe ser siempre
una letra, no importando si el resto son números o letras. La meta se especifica normalmente en
el operando de la instrucción de salto, y seguida de dos puntos frente a la línea que posee la
meta (ver ejemplos).
Con ambas instrucciones SPA y SPL ninguno de los registros es afectado.
78
www.infoPLC.net
Programación del PLC
Ejemplo de salto SPA:
INSTRUCCION
DESCRIPCIÓN
U E 1.0
Cargamos en el RLO el valor de la entrada 1.0
SPA AQUI
Saltamos de forma incondicional a la línea con meta "AQUI"
NOP 0
Esta línea no se ejecuta (es saltada)
AQUI: U E 2.0
Aquí continua la ejecución del programa
= A 3.0
Introducimos el resultado en la salida 3.0
Tabla 4-27 Ejemplo de un salto incondicional
Ejemplo de salto SPL:
INSTRUCCION
L MB100
SPL NORM
SPA UNO
SPA CONT
SPA DOS
NORM: SPA CONT
UNO: U E 0.0
SPA CONT
DOS: U E 1.0
SPA CONT
CONT: = A 2.0
DESCRIPCIÓN
Cargamos en el ACU1 un valor de un módulo de datos
Se salta a NORM si el valor de ACU1 no está en lista
Se salta a UNO si ACU1 vale 0
Se salta a CONT si ACU1 vale 1
Se salta a DOS si ACU1 vale 2
Se salta a CONT de forma incondicional
Instrucción meta del salto UNO
Se salta a CONT de forma incondicional
Instrucción meta del salto DOS
Se salta a CONT de forma incondicional
Aquí saltamos finalmente, continuando el programa
Tabla 4-28 Ejemplo de un salto con la instrucción SPL
4.2.14 Operaciones de salto condicional en bifurcación del RLO
Instrucciones: "SPB", "SPBN", "SPBB", "SPBNB"
Estas instrucciones efectúan un salto en el programa hacia una meta determinada, para el
caso de cumplir la condición que necesitan:
•
•
•
•
•
SPB: salto si RLO=1
SPBN: salto si RLO=0
SPBB: salto si RLO=1 y RB=1
SPBB: salto si RLO=1 y RB=1
SPBNB: salto si RLO=0 y RB=1
En todas estas instrucciones, si la condición no es cumplida y no se realiza el salto, se
modifican los siguientes registros: RO=0, STA=1, RLO=1 y ER=0
En SPBB y SPBNB se almacena el RLO en el bit RB de la palabra de estado antes de
efectuar el salto.
En este caso, los registros afectados son: RB, OR, STA, RLO, ER
79
www.infoPLC.net
Programación del PLC
Ejemplo de salto SPB:
INSTRUCCION
U E 2.0
SPB AQUI
U E 1.0
AQUI: U E 3.0
= A 0.0
DESCRIPCIÓN
Cargamos en el RLO el valor de la entrada 2.0
Saltamos a la línea con meta "AQUI" si el RLO=1
Esta línea no se ejecuta si se salta
Aquí continua la ejecución del programa
Introducimos el resultado en la salida 0.0
Tabla 4-29 Ejemplo de un salto mediante la instrucción SPB
Como podemos observar en el ejemplo, el resultado de la salida 0.0 depende
primeramente del valor de la entrada 2.0, ya que ella decide si se tiene en cuenta también la
entrada 1.0 en el resultado final.
4.2.15 Operaciones de salto condicional en función de RB u OV/OS
Instrucciones: "SPBI", "SPBIN", "SPO", "SPS"
Estas instrucciones efectúan un salto en el programa hacia una meta determinada, para el
caso de cumplir la condición que necesitan:
•
•
•
•
SPBI: salto si RB=1
SPBIN: salto si RB=0
SPO: salto si OV=1
SPS: salto si OS=1
Las operaciones SPBI y SPBIN ponen los bits OR y ER de la palabra de estado a 0 y el bit
STA a 1. La operación SPS pone el bit OS a 0. Con el empleo de estas instrucciones, los registros
que se ven afectados son: OR, ER, STA, y OS . Veamos el siguiente ejemplo de salto SPS:
INSTRUCCION
SPS AQUI
SPA SEGU
AQUI: SET
= A 1.0
SEGU: U E 3.0
= A 0.0
DESCRIPCIÓN
Saltamos a la línea con meta "AQUI" si OV=1
Esta línea no se ejecuta si OV=1
Forzamos el RLO a 1
Con la salida 1.0 indicamos si hubo un error previo en la
anterior ejecución del programa
Aquí continua la ejecución del programa normalmente
Introducimos el resultado en la salida 0.0
Tabla 4-30 Ejemplo de un salto condicional mediante la instrucción SPS
4.2.16 Operaciones de salto condicional en función de A1 y A0
Instrucciones: "SPZ", "SPN", "SPP", "SPM", "SPMZ", "SPPZ", "SPU"
Estas instrucciones efectúan un salto en el programa hacia una meta determinada, para el
caso de cumplir la condición que necesitan:
80
www.infoPLC.net
Programación del PLC
•
•
•
•
•
•
•
SPZ: salto si resultado=0 (ACU 1)
SPN: salto si resultado no es 0
SPP: salto si resultado es mayor que cero
SPM: salto si resultado es menor que cero
SPMZ: salto si resultado es menor o igual que cero
SPPZ: salto si resultado es mayor o igual que cero
SPU: salto si el resultado no es válido (uno de los operandos en una operación de
coma flotante no es un número en coma flotante)
A continuación se muestra el estado de A1 y A0 tras una operación con los acumuladores:
A1
A0
Resultado del cálculo
Operación de salto posible
0
0
Igual a 0
SPZ
1
o
0
0
o
1
Distinto de 0
SPN
1
0
Mayor que 0
SPP
0
1
Menor que 0
SPM
0
o
1
0
o
0
Mayor o igual que 0
SPPZ
0
o
0
0
o
1
menor o igual que 0
SPMZ
1
1
UO (no admisible)
SPU
Tabla 4-31
4.2.17 Loop
Esta operación sirve para llamar varias veces un segmento del programa. Esta operación
decrementa la palabra baja del ACU 1 en 1. Después se comprueba el valor depositado en la
palabra baja del ACU 1. Si no es igual a 0, se ejecuta un salto a la meta indicada en la operación
LOOP. En caso contrario, se ejecuta la siguiente operación normalmente. Mediante el empleo de
esta instrucción se ve afectado el registro ACU 1. Véase el siguiente ejemplo:
INSTRUCCIÓN
L
+5
PROX: T MB 10
L MB 10
LOOP PROX
DESCRIPCIÓN
Hacemos el ACU 1 igual a 5
Transferimos el valor del ACU 1 a la memoria de datos
En estos guiones estaría el segmento del programa que se
va a ejecutar 5 veces
Leemos el valor de la memoria de datos en ACU 1
Decrementamos ACU 1 y saltamos a PROX si no es cero
Tabla 4-32 Ejemplo del empleo de la instrucción LOOP
81
www.infoPLC.net
Programación del PLC
Hay que tener precaución con el valor que haya en el ACU 1, ya que si ejecutamos LOOP
con un valor de ACU 1 igual a 0 el bucle se ejecutará 65535 veces. Tampoco se recomienda
introducir valores enteros negativos en el ACU 1.
4.2.18 Llamar funciones y módulos de función con CALL
La operación CALL se emplea para llamar funciones (FC's) y módulos de función (FB's)
creados para el usuario para el programa en cuestión o adquiridos en Siemens como módulos de
función estándar. La operación CALL llama la función FC o módulo FB indicado como
operando, independientemente del resultado lógico o cualquier otra condición.
Si se desea llamar un módulo de función con la operación CALL, se deberá asignar un
módulo de datos de instancia (DB de instancia).
La llamada de una función (FC) o de un módulo de función (FB) puede programarse, es
decir, es posible asignar operandos a la llamada. El programa ejecutará con estos operandos la
función (FC) o el módulo de función (FB). Para ello hay que indicar los operandos que se desean
usar para ejecutar la función o el módulo de función. Estos parámetros se denominan
parámetros actuales (entradas, salidas, marcas de memoria...). El programa que contiene la
función o el módulo de función tiene que poder acceder a estos parámetros actuales, por lo que
se deberá indicar en el programa el parámetro formal que corresponda al parámetro actual . Si
no se especifica la correspondencia en módulos de función el programa accederá a través del
módulo de datos de instancia a los datos del parámetro formal. En la llamada a funciones todos
los parámetros formales tienen que ser asignados a parámetros actuales.
La lista de parámetros formales es parte integrante de la operación CALL. El parámetro
actual que se indica al llamar un módulo de función tiene que ser del mismo tipo de datos que el
parámetro formal.
Los parámetros actuales empleados al llamar una función o un módulo de función se
suelen indicar con nombres simbólicos. El direccionamiento absoluto de parámetros actuales
sólo es posible con operandos cuyo tamaño máximo no supere una palabra doble.
En este caso no se afecta ninguno de los registros.
Veamos a continuación un ejemplo (siguiente tabla) de llamada a un FB con un DB de
instancia y parámetros de módulo:
INSTRUCCION
CALL FB40,DB41
ON1:
ON2:
OFF1:
L
= E1.0
= MW2
= MD20
DB20
DESCRIPCIÓN
Llamamos al módulo FB40 con el módulo de instancia
DB41
ON1 (parámetro formal) es asignado a E1.0 (p. actual
ON2 (parámetro formal) es asignado a MW2 (p. actual)
OFF1 (parámetro formal) es asignado a MD20 (p. actual)
El programa accede al parámetro formal OFF1.
Tabla 4-33 Ejemplo del empleo de la instrucción CALL
82
www.infoPLC.net
Programación del PLC
En el ejemplo anterior se ha supuesto que los parámetros formales pertenecen a los
siguientes tipos de datos:
•
•
•
ON1: BOOL (binario)
ON2: WORD (palabra)
OFF1: DWORD (palabra doble)
Ejemplo de llamada a un FC con parámetros de módulo:
INSTRUCCION
CALL FC80
INK1: = M1.0
INK2: = EW2
OFF: = AW4
DESCRIPCIÓN
llamamos la función FC80
INK1 (p. formal) es asignado a M 1.0 (p. actual)
INK2 (p. formal) es asignado a EW2 (p. actual)
OFF (p. formal) es asignado a AW4 (p. actual)
Tabla 4-34 Ejemplo de una llamada a un FC mediante la instrucción CALL
En el ejemplo anterior se ha supuesto que los parámetros formales pertenecen a los
siguientes tipos de datos:
•
•
•
INK1: BOOL (binario)
INK2: INT (entero)
OFF: WORD (palabra)
Es posible crear una función que dé un valor de retorno. Si se desea crear por ejemplo una
operación aritmética con números de coma flotante, entonces puede utilizar este valor de
retorno como salida para el resultado de la función. Como nombre de la variable puede
introducirse "RE_VAL" y como tipo de datos REAL. Al llamar después esta función en el
programa se ha de proveer la salida RET_VAL de una dirección de palabra doble de forma que
pueda acoger el resultado de 32 bits de la operación aritmética.
4.2.19 Llamar funciones y módulos con CC y UC
Instrucciones: "CC" y "UC"
Estas operaciones se emplean para llamar funciones (FC) creadas para el programa del
mismo modo como se utiliza la operación CALL. Sin embargo, no es posible transferir
parámetros.
•
•
CC llama la función indicada como operando si el RLO=1.
UC llama la función indicada como operando, independientemente de cualquier
condición.
Las operaciones CC y UC pueden llamar una función con direccionamiento directo o
indirecto de la memoria, o a través de una FC transferida como parámetro. El área de memoria
es FC más el número del FC.
83
www.infoPLC.net
Programación del PLC
Máx. área de direccionamiento directo Máx. área de direccionamiento indirecto
[DBW]
[DIW]
[LW]
[MW]
0 a 65535
0 a 65534
Tabla 4-35
El nombre del parámetro formal o nombre simbólico para el caso de llamar una FC a
través de una FC transferida como parámetro es BLOCK_FC (los parámetros de tipo BLOCK_FC
no pueden utilizarse con la operación CC en módulos FC). En este caso no se ve afectado
ninguno de los registros. Véase el siguiente ejemplo:
INSTRUCCION
CC FB12
UC FB12
DESCRIPCIÓN
Llamar a FB12 si RLO=1
Llamar a FB12 independientemente del RLO
Tabla 4-36 Ejemplo del empleo de las instrucciones CC y UC
4.2.20 Llamar funciones de sistema integradas
La operación CALL puede emplearse también para llamar funciones del sistema (SFC) y
módulos de función del sistema (SFB) integrados en el sistema operativo S7. Cada SFB o SFC
ejecuta una función estándar determinada. Por ejemplo, si se desea averiguar al hora actual del
sistema se utiliza la operación CALL SFC64. La operación de llamada CALL solamente puede
llamar una SFC o un SFB con direccionamiento directo.
4.2.21 Funciones Master Control Relay
Instrucciones: "MCRA", "MCRD", "MCR(:", ")MCR:"
El Master Control Relay (MCR) se emplea para inhibir el funcionamiento de una
determinada parte del programa (secuencia de instrucciones que escribe un cero en lugar del
valor calculado, o bien no modifican el valor de memoria existente). Las siguientes operaciones
dependen del MCR:
•
•
•
•
=
S
R
T (con bytes, palabras o palabras dobles)
Estado de señal del
MCR
=
SoR
T
0
Escribe 0
No escribe
Escribe 0
1
Ejecución normal
Ejecución normal
Ejecución normal
Tabla 4-37
84
www.infoPLC.net
Programación del PLC
•
•
MCRA activa el área MCR.
MCRD desactiva el área MCR.
Las operaciones programadas entre las operaciones MCRA y MCRD dependen del estado
de señal del bit MCR. Si falta la operación MCRD las operaciones entre MCRA y una operación
BEA dependerán del bit MCR.
Cuando se llama a una función (FC) o a un módulo de función (FB) desde un área MCR las
instrucciones ejecutadas no dependerán del MCR, a menos que volvamos a especificarlo con
MCRA en el módulo llamado. Una vez se finalice el módulo y se retorne se continuará en área
MCR.
Hay que recalcar que las instrucciones dentro del área MCR dependen del bit MCR, pero
dicho bit no es 0 (MCR activo) mediante las instrucciones MCRA y MCRD.
Mediante el empleo de estas instrucciones no se ve afectado ninguno de los registros.
MCR( salva el RLO en la pila MCR si es el primer nivel de anidamiento. Para un
anidamiento mayor se multiplica (AND lógico) el MCR actual con el RLO, siendo el resultado el
nuevo bit MCR (ver ejemplo). El máximo anidamiento es 8.
)MCR finaliza un nivel de anidamiento, tomando como nuevo MCR el que hubiera en la
pila MCR almacenado. Hay que destacar que las instrucciones )MCR deben ser en igual
cantidad que las MCR( (deben ir por pares para no perder datos).
Cuando hablamos de anidamiento nos referimos al proceso mediante el cual una pila sube
de nivel, almacenando ciertos datos en ella referidos al nivel anterior para luego recuperarlos.
En este caso, los registros afectados son: la pila MCR y el bit MCR.
Ejemplo:
INSTRUCCION
DESCRIPCIÓN
MCRA
Comenzamos área MCR, suponemos 1 el bit MCR
U E 2.0
Introducimos en el RLO el valor de la entrada 2.0
MCR(
Comenzamos anidamiento en pila MCR, si E2.0=0 el MCR=0
O E 1.0
Copiamos el valor de la entrada 1.0 en el RLO
= A 4.0
Si el bit MCR=0 la salida 4.0 se hace 0 sin depender del RLO
)MCR
Finalizamos anidamiento, el bit MCR vuelve a ser 1
MCRD
Fin del área MCR
Tabla 4-38 Ejemplo del empleo de las instrcciones Master Control Relay
Como podemos ver, el área MCR comienza siempre con MCRA (para activar el área MCR,
pero no el bit MCR). En este ejemplo, según el valor de la entrada 2.0 se activará el bit MCR o
no, ya que MCR( multiplica el RLO con el MCR actual y el resultado lo toma como nuevo bit
MCR.
85
www.infoPLC.net
Programación del PLC
Veamos otro ejemplo más complejo:
INSTRUCCION
DESCRIPCIÓN
MCRA
Comenzamos área MCR, suponemos 1 el bit MCR
U E 1.0
Introducimos en el RLO el valor de la entrada 1.0
MCR(
Comenzamos anidamiento en pila MCR, si E1.0=0 el MCR=0
U E 2.0
Copiamos el valor de la entrada 2.0 en el RLO
MCR(
Nuevo anidamiento en pila MCR, si E2.0=0 el MCR=0, en caso
contrario no varia el bit MCR
O E 3.0
Copiamos el valor de la entrada 3.0 en el RLO
= A 4.0
Si el bit MCR=0 la salida 4.0 se hace 0 sin depender del RLO,
en caso contrario depende del valor de la entrada 3.0
)MCR
Finalizamos primer anidamiento, el bit MCR se recupera de
la pila
)MCR
Finalizamos anidamiento, el bit MCR vuelve a ser 1
MCRD
Fin del área MCR
Tabla 4-39 Ejemplo del empleo de las instrucciones Master Control Relay
4.2.22 Finalizar módulos
Instrucciones: "BEA" y "BEB"
Durante el ciclo del autómata programable, el sistema operativo ejecuta un programa
estructurado módulo a módulo. La operación fin de módulo es la que finaliza el módulo en
ejecución.
BEA finaliza la ejecución del módulo actual y devuelve el control al módulo que llamó al
módulo finalizado. Esta instrucción se ejecuta sin depender del RLO ni de cualquier otra
condición.
BEB finaliza la ejecución del módulo actual y devuelve el control al módulo que llamó al
módulo finalizado. Esta acción se realiza si el RLO es 1. Si no es así se continua la ejecución del
actual módulo, pero con el RLO a 1.
Ejemplo:
INSTRUCCION
U E 1.0
BEB
U E 2.0
= A 3.0
BEA
DESCRIPCIÓN
Introducimos en el RLO el valor de la entrada 1.0
Si la entrada 1.0 vale 1 el módulo acaba aquí
Aquí finaliza el módulo de forma incondicional
Tabla 4-40 Ejemplo del empleo de las instrucciones BEB y BEA
Si el módulo que finaliza es el OB1 se finaliza el ciclo de ejecución del programa,
volviendo a comenzar uno nuevo.
86
www.infoPLC.net
Programación del PLC
4.2.23 Operaciones de comparación
Las operaciones de comparación sirven para comparar los siguientes pares de valores
numéricos:
•
•
•
Dos enteros (16 bits)
Dos enteros dobles (32 bits)
Dos números reales (de coma flotante, 32 bits, IEEE-FP)
Los valores numéricos se cargan en los ACU's 1 y 2. Las operaciones de comparación
comparan el valor del ACU2 con el valor depositado en el ACU1.
El resultado de la comparación es un dígito binario. Un 1 significa que el resultado de la
comparación es verdadero, mientras que un 0 significa que el resultado de la comparación es
faso. Este resultado se encuentra almacenado en el bit de resultado lógico (RLO). Este resultado
puede emplearse para su posterior procesamiento. Cuando se ejecuta una comparación también
se activan los bits de estado A1 y A0.
4.2.23.1 Comparar dos números enteros
Instrucciones y descripción:
Operación
Comparación efectuada
==I
El entero (16 bits) de la palabra baja del ACU2 es igual al entero
(16 bits) de la palabra baja del ACU 1.
==D
El entero doble (32 bits) del ACU2 es igual al entero doble (32 bits)
del ACU1.
<>I
El entero (16 bits) de la palabra baja del ACU2 no es igual al entero
(16 bits) de la palabra baja del ACU 1.
<>D
El entero doble (32 bits) del ACU2 no es igual al entero doble (32
bits) del ACU1.
>I
El entero (16 bits) de la palabra baja del ACU2 es mayor que el
entero (16 bits) de la palabra baja del ACU 1.
>D
El entero doble (32 bits) del ACU2 es mayor que el entero doble
(32 bits) del ACU1.
<I
El entero (16 bits) de la palabra baja del ACU2 es menor que el
entero (16 bits) de la palabra baja del ACU 1.
<D
El entero doble (32 bits) del ACU2 es menor que el entero doble
(32 bits) del ACU1.
>=I
El entero (16 bits) de la palabra baja del ACU2 es mayor o igual al
entero (16 bits) de la palabra baja del ACU 1.
>=D
El entero doble (32 bits) del ACU2 es mayor o igual al entero doble
87
www.infoPLC.net
Programación del PLC
(32 bits) del ACU1.
<=I
El entero (16 bits) de la palabra baja del ACU2 es menor o igual al
entero (16 bits) de la palabra baja del ACU 1.
<=D
El entero doble (32 bits) del ACU2 es menor o igual al entero doble
(32 bits) del ACU1.
Tabla 4-41 Instrucciones para la comparación de dos números enteros
Estas operaciones afectan al estado de los bits A1 y A0, en función de la condición que se
haya cumplido, tal y como se muestra en la tabla siguiente:
Condición
A1
A0
ACU2 > ACU1
1
0
ACU2 < ACU1
0
1
ACU2 = ACU1
0
0
ACU2 <> ACU1
0
o
1
1
o
0
ACU2 >= ACU1
1
o
0
0
o
0
ACU2 <= ACU1
0
o
0
1
o
0
Tabla 4-42 Estados de los bits A0 y A1 en
función de las instrucciones de comparación.
En este caso, los registros afectados son: RLO, A1 y A0.
Ejemplo:
INSTRUCCION
L MW10
L EW0
==I
= A 1.0
>I
= A 2.0
DESCRIPCIÓN
Introducimos en el ACU1 la palabra de marcas MW10
Introducimos en el ACU1 la palabra de entradas EW0, el
antiguo contenido del ACU1 (MW10) pasa al ACU2
Comparamos la igualdad de la palabra baja del ACU1 y ACU2
La salida 1.0 se excitará si MW10 y EW0 son iguales
Comparamos el valor de la palabra baja del ACU2 para ver si
es mayor que el valor de la palabra baja del ACU1
La salida 2.0 se excitará si MW10 es mayor que EW0
Tabla 4-43 Ejemplo del empleo de las instrucciones de comparación
88
www.infoPLC.net
Programación del PLC
4.2.23.2 Comparar dos números reales
Instrucciones y descripción:
INSTRUCCION
COMPARACIÓN EFECTUADA
==R
El número de coma flotante de 32 bits IEEE-FP del ACU2 es igual
al número de coma flotante de 32 bits IEEE-FP del ACU1
<>R
El número de coma flotante de 32 bits IEEE-FP del ACU2 no es
igual al número de coma flotante de 32 bits IEEE-FP del ACU1
>R
El número de coma flotante de 32 bits IEEE-FP del ACU2 es
mayor que el número de coma flotante de 32 bits IEEE-FP del
ACU1
<R
El número de coma flotante de 32 bits IEEE-FP del ACU2 es
menor que el número de coma flotante de 32 bits IEEE-FP del
ACU1
>=R
El número de coma flotante de 32 bits IEEE-FP del ACU2 es
mayor o igual que el número de coma flotante de 32 bits IEEE-FP
del ACU1
<=R
El número de coma flotante de 32 bits IEEE-FP del ACU2 es
menor o igual que el número de coma flotante de 32 bits IEEE-FP
del ACU1
Tabla 4-44 Lista de instrucciones para la comparación de dos números reales
Estas operaciones activan determinadas combinaciones de los estados de los códigos de
condición A1, A0, OV y OS de la palabra de estado para indicar qué condición se ha cumplido,
tal y como se muestra en la siguiente tabla:
Condición
A1
A0
OV
OS
==
0
0
0
no aplicable
<>
0
o
1
1
o
0
0
no aplicable
>
1
0
0
no aplicable
<
0
1
0
no aplicable
>=
1
o
0
0
o
0
0
no aplicable
<=
0
o
0
1
o
0
0
no aplicable
UO
1
1
1
1
Tabla 4-45 Estados de los códigos de condición tras una instrucción de comparación
89
www.infoPLC.net
Programación del PLC
En este caso, los registros afectados son: RLO, A1, A0, OV y OS .
Ejemplo:
INSTRUCCIÓN
L MD24
L +1.00E+00
>R
= A 1.0
DESCRIPCIÓN
Introducimos en el ACU1 la palabra doble de marcas MD24
Introducimos en el ACU1 un valor en coma flotante de 32
bits, el antiguo contenido del ACU1 (MD24) pasa al ACU2
Comparamos el ACU2 para ver si es mayor que el ACU1
La salida 1.0 se excitará si la condición es cierta
Tabla 4-46 Ejemplo de comparación entre dos números reales
4.3 LENGUAJES DE ALTO NIVEL
Con CPU cada vez más rápidas, más potentes y de mayor capacidad de tratamiento, los
PLC de gamas altas invaden aplicaciones que hasta hace poco tiempo estaban reservadas a los
miniordenadores industriales. Para estas aplicaciones, los lenguajes tradicionales como los
mnemónicos resultaban ya insuficientes, aun mejorados con las expansiones comentadas en el
apartado anterior. Por esta razón, los fabricantes han desarrollado lenguajes de programación
próximos a la informática tradicional, con sentencias literales que equivalen a secuencias
completas de programación: son los lenguajes de alto nivel.
En ellos, las instrucciones son líneas de texto que utilizan palabras o símbolos reservados
(SET, AND, FOR, etc.), las operaciones se definen por los símbolos matemáticos habituales (+, *,
<, etc.), y se dispone de funciones trigonométricas, logarítmicas y de manipulación de variables
complejas (COS, PI, REAL, IMG, etc.).
Sin embargo, lo que distingue realmente estos lenguajes avanzados de las listas de
instrucciones ampliadas son las siguientes tres características:
1.
2.
Son lenguajes estructurados, donde es posible la programación por bloques o
“procedimientos”, con definición de las variables locales o globales.
Incluyen estructuras de cálculo repetitivo y condicional, tales como:
•
•
•
•
3.
FOR ... TO
REPEAT ... UNTIL X
WHILE X ...
IF ... THEN ... ELSE
Disponen de instrucciones de manipulación de cadenas
Podemos encontrar interpretes o compiladores de lenguajes de alto nivel como son:
BASIC, C, PASCAL, FORTRAN, etc. lo que nos permite resolver tareas de cálculo científico de
alta resolución, clasificaciones de datos, estadísticas, etc., con tal facilidad, y con acceso además a
módulos y subrutinas específicos ya escritos en estos lenguajes y de uso general en aplicaciones
informáticas.
90
www.infoPLC.net
Programación del PLC
Dado lo específico de su aplicación, un programa escrito en un lenguaje de alto nivel,
necesita para su edición de una unidad de programación avanzada, o de un software de
desarrollo de programas que corra sobre una PC. Adicionalmente, es frecuente que el empleo de
estos lenguajes estructurados obligue además a utilizar no sólo una unidad de programación del
tipo PC, sino incluso una CPU especial en el PLC denominada coprocesadora, capaz de
interpretar y ejecutar las nuevas instrucciones.
En cualquier caso, los lenguajes de alto nivel son posibilidades adicionales al alcance del
programador, que puede, si así lo desea utilizar sólo las formas básicas de contactos/bloques o
listas de instrucciones para escribir sus aplicaciones: en otras palabras, los lenguajes avanzados
nunca constituyen el lenguaje básico de un autómata o familia de autómatas, papel que queda
reservado a la lista de instrucciones o al diagrama de contactos
Finalmente, debe indicarse que algunas de las sentencias literales de lato nivel están
disponibles en lenguaje de contactos como bloques de función extendidos, y viceversa: de esta
forma, el fabricante asegura la compatibilidad entre ambos lenguajes, y aprovecha mejor el
lenguaje de máquina (llamado firmware) desarrollado.
4.4 LADDER (DIAGRAMA DE ESCALERA)
El esquema de relevadores es la representación gráfica de las tareas de automatización
mediante símbolos de contactos abierto-cerrado, así, la función de control obtenida dependerá
de las conexiones entre los distintos contactos de los relevadores que intervienen.
Este modelo gráfico tiene su origen en las tecnologías electromecánicas de ejecución de
sistemas de mando. Presenta además deficiencias en cuanto a la representación de funciones
secuenciales complejas, como son los secuenciadores, registros de memoria, etc., y, sobre todo,
en la manipulación de señales digitales de varios bits (por ejemplo, obtenidas de una conversión
A/D). A pesar de lo anterior, la mayoría de los fabricantes incorporan este lenguaje, ello es
debido a la semejanza con los esquemas de relevadores empleados en los automatismos
eléctricos de lógica cableada, lo que facilita la labor a los técnicos habituados a trabajar con
dichos automatismos.
Adoptado por mochos fabricantes (norteamericanos y japoneses, principalmente) como
lenguaje base de programación, el diagrama de contactos (LD: Ladder Diagram) puede ser
introducido directamente en la unidad de programación mediante un editor de símbolos
gráficos. Normalmente este editor incluye restricciones en cuanto al número de contactos o
bobinas a representar en cada línea, la ubicación de los mismos, la forma de las conexiones, etc.
Siendo los contactos de relevadores componentes de dos estados, asignados a los valores
lógicos 1 (contacto cerrado) y 0 (contacto abierto), se permiten definir sobre ellos un álgebra de
Boole, denominada usualmente álgebra de contactos. Esto significa que cualquier función lógica
puede ser transcrita directamente e inmediatamente a diagrama de contactos y viceversa,
transcripciones de utilidad cuando se trata de visualizar gráficamente un programa escrito en
un lenguaje booleano.
Sin embargo, el diagrama de contactos , de origen norteamericano, no nació como una
posible herramienta de visualización de programas ya escritos en lista de instrucciones, sino
91
www.infoPLC.net
Programación del PLC
como transcripción directa de los esquemas eléctricos de relevadores (circuitos de mando) de
uso común en la automatización previa a la aparición de los sistemas programables. Por esta
razón, los diagramas de contactos o diagramas de escalera incluyen desde sus orígenes bloques
funcionales que ya aparecían como elementos propios en aquellos esquemas, los temporizadores
y los contadores.
Ahora bien, como hemos visto a lo largo del presente trabajo, el propósito de un PLC es
reemplazar los circuitos lógicos representados por relevadores mecánicos, razón por la cual es
necesario saber como funcionan.
Un relevador es básicamente un switch electromagnético. Aplicando un voltaje
determinado a la bobina del relevador, se genera un campo magnético que atrae al elemento de
contacto a su posición de cerrado. Esto permite cerrar un circuito, el que tiene una potencia
determinada por la capacidad de los contactos del relevador, que puede ser mucho más alta que
las potencias utilizadas para accionar el circuito de la bobina. Por lo general, los voltajes y
corrientes utilizados para accionar el circuito de la bobina del relevador se denominan señales, y
permiten manejar las lógicas del control en rangos de voltaje que no involucran peligro, y son
los adecuados para ser generados por circuitos electrónicos de control. (véase la siguiente figura
de ejemplo).
Figura 4. 2 Esquema de una aplicación básica de un relevador
En otras palabras, a través de un relevador se pueden separar los circuitos de alta
potencia, que entregan la energía casi sin restricciones, de los circuitos de baja potencia,
generalmente orientados a control.
Ahora veremos un pequeño ejemplo, en el cual se verá la forma en que podemos emplear
a un PLC para reemplazar el relevador de la figura anterior, lo que no es algo económicamente
viable, y que sólo es útil para la explicación siguiente. Lo primero que se debe realizar es la
creación de un diagrama de escalera. Esto se debe hacer debido a que el PLC no entiende un
diagrama esquemático. Este sólo reconoce código. Afortunadamente la mayoría de los PLC
tienen un software que es capaz de convertir el diagrama de escalera a código. Estos nos evitan la
tediosa tarea de aprender el código de los PLC´s, que además pueden cambiar de un fabricante a otro.
Antes de continuar con el ejemplo, cabe mencionar que el nombre de este método de
programación (LADDER que en inglés significa ESCALERA) proviene de su semejanza con el
92
www.infoPLC.net
Programación del PLC
diagrama del mismo nombre que se utiliza para la documentación de circuitos eléctricos de
máquinas.
•
Primer paso: Lo primero es trasladar todas las partes del esquema empleando
símbolos que el PLC pueda entender. Un PLC no entiende términos como
interruptor, relevador o motor. Algo más cómodo para el PLC es el empleo de
términos como entrada, salida, bobina y contacto. No es necesario determinar
en este momento cual es el tipo de dispositivo que se encuentra conectado a la
entrada y/o salida del PLC, sólo hay que ser cuidadoso en definir cuales son
las entradas y cuales las salidas.
Primero reemplazaremos la batería con un símbolo. Este símbolo es común a
todos los diagramas de escalera. El símbolo se denomina barras de alambre y
se visualiza como dos líneas verticales. Las líneas se ubican a ambos lados del
diagrama. La barra izquierda se asume como el voltaje positivo (+) y la
derecha como la referencia o tierra. La corriente se tomará como fluyendo de
izquierda a derecha, al igual que el flujo lógico.
Ahora se define el símbolo de una entrada. En este ejemplo básico se tiene una
entrada desde el mundo real (es decir, el switch), la que será reemplazada por
el símbolo mostrado en la siguiente figura. Este símbolo también es utilizado
como contacto de un relevador.
Figura 4. 3 Símbolo que reemplazará
al switch en nuestro ejemplo
Ahora presentamos el símbolo de salida. En este ejemplo se tiene una salida (el
motor). Se dará el símbolo de salida al elemento al cual el motor esta
físicamente conectado y será como se muestra en la siguiente figura. Este
símbolo es usado como la bobina del relevador.
Figura 4. 4 Símbolo que reemplazará a la
bobina del relevador al cual está
conectado el motor de nuestro ejemplo
La fuente de corriente alterna no es parte del diagrama de escalera. El PLC sólo
tiene injerencia en si sus salidas están o no conectadas y no en lo que está conectado
físicamente al equipo.
•
Segundo paso: Debemos decir al PLC donde está la localización de cada uno de
los elementos del diagrama. En otras palabras, debemos entregar todas las
93
www.infoPLC.net
Programación del PLC
•
direcciones de dispositivos. Las direcciones son asignadas previamente según
procedimientos establecidos por el fabricante. Más adelante se entrará en
mayor detalle, por ahora se supondrá que la entrada se encuentra en la
dirección “0000” y la salida en la dirección “”500”.
Tercer paso: Ahora resta convertir el esquema en una secuencia lógica de
eventos. Esto es mucho más fácil de lo que suena. El programa debe decir que
se debe hacer cuando se lleve a efecto algún evento, por ejemplo, el cambio de
estado de la entrada. En el ejemplo presentado hay que indicar al PLC que
debe hacer cuando el operador encienda el interruptor. Obviamente queremos
que el motor se encienda, pero el PLC debe recibir la instrucción para que
accione al relevador de salida. Sin estas instrucciones el PLC no es un
dispositivo de utilidad.
Como resultado se tendrá un esquema como el de la figura siguiente. Hay que
notar que se han eliminado todos los relevadores del “mundo real”.
Figura 4. 5 Diagrama de escalera
correspondiente al ejemplo de la figura 5.2
En este momento se debe entender ya que un diagrama de escalera es una representación
gráfica de un programa para un PLC, el cual consiste de dos líneas verticales espaciadas, las
cuales simbolizan los soportes de una escalera y que representan los cables de potencia o buses.
Todos los circuitos conmutadores (contactos de relevadores) con los que se construyen
CONDICIONES DE EJECUCIÓN parten del bus izquierdo que es la línea viva de potencia (en
otras palabras el positivo de la fuente de alimentación). Todas las instrucciones a ejecutar se
encuentran del lado derecho terminando en el bus derecho que es la línea de tierra o neutro. Los
peldaños de la escalera (en inglés rungs) son circuitos horizontales llamadas LINEAS DE
INSTRUCCIÓN que se inician desde el bus izquierdo con contactos de relevadores pasando a
través de varios de éstos y finalizando en el bus derecho con la instrucción. El diagrama de
escalera se encuentra estructurado secuencialmente en el orden en que las acciones deban
ocurrir (ver la figura 5.6).
Figura 4. 6 Ejemplo de un diagrama de escalera
94
www.infoPLC.net
Programación del PLC
Con este tipo de diagramas se describe normalmente la operación eléctrica de distinto tipo
de máquinas, y puede utilizarse para sintetizar un sistema de control y, con las herramientas de
software adecuadas, realizar la programación del PLC.
Se debe recordar que mientras que en el diagrama eléctrico todas las acciones ocurren
simultáneamente, en el programa se realiza en forma secuencial, siguiendo el orden en que los
peldaños o escalones (rungs) fueron escritos, y que a diferencia de los relevadores y contactos
reales (cuyo número está determinado por la implementación física de estos elementos), en el
PLC podemos considerar que existen infinitos contactos auxiliares para cada entrada, salida,
relevador auxiliar o interno, etc.
Además, todo PLC cumple con un determinado ciclo de operaciones que consiste en leer
las entradas, ejecutar todo el programa una vez, y actualizar las salidas tal como hayan resultado
de la ejecución del programa (como se definió en el capitulo 2). Como consecuencia, si una
determinada salida toma dos valores diferentes durante una pasada por el programa, sólo
aparecerá a la salida el último de los valores calculados.
Ahora examinaremos algunas de las instrucciones básicas en detalle para saber cual es la
función de cada una de ellas.
4.4.1 Load y Load not
La primera condición que inicia una línea de instrucción (rung) en un diagrama de
escalera corresponde a una instrucción LOAD o LOAD NOT (esta ultima se verá a
continuación). La instrucción LOAD (LD) representa a un contacto normalmente abierto. Esta es
llamada en algunas ocasiones “examine if on” (XIO). Esta instrucción requiere una línea de
código mnemónico (código que entiende el PLC). El símbolo de la instrucción LOAD y su
mnemónico se muestran a continuación.
Figura 4. 7
PASO INSTRUCCION OPERANDO
0000
LD
0000
Tabla 4-47 Mnemónico de la instrucción LD
El símbolo se utiliza cuando se necesita la existencia de una señal de entrada para que el
símbolo se active. Cuando una entrada física se enciende podemos decir que esta instrucción es
“verdadera”. Entonces se examina una entrada esperando una señal. Si la entrada está
físicamente encendida el símbolo también lo estará. La condición de encendido se puede referir
como estado lógico 1. Este símbolo es usado frecuentemente en entradas internas, entradas
externas y salidas externas. Hay que recordar que los relevadores internos no existen
físicamente, sino que corresponden a relevadores simulados por software.
95
www.infoPLC.net
Programación del PLC
Load not
Como se mencionó anteriormente, una de las primeras condiciones que inicia una línea de
instrucción (rung) en un diagrama de escalera es la instrucción LOAD NOT. Esta instrucción
representa a un contacto normalmente cerrado. También se le llama algunas veces “examine if
closed” (XIC). Esta instrucción también requiere de una línea de código mnemónico. El símbolo
de la instrucción LOAD NOT y su mnemónico se muestran a continuación.
Figura 4. 8
PASO INSTRUCCION OPERANDO
0000
LD NOT
0000
Tabla 4-48 Mnemónico de la instrucción LOAD NOT
Este símbolo se utiliza cuando no se necesita la existencia de una señal de entrada para
que el símbolo se active. Cuando la entrada física se apaga, podemos decir que esta instrucción
es verdadera. En resumen, desde un punto de vista lógico, la instrucción LOAD NOT
corresponde a la negación lógica de la instrucción LOAD.
4.4.2 Out y Out not
La forma más sencilla de presentar en una salida el resultado de la combinación de
condiciones de ejecución es programarla directamente con las instrucciones OUTPUT y
OUTPUT NOT (esta última será explicada a continuación). La instrucción OUTPUT (se abrevia
OUT) también se llama OUTPUT ENERGIZE. Cuando este símbolo está en la trayectoria de un
peldaño en que todas sus instrucciones previas son verdaderas, su estado también será
verdadero. Que la instrucción sea verdadera, quiere decir que la salida asociada está físicamente
encendida.
Al igual que las instrucciones anteriores, esta se puede usar en relevadores internos o
salidas físicas. El símbolo de esta instrucción OUT y su mnemónico se muestra abajo.
Figura 4. 9
PASO INSTRUCCION OPERANDO
0000
OUT
0000
Tabla 4-49 Mnemónico de la instrucción OUT
96
www.infoPLC.net
Programación del PLC
Debido a la forma en que el CPU del PLC ejecuta el programa y actualiza las salidas, NO
SE RECOMIENDA DUPLICAR SALIDAS.
El PLC almacena la información de entrada en una tabla de bit’s de entrada y trabaja
desde la tabla durante la ejecución del programa.
Cada vez que una línea de instrucción (peldaño en el diagrama de escalera) es efectuada,
el resultado se almacena en la tabla de bit’s de salida. Por esto, si una salida (bobina) es
duplicada, su última ocurrencia en el programa es la única válida con respecto al “mundo real”.
Las salidas son actualizadas después que todo el programa ha sido ejecutado (ver el tema 5.4.8
Actualización de entradas y salidas).
Out not
La instrucción OUTPUT NOT (se abrevia OUT NOT) es el opuesto de la instrucción OUT.
OUT NOT es el equivalente a un relevador cuyo estado por defecto es cerrado.
Cuando este símbolo se encuentra en una trayectoria de un peldaño cuyas instrucciones
previas están en estado falso, el valor que tomará la instrucción será verdadero. Cabe mencionar
que algunas marcas de PLC no cuentan con esta instrucción.
El símbolo de la instrucción OUT NOT y su mnemónico se muestra a continuación.
Figura 4. 10
PASO INSTRUCCION OPERANDO
0000
OUT NOT
0000
Tabla 4-50 Mnemónico de la instrucción OUT NOT
4.4.3
4.4.4 And y And not
Cuando dos o más condiciones se encuentran en serie en un mismo peldaño (rung) en un
diagrama de escalera, la primera corresponde a una instrucción LOAD o LOAD NOT, y el resto
de las condiciones a instrucciones AND y AND NOT. El ejemplo siguiente muestra tres
condiciones las cuales corresponden en orden de izquierda a derecha a una instrucción LOAD,
una AND NOT y una AND. Nuevamente, cada una de las tres instrucciones requiere de una
línea de código de mnemónico.
Figura 4. 11 Ejemplo de instrucciones AND y AND NOT
97
www.infoPLC.net
Programación del PLC
PASO INSTRUCCION OPERANDO
00000
LD
00000
00001
AND NOT
00004
00002
AND
HR0000
00003 INSTRUCCION
Tabla 4-51 Listado de mnemónicos del ejemplo anterior
La condición de ejecución de la instrucción estará en ON sólo cuando las tres condiciones
sean ON, es decir, cuando IR00000 esté en ON, IR00004 esté en OFF y HR0000 esté en ON.
4.4.5 Or y Or not
Cuando dos o más condiciones peldaños (rungs) paralelos se juntan, la primera condición
corresponde a una instrucción LOAD o LOAD NOT; el resto de las condiciones a instrucciones
OR y OR NOT. El siguiente ejemplo muestra tres condiciones correspondientes a las siguientes
instrucciones: LOAD NOT, OR NOT y OR. Cada una de estas instrucciones necesita una línea de
código mnemónico. A continuación se muestra el diagrama de escalera y su correspondiente
listado de mnemónicos.
Figura 4. 12 Ejemplo de instrucciones OR y OR NOT
PASO INSTRUCCION OPERANDO
00000
LOAD NOT
00000
00001
OR NOT
00001
00002
OR
HR0000
00003 INSTRUCCION
Tabla 4-52 Listado de mnemónicos del ejemplo anterior
La condición de ejecución de la instrucción será ON cuando al menos una de las
condiciones anteriores sean ON, es decir, cuando el bit IR0000 esté OFF, o el bit IR00001 esté en
OFF, o bien, cuando el bit HR0000 esté en ON.
4.4.6 Combinación de instrucciones AND y OR
Para poder entender como se pueden combinar instrucciones AND y OR veamos
directamente el siguiente ejemplo (véase la siguiente figura).
Figura 4. 13 Ejemplo de combinación de las instrucciones AND y OR
98
www.infoPLC.net
Programación del PLC
PASO INSTRUCCION OPERANDO
00000
LOAD NOT
00000
00001
AND
00001
00002
OR
00004
00003
AND
00002
00004
AND NOT
00003
00005 INSTRUCCION
Tabla 4-53 Listado de mnemónicos del ejemplo anterior
En este ejemplo, se ejecuta una instrucción AND entre el estado del bit 00000 con el bit
00001 y el resultado se hace OR con el estado del bit 00004. El resultado de esta operación es la
condición de ejecución para la AND con el estado del bit 00002, que a su vez será la condición de
ejecución para la AND con el estado negado del bit 00003.
4.4.7 Instrucciones de bloque lógico AND LOAD/OR LOAD
Todo grupo de condiciones unidas para crear un resultado lógico, se denomina bloque
lógico. La comprensión de éstos es necesaria para programar eficientemente un PLC, por lo que
es esencial cuando los programas se escriben en código mnemónico.
Las instrucciones de bloque describen la interrelación de bloques lógicos. La instrucción
AND LOAD realiza la operación lógica AND de los resultados de dos bloque lógicos. La OR
LOAD ejecuta la operación lógica OR de dos bloques.
Veamos un ejemplo de una instrucción AND LOAD con el siguiente diagrama de escalera:
Figura 4. 14 Ejemplo de una instrucción AND LOAD
PASO INSTRUCCION OPERANDO
00000
LOAD
00000
00001
OR
00001
00002
LOAD
00002
00003
OR NOT
00003
00004
AND LOAD
00005 INSTRUCCION
Tabla 4-54 Listado de mnemónicos del
ejemplo de una instrucción AND LOAD
Los dos bloques lógicos son los bloques marcados por las líneas discontinuas.
Ya que los bloques están en serie se debe realizar una operación lógica AND entre ellas. La
forma de hacerla es realizar las OR (NOT’s) implícitas en cada una de ellos independiente y
luego cambiar los resultados con la instrucción AND LOAD.
99
www.infoPLC.net
Programación del PLC
En este ejemplo, la condición de ejecución de la instrucción será ON cuando al menos una
de las condiciones del bloque de la izquierda sea ON y al menos una de las condiciones del
bloque de la derecha sea verdadera.
Ahora veamos un ejemplo de una instrucción OR LOAD empleando para esto el siguiente
diagrama de escalera.
Figura 4. 15 Ejemplo de una instrucción OR LOAD
PASO INSTRUCCIÓN OPERANDO
00000
LOAD
00000
00001
AND NOT
00001
00002
LOAD
00002
00003
AND
00003
00004
OR LOAD
00005 INSTRUCCIÓN
Tabla 4-55 Listado de mnemónicos del ejemplo de una instrucción OR LOAD
La condición de ejecución de la instrucción será ON cuando el bit 00000 sea ON y el bit
00001 sea OFF o cuando el bit 00002 y el bit 00003 sea ON.
4.4.8 End
La ultima instrucción básica y a la vez necesaria para completar un programa es la
instrucción END (01). El CPU ejecuta las líneas de programa en forma cíclica, es decir, comienza
por la primera instrucción y ejecuta secuencialmente las siguientes hasta encontrar la instrucción
END (01), momento en que vuelve a ejecutar la primera instrucción y repite el ciclo. Las
instrucciones de un programa situadas a continuación de la instrucción END (01) no se ejecutan.
Esta instrucción no necesita operando alguno, y no debe haber ninguna condición en su
peldaño en el diagrama de escalera.
Veamos a continuación un ejemplo en el que se hace uso de la instrucción END (01).
Figura 4. 16 Ejemplo de un diagrama de escalera
en el que se emplea la instrucción END
100
www.infoPLC.net
Programación del PLC
PASO INSTRUCCIÓN OPERANDO
00000
LOAD
00000
00001
AND NOT
00001
00002 INSTRUCCION
00003
END (01)
Tabla 4-56 Listado de mnemónicos del ejemplo de una instrucción OR LOAD
Nota: El número entre paréntesis después de una instrucción (01 para la instrucción END)
representa su código de función y será utilizado para insertar el programa en el PLC vía consola
de programación.
4.4.9 Actualización de entradas y salidas
Antes de continuar con instrucciones más avanzadas, es necesario conocer y entender
como es que se actualizan tanto las entradas como las salidas en un PLC.
Una vez que se han visto algunos ejemplos de programación con diagrama de escalera
empleando para ello algunas de las instrucciones básicas, se tomará en consideración cómo el
PLC ejecuta el programa y maneja la información de entrada y salida.
El PLC realiza tres pasos básicos:
1.
Lee todas las condiciones de entrada desde los dispositivos del mundo real y las
almacena en una tabla que es usada durante la ejecución del programa. Por ejemplo,
LOAD 00000 está preguntando al CPU del PLC acerca de la condición de la entrada
00000 almacenada en la tabla (un “1” o un”0”).
2.
Ejecuta el programa usando los datos almacenados en la tabla. LOAD, AND y OR
son instrucciones de lectura de la tabla, mientras que OUT es una instrucción de
escritura.
Figura 4. 17 Actualización de entradas y salidas
3.
Después que la instrucción END es encontrada, las salidas del “mundo real” son
actualizadas.
101
www.infoPLC.net
Programación del PLC
4.4.10 Instrucciones avanzadas
Una vez que hemos visto las funciones básicas de un diagrama de escalera, podemos
continuar examinando algunas de las instrucciones avanzadas en detalle para saber cual es la
función de cada una de ellas.
4.4.10.1 Relevadores temporales
Cuando una línea de instrucción (peldaño o rung) se divide en más de una línea, en ciertas
ocasiones será necesario utilizar bits TR’s (Relevadores Temporales) para almacenar la condición
de ejecución existente en el punto de ramificación.
Como en el diagrama A (véase la figura 5.18), si después del punto en el que se divide la
línea, no existe(n) más condición(es) de ejecución para las instrucciones, o existe(n) únicamente
en la última instrucción; entonces la programación en mnemónicos se desarrolla tal como se ha
visto hasta ahora.
Figura 4. 18 Diagrama A
PASO
00000
00001
00002
00003
00004
00005
INSTRUCCIÓN OPERANDO
LOAD
00000
AND
00001
INSTRUCCION 1
INSTRUCCIÓN 2
AND
00002
INSTRUCCIÓN 3
Tabla 4-57 Listado de mnemónicos del Diagrama A
Como en el diagrama B (véase la figura 4.19), si después del punto en que se divide la
línea existe(n) otra(s) condición(es) de ejecución para las instrucciones, es necesario identificar el
punto de ramificación usando un bit TR (dependiendo de la marca y modelo del PLC, se tendrá
un número determinado de relevadores temporales). La programación se muestra a
continuación.
Figura 4. 19 Diagrama B
102
www.infoPLC.net
Programación del PLC
PASO
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
INSTRUCCIÓN OPERANDO
LOAD
00000
AND
00001
OUT
TR0
AND
00002
INSTRUCCIÓN 1
LOAD
TR0
AND
00003
INSTRUCCIÓN 2
LOAD
TR0
AND
00004
INSTRUCCION 3
Tabla 4-58 Listado de mnemónicos del Diagrama B
Nota: La instrucción OUT TR identifica el punto de ramificación y la instrucción LOAD TR
hace un llamado al punto de ramificación.
Observe que prescindir de los bits TR’s implica el uso de mayor número de contactos,
dado que, es necesario repetir la condición de ejecución en cada línea de instrucción (peldaño).
Para ver esto, el mismo diagrama de escalera del diagrama B se muestra a continuación, con la
diferencia de que en este caso no hace uso de los bit’s TR’s.
Figura 4. 20 Diagrama de escalera sin uso de TR´s
PASO
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
INSTRUCCIÓN OPERANDO
LOAD
00000
AND
00001
AND
00002
INSTRUCCION 1
LOAD
00000
AND
00001
AND
00003
INSTRUCCION 2
LOAD
00000
AND
00001
AND
00004
INSTRUCCIÓN 3
Tabla 4-59 Listado de mnemónicos sin uso de los TR´s
103
www.infoPLC.net
Programación del PLC
Para terminar de entender el funcionamiento y empleo de los distintos tipos de
relevadores, véase la sección 2.2.2.1 Organización de la memoria principios de direccionamiento.
4.4.10.2 Temporizadores
En términos muy simples, un temporizador es una instrucción que espera una cantidad de
tiempo determinado antes de realizar una acción específica.
En otras palabras, se requiere el uso de temporizadores, cuando se necesita activar una
salida que dependa de un tiempo programado, por ejemplo:
1.
2.
3.
Activar una sirena durante 5 segundos.
Retardar por 10 minutos la apertura de una válvula.
Activar el mezclador de un tanque durante ½ hora.
Hay tres valores asociados a un temporizador, estos son:
•
•
•
N: Es el número que identifica al temporizador.
SV: (valor fijado) es el valor para el cual se programa el temporizador.
PV: (valor presente) es el valor actual de operación del temporizador.
Cabe mencionar, que los temporizadores pueden ser usados como instrucciones y como
operandos de otras instrucciones.
Por otro lado, una gran dificultad aparece al considerar que no existe una estandarización
para su implementación por parte de los fabricantes de PLC’s. Sin embargo, la mayoría se puede
clasificar en los siguientes grupos. Como una forma de reconocerlos en los catálogos se conserva
sus nombres en inglés.
4.4.10.3 On-delay timer
Este tipo de temporizador simplemente retrasa el encendido de una salida. En otras
palabras, después de que un sensor se ha encendido debido a la detección de su objetivo, el
temporizador espera una cantidad determinada de segundos antes de activar un selenoide. Este
es el más común de los temporizadores. Se denomina generalmente como TON (timer on-delay),
TIM (timer) o TMR (timer).
Para analizar la operación de un temporizador TIM en la siguiente figura se presenta el
símbolo de un temporizador en un diagrama de escalera.
Figura 4. 21 Ejemplo del empleo de un temporizador TIM
104
www.infoPLC.net
Programación del PLC
En el diagrama anterior se debe esperar el encendido de la entrada 0001. Cuando esto
ocurre, el temporizador T000 (definido en tic’s de 100 mseg.) comienza su conteo hasta que el
temporizador llegue a 10000 mseg (es decir, 10 segundos) lo que se maneja definiendo el número
de tic’s (más adelante se definirá el término de tic) en 100. Cuando se alcanza los 10 segundos se
cierran los contactos del temporizador y la salida o registro 500 cambia a encendido. Cuando la
entrada 0001 se apaga, el temporizador T000 es regresado a OFF, causando que sus contactos se
abran, haciendo que la salida 500 también se encuentre en la condición de OFF.
4.4.10.4 Off-delay timer
Este tipo de temporizador es el caso opuesto del anterior. Este temporizador retrasa el
apagar una salida. Después de que un sensor ha detectado su objetivo este enciende un
selenoide. Cuando el objetivo ya no esta frente al sensor, esta instrucción demora el apagar el
selenoide al que esta conectado el sensor. Este temporizador se denomina como TOF (time offdelay) y es menos común que el temporizador On delay.
4.4.10.5 Retentive o temporizadores acumulativos
Este tipo de temporizador necesita dos entradas. Una entrada inicia la medición con el
cronómetro y la otra entrada lo regresa a su valor inicial. Los temporizadores ON-OFF DELAY
vistos en los párrafos anteriores deben ser reiniciados si el sensor de entrada no alcanza un
estado de encendido o apagado en un ciclo completo de duración del temporizador. Este
temporizador sin embargo, retiene el tiempo actualmente transcurrido cuando el sensor se
apaga a medio tiempo. Por ejemplo, si se desea conocer por cuanto tiempo un sensor ha estado
encendido durante el transcurso de una hora. Si se usa uno de los temporizadores de los
párrafos anteriores, se debe reiniciar el contador cuando el sensor es encendido o apagado. Este
temporizador sin embargo, nos permite mantener el tiempo total o acumulado. Este
temporizador se denomina usualmente RTO (retentive timer) o TMRA (acumulating timer).
Para utilizar este temporizador es necesario conocer dos cosas:
1.
2.
¿Qué evento encenderá el temporizador?. Típicamente esto se realiza con una de las
entradas (Un sensor conectado a la entrada 00000 por ejemplo).
¿Cuánto tiempo se ha de esperar antes de reaccionar?. Supongamos que esperamos 5
segundos antes de encender un selenoide.
Cuando las instrucciones antes del símbolo del temporizador son verdaderas, este
comenzará el conteo. Cuando el valor configurado transcurra, el temporizador cerrará sus
contactos. Cuando el programa está corriendo en el PLC, es habitual que el temporizador
despliegue el tiempo acumulado para que podamos observarlo. Típicamente los temporizadores
pueden realizar un conteo de 0 a 999 o de 0 a 65535 unidades, donde a cada unidad se le llama
tic.
El porqué de estos números se debe a que la mayoría de los PLC tienen contadores de 16
bits. Por ahora es suficiente mencionar que 0 a 9999 es un número de 16 bits del tipo binario
codificado, y 0 a 65535 es un número de 16 bits de tipo binario. Cada tic del reloj es equivalente a
X segundos.
105
www.infoPLC.net
Programación del PLC
Usualmente cada fabricante de PLC ofrece diferentes tic’s. La mayoría de los fabricantes
ponen a disposición incrementos de 10 a 100 mseg (tic’s del reloj). Varios fabricantes también
ofrecen incrementos de 1 mseg hasta 1 seg. Estos temporizadores de diferentes incrementos
trabajan de la misma forma que los estudiados anteriormente, pero a veces tienen diferentes
nombres para destacar las diferencias de sus incrementos. Algunos son contadores de alta
velocidad (TMH), temporizadores de súper alta velocidad (TMS) o temporizadores
acumulativos rápidos (TMRAF).
Hay que recordar que aunque los temporizadores parezcan diferentes, son utilizados de
forma similar. Si se sabe utilizar uno, se sabe utilizar todos.
A continuación se muestra el uso de un temporizador acumulativo (véase la siguiente
figura).
Figura 4. 22 Ejemplo de un
temporizador acumulativo
Este temporizador es llamado Txxx. Cuando la entrada disponible se enciende, el
temporizador comienza su conteo. Cuando el conteo alcanza el valor yyyy (un valor
predefinido), este enciende los contactos que inician las acciones que están programadas cuando
esto ocurre. Sin embargo, cuando la entrada disponible vuelve a su estado apagado antes que el
valor predefinido se alcance, el valor actual será retenido. Cuando la entrada vuelva a un estado
encendido, el temporizador continuará su cuenta desde donde quedó antes de entrar al estado
apagado. La única forma de forzar al temporizador a su estado inicial y así comenzar un nuevo
conteo, es encender la entrada RESET para iniciarlo.
Este temporizador, en el contexto de diagrama de escalera, luce como se muestra en la
figura 5.23. En este diagrama se esperan los cambios en la entrada 0002 para encenderlo.
Cuando esto ocurra (el encendido) el temporizador T000 comenzará el conteo. Este contará 100
veces (con incrementos de 10 mseg.), hasta completar 1 seg=1000mseg. Cuando transcurra 1 seg,
los contactos del T000 se cerrarán encendiendo 500. Si la entrada 0002 se apaga, el tiempo
transcurrido es retenido. Cuando la entrada 0002 vuelve a encenderse, el temporizador
continuará su cuenta desde el punto donde se quedo antes de que se apagara la entrada.
Cuando la entrada 0001 se enciende, el temporizador ha vuelto a cero, haciendo que la salida
500 se apague.
Figura 4. 23 Ejemplo del empleo de un
temporizador acumulativo
106
www.infoPLC.net
Programación del PLC
4.4.10.6 Temporizador de alta velocidad
El temporizador TIMH opera de la misma forma que TIM excepto que la unidad de
medida es 0.01 segundo. Veamos un ejemplo del empleo de un temporizador TIMH, el cual se
muestra en la siguiente figura.
Figura 4. 24 Ejemplo del empleo de un
temporizador de alta velocidad TIMH
PASO
00000
00001
00002
00003
00004
INSTRUCCIÓN OPERANDO
LOAD
00000
TIMH (15)
000
#150
LOAD
TIMH000
OUT
31000
Tabla 4-60 Listado de mnemónicos del diagrama
de escalera del ejemplo anterior
4.4.10.7 Exactitud del tiempo
Ahora que sabemos como crear y manejar un temporizador, aprenderemos sobre las
implicaciones que tiene el manejo de su precisión. Cuando definimos un temporizador para
unos pocos segundos, o más, no tomamos atención a las características de su precisión debido a
que en estos casos es prácticamente insignificante. Sin embargo, cuando se crean temporizadores
que tienen una duración del orden de milisegundos (1 mseg= 1/1000 segundos) se debe de
tomar en cuanta la precisión.
Hay en general dos tipos de error cuando se emplean temporizadores. El primero es
llamado error de entrada y el otro es llamado error de salida. El error total es la suma de los
errores de entrada y salida.
Error de entrada
Este error ocurre dependiendo de cuándo el temporizador se enciende durante un ciclo de
barrido. Cuando el temporizador se enciende inmediatamente después de que el PLC revisa el
estado de sus entradas durante un ciclo de barrido, el error de entrada tomará su mayor valor
posible, es decir, más de un ciclo de barrido completo. Esto es consecuencia de que el PLC revisa
el estado de sus entradas durante la primera parte de su ciclo de barrido. Si el encendido ocurre
a la siguiente etapa de revisión, en el barrido posterior, se está incurriendo en un error obvio.
Aparte de lo expuesto, el ciclo de barrido incluye el tiempo utilizado en la ejecución de las
instrucciones incluidas en ese barrido. Si la instrucción que maneja el temporizador es el último
peldaño de la escalera, se estará incurriendo en un gran error.
107
www.infoPLC.net
Programación del PLC
En la figura 4.25 se muestra un diagrama que ilustra el peor caso de un error de entrada.
Se puede ver aquí que el peor error podría llegar a ser de un ciclo de barrido completo mas el
tiempo de ejecución del programa de instrucciones. Hay que recordar que el tiempo de
ejecución de un programa varía de un programa a otro, debido a que depende del tipo y
cantidad de instrucciones que contenga.
Figura 4. 25 Ejemplo del peor caso de un error de entrada
Error de salida
Otro error ocurre basado en condiciones similares al del error anterior, pero en el instante
en el cual se deben actualizar las salidas. Esto sucede porque el temporizador alcanza el valor
determinado, pero el PLC debe terminar de ejecutar la secuencia de instrucciones del ciclo de
barrido antes de actualizar el estado de las salidas, según el valor que tomó el temporizador un
instante antes. En el peor de los casos el error de salida puede llegar a ser del tiempo de un ciclo
de barrido completo.
En la siguiente figura se muestra el peor caso de un error de salida. Aquí se aprecia que el
peor posible error puede ser un ciclo de barrido completo.
Figura 4. 26 Ejemplo del peor caso de un error de salida
Basados en lo presentado anteriormente, se puede apreciar que el peor error total (la suma
de los errores de entrada y salida) en la medición de tiempos puede llegar a ser igual a:
1 tiempo de barrido+1 tiempo de ejecución de programa+1 tiempo de barrido= 2 ciclo de
barrido+1 tiempo de ejecución de programa.
En la práctica esto significa que aunque la mayoría de los fabricantes incluyen
temporizadores con incrementos de 1mseg, estos no deben ser utilizados para duraciones
108
www.infoPLC.net
Programación del PLC
menores a unos pocos milisegundos. Si el tiempo de barrido de su PLC es de 5 mseg sería
recomendable no usar el temporizador con la intención de medir duraciones de menos de 15
mseg. Esta afirmación es válida siempre que el error que se pueda acumular es de importancia
para nuestra aplicación. En la mayoría de las aplicaciones errores de este tipo son despreciables
pero en algunas aplicaciones de alta velocidad, o muy precisas en el tiempo, este error puede
ser muy significativo.
Hay que destacar que los errores mencionados corresponden a errores por software.
También existe un error para temporizadores por hardware del tipo de error de entrada y error
de salida.
El error de entrada en temporizadores por hardware es causado por el tiempo que toma el
PLC en activar la entrada del temporizador cuando son revisadas las entradas del PLC. Esta
duración es típicamente de 10 mseg. Esto se debe a que muchos PLC requieren que la entrada
deba estar físicamente encendida durante algunos barridos antes de ser actualizada como
encendida (con el fin de eliminar ruidos).
El error de salida en temporizadores por hardware es causado por el tiempo que
transcurre entre el instante cuando el PLC indica que una salida debe estar encendida, hasta el
momento en que esta realmente lo está. Típicamente un transistor toma unos 0.5 mseg en hacer
esto, mientras que a un relevador mecánico le toma cerca de 10 mseg.
Si estos tiempos son considerables para la aplicación a diseñar, considere la utilización de
temporizadores por hardware externos al PLC.
4.4.10.8 Contadores
Todos los PLC’s incorporan funciones que reemplazan a la aplicación de contadores en el
sistema de control. Además del obvio uso de los contadores para contar, por ejemplo piezas o
ciclos de trabajo, la combinación de varios de ellos, quizás con el uso de algunas funciones del
tipo aritmético, permite reemplazar programadores a leva y realizar funciones que de otra forma
resultarían complicadas.
En otras palabras, un contador es un dispositivo que pretende hacer una cosa muy simple,
contar. Así mismo, se requiere el uso de contadores, cuando se necesita indicar que ha sucedido
un evento un número determinado de veces, por ejemplo:
1.
2.
3.
Producir una señal sonora cada 20 productos determinados.
Contar el número de piezas que se han producido en una línea de producción.
Contar el número de personas que han atravesado una puerta.
Su uso, sin embargo, puede ser algunas veces un desafío debido a que cada fabricante hace
uso de ellos de una forma diferente. Se pretende que la información que se muestra sirva para
ser aplicada a cualquier tipo de contador.
Existen varias clases de contadores, en particular los contadores hacia arriba (es decir, sólo
cuentan 1, 2, 3,...) los cuales son llamados CTU (count up), CNT, C, o CTR. También están los
contadores hacia abajo (es decir, sólo cuentan 9, 8, ...) los cuales son llamados CTD (count down)
109
www.infoPLC.net
Programación del PLC
cuando son denominados como una instrucción separada. Finalmente está la combinación de los
contadores presentados anteriormente, contadores hacia arriba y abajo (es decir, pueden realizar
cosas como 1, 2, 3, 4, 3, 2, 3, 4, 5,...). Estos se denominan típicamente UDC (up-down counters)
cuando vienen como una instrucción separada.
Varios fabricantes de PLC’s incorporan en sus equipos uno o dos tipos de contadores, pero
ellos pueden ser utilizados para realizar cualquiera de los tipos de conteo. No importa
demasiado como el fabricante denomine a un contador en particular, los principios de operación
son similares. De esta forma, todos los contadores tienen una entrada de pulso a contar, una
entrada de reset, que cuando es activada lleva al contador a su estado inicial y una salida que se
activa cuando la cuenta llega a su valor final. El tipo más común de contador es el ascendente,
en el que el estado inicial es cero con la salida desactivada y que al ir recibiendo pulsos en la
entrada de conteo la cuenta aumenta siempre manteniendo la salida desactivada hasta el
momento en que la cuenta llega al valor predeterminado por el programador, por lo que el
contador dejará de contar. Por otro lado, podemos encontrar también contadores descendentes,
en los que se programa un valor inicial distinto de cero y la salida se activa luego de realizar un
conteo descendente y llegar por consecuencia a cero. Ambos tipos de contadores serán tratados
con mayor detalle a continuación.
4.4.10.9 Contadores ascendentes
En la siguiente figura se muestra un símbolo de un contador que puede variar
dependiendo del fabricante. Hay que recordar que aunque parezcan diferentes, estos se utilizan
de la misma forma.
Figura 4. 27 Ejemplo de un contador ascendenter
En este contador (ver la figura anterior) se requiere de dos entradas. Una sería la entrada
de reinicio (Reset). Cuando esta entrada se active el valor actual o acumulado volverá a cero. La
segunda entrada (Pulse) corresponde a la dirección del registro desde donde provienen los
pulsos que serán contados.
Por ejemplo, si se quiere contar cuantas cajas pasan frente a un sensor en una línea de
producción, el cual está físicamente conectado a la entrada 00001, entonces pondremos un
contacto normalmente abierto con la dirección 00001 frente a la línea de pulso.
Cxxx es el nombre del contador. Así como yyyy es el número de pulsos que se requiere
contar antes de realizar una acción. Cuando el contador a llegado a su definición de yyyy
pulsos, este activará un grupo de contactos separados que también están etiquetados por Cxxx.
Hay que recordar que el valor acumulado del contador cambiará sólo después de una
transición de apagado a encendido (transición positiva) del pulso de entrada.
110
www.infoPLC.net
Programación del PLC
A continuación se tiene el símbolo de un contador en un diagrama de escalera mostrando
como definir un contador (llamado contador C000) para contar 100 cosas desde la entrada 0001
antes de activar la salida 0500. El sensor 0002 reinicia el contador (ver la siguiente figura).
Figura 4. 28 Ejemplo del empleo de un contador
Cuando el programa está corriendo en el PLC, éste es capaz de mostrarnos el valor actual
o acumulado que tiene el contador.
Usualmente los contadores operan en rangos de 0 a 9999, -32768 a +32767, o de 0 a 65535.
Estos números tan especiales provienen del hecho de que la mayoría de los contadores de PLC
son de 16 bits.
4.4.10.10
Contadores descendentes
Como se vio anteriormente, en un contador descendente (DC o CTD) se inicia el conteo
desde cierto valor predeterminado realizando de esta forma un conteo hacia abajo hasta llegar a
#0000.
Los contadores descendentes también pueden ser usados como instrucciones y como
operandos de otras instrucciones. Como instrucción, DC tiene como entradas de control:
•
•
Entrada de cuenta hacia abajo (PULSE): Decrementa el conteo
Entrada de reset (RESET): Reinicia la cuenta al valor predeterminado yyyy
Figura 4. 29 Símbolo de un
contador ascendente
DCxxx es el nombre del contador. Así como yyyy es el número de pulsos que se requiere
decrementar antes de realizar una acción. Cuando el contador a llegado a cero, este activará un
grupo de contactos separados que también están etiquetados por DCxxx.
A continuación se tiene el símbolo de un contador descendente en un diagrama de
escalera mostrando como definir un contador descendente (llamado contador DC000) para
contar 100 cosas desde la entrada 0001 antes de activar la salida 0500. El sensor 0002 reinicia el
contador (ver la siguiente figura).
111
www.infoPLC.net
Programación del PLC
Figura 4. 30 Ejemplo del empleo de un
contador descendente
Nuevamente, cuando el programa está corriendo en el PLC, éste es capaz de mostrarnos el
valor actual o acumulado que tiene el contador.
Como podemos ver, el empleo de un contador descendente es similar al de un ascendente,
con la única diferencia que en el descendente la salida será activada sólo en el momento en que
la cuenta llegue a ser cero.
4.4.10.11
Contadores ascendente-descendente
En la siguiente figura se muestra el símbolo que puede representar un contador
ascendente-descendente (contador arriba-abajo). Se ha utilizado la misma abreviación
presentada en el ejemplo anterior.
Figura 4. 31 Símbolo de un contador
ascendente-descendente
En este contador ascendente-descendente es necesario asignar tres entradas. La entrada de
reinicio tiene la misma función mencionada anteriormente para el caso del contador ascendente.
Una de las entradas restantes se utiliza para realizar el conteo hacia arriba y la otra para realizar
el conteo hacia abajo.
En el siguiente ejemplo se muestra un contador, el cual se denomina UDC000 y se le dará
el valor de configuración 1000, es decir, la intención es contar 1000 pulsos. Cuando el sensor
conectado a la entrada 0001 detecte un objetivo se aumentará el valor acumulado, cuando
suceda lo mismo al sensor conectado a la entrada 0003 se disminuirá el valor acumulado.
Cuando el valor acumulado alcance 1000 se activará la salida 0500. El diagrama de escalera de
este ejemplo se muestra en la siguiente figura.
112
www.infoPLC.net
Programación del PLC
Figura 4. 32 Ejemplo del empleo de un
contador ascendente-descendente
4.4.10.12
Contadores de alta velocidad
Para agregar más complejidad al tema, algunos fabricantes incorporan contadores de alta
velocidad, denominados comúnmente HSC (High Speed Counter) o de forma similar.
Típicamente un contador de alta velocidad es un componente de hardware, es decir, es un chip
adicional en el PLC, no así su contraparte normal, que corresponde a instrucciones que son
realizadas por el mismo PLC, es decir, son contadores manejados por software.
Los contadores de alta velocidad, al no estar soportados por el CPU del PLC, tienen la
ventaja de no estar relacionados con el tiempo de barrido del CPU.
Una buena regla para recordar es la de utilizar siempre los contadores por software a
menos que el tiempo que transcurre entre dos puntos sea inferior a dos veces el tiempo que
tarda en hacer un barrido el CPU, es decir, si el tiempo de barrido es de 2 mseg y los pulsos
llegan a intervalos de 4 mseg o superiores, entonces utilice un contador por software. Si los
pulsos llegan a intervalos de 3 mseg o inferiores, utilice un contador de alta velocidad.
Para utilizar un contador de alta velocidad se deben conocer tres cosas:
1.
2.
3.
¿Desde dónde provienen los pulsos que se desean contar?. Típicamente el pulso
proviene de una de las entradas (un sensor conectado a la entrada 00000 por
ejemplo).
¿Cuántos pulsos son necesarios contar antes de reaccionar?. Por ejemplo, contar 5
elementos antes de empaquetarlos en un envase.
¿Cuándo y/o cómo se restaurará el contador para iniciar un nuevo conteo?. Por
ejemplo, reiniciar el conteo una vez que se han contado los 5 elementos que se van a
envasar.
Finalmente, cabe señalar que así como el número de temporizadores depende del
fabricante y modelo del PLC, el número de contadores está sujeto a las mismas condiciones.
Nota: El número que identifica a un temporizador no puede ser usado por un contador y
viceversa. Esto es, TIM 010 y CNT 010 no pueden ser ambos usados, dado que tanto los
temporizadores como los contadores utilizan los mismos registros.
113
www.infoPLC.net
Programación del PLC
4.4.10.13
Instrucción KEEP
La instrucción KEEP se utiliza para simular un relevador de enclavamiento. Esta
instrucción tiene dos entradas de control: SET y RESET. (En circuitos lógicos esta instrucción
equivale a biestable set-reset).
Set: Cuando la condición de esta entrada se pone en ON, el bit especificando (la salida) en
el KEEP es llevado a la condición ON (encendido).
Reset: Cuando la condición de esta entrada se pone en ON, el bit especificado (la salida)
en el KEEP es llevado a la condición OFF (apagado), esto independientemente del estado de la
entrada SET.
A continuación tenemos un ejemplo de aplicación de una instrucción KEEP. Suponga que
queremos detectar cuando una puerta es abierta (podría ser el caso de un circuito de una alarma
antirrobo) y una vez abierta, no se debe desactivar así la cierren nuevamente. Cuando se ha
enterado el personal de vigilancia que se activo una alarma y que ha pasado el peligro, sólo el
personal de vigilancia podrá desactivar la alarma con un switch. En este caso, podemos hacer
uso de una instrucción KEEP, empleando un sensor conectado a la entrada 0000 (el cual
detectará el momento en que se abra la puerta) y un push-button (el cual podrá desactivar la
alarma y que estará conectado a la entrada 00001). El diagrama de escalera resultante para este
ejemplo se muestra a continuación junto con el listado de mnemónicos correspondiente.
Figura 4. 33 Ejemplo del empleo de la instrucción KEEP
PASO
00000
00001
00002
00003
INSTRUCCIÓN OPERANDO
LOAD
00000
LOAD
00001
KEEP
00100
END
Tabla 4-61 Listado de mnemónicos del ejemplo de la instrucción KEEP
La siguiente figura muestra el funcionamiento de la instrucción KEEP.
Figura 4. 34 Funcionamiento de la instrucción KEEP
114
www.infoPLC.net
Programación del PLC
4.4.10.14
Instrucción DIFERÉNCIATE UP-DIFU
Cuando la condición de ejecución DIFU presenta un flanco de subida, el bit especificado
por ésta (la salida de la instrucción DIFU) se establece en la condición de ON (encendido)
durante un ciclo de programa (o como se ha venido definiendo, ciclo de scan).
A continuación tenemos un ejemplo de empleo de la instrucción DIFU.
Figura 4. 35 Ejemplo del empleo de una función DIFU
PASO
00000
00001
INSTRUCCIÓN OPERANDO
LOAD
00000
DIFU
23300
Tabla 4-62 Listado de mnemónicos del ejemplo de la instrucción DIFU
En este caso, cuando la entrada 00001 es cerrada (es decir, pasa de la condición OFF a ON),
el bit de trabajo 23300 irá a ON durante un ciclo de programa solamente. Esta instrucción no es
usada para conmutar a la condición de encendido (ON) dispositivos de salida, ya que un ciclo
de programa tiene una duración típica de 20 a 50 mseg. Por lo que esto no sería suficiente para
activar ninguna salida real.
El siguiente diagrama muestra el funcionamiento de la instrucción DIFU.
Figura 4. 36 Funcionamiento de la instrucción DIFU
4.4.10.15
Instrucción DIFFERENTIATE DOWN-DIFD
Funcionalmente, la instrucción DIFD es la misma que DIFU excepto que es activada con el
flanco de bajada de su condición de ejecución, colocando en ON el bit especificado durante el
ciclo de programa.
En la siguiente figura se muestra un ejemplo de un diagrama de escalera, así como su
listado de mnemónicos, el cual hace uso de la instrucción DIFD.
Figura 4. 37 Ejemplo del empleo de la instrucción DIFD
115
www.infoPLC.net
Programación del PLC
PASO
00000
00001
INSTRUCCIÓN OPERANDO
LOAD
00000
DIFD
23300
Tabla 4-63 Listado de mnemónicos del ejemplo de la instrucción DIFD
En este ejemplo, cuando la entrada 00001 pasa de la condición de encendido (ON) a la
condición de apagado (OFF), el bit especificado 23301 irá a ON durante un ciclo de programa.
En la siguiente figura se muestra el diagrama de tiempos del funcionamiento de la
instrucción DIFD.
Figura 4. 38 Funcionamiento de la instrucción DIFD
4.4.10.16
Instrucción INTERLOCK e INTERLOCK CLEAR – IL e ILC
Las instrucciones IL e ILC se emplean en pareja. Cuando la condición de ejecución para IL
es ON, el programa se ejecuta como está escrito, con una condición de ejecución ON utilizada
para iniciar cada línea de instrucción desde el punto en que se encuentra IL hasta el siguiente
ILC (ver la figura 5.39). Si la condición de ejecución para IL es OFF, la sección de programa
enclavada entre IL e ILC se tratará como se indica en la siguiente tabla.
INSTRUCCIÓN
OUT Y OUT NOT
TIM y TIMH
CNT y CNTR
SEP
DIFU y DIFD
Resto de instrucciones
TRATAMIENTO
Bit designado puesto a OFF
Reset
Se mantiene el PV
Se mantiene el estado del bit
No ejecutada
No se ejecutan las instrucciones y todos los bits y
canales IR, AR, LR, HR, y SR escritos como operandos
en las instrucciones se ponen a OFF
Tabla 4-64 Forma en que será tratada la sección del programa enclavada entre IL e ILC
116
www.infoPLC.net
Programación del PLC
Figura 4. 39 Ejemplo de empleo de la instrucción IL e ILC. En este ejemplo, las líneas punteadas
muestran el efecto de emplear la función INTERLOCK. Todas las líneas de instrucción entre IL e ILC
pueden considerarse que tienen un contacto imaginario controlado por la entrada 00000
Anidamiento de INTERLOCK´S
En este caso, las instrucciones IL e ILC no han de emplearse exactamente en parejas. La
instrucción IL se puede utilizar varias veces en una columna, con cada IL creando una sección
de programa enclavada hasta la siguiente ILC. En este caso, se deben de tener las siguientes
precauciones:
•
•
4.4.10.17
Después de una o más instrucciones IL debe seguir una ILC
Aunque con una instrucción ILC se pueden utilizar tantas instrucciones IL como
sean necesarias, la instrucción ILC no se puede utilizar consecutivamente si al menos
hay una instrucción IL entre ellas y cualquier instrucción ILC anterior.
Instrucciones JUMP y JUMP END (JMP y JME)
JUMP y JUMP END son instrucciones que operan en forma similar a las instrucciones
INTERLOCK e INTERLOCK CLEAR.
JUMP se emplea siempre junto con JUMP END para crear saltos, es decir, para saltar de un
punto a otro en el diagrama de escalera. JMP define el punto desde el que se salta. JME define el
punto destino del salto.
Los saltos están numerados desde 00 a 99. El símbolo empleado en el diagrama de escalera
de las instrucciones JMP y JME se muestran a continuación en el siguiente diagrama.
Figura 4. 40 Simbolo empleado para representar las instrucciones
JMP y JME respectivamente en LADDER.
Cuando la condición de ejecución para JMP es ON, no se ejecuta ningún salto. Cuando la
condición de ejecución para JMP es OFF, se realiza un salto a la JME con el mismo número de
117
www.infoPLC.net
Programación del PLC
salto, no ejecutándose las instrucciones entra ambas JMP y JME, y se ejecuta la instrucción que
sigue a JME.
Para el empleo correcto de las instrucciones JMP y JME se debe de tener en cuenta que:
El número de salto 00 se puede usar tantas veces como se desee, no así los saltos
numerados de 01 a 99 los cuales se utilizan en pareja y pueden ser usados una sola vez en el
programa.
Se pueden realizar anidamientos utilizando saltos con número 00, es decir, es posible
utilizar la instrucción JMP (04) 00 consecutivamente y concluir todas ellas en la misma JME (05).
Los temporizadores en secciones enclavadas no se reinician cuando la condición de
ejecución para JMP sea OFF, pero si se utiliza el número de salto 00 el temporizador parará su
operación. Si se utilizan números de salto de 01 a 99, los temporizadores seguirán su operación.
Dado que todas las instrucciones entre JMP (04) y JME (05) se saltan, los números de salto
de 01 a 99 se pueden utilizar para reducir el tiempo de ciclo. Para el salto con número 00, el
CPU del PLC realiza una búsqueda de la siguiente JME con número 00, por lo tanto, provoca un
tiempo de ciclo más largo (cuando la condición es OFF) que para los otros saltos.
4.4.10.18
Registros de corrimiento
En muchas aplicaciones es necesario guardar el estado de un evento que ha ocurrido con
anterioridad. Como se ha visto antes, esto es sencillo de realizar. ¿Pero qué se puede hacer si se
debe guardar una cantidad considerable de eventos para ser utilizados en decisiones
posteriores?. En este contexto, se emplean las instrucciones de cambio de registro.
Podemos utilizar registros o grupos de registros para formar una lista enlazada de bits
para guardar estados previos de encendido o apagado de una entrada o salida de nuestro PLC.
Cada cambio en el estado de la entrada o salida registrada origina un nuevo elemento que se
enlaza a nuestra lista. Si esta situación supera el largo definido para nuestra lista, la adición de
un nuevo suceso se añadirá en el primer bit o elemento, y el contenido del primer bit se
cambiará al elemento siguiente de la lista, y así sucesivamente, hasta que el último elemento de
nuestra lista sea reemplazado por el valor del bit penúltimo, lo que origina que el valor del
último elemento se pierda.
El cambio de registro recibe varios nombres. SFT (Shift), BSL (Bit Shift Left), SFR (Shift
Forward Register) son los nombres más comunes utilizados por los fabricantes de PLC’s. Estos
comandos mueven los registros hacia la izquierda, como se describió en el párrafo anterior. BSR
(Bit Shift Right) y SFRN (Shift Forward Register Not) son algunos ejemplos de comandos que
realizan el cambio hacia la derecha. Hay que destacar que la mayoría de los fabricantes de PLC’s
agregan el comando para el cambio de registros hacia la izquierda, sin embargo, no todos
cuentan con el comando para cambiar los registros hacia la derecha.
El símbolo usualmente empleado para denotar este comando se muestra en la siguiente
figura. Hay que notar que este comando necesita tres entradas y tiene necesariamente algún
dato dentro del símbolo.
118
www.infoPLC.net
Programación del PLC
Figura 4. 41 Símbolo de la instrucción SFT (Registro de corrimiento)
Donde las entradas son definidas de la siguiente manera:
•
•
•
DATOS: La entrada de datos recopila los datos ON – OFF (Encendido o apagado)
que serán cambiados en la lista enlazada. Cuando la entrada de datos es verdadera,
el primer bit de la lista o registro tomará el valor lógico “1”. Este dato ingresado a la
lista o registro únicamente en la transición positiva de los pulsos de reloj del PLC.
RELOJ: El reloj de entrada habilita a la instrucción SFT para que realice su operación
sobre el registro. En la transición de subida (o también llamada transición positiva)
de la entrada, el comando cambia los datos o bits en una posición dentro del registro,
es decir los desplaza una posición e ingresa el estado de la entrada en el primer lugar
del registro. En cada transición positiva de la señal de reloj el proceso se repite.
RESET o REINICIO: Esta entrada hace exactamente lo que su nombre indica. Borra el
contenido completo del registro, llevando todos los bits del registro al estado o valor
lógico “0”.
El valor 1000 dentro del símbolo SFT determina la localización del primer bit del registro
sobre el cual se quiere ejecutar la función de corrimiento. Si pensamos en los registros como una
lista de bits enlazados como una cadena, este elemento es el primer eslabón. El valor 1003 dentro
del símbolo SFT mostrado en la figura anterior es el último bit del registro sobre el cual estamos
operando, es decir, corresponde al último eslabón de la cadena. En este ejemplo hay bits
intermedios, en consecuencia nuestro registro consta de cuatro bits (1000,1001, 1002 y 1003).
4.5 GRAFCET
Comenzaremos mencionando que el acrónimo Grafcet significa Gráfico Funcional de
Control de Etapas y Transiciones.
•
•
•
•
Es un sistema de representación de control (secuencial) mediante la sucesión
alternada de etapas y transiciones definidas por elementos gráficos y reglas de
evolución que reflejan la dinámica del comportamiento del sistema.
Es una variante del Diagrama de Transiciones de Estados.
Es una simplificación sistematizada de las Redes de Petri.
Está normalizado a nivel europeo IEC 848.
El Grafcet surge en Francia a mediados de los años 70´s, debido a la colaboración de
algunos fabricantes de autómatas, como Telemecanique y Aper en colaboración con dos
organismos oficiales AFCET (Asociación Francesa para la Cibernética, Economía y Técnica) y la
ADEPA (Agencia nacional para el desarrollo de la producción automatizada). Homologado en
119
www.infoPLC.net
Programación del PLC
Francia, Alemania y posteriormente por la comisión Electrónica Internacional (IEC 848, año
1988).
En la actualidad, la constante revolución tecnológica ha obligado a adoptar nuevas
técnicas en la automatización de máquinas y procesos.
Las actividades realizables y los dispositivos utilizados pueden ser muy diversos, entre
otras, se pueden utilizar señales analógicas, realizar cálculos y operaciones complejas, etc. Por lo
anterior, el especialista en automatismos, debe realiza un análisis del problema y, mediante
unos símbolos gráficos propios de su trabajo y experiencia, diseñar los esquemas
correspondientes a la tecnología utilizada. De esta forma, el Grafcet pretende ser una
herramienta útil y eficaz para facilitar la representación y dar solución al automatismo en forma
sistematizada
Una vez planteado el problema y diseñado ya el Grafcet de nivel 1, la adaptación a la
solución tecnológica concreta deseada, se realiza mecánicamente (hay programas que lo hacen
de forma directa).
Aunque podemos implementar el Grafcet sobre cualquier tecnología, es un método muy
indicado para circuitos integrados programables o en los autómatas programables.
El Grafcet describe los procesos a automatizar, remarcando las acciones y los eventos que las
provocan. Es una representación directamente relacionada a la evolución del proceso, facilitando
el dialogo entre personas de especialidades distintas y de diferentes niveles de formación, a
partir ya del momento de la concepción del automatismo, y después en las fases de
mantenimiento.
En la reparación de averías, una vez que ya están en funcionamiento los problemas
quedan delimitados sobre una etapa y entre unas transiciones.
El Grafcet por otro lado ayuda en las diferentes fases de desarrollo del automatismo:
•
•
•
•
120
Planteamiento
El Grafcet es un método gráfico de representación independiente de la tecnología
empleada en la resolución final. Esto permite plantear el problema, discutirlo y
resolverlo entre todos (en la pizarra), por lo menos en su componente funcional
Resolución tecnológica
En esta fase, la discusión sobre la tecnología a emplear, se hace valorando las
ventajas y los inconvenientes de cada tecnología o sistema. Podemos también
plantear el mismo problema sobre diferentes tecnologías y una vez realizados los
proyectos, discutir y valorar los costes y ventajas.
Realización del automatismo
La metodología del Grafcet ayuda a hacer la implementación de forma mecánica. Es
importante documentar el proyecto de forma completa.
Comprobación del funcionamiento
En esta fase, el Grafcet permite hacer el seguimiento, etapa a etapa del automatismo.
Si aparece alguna disfunción, estará localizada en una etapa o bien en una transición
www.infoPLC.net
Programación del PLC
•
concreta, facilitando así la solución. Con el Grafcet la localización de averías se hace
de forma sistematizada.
Ampliación y mejora
Una vez que el sistema se ha comprobado y esta en funcionamiento, una revisión en
grupo a partir del Grafcet de nivel I, permitirá añadir especificaciones para la mejora
del sistema tales como:
Elementos de seguridad.
Sistemas de detección de averías.
Ampliación y mejora de los tipos de sistemas de marcha y de parada.
Añadir programa de control o visualización (Scada)
Figura 4. 42 Elementos del Grafcet
Finalmente, podemos mencionar que los elementos que forman al Grafcet y que fueron
mostrados en la figura anterior, serán descritos a continuación.
4.5.1 Etapas
Las etapas representan cada uno de los estados del sistema. El símbolo empleado para
representar una etapa es un cuadro con un número o símbolo en su interior que la identifica.
4.5.1.1
Etapas iniciales
Las etapas iniciales del sistema se representan por un cuadro con doble línea y se activan
al iniciar el Grafcet. Una vez que se ha iniciado, las etapas iniciales tienen el mismo tratamiento
que las otras etapas.
Se tienen diferentes tipos de etapas iniciales, entre las que podemos mencionar:
121
www.infoPLC.net
Programación del PLC
Figura 4. 43 Etapa inicial
sin retorno
Figura 4. 44 Etapa inicial
con retorno
Figura 4. 45 Etapa inicial
con retorno y activación
forzada
Cabe aclarar que todo sistema debe tener como mínimo una etapa inicial.
4.5.1.2
Etapas normales
Estas etapas representan los estados estables del sistema. Las etapas deben estar
numeradas; aunque de forma no necesariamente de forma correlativa (No puede haber dos
etapas con el mismo número).
Este tipo de etapas pueden estar activas o inactivas. Al representar el estado del Grafcet en
un momento dado, se puede indicar que una etapa está activa, con un punto de color (ver la en
la siguiente gráfica la etapa 4).
Figura 4. 46 Etapa normal
Figura 4. 47 Etapa normal activa
En las etapas, puede o no haber acciones asociadas.
4.5.2 Acciones asociadas
Una etapa sin ninguna acción asociada (ver en la gráfica 4.48) puede servir para hacer
detener una acción monoestable que se realizaba en la etapa anterior, o bien, puede servir como
una etapa de espera.
Una acción asociada (ver la gráfica 4.49) nos indica que al estar activa la etapa, el motor
girará a la derecha.
En una etapa puede haber múltiples acciones asociadas (ver la gráfica 4.50). Al estar la
etapa 4 activa, el motor girará a la derecha y al mismo tiempo el ventilador estará funcionando.
Si en un sistema en un momento dado sólo hay una etapa activa, entonces, sólo estarán
funcionando los elementos activados por las acciones asociadas en esa etapa (a no ser que en
otra etapa se haya activado de forma biestable otra acción).
122
www.infoPLC.net
Programación del PLC
Figura 4. 48 Etapa sin ninguna
acción asociada
Figura 4. 49 Etapa con una acción asociada.
Hace girar el motor a la derecha
Figura 4. 50 Etapa con dos acciones asociadas.
Hace girar el motor a la derecha
y hace funcionar el ventilador.
La acción a realizar en una o más de las acciones asociadas a una etapa, puede estar
condicionada a una función booleana adicional. Por ejemplo, veamos el caso de la etapa 3 del
gráfico anterior, en donde el motor giraba a la derecha; suponga que ahora deseamos que
mientras la etapa 3 se encuentre activa, el motor debe girar a la derecha pero siempre y cuando
la puerta no haya llegado ya a la derecha. El Grafcet asociado a la acción por consecuencia es el
siguiente:
Figura 4. 51 Etapa con una acción asociada condicionada.
Hace girar el motor a la derecha siempre
y cuando la puerta no halla llegado a la derecha.
En el rectángulo donde se representa la acción asociada, hay una entrada para las
condiciones.
La norma IEC 848 propone las representaciones siguientes para las acciones asociadas
condicionadas.
C
Acción condicionada
D
Acción retardada
L
Acción limitada al tiempo
P
Impulso
S
Acción memorizada
Tabla 4-65 Tipo de acciones asociadas
4.5.2.1
Acción condicionada
Supongamos un sistema en que tenemos un cuadro electrónico para la regulación de unas
máquinas. Si estando activa la etapa de espera 2 y el termostato indica un sobre calentamiento,
el ventilador se pondrá en marcha. Su Grafcet correspondiente será como el mostrado en la
siguiente figura. Cabe señalar que esta condición la podemos representar dentro del recuadro de
la acción, o bien fuera del recuadro (ver figuras 4.52 y 4.53 respectivamente).
123
www.infoPLC.net
Programación del PLC
Figura 4. 52 La condición del termostato se
puede representar dentro del recuadro
4.5.2.2
Figura 4. 53 O bien, la condición del termostato se
puede representar fuera del recuadro.
Acción retardada
Supongamos que tenemos un motor A que se pondrá en marcha 5 segundos después de
activarse la etapa 10; si la transición r se activa antes de ese tiempo el motor no llegará a ponerse
en marcha. El Grafcet correspondiente en este caso será el mostrado en la figura 4.54:
Figura 4. 54 Grafcet correspondiente a una acción retardada,
en donde un motor A se pondrá en marcha 5 segundos después
de activarse la etapa 10, siempre y cuando no se ha activado
aún la transición r.
4.5.2.3
Acción limitada
Supóngase que se quiere poner en funcionamiento una bomba de agua durante 10
segundos después de haberse activado la etapa 11, pasado este tiempo aún que no se active la
transición s, la bomba de agua dejará de funcionar. La acción estará representada por el
siguiente Grafcet mostrado en la figura 4.55:
Figura 4. 55 Grafcet correspondiente a una acción limitada
que representa la puesta en marcha durante 10 segundos
de una bomba de agua después de activarse la etapa 11,
aún se active la transición s.
4.5.2.4
Acción de impulso
Se quiere activar una electroválvula K con un impulso de señal al activarse la etapa 12, el
Grafcet correspondiente será el siguiente:
Figura 4. 56 Grafcet correspondiente a una acción de impulso
que representa la activación de una electroválvula
con un impulso de señal al activarse la etapa 12
124
www.infoPLC.net
Programación del PLC
4.5.2.5
Acción memorizada
Supóngase que se tiene un proceso en el cual, cuando se active la etapa 13, el motor A se
podrá en marcha de forma biestable (set), y al salir de la etapa, continuará funcionando hasta
que se dé un reset a la acción. Posteriormente al activarse la etapa 20, el motor A se detendrá, ya
que esa etapa, la acción hace un reset al funcionamiento del moto, de forma tal que el Grafcet
para este caso viene dado por la siguiente figura:
Figura 4. 57 Grafcet correspondiente a una acción memorizada,
en la cual se representa la puesta en marcha de un motor A en
el momento en que se activa la etapa 13 y el paro
del motor en el momento en que se activa la etapa.
4.5.3 Transacciones
Las transiciones representan las condiciones que el sistema debe superar para poder pasar
de una etapa a la siguiente. Al pasar una transición, el sistema deja de estar en una etapa e
inmediatamente va a la siguiente. Validar la transición implica un cambio en las etapas activas
del Grafcet.
Las transiciones se representan por un pequeño segmento horizontal de recta que corta la
línea de enlace entre dos etapas.
•
•
Son etapas de entrada a una transición, todas las etapas que conducen a una
transición.
Son etapas de salida a una transición, las etapas que salen de una transición.
Figura 4. 58 Las transiciones entre etapas son representadas
en Grafcet por medio de pequeñas líneas que atraviesan las
líneas de enlace.En este caso se muestran las transiciones K y L.
125
www.infoPLC.net
Programación del PLC
4.5.3.1
Receptividades asociadas a las transiciones
La condición o condiciones que se deben superar para poder pasar una transición reciben
el nombre de receptividades. En una transición podemos tener:
•
•
•
•
Una condición simple [Pm]
Una función booleana [(Pm + Pk)*Pp´]
La señal de un temporizador o contador [T03]. En este caso, es habitual que el
temporizador se haya activado para contar en la acción asociada de la etapa de
entrada.
La activación de otra etapa de Grafcet [X12]. Donde X nos indica que la receptividad
esta condicionada al hecho de que la etapa (en este caso la 12) está activa.
4.5.4 Líneas de evolución o líneas de enlace
Las líneas de enlace o evolución son líneas verticales u horizontales que unen con una
dirección significativa (a no ser que se indique lo contrario de arriba hacia abajo), las distintas
etapas con las transiciones y las transiciones con las etapas.
•
•
Las líneas de enlace unen entre sí las etapas que representan actividades
consecutivas.
Dos líneas de evolución que se crucen debe de interpretarse, en principio que no
están unidas.
Figura 4. 59 Líneas de evolución
4.5.5 Diseño y estructuras del Grafcet
Existen procesos que requieren estructuras más complejas que las vistas en el tema
anterior, en las que se representan bucles, toma de decisiones o tareas simultáneas que deben
sincronizarse. Para estos casos el Grafcet dispone de otras estructuras básicas a partir de las
cuales pueden generarse los diagramas de dichos procesos, entre las que podemos mencionar:
•
•
•
•
•
•
•
•
126
Secuencia única
Bifurcación en “O”, también llamada selección de secuencia
Bifurcación en “Y”, también llamada trabajos en paralelo
Saltos de etapas
Bucles
Subrutinas
Macro etapas
Diagramas paralelos
www.infoPLC.net
Programación del PLC
Figura 4. 60 Ejemplo de una estructura con Grafcet
Antes de entrar en materia con las estructuras básicas con que cuenta Grafcet, veamos el
desarrollo del sistema y la evolución del sistema.
4.5.5.1
Desarrollo del sistema
En Grafcet, los diagramas se dibujan como una sucesión alternada de etapas y
transiciones. Así mismo, no puede haber dos etapas seguidas, ni tampoco dos transiciones
seguidas. Véase los siguientes dos casos.
Figura 4. 61 Caso I. Entre las etapas 200 y
201 o entre las etapas 200 y 2002 hay dos
condiciones para la transición
(00 y 001 o 000 y 002).
Figura 4. 62 Sol. Caso I. Este caso se puede
resolver haciendo que la receptividad de la
transición se cumpla si es válida
la función And (000 * 001) o la (000*002).
127
www.infoPLC.net
Programación del PLC
Figura 4. 63 Caso II. Al superar la condición
003 de la transición, el motor debe girar a la
derecha y también se debe accionar el
ventilador.
4.5.5.2
Figura 4. 64 Sol. Caso II. Este caso se puede
resolver colocando todas las acciones
asociadas en una misma etapa.
Evolución del sistema
Para que el sistema pueda evolucionar es necesario:
•
•
Validar la transición. Todas las etapas de entrada a la transición deben estar activas.
Que sea cierta la receptividad asociada. Deben ser ciertas las condiciones de la
transición.
Véanse las siguientes dos gráficas.
Figura 4. 65 La primera transición se podrá
validar, si la etapa 123 esta activa y además se
cumple con la condición 000. En este momento
deja de estar activa la etapa 123 y le toma el
relevo la 124. El Grafcet evolucionará a la etapa
125 si estando activa la etapa 124 se cumple la
condición 002 y también la 005.
4.5.5.3
Figura 4. 66 Las etapas 200 y 210 son etapas
de entrada a la transición. Para validar ;a
transición, deben estar activas las dos etapas.
Para poder entrar a la etapa 220, la transición
tiene que estar validada y se debe cumplir la
receptividad asociada (003 a la transición).
Secuencia única
La secuencia única o lineal es la estructura más simple posible y consiste de una sucesión
de etapas unidas consecutivamente por las líneas de evolución y condiciones de transición.
128
www.infoPLC.net
Programación del PLC
•
•
•
•
Dentro de un tramo de la secuencia única o secuencia lineal, solamente una etapa
debe estar activada en un instante determinado.
Se activa una etapa cuando se encuentra activada la anterior y se cumplan las
condiciones de transición entre ambas.
La activación de una etapa implica automáticamente la desactivación de la etapa
anterior.
Una secuencia única o lineal puede formar parte de una estructura más compleja.
Véase la siguiente gráfica.
Figura 4. 67 Ejemplo de un Grafcet de secuencia única.
4.5.5.4
Bifurcación en “O”. También llamada selección de secuencia
La divergencia y la convergencia en “O”, a las que llamaremos conjuntamente bifurcación
en “o”, forman una estructura en la que existen los siguientes elementos:
•
•
•
Una divergencia en “O”, en la que se inician varios caminos o subprocesos
alternativos posibles.
Una serie de caminos alternativos con una macroestructura lineal, aunque puede
tener otras estructuras más complejas.
Una o más confluencias en “O” de dichos caminos alternativos, de tal forma que la
macroestructura debe ser globalmente cerrada.
Las propiedades básicas que cumple la estructura de bifurcación en “O” son las siguientes:
•
•
A partir del punto de divergencia el proceso podrá evolucionar por distintos
caminos alternativos, cada uno de ellos debe de tener su propia condición de
transición.
Las condiciones de transición de los diversos caminos de divergencia han de ser
excluyentes entre sí. Deforma que el proceso sólo podrá progresar en cada lado por
uno de ellos.
129
www.infoPLC.net
Programación del PLC
•
A nivel de gráfico global, los distintos caminos iniciados como divergencia en “O”
deben confluir en uno o más puntos de convergencia en “O”. Dicho de otra forma, la
estructura debe ser totalmente cerrada y no pueden existir caminos abiertos, ya que
esto denotaría situaciones sin posible salida.
Véanse las siguientes figuras.
Figura 4. 68 Habrá una selección de secuencias cuando al llegar a un
punto encontremos una bifuración en “O”. En el será necesario escoger
cual de las distintas sucesiones de etapas y transiciones se debe
seguir. No es necesario que los diferentes caminos tengan el
mismo número de etapas; pero si es conveniente que las
receptividades asociadas a las transiciones sean excluyentes entre sí.
Veamos el siguiente ejemplo. Suponga que necesitamos seleccionar el sentido de giro de
un motor, por lo que necesitaremos hacer uso de la bifurcación en “O”. De forma tal que, el
gráfico nos queda de la siguiente forma:
Figura 4. 69 Ejemplo del empleo de la bifurcación en “O”,
para la selección del sentido de giro de un motor.
130
www.infoPLC.net
Programación del PLC
4.5.5.5
Bifurcación en “Y”. También llamada trabajos en paralelo
La divergencia y convergencia en “Y”, a las que llamaremos conjuntamente bifurcación en
“Y”, forman una estructura en la que existen los siguientes elementos:
•
•
•
Una divergencia en “Y” en la que se inician varios caminos o subprocesos que deben
iniciarse simultáneamente cuando se cumpla una determinada condición de
transición común.
Una serie de caminos simultáneos con una macroestructura lineal, aunque pueden
contener otras estructuras más complejas.
Una o más confluencias en “Y” de dichos caminos, de manera que la
macroestructura debe ser globalmente cerrada.
Las propiedades que cumplen las convergencias y divergencias en “Y” son las siguientes:
•
•
A partir del punto de divergencia el proceso evolucionará por varios caminos a la
vez, ejecutando varias tareas simultáneamente.
La condición de transición para iniciar las tareas simultáneas es única y común para
todas ellas.
Véanse la siguiente figura.
Figura 4. 70 En este automatismo habrá una bifurcación en “Y” o
trabajos paralelos, cuando a partir de un punto debe evolucionar
de forma simultáneapor todas las ramas. Al final de estas, encontraremos
unas etapas de espera (108, 132 y 155). El sistema continuará con su
evolución cuando cada una de las ramas haya llegodo a su etapa
de espera. El nombre de etapas de las diferentes ramas puede
ser distinto unas de otras.
131
www.infoPLC.net
Programación del PLC
Veamos el siguiente ejemplo. Suponga que tenemos dos motores MA y MB colocados en
una banda transportadora, de forma tal que desplazan las cajas 1 y 2 como se ve en la siguiente
figura.
Figura 4. 71 Problema del ejemplo, cuya solución
se obtiene al emplear bifurcaciones en “Y”.
El problema consiste en que primero, el motor MA debe desplazar la caja 1 desde FcAe
hasta FcAd, para que posteriormente motor MB desplace la caja 2 desde FcBe hasta FcBd y una
vez que los dos motores hayan desplazado sus cajas a las posiciones finales (FcAd y FcBd en el
caso de la caja 1 y la caja 2 respectivamente) estos regresen a sus respectivas cajas a las
posiciones iniciales FcAe y FcBe. El ciclo se reinicia cuando las dos cajas están de nuevo en las
posiciones iniciales.
La solución a nuestro problema se muestra por medio del siguiente Grafcet.
Figura 4. 72 Grafcet obtenido para derle solución al problema
planteado en la figura anterior empleando para ello bufurcación en “Y”.
132
www.infoPLC.net
Programación del PLC
4.5.5.6
Saltos de etapas
En cierto punto de un Grafcet puede haber una bifurcación que provoque un salto sobre
un conjunto de etapas, que sigua o no la secuencia completa o bien el salto, el cual esta
determinado por el estado de la condición a la transición. Véase la figura 4.73.
En el caso de presentarse la necesidad de un salto de etapa debe tenerse en cuenta que las
condiciones de entrada deben de ser excluyentes para evitar ambigüedades.
También puede realizarse el salto en sentido ascendente (en este caso lo indicaremos en las
líneas de enlace) como pasa con los bucles.
Ahora veamos un ejemplo en el que apliquemos un salto de etapas. Supóngase que en un
tren de lavado de autos, si no esta activa la selección Rbajos (Lavado presión de los bajos y las
ruedas del automóvil), al llegar a la etapa 5 el automatismo debe hacer un salto hasta la etapa 7.
Por el contrario, si esta activa esta selección, entrará en la etapa 6 y la bomba de presión y las
pistolas dirigibles, así como el temporizador T04 actuaran.
La solución se muestra en el gráfico de la figura 4.74.
Figura 4. 73 Ejemplo de un Grafcet en el cual se presenta
un salto de etapas. Aquí se puede observar que las
condiciones de entrada son excluyentes (H y H´).
133
www.infoPLC.net
Programación del PLC
Figura 4. 74 Grafcet obtenido para darle solución al problema
planteado de un tren de lavado de autos.
4.5.5.7
Bucles
Habrá un “bucle” o estructura repetitiva (mientras), cuando una, o un conjunto de etapas
se repitan varias veces. Dichas etapas se repetirán hasta que lo decida un temporizador, un
contador o hasta que se cumpla una condición determinada.
Como ejemplo de aplicación de un “bucle” tenemos al ciclo de lavado de una lavadora, en
el cual su estructura se repite varias veces (gira a la derecha, espera, giro a la izquierda, espera,
etc.). La solución a nuestro problema se ve reflejada en el siguiente gráfico.
Figura 4. 75 Grafcet obtenido para darle solución
al problema planteado de una lavadora en donde
se aplica el concepto de bucle.
134
www.infoPLC.net
Programación del PLC
4.5.5.8
Subrutinas
Una subrutina es una parte de un programa que realiza una tarea concreta, a la que se
puede invocar una o varias veces por parte del programa principal. Una vez realizadas las
acciones de la subrutina el programa continua en el punto donde estaba.
Para entender como se emplean las subrutinas en un diagrama de Grafcet, veamos el
siguiente proceso (véase la figura 4.76)..
Los a trabajos a desarrollar en un automatismo se pueden dividir entre diferentes
diagramas. Puede haber un diagrama principal (etapas 0-5) y otros diagramas secundarios
(etapas 10–14) que ejecutan determinadas funciones que una vez realizadas devuelven el control
al diagrama principal.
Al llegar a la etapa 2 o 4 del primer diagrama se valida la transición X2 + X4 y empieza la
subrutina. Al llegar a la etapa 14 s valida la transición X14 y continua la evolución del diagrama
principal a la etapa 3 o a la etapa 5 respectivamente.
Figura 4. 76 Grafcet de un proceso que emplea el concepto de subrutina,
en donde el programa principal está comprendido de la etapa 0 a la etapa
5 y la subrutina de la etapa 10 a la etapa 14.
135
www.infoPLC.net
Programación del PLC
4.5.5.9
Macro-etapas
Al hacer la descripción del automatismo, el Grafcet permite empezar desde un punto de
vista muy general y a partir de él, hacer descripciones cada vez más concretas del proceso de
control.
Una macro-etapa es la representación mediante una única etapa, de un conjunto de etapas,
transiciones y acciones asociadas, a las que llamamos expansión de la macro-etapa.
La expansión de la macro-etapa, es en realidad una parte del diagrama de Grafcet, con sus
etapas, transiciones y normas de evolución, pero que en un diseño descendiente hemos
englobado en una macro-etapa, por lo que, podríamos decir que al hacer la expansión de la
macro-etapa, en realidad lo que hacemos es una especie de zoom, que nos enseña en detalle,
etapas, transiciones y acciones concretas, a las que antes nos hemos referido de forma general.
Véase el siguiente gráfico de un ejemplo de una macro-etapa, en el cual, el diagrama
principal evoluciona a partir de la etapa 0 a la transición “a”.
Una vez que está activa la etapa 1, la transición “b” estará receptiva y al validarse
entraremos a la macro-etapa M2, en donde la etapa 2 estará activa y según el estado de la
transición “d”, evolucionará hacia la etapa 10 o a la 12, y al llegar a la etapa S2 volverá al
programa principal. La etapa E2 es la etapa de entrada a la macro M2, la etapa S2 es la etapa de
salida de la macro-etapa M2.
Figura 4. 77 Grafceet de ejemplo en el cual se
empea el concepto de macro-etapas.
4.5.5.10 Diagramas paralelos
Para resolver un automatismo, se pueden describir diferentes diagramas paralelos, que
evolucionan cada uno de ellos por separado y a su ritmo. Estos, pueden tener varios puntos de
relación entre sí. Véase la siguiente gráfica.
136
www.infoPLC.net
Programación del PLC
Figura 4. 78 Ejemplo de diagramas paralelos en Grafcet.
4.6 DIAGRAMAS LÓGICOS
La representación del sistema de control por diagramas lógicos se basa en el empleo de
símbolos normalizados (compuertas) que representan funciones lógicas directas del álgebra de
Boole (And, Or, etc.), o sistemas lógicos más complejos (biestables, registros, contadores, etc.).
En la siguiente figura se muestra el modelo de diagrama lógico.
Figura 4. 79 Ejemplo de un diagrama lógico
El conjunto de todos los símbolos con sus interrelaciones forman el logigrama del sistema
de control, representación compacta e independiente de la tecnología de construcción del mismo
(eléctrica, neumática, etc.).
El diagrama lógico o plano de funciones es la representación de las tareas de
automatización utilizando los símbolos contenidos en las normas DIN 40700 y DIN 40719, cuya
forma general se presenta en la figura siguiente.
137
www.infoPLC.net
Programación del PLC
Figura 4. 80 Símbolo lógico normalizado. Los símbolos
X son relativos a las entradas y salidas.
4.6.1 Funciones básicas
Las operaciones combinacionales más comunes se realizan con los bloques de funciones
básicas (ver la figura 4.81), conexión serie, paralelo, negación, etc.
Como podemos ver en la figura 4.81, todas las funciones AND, OR, XOR, NAND, y NOR
tienen tres entradas y una salida. Si deseamos realizar operaciones con más de tres entradas, se
conectan varios bloques en cascada (ver la figura 4.82). Además, cabe mencionar que la función
inversora NOT, tiene una entrada y una salida y que la función OR exclusiva (XOR) posee sólo
dos entradas y una salida.
Figura 4. 81 Funciones básicas empleadas en un
diagrama lógico o plano de funciones
Figura 4. 82 NAND de 5 entradas formada por
dos NAND de 3 entradas conectadas en cascada.
138
www.infoPLC.net
Programación del PLC
La programación por diagramas lógicos, que deriva de la representación por logigrama
habitual entre los técnicos en electrónica digital, incluye como bloques normalizados algunas
funciones secuenciales típicas en automatización, como temporizadores y contadores, e incluso
algunos bloques combinacionales y de tratamientos numéricos, como multiplexores,
demultiplexores, sumadores, multiplicadores, etc., pero no alcanza la multitud de funciones que
han ido añadiéndose a las listas de instrucciones y diagramas de contactos, como extensiones a
estos lenguajes. Por esta razón, y en el sentido estricto, la programación por diagramas lógicos
queda reservada a aplicaciones en que sólo intervengan variables booleanas todo-nada, y
algunos bloques secuenciales elementales como son los temporizadores, contadores, registros de
desplazamiento, etc. Esta circunstancia, unida al desconocimiento del diagrama lógico por parte
del usuario habitual del autómata, explica la baja difusión de estos lenguajes de programación
para la programación del los PLC’s.
4.6.2 Funciones especiales
A continuación se mostrarán algunas de las funciones especiales que pueden emplearse
durante la programación de un PLC usando para ello diagramas lógicos o planos de funciones.
4.6.2.1
Temporizador con retardo a conexión
Activa la salida Q una vez que ha transcurrido el tiempo programado.
Figura 4. 83 Símbolo empleado en diagramas
lógicos para representar a un temporizador
con retardo a conexión.
4.6.2.2
Temporizador con retardo a desconexión
Desactiva la salida Q una vez que ha transcurrido el tiempo programado. El temporizador
se pone en marcha cuando se presenta un flanco descendente (transición negativa).
Figura 4. 84 Símbolo empleado en diagramas
lógicos para representar a un temporizador
con retardo a la desconexión.
4.6.2.3
Relevador de impulsos
Tiene el mismo funcionamiento que un telerruptor. La salida cambia de estado de 0 a 1
cada vez que cambia la seña en la entrada TRG.
139
www.infoPLC.net
Programación del PLC
Figura 4. 85 Símbolo empleado en diagramas
lógicos para representar a un relevador de
impulsos, tambien conocido como telerruptor.
4.6.2.4
Reloj
Permite controlar los instantes de activación y desactivación de la salida en un instante
determinado, por ejemplo en un día de la semana y a una hora determinada.
Figura 4. 86 Símbolo empleado en diagramas
lógicos para representar a un reloj horario.
4.6.2.5
Biestable Set-Reset
Permite realizar la función para-marcha típica de los automatismos a contactores. La
situación no permitida R=1 y S=1 se soluciona dando preferencia a R.
Figura 4. 87 Símbolo empleado en diagramas
lógicos para representar a un relevador de
enclavamiento o tambien conocido como biestable Set-Reset.
4.6.2.6
Generador de pulsos
Genera pulsos de reloj a intervalos iguales.
Figura 4. 88 Símbolo empleado en diagramas
lógicos para representar a un generador de pulsos de reloj.
4.6.2.7
Temporizador a la conexión con memoria
Su funcionamiento es similar a un temporizador a la conexión, pero con la característica
que no es necesario mantener la señal en TRG.
140
www.infoPLC.net
Programación del PLC
Figura 4. 89 Símbolo empleado en diagramas
lógicos para representar a un temporizador
a la conexión con memoria.
4.6.2.8
Contador progresivo/regresivo
Permite contar en forma ascendente y descendente los pulsos aplicados a su entrada CNT.
Figura 4. 90 Símbolo empleado en diagramas
lógicos para representar a un contador progresivo/regresivo.
4.6.2.9
Contador de horas de servicio
Permite medir el tiempo que está activada la entrada EN. Esta función solamente se puede
utilizar como bloque inicial.
Figura 4. 91 Símbolo empleado en diagramas
lógicos para representar a un contador de horas de servicio.
4.6.2.10 Relevador de supresión
Activa la salida hasta que haya transcurrido el tiempo de T. Si este no ha terminado y TRG
se pone a 0 la salida también lo hace. Esta función solamente se puede utilizar como bloque
inicial.
Figura 4. 92 Símbolo empleado en diagramas
lógicos para representar a un relevador de supresión.
4.6.2.11 Conmutador de valor de umbral para frecuencias
Permite contar los impulsos aplicados a su entrada y dependiendo de éstos conmutar la
salida. Esta función solamente se puede utilizar como bloque inicial.
141
www.infoPLC.net
Programación del PLC
Figura 4. 93 Símbolo empleado en diagramas
lógicos para representar a un conmutador de valor
umbral para frecuencias.
4.6.3 Comparación del plano de funciones con LADDER
La siguiente figura muestra un ejemplo de programación con plano de funciones,
comparado con el mismo programa en diagrama de contactos.
Figura 4. 94 Ejemplo de un programa empleando diagramas de funciones.
Figura 4. 95 Mismo ejemplo del programa anterior pero
empleando para ello diagramas de contactos.
Dada la inexistencia, antes comentada, de bloques normalizados para todas las posibles
operaciones del autómata, los fabricantes de PLC’s han optado por permitir el uso, en sus
consolas gráficas, de los bloques de extensión definidos en el diagrama de contactos, aun
trabajando bajo el entorno de diagrama lógico: el lenguaje resultante es un híbrido que recoge
toda la potencia de programación del autómata, y en el que cada usuario puede elegir la forma
de representación que prefiera para las funciones básicas (AND, OR, NOT, NAND, NOR y
XOR).
La siguiente figura muestra un ejemplo de programa escrito con estos lenguajes híbridos,
desarrollado con un software específico de programación de autómatas que corre sobre PC.
142
www.infoPLC.net
Programación del PLC
Figura 4. 96 Programación combinada de diagramas lógicos con Ladder.
143
www.infoPLC.net
Programación del PLC
144
www.infoPLC.net
Comunicaciones y Redes
5.0
COMUNICACIONES Y REDES
La comunicación industrial digital comprende un amplio rango de productos de
hardware, software y protocolos para comunicación entre plataformas estándar de
computación y dispositivos de automatización.
La multiplicación de los PLC existentes en una estación, la extensión de los trabajos
realizados por estos y la necesaria coordinación del seguimiento y de las decisiones que tienden
a la integración de la gestión de producción son algunas razones que conducen a la necesidad de
acoplar los PLC entre sí y con computadoras.
Los problemas ocasionados por la diversidad de lenguajes y formas de operar de distintos
automatismos basados en microprocesadores, se hacen evidentes cuando su número empieza a
ser relativamente grande en una empresa. La programación y el diálogo hombre-máquina con
PLC’s, controles numéricos, robots, sistemas de CAD y otros sistemas involucrados, requiere el
aprendizaje de diversos lenguajes y métodos de operación específicos para cada uno. Además la
imposibilidad de intercambiar información entre ellos limita enormemente las posibilidades del
conjunto.
En este capítulo mostraremos los tipos más comunes de comunicación de los PLC
incluidas las redes industriales.
Asumimos que el lector conoce los conceptos básicos de redes de comunicaciones
digitales, temas que podemos encontrar con detalle en cualquier libro de redes.
5.1
INTERCONEXIONES ESTÁNDAR
Las redes industriales hacen uso, en su nivel físico, principalmente de dos técnicas de
comunicación, estas son: las comunicaciones serie y ethernet.
En este apartado describiremos brevemente estas técnicas (también denominados buses),
que en muchos casos son objeto de alguna norma que da una descripción mucho más amplia.
5.1.1 Comunicaciones serie
En los medios clásicos de comunicación, las conexiones serie están entre las más
empleadas para las aplicaciones industriales. También se utilizan para las conexiones de
consolas de programación, otros periféricos y para conectar los PLC entre sí. De hecho, casi
todos los buses de campo utilizan comunicación serie con velocidades diferentes.
La conexión física se realiza a través de interfaces series normalizadas por la EIA, tal como
RS-232, RS-422 o RS-485. Estas normas especifican solamente las características eléctricas del
soporte físico de comunicación (Nivel Físico de OSI), por lo tanto, no tratan el software necesario
para manipular la información que circula sobre el soporte.
145
www.infoPLC.net
Comunicaciones y Redes
La RS-232 es el método más popular de comunicación con dispositivos externos al PLC.
Esta limitada por la distancia de conexión y velocidad. También esta limitada a la conexión
punto a punto entre PC y dispositivos informáticos como módem, ratón, etc.
La RS-422 trabaja en forma diferencial con las líneas que transmite y recibe, el circuito
tiene solo dos hilos sin que exista una línea de masa común. Los unos y ceros lógicos se
establecen en función de la diferencia de tensión de ambos conductores del circuito de modo
que resulta una interfase serie con una gran inmunidad al ruido y una mayor distancia de
conexión a los dispositivos, preferible a las interfaces serie RS-232 para operar en las
condiciones difíciles que siempre se presentan en los entornos industriales.
La RS-485 es una leve modificación de la RS-422, redefiniendo características eléctricas
para asegurar un nivel de tensión adecuado a la máxima carga, incrementándose él numero de
dispositivos de 10 a 32, los que se conectan en paralelo a los dos conductores, sin necesidad de
módem. Con esta capacidad y una alta inmunidad al ruido se pueden crear redes de
dispositivos de adquisición de datos y control, conectados a una simple puerta serie RS-485 de
un PC.
La tabla 5.1 resume las características de estas interfaces.
Tipo de línea
Número máximo de dispositivos
Número, máximo de receptores
Longitud máxima (m)
Velocidad máxima
RS-232
Desbalanceada
1
1
15
20 Kb/s
RS-422
Balanceada
1
10
1200
10 Mb/s
RS-485
Balanceada
32
32
1200
10 Mb/s
Tabla 5.1 Comunicaciones serie
En una red de dispositivos sobre un una simple línea, es necesario direccionar uno en
particular. Esto se puede realizar simplemente utilizando caracteres ASCII, constituyendo
comandos de identificación del dispositivo y que este a su vez responde con los datos. Esto es
un esquema básico de protocolo de comunicación denominado comúnmente maestro / esclavo
(Master/Slave). Aquí el Maestro es el que inicia la comunicación. Los Esclavos solo envían
mensajes cuando el Maestro lo solicita
Hay muchos otros protocolos industriales más complejos que el ASCII orientados a
dispositivos más complejos conectados en una red. Para el caso de redes con PLC son
representativos los protocolos ModBus y Optomux, por citar algunos.
5.1.2 Ethernet
Ethernet es a la vez el nombre de una técnica de comunicación diseñada por Xerox
Corporation y registrada posteriormente junto con Digital e Intel. Es compatible con el modelo
OSI en los niveles 1, 2 y 3 (el último a través de puentes). Permite topología en Bus o árbol con
comunicación semidúplex. Las velocidades van desde los 10 Mbits/s a los 100 Mbits/s de Fast146
www.infoPLC.net
Comunicaciones y Redes
Ethernet. Es uno de los estándares de red que más rápidamente evolucionan, debido a su uso
masivo en redes ofimáticas.
La tabla 5.2 muestra las características estándar de la red Ethernet:
Medio físico estándar
Cable coaxial de 50
Topología de la red
En bus o árbol
Modo de transmisión
Semidúplex, banda base
Codificación
Manchester
Velocidad estándar
10 Mbps
Método de acceso
CSMA/CD
Número máximo de nodos
1024
Distancia máxima entre nodos
500 m
Tabla 5.2 Características básicas de Ethernet
En el aspecto físico, existen las siguientes variantes:
•
•
5.2
ETHERNET DE CABLE DELGADO: Se emplea para transmisiones a distancias más
cortas (200 m), con menos número de nodos y utiliza un cable tipo RG58 y
conectores más económicos.
ETHERNET DE BANDA ANCHA: Utiliza como conexión a la red un módem
denominado DECOM y se emplea esencialmente para grandes distancias o incluso
para conexión a redes WAN.
REDES INDUSTRIALES
En un ambiente industrial coexisten un aserie de equipos y dispositivos dedicados al
control de un cierto proceso. Entre estos dispositivos están los PLC, computadoras de diseño,
sensores, actuadores, etc.
El desarrollo de las redes industriales ha establecido una forma de unir todos estos
dispositivos, aumentando el rendimiento y proporcionando nuevas posibilidades.
Las ventajas que se aportan con una red industrial son, entre otras, las siguientes:
•
•
•
•
•
Visualización y supervisión de todo el proceso productivo.
Toma de datos del proceso más rápida o instantánea.
Mejora del rendimiento general de todo el proceso.
Posibilidad de intercambio de datos entre sectores del proceso y entre
departamentos.
Programación a distancia, sin necesidad de estar a pie de fábrica.
147
www.infoPLC.net
Comunicaciones y Redes
5.2.1 Niveles en una red industrial
En una red industrial coexistirán equipos y dispositivos de todo tipo, los cuales suelen
agruparse jerárquicamente para establecer conexiones lo más adecuadas a cada área. De esta
forma se definen cuatro niveles dentro de una red industrial:
Nivel de gestión: es el nivel más elevado y se encarga de integrar los niveles siguientes en
una estructura de fábrica, e incluso de múltiples factorías. Las máquinas aquí conectadas suelen
ser estaciones de trabajo que hacen de puente entre el proceso productivo y el área de gestión,
en el cual se supervisan las ventas, stocks, etc. Se emplea una red de tipo LAN (Local Area
Network) o WAN (Wide Area Network).
Nivel de control: se encarga de enlazar y dirigir las distintas zonas de trabajo. A este nivel
se sitúan los autómatas de gama alta y los ordenadores dedicados a diseño, control de calidad,
programación, etc. Se suele emplear una red de tipo LAN.
Nivel de campo y proceso: se encarga de la integración de pequeños automatismos
(autómatas compactos, multiplexores de E/ S, controladores PID, etc.) dentro de sub-redes o
"islas". En el nivel más alto de estas redes se suelen encontrar uno o varios autómatas
modulares, actuando como maestros de la red o maestros flotantes. En este nivel se emplean los
buses de campo.
Nivel de E/S: es el nivel más próximo al proceso. Aquí están los sensores y actuadores,
encargados de manejar el proceso productivo y tomar las medidas necesarias para la correcta
automatización y supervisión.
Figura 5.1 Niveles de automatización de una red industrial
Esta estructura no es universal, dependiendo del tamaño del proceso y de la propia
empresa podemos encontrar redes con grado de complejidad muy diverso, desde el simple bus
de campo hasta la que contiene todos los elementos citados.
148
www.infoPLC.net
Comunicaciones y Redes
5.3
REDES LAN INDUSTRIALES
Son las redes más elevadas jerárquicamente. Los estándares más conocidos y extendidos
son dos: MAP y ETHERNET
5.3.1 MAP
MAP (Manufacturing Automation Protocol) nació como un producto especialmente
diseñado para el entorno industrial, lo que hace que sea de mayor éxito en LAN industriales.
Fue impulsado por General Motors y normalizado por el IEEE. No actúa a nivel de bus de
campo, pero establece pasarelas hacia estos buses mediante terminales. También permite
integración en redes WAN.
MAP no actúa a nivel de bus de campo, lo considera un nivel inferior que se integra a la
red mediante autómatas o terminales que actúan aisladamente, pero que disponen de una
pasarela entre el bus de campo y la red MAP.
En general, MAP es un protocolo pensado para redes tipo WAN, de modo que incluye los
niveles de red, transporte, sesión y presentación, que le permiten el encaminamiento de los
mismos a través incluso de redes conmutadas públicas o privadas. Así mismo resulta
excesivamente caro y complejo para aplicaciones de dimensiones medianas y pequeñas y sobre
todo para la interconexión de pequeños controladores a nivel industrial. Para redes LAN se creo
un subconjunto de este protocolo denominado MINIMAP, que es un protocolo simplificado
totalmente compatible con MAP.
Las características básicas de la red MAP se resumen en la tabla 5.3
Niveles implementados
Conexión física
Topología
Codificación
Ancho de banda por canal
Velocidad
Protocolo de acceso
Modelo OSI completo (1 a 7)
Cable coaxial
Bus
Modulación Banda Ancha FDM (división de canales
por frecuencia): 5.75 a 450 MHz
6 MHz
10 Mb/s
Paso de testigo en anillo IEEE 802.4
Tabla 5.3 Características básicas de MAP
149
www.infoPLC.net
Comunicaciones y Redes
5.3.2 Ethernet industrial
Ethernet Industrial ofrece una red de alto desempeño cumpliendo con el estándar IEEE
802.3. Ha sido considerada virtualmente como el estándar en redes industriales debido a sus
excelentes características, como su velocidad (10Mbit/s), fácil crecimiento, alto nivel de
disponibilidad y su amplia difusión mundial.
Existen diferentes versiones de Ethernet Industrial, brindando flexibilidad a los
requerimientos. Cuando se usa como una red eléctrica, está equipada con un cable coaxial
blindado adicional (cable triaxial) para la mayor fiabilidad en ambientes industriales hostiles.
También existen conexiones de par trenzado industrial para configuraciones de red de
bajo costo. La red de fibra óptica usa ondas de luz como medio de transmisión. Debido a que
estas ondas tienen propiedades de transmisión especiales y a que son inmunes a la interferencia
electromagnética, son ideales para interconectar largas distancias y áreas expuestas a altos
niveles de ruido electromagnético.
De acuerdo a la aplicación, la red óptica puede instalarse en topología de estrella, bus o
anillo. También puede instalarse una red híbrida, combinando tecnologías eléctrica y óptica.
Figura 5.2 Ethernet industrial (SIEMENS)
Figura 5.3 Ethernet como parte de una red industrial (SIEMENS)
150
www.infoPLC.net
Comunicaciones y Redes
5.4
PROTOCOLOS Y BUSES DE CAMPO
La estandarización de protocolos en la industria es un tema en permanente discusión,
donde intervienen problemas técnicos y comerciales. Cada protocolo está optimizado para
diferentes niveles de automatización y en consecuencia responden al interés de diferentes
proveedores.
Estos protocolos o BUSES han sido desarrollados por los fabricantes para permitir la
comunicación entre sus propios productos. Están adaptados a una gama de PLC’s y a una
concepción funcional particular.
Cada protocolo tiene un rango de aplicación, fuera del mismo disminuye el rendimiento y
aumenta la relación costo / prestación. En muchos casos no se trata de protocolos que compitan
entre sí, sino que se complementan, cuando se trata de una arquitectura de un sistema de
comunicación de varios niveles.
El bus de campo constituye el nivel más simple y próximo al proceso dentro de la
estructura de comunicaciones industriales. Está basada en procesadores simples y utiliza un
protocolo mínimo para gestionar el enlace entre ellos. Los buses de campo más recientes
permiten la comunicación con buses jerárquicamente superiores y más potentes.
En un bus de campo se engloban las siguientes partes:
•
•
•
•
Estándares de comunicación: cubren los niveles físico, de enlace y de comunicación
establecidos en el modelo OSI (Open Systems Interconnection).
Conexiones físicas: en general, las especificaciones de un determinado bus admiten
más de un tipo de conexión física. Las más comunes son semidúplex (comunicación
en banda base tipo RS-485), RS-422 y conexiones en bucle de corriente.
Protocolo de acceso al medio (MAC) y de enlace (LLC): consiste en la definición de
una serie de funciones y servicios de la red mediante códigos de operación estándar.
Nivel de aplicación: es el dirigido al usuario, apoyándose en las funciones estándar
antes mencionadas para crear programas de gestión y presentación. La aplicación
suele ser propia de cada fabricante, permitiendo a lo sumo la programación en un
lenguaje estándar.
Existe una norma para los buses de campo (TC65C-WG6 de IEC) la cual define una serie
de reglas genéricas muy detalladas para el nivel físico, pero dejan muy abiertos los niveles de
enlace y aplicación. De modo que hay varios posibles candidatos a bus de campo estándar, con
la consiguiente falta de compatibilidad entre productos a este nivel. Por tanto hay que
asegurarse que todos los componentes de la red siguen un mismo bus de campo para que la
comunicación no presente problemas o haya que realizar pasarelas entre buses.
En los siguientes apartados se muestran algunos de los buses más comunes. Para más
detalle consultar la bibliografía.
151
www.infoPLC.net
Comunicaciones y Redes
5.4.1 MODBUS
La red MODBUS desarrollada por Gould Modicon, forma parte de las primeras ofertas de
redes industriales . Está perfectamente adaptada al ambiente del PLC. Como en otros casos, la
designación no corresponde propiamente a un estándar de red, sino a un protocolo de enlace
(nivel OSI 2). Por lo tanto puede implementarse con diversos tipos de conexión física y cada
fabricante suele suministrar un software de aplicación propio, que permite parametrizar sus
productos.
Su principal inconveniente es que no está reconocido por ninguna norma internacional.
No obstante, se suele hablar de MODBUS como un estándar de bus de campo, cuyas
características son:
•
•
Nivel físico. El medio físico de conexión puede ser un bus semidúplex (RS-485 o
fibra óptica) o duplex (RS-422, BC 0-20 mA o fibra óptica). La comunicación es
asíncrona y las velocidades de transmisión previstas van desde los 75 a 19200
baudios. La máxima distancia entre estaciones depende del medio físico, pudiendo
alcanzar unos 1200 m sin repetidores.
Estructura lógica. La estructura lógica es del tipo maestro-esclavo, con acceso al
medio controlado por el maestro. El número máximo de estaciones previsto es de 63
esclavos más una estación maestra.
5.4.2 AS-i
El protocolo AS-i (Actuador Sensor-interfase) conecta al nivel más bajo del sistema de
automatización. Es un bus de sensores y actuadores binario y puede conectarse a distintos tipos
de PLC, controladores numéricos o computadoras (PC).
El sistema de comunicación es bididireccional entre un maestro y nodos esclavos. Está
limitado hasta 100 metros (300 metros con un repetidor) y pueden conectarse de 1 a 31 esclavos
por segmentos.
El maestro AS-i interroga un esclavo por vez y para el máximo numero tarda en total 5
ms. Es un protocolo abierto y hay varios proveedores que suministran todos los elementos para
la instalación. Constituye un bus de muy bajo costo para reemplazar el tradicional árbol de
cables en paralelo.
Figura 5.4 Comunicación con AS-Interface (SIEMENS)
152
www.infoPLC.net
Comunicaciones y Redes
5.4.3 BITBUS
Marca registrada por Intel. De bajo coste y altas prestaciones. Intel cedió a dominio
público el estándar, por lo que se considera un estándar abierto. Está reconocido por la
normativa IEE 1118. Se trata de un bus síncrono, cuyo protocolo se gestiona completamente
mediante el microcontrolador 8044.
Está basado en una línea compartida RS-485 (varias estaciones de comunicación en un
mismo par de cables) y está optimizado para la transmisión de pequeños mensajes en tiempo
real. En instalaciones más actuales se emplea también fibra óptica para su implementación.
Una red de comunicación BITBUS siempre posee un maestro y uno o varios esclavos.
Cada esclavo posee su propia dirección de red que le hace diferenciable e identificable dentro de
la red. El maestro maneja la red seleccionando los esclavos. Los esclavos deben responder
exclusivamente cuando son requeridos por el maestro. Este simple método de control permite
una alta seguridad en la comunicación, optimizada para la mayoría de las aplicaciones de
automatización.
La estructura de una red BITBUS siempre se compone de un maestro, un número de
esclavos y, si es necesario, uno o varios repetidores. Los repetidores deben ser empleados si hay
presentes más de 28 estaciones de trabajo a lo largo del segmento de cable que se va a emplear.
Cuando se emplea en ambientes con ruido industrial, es recomendable una separación
galvánica de la interfase BITBUS: el RS-485 está ópticamente aislado del controlador. La
utilización de un cable de fibra óptica también es posible, pero no obligatoria.
La experiencia muestra que un buen cable blindado, con una referencia a tierra,
combinado con la señal diferencial del RS-485 es un medio físico excelente, incluso en ambientes
ruidosos. Y además es barato.
Una característica importante de BITBUS es que está aceptado internacionalmente como
un estándar industrial: enlaza equipos de diferentes fabricantes, siendo el hardware y el
software totalmente estandarizados y compatibles. En 1991 el BITBUS fue oficialmente
estandarizado como un estándar internacional IEEE-1118. El estándar IEEE-1118 contiene la
funcionalidad del clásico BITBUS de Intel como base e incorpora nuevas funciones.
Características generales de BITBUS.
•
•
•
•
•
•
•
•
•
Tipo: Red maestro-esclavo mediante tramas de mensaje. 248 bytes máx. de longitud
por mensaje.
Estructura: Bus, terminado en ambos extremos. Prolongación posible mediante el
empleo de repetidores.
Soporte: Par de cables trenzados (un par, impedancia característica de 120) con
toma de tierra y apantallado. Segundo par necesario para operar con repetidor.
Niveles eléctricos: Par diferencial 0/5V según está definido en RS-485.
Protocolo: SDLC con NRZI sincronizado de reloj propio (autoreloj) con flags de
apertura y cierre, testeo de direccionamiento y comprobación de palabra por CRC de
16 bits.
Tasa de transferencia: 375k Bit/s o 62,5k Bit/s.
Esclavos: 28 por segmento con repetidores después de cada segmento, 250 máximo.
Tasa de trasferencia con más de un repetidor: 62,5K Bit/s exclusivamente.
Longitud: 300m por segmento a 375k Bit/s, 1200m a 62,5kBit/s.
Conector: Conector Sub-D de 9 pines.
153
www.infoPLC.net
Comunicaciones y Redes
5.4.4 COMPOBUS
Este sistema, introducido ene l mercado en 1998, fue desarrollado bajo el estándar Device
Net que a su vez se originó a partir del nivel físico CAN, sistema altamente contrastado en
ambientes industriales agresivos. Es precisamente su fiabilidad y flexibilidad lo que ha llevado a
Omron a apostar por él, naciendo así Compobus D.
Omron ha desarrollado una gran variedad de interfaces y dispositivos para Compobus D
con el fin de satisfacer las necesidades de las empresas y contribuir a hacer Device Net más
popular y extendido. La implantación de Compobus D en una instalación asegura la total
apertura del sistema hacia otros dispositivos sin renunciar a factores como la velocidad, la
seguridad y la facilidad de instalación.
5.4.5 PROFIBUS
PROFIBUS es el sistema abierto principal de fieldbus en Europa y goza de la aceptación
mundial. Sus áreas de aplicación incluyen la fabricación, el proceso y la automatización del
edificio. PROFIBUS es un estándar internacional abierto independiente del fabricante. Su área de
aplicación abarca manufacturación, procesos y automatización de edificios. La independencia
del fabricante y el ser un sistema abierto está garantizado por el estándar Profibus EN 50 170.
La tecnología PROFIBUS es desarrollada y administrada por la PROFIBUS User
Organization (PNO). Entre sus miembros podemos encontrar a fabricantes, usuarios e
instituciones de investigación. Grupos regionales de usuarios ofrecen soporte en lengua nativa
alrededor del mundo.
Soporta una gran variedad de equipos que van desde PC´s y PLC´s hasta robots, pasando
por todo tipo de elementos de campo, la mayoría de las aplicaciones industriales gracias a las
tres posibilidades que ofrece Profibus (FMS, DP y PA). Desde máquinas sencillas, pasando por
aplicaciones a nivel de célula hasta nivel de proceso con Profibus-PA.
Figura 5.5 Comunicación con PROFIBUS-DP (SIEMENS)
154
www.infoPLC.net
Comunicaciones y Redes
La familia Profibus consiste en tres versiones compatibles PROFIBUS-DP, DA y FMS:
5.4.5.1 PROFIBUS-DP
Optimizado para alta velocidad y enganche económico. Esta versión de Profibus está
diseñada especialmente para comunicación entre sistemas automáticos de control y E/S
distribuidos a nivel de campo. Puede ser empleado para remplazar transmisiones paralelas de
señales con 24V o 0 a 20mA.
Figura 5.6 Comunicación con PROFIBUS-DP (SIEMENS)
5.4.5.2 PROFIBUS-PA
Está especialmente diseñado para automatización de procesos. Permite que sensores y
actuadores puedan ser conectados a un bus común en áreas intrínsecas de seguridad. Permite
comunicación de datos y transporte de energía sobre el mismo bus empleando tecnología de dos
cables, acorde con el estándar internacional IEC 1158-2.
5.4.5.3 PROFIBUS-FMS
Es la solución de propósito general para tareas de comunicación a nivel de control. Los
potentes servicios FMS abren un amplio rango de aplicaciones y proveen gran flexibilidad.
También puede ser empleado para tareas de comunicación extensas y complejas.
Figura 5.7 Comunicación con PROFIBUS-FMS (SIEMENS)
155
www.infoPLC.net
Comunicaciones y Redes
5.5
COMPARACIÓN DE LOS BUSES DE CAMPO
En las siguientes tablas comparativas podemos apreciar diferentes aspectos de los buses
de campo: generalidades, características físicas, mecanismo de transporte y desempeño.
(Reproducción de “THE
http://www.synergetic.com)
SYNERGETIC
FIELDBUS
COMPARISON
CHART”,
5.5.1 Información general
Fieldbus Name
Technology
Developer
Year Introduced
Governing Standard Openness
PROFIBUS DP/PA
Siemens
DP-1994, PA-1995
EN 50170 / DIN 19245
ASICs from Siemens and Profichip,
part 3(DP) /4 (PA), IEC
Products from over 300 vendors
1158-2 (PA)
INTERBUS-S
Phoenix Contact,
Interbus Club
1984
DIN 19258
EN 50.254
Products from over
400 manufacturers
DeviceNet
Allen-Bradley
March 1994
ISO 11898 &11519
17 chip vendors, 300+ product
vendors, Open specification
ARCNET
Datapoint
1977
ANSI/ATA 878.1
Chips, boards, ANSI docs
AS-I
AS-I Consortium
Fall 1993
Submitted to IEC
AS-II.C. Market item
Foundation
Fieldbus H1
Fieldbus
Foundation
1995
ISA SP50/IEC 61158
Chips/software/products from multiple
vendors
Foundation
Fieldbus High
Speed Ethernet
(HSE)
Fieldbus
Foundation
In development - lab IEEE 802.3u
test phase, Prelim spec RFC for IP, TCP &
available to members UDP
IEC/ISA SP50
Fieldbus
ISA & Fieldbus F. 1992 - 1996
IEC 1158/ANSI 850
Multiple chip vendors
Seriplex
APC, Inc.
1990
Seriplex spec
Chips available multiple interfaces
WorldFIP
WorldFIP
1988
IEC 1158-2
Multiple chip vendors
LonWorks
Echelon Corp.
March 1991
Multitude of suppliers for Ethernet
components, Extremely low cost
Public documentation on protocol
SDS
Honeywell
Jan., 1994
Honeywell
Specification,
Submitted to IEC,
ISO11989
ControlNet
Allen-Bradley
1996
ControlNet
International
Open Specification, 2 Chip Vendors
CANopen
CAN In Automation 1995
CiA
17 chip vendors, 300 product vendors,
Open specification
Ethernet
DEC, Intel, Xerox 1976
IEEE 802.3, DIX v. 2.0 Multitudes of Chips and Products
Modbus Plus
Modicon
Proprietary, requires license/ASICs
EN 1434-3 (layer 7)
IEC 870-5 (layer 2)
Modbus RTU/ASCII Modicon
Remote I/O
Allen-Bradley
Data Highway Plus
Allen-Bradley
(DH+)
156
17 chip vendors,
100+ products
1980
Open specification, no special
hardware required
Proprietary
Proprietary
www.infoPLC.net
Comunicaciones y Redes
5.5.2 Características físicas
Fieldbus Name
Physical Media
Max. Devices (nodes) Max. Distance
PROFIBUS DP/PA Line, star & ring
Twisted-pair or fiber
127 nodes
100m between segments @
(124 slaves - 4 seg, 3 12Mbaud; 24 Km (fiber) (baudrate
rptrs) + 3 masters
and media dependent)
INTERBUS-S
Segmented with "T"
drops
Twisted-pair, fiber, and
slip-ring
256 nodes
DeviceNet
Trunkline/dropline with Twisted-pair for signal & 64 nodes
branching
power
500m (baudrate dependent)
6Km w/ repeaters
ARCNET
Star, bus, distributed
star
255 nodes
Coax 2000 feet; Twisted pair 400
feet; Fiber 6000 Feet
AS-I
Bus, ring, tree star, of Two wire cable
al
31 slaves
100 meters, 300 with repeater
Foundation
Fieldbus H1
Star or bus
Twisted-pair, fiber
240/segment, 65,000 1900m @ 31.25K wire
segments
Star
Twisted-pair, fiber
IP addressing essentially unlimited
100m @ 100Mbaud twisted-pair
2000m @ 100Mbaud fiber full
duplex
IEC/ISA SP50
Fieldbus
Star or bus
Twisted-pair fiber, and
radio
IS 3-7
non IS 128
1700m @ 31.25K
500M @ 5Mbps
Seriplex
Tree, loop, ring, multi- 4-wire shielded cable
drop, star
500+ devices
500+ ft
WorldFIP
Bus
Twisted-pair, fiber
256 nodes
up to 40 Km
LonWorks
Bus, ring, loop, star
Twisted-pair, fiber,
power line
32,000/domain
2000m @ 78 kbps
SDS
Trunkline/Dropline
Twisted-pair for signal & 64 nodes,
power
126 addresses
ControlNet
Linear, Tree, Star, or
Combination Thereof
Coax, fiber
99 nodes
1000m (coax) 2 nodes
250m with 48 nodes
3km fiber; 30km fiber w/ repeaters
CANopen
Trunkline/Dropline
Twisted Pair + optional
Signal & Power
127 Nodes
25-1000m (baudrate dependent)
Foundation
Fieldbus HSE
Network Topology
Coax, Twisted-pair,
Fiber
400 m/segment, 12.8 Km total
500m (baudrate dependent)
Thin: 185m
10 Base T (Twisted Pair): Max
100m long (90 metres horizontal
cable, 5m drops, 1m patch)
Max 4 hubs/repeaters between
nodes
4Km distancs w/o routers
Fiber: 100 Base FX 400m
2.5 Km multi mode w/o Switches;
50 Km mono mode w/ Switches
Industrial
Ethernet
Bus, Star, Daisy-Chain
1024 nodes,
Thin Coax, Twisted Pair,
expandable to more
Fiber; Thick Coax (rare)
via Routers
Modbus Plus
Linear
Twisted Pair
Modbus
RTU/ASCII
Line, star, tree
Twisted Pair
Network w/ segments
250 nodes per
segment
350m
Remote I/O
Linear Trunk
Twinaxial
32 nodes/segment
6 km
DH+
Linear Trunk
Twinaxial
64 nodes/segment
3 km
32 nodes per segment,
500m per segment
64 max
157
www.infoPLC.net
Comunicaciones y Redes
5.5.3 Mecanismo de transporte
Fieldbus
Name
Communication
Methods
Transmission
Properties
Data Transfer Arbitration
Size
Method
PROFIBUS
DP/PA
Master/slave
peer to peer
DP: 9.6, 19.2,
0-244 bytes
93.75, 187.5,
500 Kbps, 1.5, 3,
6, 12 Mbps
PA: 31.25 kbps
Error
Checking
Token passing HD4 CRC
16-bit CRC
Diagnostics
Station, module &
channel diagnostics
Segment location of
CRC error and cable
break
INTERBUS-S Master/slave with total
frame transfer
500kBits/s,
full duplex
1-64 Bytes data None
246 Bytes
Parameter
512 bytes h.s.,
unlimited block
DeviceNet
Master/slave, multimaster, peer to peer
500 kbps,
250 kbps,
125 kbps
8-byte variable
message with
fragmentation
for larger
packets
Carrier-Sense CRC check
Multiple
Access w/
NonDestructive
Bitwise
Arbitration
Bus monitoring
ARCNET
Peer to peer
19.53K to 10M
0 to 507 bytes
Token passing 16-bit CRC
Built in
Acknowledgements at
Datalink layer
AS-I
Master/slave with cyclic Data and power, 31 slaves with 4 Master/slave
in and 4 out
with cyclic
polling
EMI resistant
polling
Foundation Client/server publisher/ 31.25 kbps
Fieldbus H1 subscriber, Event
notification
128 octets
Client/Server,
Foundation
Publisher/Subscriber,
Fieldbus HSE
Event Notification
Varies, Uses
Standard
TCP/IP
100Mbps
Manchester
Code,
hamming-2
Slave fault, device
fault
Scheduler,
multiple
backup
16-bit CRC
Remote diagnostics,
network monitors,
parameter status
CSMA/CD
CRC
IEC/ISA SP50 Client/server Publisher/ 31.25 kbps IS+1, 64 octets high & Scheduler,
subscriber
2.6, 5 Mbps
256 low priority tokens, or
Fieldbus
master
16-bit CRC
Seriplex
Master/slave
peer to peer
200 Mbps
Sonal
multiplexing
End of frame Cabling problems
& echo check
WorldFIP
Peer to peer
31.25 kbps, 1 & No limit,
2.5 Mbps, 6
variables 128
Mbps fiber
bytes
Central
arbitration
16-bit CRC,
data
"freshness"
indicator
LonWorks
Master/slave
peer to peer
1.25 Mbs full
duplex
228 bytes
Carrier Sense, 16-bit CRC
Multiple
Access
SDS
Master/slave,
peer to peer,
multi-cast,
multi-master
1Mbps,
500 kbps,
250 kbps,
125 kbps
8-byte variable Carrier-Sense CRC check
message
Multiple
Access w/
NonDestructive
Bitwise
Arbitration
158
7680/transfer
Configurable on
network management
Device message timeout, redundant cabling
Database of CRC
errors and device
errors
Bus monitoring
www.infoPLC.net
Comunicaciones y Redes
Modified
CTDMA Time
CCITT with
Slice Multiple
16-bit
Access
Polynomial
5 Mbps
0-510 bytes
variable
CANopen
Master/slave, peer to
peer, multi-cast, multimaster
10K, 20K, 50K,
125K, 250K,
500K, 800K,
1Mbps
Carrier-Sense
Multiple
Access w/
8-byte variable
15 Bit CRC
Nonmessage
Destructive
Bitwise
Arbitration
Industrial
Ethernet
Peer to Peer
10, 100Mbps
46-1500 Bytes CSMA/CD
Modbus Plus Peer to Peer
1Mbps
variable
Modbus
RTU/ASCII
Master/Slave
300 bps 38.4Kbps
0-254 Bytes
Remote I/O
Master/Slave
57.6 - 230 kbps 128 Bytes
DH+
Multi-Master,
Peer<>Peer
57.6 kbps
ControlNet
Producer/Consumer,
Device Object Model
Duplicate Node ID,
Device, Slave Faults
Error Control &
Emergency Messages
CRC 32
CRC 16
none
180 Bytes
none
5.5.4 Desempeño
Fieldbus Name
Cycle Time: 256 Discrete
16 nodes with 16 I/Os
Cycle Time: 128 Analog
16 nodes with 8 I/Os
Block transfer of 128 bytes
1 node
PROFIBUS DP/PA
Configuration dependent
typ <2ms
Configuration dependent
typ <2ms
not available
INTERBUS-S
1.8 ms
7.4 ms
140 ms
DeviceNet
2.0 ms Master-slave polling
10 ms Master-slave polling
4.2 ms
ARCNET
Application Layer Dependent
Application Layer Dependent
Application Layer Dependent
AS-I
4.7 ms
not possible
not possible
Foundation Fieldbus H1 <100 ms typical
<600 ms typical
36 ms @ 31.25k
Foundation Fieldbus
HSE
Not Applicable; Latency <5ms
Not Applicable; Latency <5ms <1ms
IEC/ISA SP50
Configuration dependent
Configuration dependent
0.2 ms @ 5 Mbps
1.0 ms @ 1 Mbps
Seriplex
1.32 ms @ 200 kbps, m/s
10.4 ms
10.4 ms
WorldFIP
2 ms @ 1 Mbps
5 ms @ 1 Mbps
5 ms @ 1 Mbps
LonWorks
20 ms
5 ms @ 1 Mbps
5 ms @ 1 Mbps
SDS
<1 ms, event driven
5 ms polling @ 1 Mbps
2 ms @ 1 Mbps
ControlNet
<0.5 ms
<0.5 ms
<0.5 ms
CANopen
<1 ms
5 ms polling @ 1 Mbps
<2.5 ms
Industrial Ethernet
Application Layer Dependent
Application Layer Dependent
Application Layer Dependent
Modbus Plus
Modbus RTU/ASCII
Remote I/O
12msec @230, 40 msec @57.6 bus
cycle time
DH+
159
www.infoPLC.net
Comunicaciones y Redes
160
www.infoPLC.net
Aplicaciones
6.0
APLICACIONES
En este capítulo se mostrarán algunas aplicaciones y ejemplos reales de realización de
sistemas digitales con controladores lógicos programables.
6.1
CONTROL DE UNA PUERTA CORREDIZA
Este circuito controla una puerta corrediza accionada mediante un motor. El movimiento
de apertura de la puerta se controla por medio del contactor K1, y el de cierre por el contactor
K3. El interruptor S3 de fin de carrera se acciona cuando la puerta está abierta e igualmente S2
cuando está cerrada.
La puerta se abre al presionar S1 (estera o alfombra frente a la puerta). Si ya no se acciona
S1, la puerta se cerrará automáticamente después de 3 segundos. Si se acciona S1, se activa el
contactor K3 y se mantiene activado hasta que se alcance la posición “PUERTA ABIERTA” y el
interruptor S3 de final de carrera desconecte el contactor K3. En la posición “PUERTA
ABIERTA”, S3 también cierra el circuito del temporizador K2 siempre y cuando no se haya
operado S1. Después de transcurrido el tiempo de retardo, la puerta se cierra al ser accionado K1
por K2. K1 se mantiene activado hasta que se alcance la posición “PUERTA CERRADA”, y se
desconecte K1 mediante el interruptor S2 de final de carrera.
Si S1 se acciona de nuevo mientras la puerta se está cerrando, se interrumpe
inmediatamente la operación de cierre y la puerta corrediza se abre de nuevo por medio del
contactor K3. Las lámparas H1 y H2 de señalización son para indicar cuándo se está abriendo o
cerrando la puerta.
A continuación se muestran el cuadro de asignaciones y componentes, el diagrama de
escalera y el programa.
Tipo
Asignación
1
Entradas (I)
2
3
1
Salidas (Q)
2
11
12
Temporizador (T) 1
Descripción
S1 = Pulsador, estera o alfombra
S2 = Interruptor de límite (puerta abierta)
S3 = Interruptor de límite (puerta cerrada)
K1 = Contactor (cierra la puerta corrediza)
K3 = Contactor (abre la puerta corrediza)
H1 = Lámpara indicadora (apertura de puerta)
H2 = Lámpara indicadora (cierre de puerta)
K2 = Relé de tiempo (retardo para el cierre)
Cuadro de asignaciones
161
www.infoPLC.net
Aplicaciones
S2
puerta
cerrada
STR NOT
STR
OR
AND STR
AND NOT
AND NOT
OUT
K1
cerrar
K2
retardo para el cierre
S1
I1
T1
Q1
Q2
I2
Q1
STR NOT
I1
AND
I3
OUT TMR T1 03
S3
puerta
abierta
K3
abrir
H1
cierre
H2
apertura
STR
OR
AND NOT
AND NOT
OUT
I1
Q2
Q1
I3
Q2
STR
OUT
Q1
Q11
STR
OUT
Q2
Q12
END
Figura 6.1 Diagrama de escalera
Programa
S2
S1
M1
S3
1
2
3
n
PLC
1
L
A1
K1
U1 = 220 V~
2
A2
H1
Figura 6.2 Conexiones al autómata
162
L
12
A1
K3
A2
11
H2
n
www.infoPLC.net
Aplicaciones
6.2
DETECCIÓN DE ETIQUETAS EN UNA EMBOTELLADORA
En este ejemplo se controla un sistema en el cual las botellas se mueven por una cinta
transportadora y unas fotocélulas verifican que las botellas llevan etiquetas.
Descripción: Si se detecta un producto defectuoso (botella sin etiqueta), el PLC dirige el
brazo de un robot para quitarla y colocarla en otra cinta transportadora. También se cuenta el
número de botellas defectuosas. Si el número de botellas defectuosas alcanza un valor
seleccionado, el PLC enciende una lámpara de aviso.
Fig. 6.3 Gráfico del proceso
Instrucción
Dato
STR NOT
STR
STR
SFT
0000
0001
0002
1000
1010
1001
0500
0003
0500
1001
0501
T0
0501
TMR T0 0015
0000
C0 0010
C0
502
STR
OR
AND NOT
OUT
STR
OR
AND NOT
OUT
OUT
STR
CNT
STR
OUT
Programa
Figura 6.4 Diagrama de escalera
163
www.infoPLC.net
Aplicaciones
Entrada
Detección de botella sin etiqueta
Detección de botella
Reset
Detección de la posición original del brazo del robot
Relé
0000
0001
0002
0003
Salida
Brazo de robot
Motor de la cinta transportadora B
Lámpara de alarma
0500
0501
0502
Cuadro de asignaciones
Operación: Cuando se detecta un producto defectuoso (botella sin etiqueta), la entrada 0000
se activa y su estado se almacena en el punto 1000 del registro de corrimiento. Al siguiente pulso
de reloj (entrada 0001), el estado del punto 1000 del registro de desplaza al 1001 indicando la
detección de un producto defectuoso. En respuesta a esto, la salida 0500 se activa a menos que la
entrada 0003 esté activada. Cuando la salida 0500 se activa, el brazo del robot retira el producto
defectuoso y lo coloca en la cinta transportadora B.
La entrada 0003 se activa cuando el brazo del robot vuelve a su posición original después
de retirar el producto defectuoso. Cuando el relé 1001 se activa, la salida 0501 se utiliza para
poner en marcha la cinta transportadora B. Las entrada 0000 es la entrada de contaje y la 0002 es
el reset . Cuando el contador cuanta cinco impulsos (cinco botellas defectuosas), el contador
activa la salida 0502 que es la lámpara de alarma.
6.3
ELEVADOR CLASIFICADOR DE PAQUETES (FESTO)
Este circuito clasifica paquetes de dos tamaños diferentes encaminándolos a una banda
transportadora según su tamaño.
Descripción: Primero se mide la longitud de los paquetes transportados por una cadena de
rodillos. Hay paquetes largos y cortos. El medidor emite señal 0 si el paquete es pequeño y 1 si
es grande, el medidor es simulado por el pulsador S2. A continuación los paquetes se colocan
en un elevador.
La secuencia se inicia con el pulsador “marcha” (S1). El cilindro A eleva los paquetes, en
seguida se clasifican como sigue: los paquetes cortos se colocan en otra banda por el cilindro B, y
los paquetes largos pasan a una tercera cadena C. El cilindro elevador A recupera sólo cuando
el cilindro B o C llega a su posición final. Los finales de carrera B0 a B5 detectan la posición de
los cilindros. Los cilindros A y B avanzan y recuperan por acción de las electroválvulas Y1 y Y2
respectivamente. El cilindro C se acciona por una electroválvula de dos bobinas (Y3=avanzar,
Y4=recuperar).
164
www.infoPLC.net
Aplicaciones
TIPO
Asignación
S1
B0
B1
Entradas S2
(E)
B2
B3
B4
B5
Y1
Salidas
Y2
(S)
Y3
Y4
SM0
SM1
Marcas
SM2
(M)
SM3
SM4
SM5
Descripción
Pulsador de marcha
Final de carrera posición retraída del cilindro A
Final de carrera posición extendida del cilindro A
Pulsador medidor de paquetes
F. de C. posición retraída del cilindro B
F. de C. posición extendida del cilindro B
F. de C. posición retraída del cilindro C
F. de C. posición extendida del cilindro C
Electroválvula cilindro A (avanza)
Electroválvula cilindro B (avanza)
Electroválvula cilindro C (avanza)
Electroválvula cilindro C (recupera)
Activa Y1
Activa Y3
Activa Y2
Activa Y4
Auxiliar del circuito
Auxiliar del circuito
Cuadro de asignaciones
PASO
CUANDO
ENTONCES
PASO
CUANDO
ENTONCES
CUANDO
ENTONCES
PASO
CUANDO
ENTONCES
Figura 6.5 Gráfico del proceso
CUANDO
ENTONCES
PASO
CUANDO
ENTONCES
ELEVAR
Y
Y
Y
ACTIVAR
S1
B0
B2
B4
Y1
DESPLAZAR
Y
DESACTIVAR
ACTIVAR
SALTAR
S2
B1
Y4
Y3
RETIRAR
NO
Y
ACTIVAR
S2
B1
Y2
RETIRAR
DESACTIVAR
ACTIVAR
SALTAR
B5
Y3
Y4
BAJAR
DESACTIVAR
B3
Y2
BAJAR
Y
DESACTIVAR
SALTAR
B2
B4
Y1
ELEVAR
FIN
Programa en lenguaje de alto nivel
165
www.infoPLC.net
Aplicaciones
Instrucción
Dato
STR NOT
AND
AND
AND
OR
AND NOT
OUT
SM0
B0
B2
B4
SM0
SM5
SM0
STR
AND
OR
AND
AND NOT
OUT
B1
S2
SM1
SM0
SM2
SM1
STR
AND NOT
OR
AND
AND NOT
OUT
B1
S2
SM2
SM0
SM1
SM2
STR
OR
AND
AND NOT
OUT
B5
SM3
SM1
SM4
SM3
STR
OR
AND
AND NOT
OUT
B3
SM4
SM2
SM3
SM4
STR
AND
STR
OR
AND STR
OUT
B2
B4
SM4
SM3
SM5
STR
AND NOT
OUT
SM0
SM5
Y1
STR
AND NOT
OUT
SM2
SM4
Y2
STR
AND NOT
OUT
SM1
SM3
Y3
STR
OUT
SM3
Y4
END
Programa
Figura 6.6 Diagrama de escalera
166
www.infoPLC.net
Aplicaciones
Figura 6.7 Conexiones al autómata
6.4
CONTROL AUTOMÁTICO DEL TREN DE LAVADO DE AUTOS
Descripción: Este circuito controla el tren de lavado de coches de la figura que consta de los
siguientes elementos:
•
•
•
•
Tres motores realizando las siguientes tareas:
- Un motor principal MP que mueve la máquina a lo largo del carril y posee
dos variables de control MP1 y MP2. MP1 desplaza la máquina de derecha
a izquierda y MP2 en sentido contrario.
- Motor de los cepillos MC.
- Motor del ventilador MV.
Una electroválvula XV que permite la salida del líquido de lavado hacia el vehículo.
Un sensor S3 que detecta la presencia del vehículo.
Dos finales de carrera S1 (izquierda) y S2 (derecha) que detectan la llegada de la
máquina a los extremos del riel.
Inicialmente la máquina se encuentra en el extremo de la derecha (S2 activado) y debe
ponerse en marcha al ser accionado un pulsador de marcha M y encontrarse un vehículo dentro
de ella (S3 activado).
Una vez accionado M, la máquina debe hacer un recorrido de ida y vuelta con la salida
de líquido abierta y los cepillos funcionando.
Cuando la máquina alcanza el extremo derecho (S2) debe realizar otro recorrido
completo de ida y vuelta en el que sólo debe estar el ventilador de secado en marcha.
Finalizando este recorrido la máquina debe pararse y quedar en la posición inicial.
167
www.infoPLC.net
Aplicaciones
En cualquier momento puede interrumpirse el proceso accionando el pulsador de paro P,
volviendo la máquina a la posición inicial.
Figura 6.8 Gráfico del proceso
TIPO
Entradas
Salidas
Marcas
Asignación
S1
S2
S3
M
P
MP1
MP2
MV
MC
XV
IR0 - IR5
Descripción
Final de carrera (izquierda)
F. de C. (derecha)
Detector de presencia de vehículo
Pulsador de marcha
Pulsador de paro
Desplazamiento de la máquina de derecha a Izq.
Desplazamiento de la máquina de Izquierda a der.
Motor del ventilador
Motor de los cepillos
Electroválvula - salida de líquido
Relés Auxiliares del circuito
Cuadro de asignación de variables
168
www.infoPLC.net
Aplicaciones
Figura 6.9 Diagrama de escalera
Instrucción
Dato
STR
AND
OR
AND
AND NOT
AND NOT
OUT
M
S2
IR0
S3
P
IR4
IR0
STR
AND NOT
OR
AND
OUT
S1
S2
IR1
IR0
IR1
STR
AND NOT
AND
OR
AND
OUT
OUT
IR1
S1
S2
IR2
IR0
IR2
MV
STR
AND NOT
AND
OR
AND
OUT
IR2
S2
S1
IR3
IR0
IR3
STR
AND NOT
AND
OUT
IR3
S1
S2
IR4
STR
OR
AND NOT
AND NOT
OUT
P
IR5
S2
IR0
IR5
STR NOT
OR
AND
AND NOT
OUT
IR1
IR2
IR0
IR3
MP1
STR
AND NOT
STR
AND NOT
OR STR
STR
OR STR
OUT
IR1
IR2
IR3
IR4
STR
AND NOT
OUT
OUT
IR0
IR2
MC
VX
IR5
MP2
Programa END
169
www.infoPLC.net
Aplicaciones
M
&
S3
P
IR4
1
IR0
&
S2
S1
=
&
1
IR1
&
IR0
S2
=
IR1
S1
S2
&
IR2
S2
S1
&
IR3
S1
S2
&
P
1
1
IR2
=
=
1
IR3
=
=
1
=
MP1
La salida MP1 se activa si lo están el
inverso de IR1 o IR2 y simultáneamente
IR0 e IR3 inactivo.
La salida MP2 se activa si están
activos: IR1 y no IR2, o IR3 y no IR4, o IR5.
&
IR2
1
IR5
IR3
El biestable IR3 se activa al cerrarse
el final de carrera S1 si está activada IR2
IR3 (se ha realizado el primer recorrido de
izquierda a derecha).
IR5
&
IR0
IR3
IR2, otro biestable R-S, se activa al
cerrarse el final de carrera S2 si está
IR2 activada IR1 (se ha realizado el primer
MV recorrido de derecha a izquierda).
IR5 es un biestable que memoriza la
activación de P y provoca que la máquina
vaya
automáticamente
al
extremo
derecho.
&
S2
IR0
IR1 es un biestable R-S que se activa
cuando la máquina alcanza el final de
IR1 desplazamiento hacia la izquierda (S1).
IR4 se activa al cerrarse S1 si está
activada IR3 (se ha realizado el segundo
recorrido de derecha a izquierda).
IR4
=
IR2
IR1
&
IR0
IR5
IR1
&
IR0
IR0
Operación:
IR0 constituye un biestable R-S que
se activa al presionar el pulsador de
marcha M si en ese instante la máquina se
encuentra en el extremo derecho (S2).
=
&
MP2
MV sólo debe activarse en el
segundo recorrido de ida y vuelta. Por ello
coincide con IR2.
IR4
IR0
IR2
&
=
=
MC
XV
Figura 6.10 Diagrama de funciones
170
MC
y
XV
deben
activarse
únicamente en el primer recorrido de ida y
vuelta si IR0 está activa y no IR2.
www.infoPLC.net
Aplicaciones
6.5 CONTROL AUTOMÁTICO DE UN GARAGE
Descripción: El garaje dispone de un acceso de entrada y tro de salida controlados por
sendas barreras que se accionan mediante los motores eléctricos M1 y M2 respectivamente.
A ambos lados de las dos barreras se instalan sensores de presencia de vehículo: S1 y S2 en
la entrada y S3 y S4 en la salida. Dichos sensores permanecen activados mientras hay un
vehículo ante ellos y por su situación física nunca se activan simultáneamente S1 y S2 ni S3 y S4.
Se utiliza un sensor S5 para detectar la presencia de ficha en el control de salida.
Figura 6.11 Gráfico del proceso
La capacidad del garaje es de 10 vehículos y el sistema electrónico debe controlar la
ejecución de las siguientes acciones:
•
Apertura y cierre de las barreras. La barrera de entrada debe abrirse si en el interior del
garaje hay menos de 10 vehículos y se produce un flanco de subida (paso de
desactivado a avtivado del sensor S1). Dicha barrera debe cerrarse si se produce un
flanco de bajada (S2 desactivado).
La barrera de salida debe abrirse si se activa S5 (presencia de la ficha) y se produce
un flanco de subida en S3 y debe cerrarse al producirse un flanco de bajada en S4.
171
www.infoPLC.net
Aplicaciones
•
•
Señalización a la entrada, mediante una luz verde LV, de que existen plazas libres en el
garaje.
Señalización a la entrada, mediante una luz roja LR, de que el garaje está completo y no
pueden entrar más coches.
El sistema de control debe poseer además los siguientes elementos de entrada:
•
•
•
Un pulsador M para ponerlo en marcha. A partir del instante de dar tensión al PLC
no se permite la entrada o salida de vehículos hasta que no se accione este pulsador.
Un pulsador de paro P para dejarlo fuera de servicio. Si se acciona este pulsador
queda impedida la entrada y salida de vehículos hasta que se accione el pulsador M.
En caso de que P y M se accionen simultáneamente, el primero debe predominar
sobre el segundo.
Un pulsador R para poner a cero el contador de vehículos en el instante de dar
tensión al autómata.
Variable externa
S1
S2
S3
S4
S5
M
P
R
M1
M2
LV
LR
Denominación
X0
X1
X2
X3
X4
X5
X6
X7
Y0
Y1
Y2
Y3
Cuadro de asignación de variables
En la figura 6.12 tenemos el diagrama de escalera acompañado del programa en lista de
instrucciones y finalmente puede deducirse rápidamente el diagrama de funciones de la figura
6.13.
172
www.infoPLC.net
Aplicaciones
Figura 6.12 Diagrama de escalera
Instrucción
Dato
STR
OR
AND NOT
OUT
X5
IR0
X6
IR0
STR
OR
AND NOT
AND
AND NOT
OUT
X0
Y0
IR2
IR0
Y3
Y0
STR
OR
AND NOT
AND
OUT
STR NOT
AND
OUT
X1
IR1
IR2
Y0
IR1
X1
IR1
IR2
STR
OR
AND NOT
AND
OUT
X4
IR3
IR5
IR0
IR3
STR
AND
OR
AND NOT
OUT
IR3
X2
Y1
IR5
Y1
STR
AND
OR
AND NOT
AND
OUT
STR NOT
AND
OUT
X3
Y1
IR4
IR5
IR0
IR4
X3
IR4
IR5
STR
AND
STR
STR
OR
CTR
OUT
X7
IR0
IR5
IR2
IR5
45
10
Y3
STR
AND NOT
OUT
IR0
Y3
Y2
END
Programa
173
www.infoPLC.net
Aplicaciones
X5
1
X6
&
IR0
X0
1
Y0
X1
1
IR2
IR0
Y3
&
IR2
&
Y0
IR1
X1
IR0
=
Y0
=
IR1
=
IR3
1
=
IR1
X4
1
IR5
IR2
&
IR0
IR3
IR3
=
Y1
&
1
IR5
&
X2
X3
&
IR4
1
&
=
IR4
X7
&
IR5
CTR 45
10
IR0
IR5
=
IR2
1
IR5
IR0
Y3
&
=
Y2
Figura 6.13 Diagrama de funciones
174
Y1
=
IR4
&
IR0
Y1
X3
IR5
=
Y3
www.infoPLC.net
Aplicaciones
6.6
CONTEO DEL NÚMERO TOTAL DE PRODUCTOS EN LÍNEAS MÚLTIPLES DE
PRODUCCIÓN (KEYENCE)
En este ejemplo se cuenta simultáneamente el número de productos que pasan a través de
cada una de cinco líneas. Cuando el número total de productos alcanza un valor preestablecido
(100en este ejemplo), el PLC activa. Un sensor de fibra óptica cuenta el número de productos de
cada línea.
Figura 6.15 Diagrama de tiempos
Figura 6.14 Gráfico del proceso
TIPO
Asignación
0000
0001
0002
Entradas 0003
0004
0005
Salida
0500
Marcas
2002
2009
Descripción
Conteo de productos de la línea 1
Conteo de productos de la línea 2
Conteo de productos de la línea 3
Conteo de productos de la línea 4
Conteo de productos de la línea 5
Reset
salida comparadora
Auxiliar del circuito
Auxiliar del circuito
Cuadro de asignaciones
Operación: Para realizar el conteo de una manera más simple, en lugar de contadores se
utiliza la instrucción de incremento de memoria INC, la cual suma ‘1’ al dato contenido en la
dirección de memoria especificado por un operando.
175
www.infoPLC.net
Aplicaciones
Cuando la entrada 0000 (línea 1) se activa,
DM000 se incrementa en 1.
Cuando la entrada 0001 (línea 2) se activa,
DM000 se incrementa en 1.
Cuando la entrada 0002 (línea 3) se activa,
DM000 se incrementa en 1.
Cuando la entrada 0003 (línea 4) se activa,
DM000 se incrementa en 1.
Cuando la entrada 0004 (línea 5) se activa,
DM000 se incrementa en 1.
Cuando la entrada 0005 (reset) se activa,
DM0000 se reinicia a 0 y la salida 0500 se
desactiva.
Cuando DM0000 es igual o mayor que 100,
el relé de salida 0500 se activa.
Figura 6.16 Diagrama de escalera
El programa podría realizarse de dos diferentes maneras:
1)
2)
En el programa (1) el conteo se efectúa en cada entrada aún si los relés 0000 al 0004 se
activan simultáneamente; y en el programa (2) entradas simultaneas se ignoran cuando los relés
0000 a 0004 se activan simultáneamente.
176
www.infoPLC.net
Aplicaciones
6.7
CONTEO DEL NÚMERO DE ROTACIONES - CONTADOR DE FRECUENCIA
(KEYENCE)
Descripción: Usando la función de contador de frecuencia (Visual KV series), se mide el
tiempo de los pulsos de salida de un objeto en rotación a través de la entrada 0004 con un
contador de alta velocidad y convirtiéndolos en frecuencia (Hz). La frecuencia medida se usa
para el cálculo del número de rotaciones (rpm).
Este circuito puede emplearse para detectar la reducción en el número de rotaciones de un
objeto como un agitador, o para medir su frecuencia.
Pulsos
Figura 6.17 Gráfico del proceso
TIPO
Entrada
Memorias
de datos
Asignación
0004
1404
1405
Y3
Y4
2305
Marcas
2008
2002
Descripción
Entrada de conteo
Ciclo de medición del contador de frecuencia (1-9999 [ms])
Resultado de la cuenta (Hz)
Electroválvula cilindro C (avanza)
Electroválvula cilindro C (recupera)
Relé auxiliar especial: habilita/deshabilita la función contador
de frecuencia ON: habilitado, OFF: deshabilitado
Relé auxiliar
Relé auxiliar
Cuadro de asignaciones
Operación: De la entrada 0004 se miden los pulsos para la medición de frecuencia.
Activando el relé auxiliar especial 2305 comienza el contador de frecuencia. La medición
resultante (Hz) se guarda en DM1405. Para establecer el intervalo de medición de frecuencia
(ms), se especifica el valor mayor que el tiempo de escaneo en DM1404 en unidades de ms. El
número de rotaciones puede obtenerse de la medición de frecuencia mediante el siguiente
cálculo:
No. de rotaciones (rpm) =
( Frecuencia ( HZ ) )(60 ( seg.) )
No. de pulsos por una rotación
La cuenta del número de rotaciones de la rueda dentada requiere 10 pulsos por una
rotación. El conteo de la frecuencia de los pulsos recibidos a través de la entrada 0004 cada
segundo (1000 ms) se pasa a DM0000, y el número de rotaciones calculado se guarda en
DM0001. La instrucción HSP reduce la constante de tiempo del relé de entrada especificado
para incrementar la respuesta de la entrada.
177
www.infoPLC.net
Aplicaciones
El ciclo de medición de los
pulsos se fija en 1000 ms (1 seg.). La
activación del relé 305 habilita el
contador de frecuencia.
La constante de tiempo de la
entrada se fija en 10 µs.
La frecuencia medida (Hz) se
transfiere a DM0000.
El número de rotaciones
(rpm) se calcula con la frecuencia
medida y se guarda en DM0001.
Figura 6.18 Diagrama de escalera
178
www.infoPLC.net
Apéndice
PLCopen
Estandarización en Programación de Control Industrial
PO Box 2015, NL - 5300 CA Zaltbommel, Netherlands, Tel: *.31.418.541139, Fax: *.31.418.516336
IEC 61131-3: una fuente de programación
estandarizada
La norma IEC 61131-3 es el primer intento real
para estandarizar los lenguajes de programación
para automatización industrial. Cuenta con
soporte mundial y es independiente de cualquier
compañía.
The IEC 1131-3 Standard
Common Elements
La IEC 61131-3 es la tercera parte de la familia
IEC 61131.Consiste de:
•
•
•
•
•
Parte 1:
Parte 2:
Parte 3:
Parte 4:
Parte 5:
Visión general
Hardware
Lenguajes de Programación
Reglas de usuario
Comunicación
Esta tercera parte de la norma contiene muchos
aspectos como los siguientes:
•
•
•
•
Los resultados de la Fuerza de Trabajo 3,
Lenguajes de programación, dentro de la
norma IEC TC65 SC65B
El resultado de un firme trabajo por 7
compañías internacionales añadiendo decenas
de años de experiencia en el campo de la
automatización industrial
Aproximadamente 200 páginas de texto, con
60 tablas incluyendo tablas de características
La especificación de la sintaxis y semántica
de una suite unificada de lenguajes de
programación, incluyendo el modelo de
software global y un lenguaje estructurado.
Otra vista elegante es dividiendo el estándar en
dos partes (ver figura 1):
1. Elementos comunes
2. Lenguajes de Programación
Programming Languages
Veamos con detalle estas partes:
Elementos comunes
Tipos de Datos
Los tipos de dados están definidos dentro de los
elementos comunes. La clasificación de los datos
previene errores en primeras etapas. Se usa para
definir el tipo de cualquier parámetro usado. Esto
evita por ejemplo, dividir una Fecha por un
entero.
Tipos de datos comunes son Boléanos, Enteros,
Reales, Bytes y Palabras, pero también Fecha,
Hora_del_Día y Cadenas.
De acuerdo con esto, uno puede definir sus
propios tipos de datos personales, conocidos
como tipos de datos derivados. De esta manera
uno puede definir un canal de entrada analógica
como tipo de dato y reutilizado una y otra vez.
Variables
Las variables se asignan únicamente a direcciones
explícitas de hardware (p. Ej. entradas y salidas)
179
www.infoPLC.net
Apéndice
en configuraciones, recursos y programas. De
esta manera se crea un alto nivel de independiente
al hardware, soportando la reutilización del
software.
Cualquiera
de
éstos
puede
ejecutarse
periódicamente o bajo la ocurrencia de un
disparador especificado, como el cambio de una
variable.
El alcance de las variables normalmente está
limitado a la unidad de organización en la cual se
declaran, p. Ej. local.
Los Programas están basados en un número de
elementos de software diferentes escritos en
cualquiera de los lenguajes IEC definidos.
Típicamente, un programa consiste de una red de
Funciones y Bloques de Funciones, los cuales
pueden intercambiar datos. Las funciones y
bloques de funciones son los bloques básicos de
construcción, conteniendo una estructura de datos
y un algoritmo.
Esto significa que sus nombres pueden ser
reutilizados en otras partes sin ningún conflicto,
eliminando otra fuente de errores. Si las variables
deben tener alcance global, deben declararse
como (VAR_GLOBAL).
Pueden asignarse valores iniciales a los
parámetros al inicio y reinicio, a fin de tener el
entorno correcto.
Configuración, Recursos y Tareas
Para entender mejor esto, veamos l modelo de
software, como se define en la norma (ver abajo).
Configuration
Resource
Task
Resource
Task
Task
Task
FB
Function
Block
Program
Program
FB
Program
FB
Comparemos esto con un PLC convencional: esto
contiene un recurso, corriendo una tarea,
controlando un programa, ejecutando un ciclo
cerrado. IEC 61131-3 aporta mucho más a esto,
considerando aspectos a futuro. Un futuro que
incluye multiprocesamiento y
programas
controlados por eventos.Y este futuro no está
lejos: sólo veamos los sistemas distribuidos o los
sistemas de control en tiempo real.
La IEC 61131-3 es adecuada para un amplio
margen de aplicaciones, sin tener que aprender
lenguajes de programación adicionales.
Program
FB
FB
Execution
control path
Access path
En el nivel más alto, el software es requerido para
resolver un problema particular de control, puede
ser formulado como una Configuración. Una
Configuración es específica a un tipo particular
de sistema de control, incluida la distribución del
hardware, p. Ej. recursos en proceso, direcciones
de memoria para canales de E/S y capacidades
del sistema.
Unidades de Organización del Programa
Dentro de la IEC 61131-3, los programas,
funciones, y los bloques de funciones reciben el
nombre de Unidades de Organización de
Programa, POUs.
Funciones
IEC ha definido funciones estándar y funciones
definidas por el usuario. Son funciones estándar:
ADD(adición),
ABS(absoluto),
SQRT(raíz
cuadrada), SIN(seno) y COS(coseno).
Dentro de una misma configuración pueden
definirse uno o más recursos. Un recurso puede
verse como un área en proceso, que es capaz de
ejecutar programas IEC.
Las funciones definidas por el usuario pueden ser
usadas una y otra vez una vez definidas.
Pueden definirse una o más Tareas dentro de un
recurso. Las Tareas controlan la ejecución de un
conjunto de programas y/o bloques de funciones.
Los bloques de funciones son el equivalente a los
circuitos integrados, ICs, representando una
función de control especializada. Contienen tanto
180
Bloques de Funciones, FBs
www.infoPLC.net
Apéndice
datos como el algoritmo, de modo que mantienen
pista de loa anterior.
cualquiera de los lenguajes de programación
definidos.
Tienen una interfase bien definida e interiores
ocultos, como un IC o una caja negra. De este
modo brindan una clara separación entre
diferentes niveles de programadores o
programadores de mantenimiento.
Diagrama de Función Secuencial, SFC
Un ciclo de control de temperatura o PID, es un
excelente ejemplo de un Bloque de Función. Una
vez definido, puede utilizarse una y otra vez en el
mismo programa, diferentes programas o incluso
en diferentes proyectos. Esto los hace altamente
reutilizables.
Los Bloques de Función pueden escribirse en
cualquiera de los lenguajes IEC, y en muchos
casos hasta en “C”. De esta manera puede ser
definido por el usuario. Los Bloques de
Funciones Derivados están basados en los FBs
estándar definidos, pero también son posibles FBs
completamente nuevos y personalizados con el
estándar: este sólo proporciona el esqueleto.
Las interfaces de funciones y bloques de
funciones se describen del mismo modo:
FUNCTION_BLOCK Example
VAR_INPUT:
X : BOOL;
Y : BOOL;
END_VAR
VAR_OUTPUT
Z : BOOL;
END_VAR
(* expresiones del bloque de función *)
END_FUNCTION_BLOCK
Las declaraciones de arriba describen la interfase
a un bloque de función con dos parámetros de
entradas Boléanos y otro parámetro de salida
Boleano .
Programas
Con los bloques de construcción básicos
mencionados arriba, uno puede decir que un
programa es una red de Funciones y Bloques de
Funciones. Un programa puede escribirse en
Step 1
N
FILL
Transition 1
Step 2
S
Empty
Transition 2
Step 3
El SFC describe gráficamente el comportamiento
de un programa de control. Se deriva de Petri
Nets y del Grafcet IEC 848, con los cambios
necesarios para convertir la representación desde
una documentación estándar a un conjunto de
elementos de control de ejecución.
El SFC estructura la organización interna del
programa y ayuda a descomponer un problema de
control en partes manejables, al mismo tiempo
que conserva la visión global.
SFC consiste de pasos, ligados con Bloques de
Acción y Transiciones. Cada paso representa un
estado particular de los sistemas controlados. Una
transición está asociada a una condición la cual,
cuando sea verdadera, causa el paso antes de la
transición a desactivado, y el siguiente paso a
activado. Los pasos están asociados con bloques
de acción, realizando una determinada acción de
control. Cada elemento puede programarse en
cualquiera de los lenguajes IEC, incluyendo el
mismo SFC.
Uno puede usar secuencias alternativas e
incluso secuencias paralelas, como las
comúnmente requeridas en aplicaciones
secuenciales. Por ejemplo, una secuencia se
usa para el proceso principal, y el segundo
para el monitoreo global de operación.
Debido a su estructura general, SFC también
provee de una herramienta de comunicación,
ligando personas de diferentes entornos,
departamentos o países.
181
www.infoPLC.net
Apéndice
comunicación, combinando gente de diferentes
entornos o áreas.
Lenguajes de Programación
Dentro de la norma se definen cuatro lenguajes de
programación. Esto significa que su sintaxis y
semántica han sido definidas, no dejando lugar a
“dialectos”. Una vez que se han aprendido,
pueden usarse en una amplia variedad de sistemas
basados en esta norma.
Los lenguajes consisten en dos versiones: gráfica
y de texto:
Textuales:
• Lista de Instrucciones, IL
• Texto estructurado, ST
Gráficos:
• Diagrama de Escalera, LD
• Diagrama de Bloques de Funciones,
FBD
Instruction List (IL)
LD
ANDN B
ST
C:=A AND NOT B
C
Function Block Diagram (FBD)
AND
A
Structured Text (ST)
A
Ladder Diagram(LD)
A B
C
C
-| |--|/|----------------( )
B
En la figura de arriba, los cuatro lenguajes
describen la misma parte simple de un programa.
La elección por un lenguaje determinado depende
de:
•
•
•
•
•
El entorno del programador
El problema en particular
El nivel de descripción del problema
La estructura del sistema de control
La interfase con otras entidades
Los cuatro lenguajes están interrelacionados:
proporcionan un mismo escenario de acuerdo a la
experiencia previa del programador. De esta
manera también proporcionan una herramienta de
182
El Diagrama de Escalera tiene sus raíces en los
Estados Unidos. Se basa en la representación
gráfica de la Lógica de escalera de relees.
La Lista de Instrucciones es la contraparte
europea. Como lenguaje textual, recuerda al
ensamblador.
El Diagrama de Bloques de Funciones es muy
común en la industria de procesos. Expresa el
comportamiento de las funciones, bloques de
funciones y programas como un conjunto de
bloques gráficos interconectados, como los
diagramas de circuitos en electrónica. Se asemeja
a un sistema en términos de los flujos de señales
entre elementos en proceso.
El Texto Estructurado es un lenguaje de alto nivel
muy potente con raíces en Ada. Pascal y “C”.
Contiene todos los elementos esenciales de un
moderno lenguaje de programación, incluyendo
sentencias condicionales (IF-THEN-ELSE
y
CASE OF) y ciclos iterativos (FOR, WHILE y
REPEAT). Además estos elementos pueden
anidarse.Puede usarse excelentemente para la
definición de bloques de funciones complejos, los
cuales pueden usarse en cualquiera de los otros
lenguajes.
Ejemplo en texto estructurado (ST):
I:=25;
WHILE J<5 DO
Z:= F(I+J);
END_WHILE
IF B_1 THEN
%QW100:= INT_TO_BCD(Display)
ENDIF
CASE TW OF
1,5: TEMP := TEMP_1;
2:
TEMP := 40;
4:
TEMP := FTMP(TEMP_2);
ELSE
TEMP := 0;
B_ERROR :=1;
END_CASE
www.infoPLC.net
Apéndice
Top-down vs. bottom-up
Conclusión
Top Down
Common Elements
Programming Languages
Bottom Up
Además la norma permite dos maneras de
desarrollar el programa: top down y bottom up.
En cualquiera podemos dividir la aplicación en
dos subpartes, declarar las variables y así
sucesivamente. O también podemos empezar
programando la aplicación desde le final, por
ejemplo deduciendo funciones y bloques de
funciones.
Cualquiera que se elijamos, el ambiente de
desarrollo nos ayudará a través del proceso
entero.
Implementaciones
No es fácil satisfacer los requerimientos globales
de IEC 61131-3. Por tal razón, la norma permite
implementaciones parciales en varios aspectos.
Esto cubre el número de lenguajes soportados,
funciones y bloques de funciones. Esto da
libertad del lado del provisor, pero un usuario
debe estar bien conciente de esto durante su
proceso de selección. También, una nueva
versión puede tener un más alto nivel de
implementación.
Las implicaciones técnicas del estándar IEC
61131-3 son elevadas, dejando suficiente campo
al desarrollo y distinción.Esto hace a ésta norma
adecuada para desarrollarse bien en el siglo
venidero.
La IEC 61131-3 tendrá un gran impacto en toda
la industria de control. Por supuesto que no
restringirá el mercado convencional de PLC’s por
sí misma. Hoy en día, se ve adoptando la
propuesta comercial, sistemas distribuidos y
sistemas de control basados en PC / softlogic,
incluyendo paquetes SCADA. Y las áreas siguen
en crecimiento.
El tener una norma sobre una amplia área de
aplicación, brinda numerosos beneficios a los
usuarios / programadores. Los beneficios de
adoptar esta norma son varios, dependiendo de
las áreas de aplicación. Sólo por nombrar
algunas:
•
•
•
•
•
Gasto reducido de recursos humanos, en
entrenamiento, depuración, mantenimiento y
consultorías.
Enfoque a un problema para solución vía alto
nivel o reutilización de software.
Errores y mal interpretaciones reducidas.
Técnicas de programación utilizables en un
amplio entorno: control industrial general.
Combinación de diferentes componentes
desde diferentes programas, proyectos,
ubicaciones, compañías o países.
Muchos entornos de programación IEC actuales
ofrecen todo lo que podamos esperar de los
modernos ambientes: operación por ratón, menús
desplegables, pantallas de programación gráficas,
soporte para múltiples ventanas, funciones
hipertexto integradas, verificación durante el
diseño.
Por favor esté consciente de que esto no está
especificado dentro del mismo estándar: esto es
una de las partes donde los proveedores pueden
distinguirse.
183
www.infoPLC.net
Apéndice
Mejoras de PLCopen a la Norma
PLCopen es un proveedor de producto
independiente mundial respaldando IEC 61131-3.
Implementando esta norma en diversos ambientes
de desarrollo de programas, los usuarios pueden
cambiar entre diferentes marcas y tipos de control
con muy poco de entrenamiento e intercambio de
aplicaciones con un mínimo esfuerzo.
La organización PLCopen trabaja en la
promoción del uso y/o provisión del estándar,
también mejora el estándar en el sentido técnico.
Esto incluye posteriormente certificación e
intercambio. Los comités trabajan dentro de
PLCopen y sus resultados se describen
brevemente más abajo.
Resultados técnicos
Los Comités Técnicos, TCs, con miembros
representativos de PLCopen, trabajan en asuntos
específicos.
Dentro de las Normas TC1, PLCopen recoge
propuestas de sus miembros para el grupo de
trabajo IEC 65B WG7, desarrolla una posición
común, y distribuye la información relacionada.
Esto estuvo específicamente enfocado a la
segunda versión del estándar, la cual fue liberada
a principios de 2001.
El TC2 - Funciones definen bibliotecas comunes
de funciones (Bloques) para áreas específicas de
aplicación. Un ejemplo es la definición de
bibliotecas de Bloques de Funciones para Control
de Movimiento. Esta estandarización asocia el
control de movimiento de una manera lógica al
control industrial. De este modo, suministra una
vista y sentido común a los usuarios: tanto
programadores como gente de mantenimiento.
Con múltiples implementaciones de esta
biblioteca, el asenso del sistema de control es
mucho más sencillo, aún si hay diferentes
arquitecturas y / o marcas de controladores en
uso. El intercambio de parte de los programas
mediante el Nivel de Reutilización PLCopen (ver
184
abajo para más información) también juega un
papel esencial aquí.
Certificación y pruebas de conformidad
El TC3 - Certificación define un sistema de
certificación para Ambientes de soporte de
programas PSEs, (entornos de desarrollo). Cada
PSE puede ser probado para demostrar que
cumple con un subconjunto de la norma IEC
61131-3 especificado por PLCopen
Esta norma contiene un gran numero de las
llamadas tablas de características y PLCopen ha
definido cuales de esas tablas deben ser
soportadas para satisfacer los requerimientos.
Adicionalmente, PLCopen extiende la norma para
soportar la reutilización de Bloques de Funciones
derivados de usuario entre PSEs.
Nivel de Conformidad, CL
Con la amplia gama de áreas de aplicación para
IEC 61131-3 no todas las implementaciones usan
exactamente los mismos tipos de datos. Respecto a
esto, la certificación según el Nivel de
Conformidad, CL, implica que el proveedor de un
PSE seleccione los tipos de datos soportados por su
producto coincidiendo con su declaración de
conformidad.
Todas las características IEC soportadas son
puestas a prueba. Esto significa que
independientemente del resultado de la prueba,
puede haber diferencias entre dos productos
certificados. Estas diferencias pueden influir en la
reusabilidad de los bloques de funciones definidos
por el usuario.
El número total de tipos de datos especificados en
la norma llega a 26 (tabla 10 y 12 de la norma).
Esto pone orden de un simple Si/No digital
(BOOL) a estructuras potencialmente complejas.
Por consiguiente, CL tiene 26 opciones: tipos de
datos soportados o no soportados. Sólo los tipos de
datos soportados son usados para pruebas.
www.infoPLC.net
Apéndice
Adicionalmente, el Nivel de Reusabilidad, RL,
se dedica a hacer las funciones unitarias de
programación reutilizables en diferentes PSE.
Esto se hace mediante el intercambio a texto
simple del lenguaje de Texto Estructurado, ST.
Para la representación en otros lenguajes, puede
incluirse una herramienta de conversión a o desde
ST. Esta es una principal pero sencilla
contribución de PLCopen a la norma IEC 611313
Históricamente existe una clase menor llamada
Nivel Base, definiendo un kérnel central por
lenguaje del estándar. El Nivel Base proporciona
un nivel de acceso para los proveedores,
mostrándoles su compromiso con el estándar.
Para el usuario proporciona una interpretación
normalizada
del
estándar,
especialmente
importante si ellos tienen que trabajar con
sistemas de diferentes proveedores.
Las especificaciones detalladas de la mayor parte
de los lenguajes IEC 6113-1 ya se han terminado.
Se trabaja para los lenguajes restantes. El
procedimiento de pruebas de conformidad y el
procedimiento de acreditación para los
laboratorios de pruebas han sido establecidos. Se
han acreditado laboratorios independientes de
pruebas y se ha certificado un número creciente
de productos.
Para una lista completa favor de dirigirse al sitio
web www.plcopen.org.
El TC4 – Comunicaciones trabaja en la relación
entre
comunicaciones
y
lenguajes
de
programación, como el mapeo de Profibus y
CANopen vía IEC 61131-5 sobre IEC 61131-3.
El
TC5 – Software Seguro prepara
recomendaciones para la aplicación y adaptación
de la norma IEC 61131-3 para aplicaciones
relacionadas con la seguridad, especialmente
enfocado a los nuevos estándares de seguridad
IEC 61408 y 61411.
185
www.infoPLC.net
Apéndice
186
www.infoPLC.net
Conclusiones
CONCLUSIONES
Durante la realización del presente trabajo, se pudo observar la importancia que
actualmente tiene el PLC en la industria, ya que la mayoría de las líneas de producción, así como
los procesos de monitoreo y control, requieren de dispositivos confiables, robustos y al mismo
tiempo que su puesta en marcha sea económica, además de que no se limiten a un solo proceso,
es decir, que sean fáciles de programar; Lo que antes resultaba casi imposible con los sistemas
neumáticos o mecánicos.
Por otro lado, se trató el tema de lenguajes de programación, en el cual se observo que a
pesar de la relativa facilidad de programación de los PLC, todavía se tiene el problema de que
no existe un lenguaje universal que permita analizar un problema dado para su resolución sin
pensar de alguna manera en el tipo de PLC a emplear, pero sobre todo de su fabricante, ya que
actualmente cada fabricante a pesar de que por ejemplo emplee mnemónicos para la
programación de su producto, este no sea la misma representación para cualquier PLC de otra
marca que también emplee mnemónicos para su programación. Sin embargo se han realizado
grandes esfuerzos por homologar dichos lenguajes, de forma tal que esto sea lo más
transparente, además de que se han diseñado técnicas para la interpretación de comandos entre
lenguajes, de tal forma que por ejemplo si en un momento dado se conoce mejor la
programación por medio de Grafcet, fácilmente se pueda trasladar a otro lenguaje de
programación como puede ser mnemónicos o LADDER mediante interpretes de comandos.
Además de que algunos fabricantes de PLCs ya han comenzado a emplear lenguajes de alto
nivel, de tal forma que hasta un programador de computadoras común que conozca la
programación por ejemplo en lenguaje C pueda programar un PLC sin problema alguno.
Además, por otro lado, no nos podemos olvidar de que organismos internacionales se están
preocupando por la estandarización de dichos lenguajes de programación de PLCs.
Finalmente se han visto algunas de las muchas aplicaciones que puede tener el empleo de
los PLC no sólo en la industria, sino en el hogar, como son su empleo en las casas inteligentes,
sistemas de seguridad, etc. lo cual implica que su campo de aplicación de los PLCs pueden ser
muy diversos.
Armando Taboada Balderas
187
www.infoPLC.net
Conclusiones
188
www.infoPLC.net
Conclusiones
La automatización industrial es uno de los campos más interesantes dentro del amplio
mundo de la electrónica. A pesar que no es una rama nueva, se encuentra en constante
desarrollo. Esto implica la gran ventaja de la innovación y avance de la tecnología, producto de
la enorme competencia entre los fabricantes y desarrolladores. Pero al mismo tiempo, esto
puede significar un problema para la persona que se inicia en el estudio de estos sistemas,
debido a que la información es tan abundante como dispersa, de modo que no es fácil obtener
una visión general de estos sistemas.
El presente trabajo se realizó teniendo en cuenta estos problemas, fue resultado de una
extensa investigación que nos permitiera, en lo posible, concentrar los conceptos más
importantes de los PLC, que faciliten la familiarización de la tecnología que rodea a estos
dispositivos al lector.
Sin duda, uno de los aspectos más importantes en los autómatas programables es la
programación. Es interesante observar las diversas opciones en lenguajes de programación que
tenemos disponibles, que si bien es una gran ventaja, también implica el conocer el lenguaje que
emplea un determinado modelo de PLC. Por esta razón dedicamos una parte importante del
trabajo e incluimos una norma, que es un intento de normalizar este aspecto.
Hemos visto también que estos dispositivos alcanzan su máximo aprovechamiento cuando
se integran a un proceso industrial complejo coexistiendo con otros dispositivos diversos. Por tal
motivo consideramos que el trabajo estaría incompleto sin hablar de las redes industriales y las
diferentes opciones en que el PLC se integra a un sistema a gran escala como ocurre en muchas
industrias.
Erick Zozoaga Gómez
189
www.infoPLC.net
Conclusiones
190
www.infoPLC.net
Bibliografia y Enlaces de interes
BIBLIOGRAFÍA Y REFERENCIAS
Libros y documentos
Balcells, Josep. Romeral, José L. Autómatas Programables, México, Alfaomega-Marcombo,
1997.
Mandado Pérez, Enrique. Acevedo, Jorge M. Pérez López Serafín A. Controladores Lógicos y
Autómatas Programables, España, Marcombo, 1992, 2ª edición.
Michel, Gilles. Autómatas Programables Industriales. Arquitectura y sus aplcaciones, España,
Marcombo, 1990.
Porras Criado, Alejandro. Montanero Molina, Antonio P. Autómatas Programables, México,
McGraw-Hill, 1990.
Keyence, Visual KV Series Advanced Programming Course, 1999.
Siemens, Open networks for industrial communication.
Siemens AG, Microsystems Software & Solutions, 1999
189
www.infoPLC.net
Bibliografia y Enlaces de interes
Sitios de Internet
Autómatas industriales
http://www.automatas.org/redes/redes.htm
PLCopen
http://www.plcopen.org/
EYA
http://eya.swin.net
SIEMENS Industrial Comunication http://www.ad.siemens.de/net/
AS Interface (ASI)
http://www.as-interface.com/
Modbus.ORG
http://www.modbus.org/
BitBus European Users Group
http://www.bitbus.org/
Profibus
http://www.profibus.com/
Ethernet Industrial
http://ethernet.industrial-networking.com
Your Personal PLC Tutor
http://www.plcs.net/links.htm
Siemens Energy & Automation
http://www.sea.siemens.com/automat/product/plc/auplcov.html
Siemens – Dowloads
http://www.sea.siemens.com/step/downloads.html
Proyectos PIC
http://inicia.es/de/juanmarod/portada.htm
DAP S.A. distribuidor Siemens
http://www.grupdap.com/EjProgramacion.htm
Downloads & manuales
http://www.grupdap.com/manuales.html
Autómatas Programables – PLC’s
http://www.geocities.com/SiliconValley/Bay/8507/index.html
REEA
http://olmo.pntic.mec.es/~jmarti50/portada/index.htm
Software !Automatismes Morvedre
http://www.siamred.com/Esp/Index.asp
Simulador de PLC y regulacion PID http://www.geocities.com/indracontrol/
Curso Básico Autómatas Programables http://www.femz.es/cursos/automatas/
Autómatas programables
http://usuarios.iponet.es/jsl/index.html
190
Descargar