El PLC como dispositivo de automatización

204
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

Transcript of El PLC como dispositivo de automatización

Page 1: El PLC como dispositivo de automatización

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

Page 2: El PLC como dispositivo de automatización

El PLC como dispositivo de automatización

Taboada Balderas Armando Zozoaga Gómez Erick

www.infoPLC.net

Page 3: El PLC como dispositivo de automatización

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

Page 4: El PLC como dispositivo de automatización

A mis padres por su apoyo incondicional siempre.

Erick Zozoaga Gómez

www.infoPLC.net

Page 5: El PLC como dispositivo de automatización

Contenido

ix

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

www.infoPLC.net

Page 6: El PLC como dispositivo de automatización

Contenido

x

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

www.infoPLC.net

Page 7: El PLC como dispositivo de automatización

Contenido

xi

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

www.infoPLC.net

Page 8: El PLC como dispositivo de automatización

Contenido

xii

4.5.5.1 Desarrollo del sistema.......................................................................................... 127 4.5.5.2 Evolución del sistema .......................................................................................... 128 4.5.5.3 Secuencia única.................................................................................................... 128 4.5.5.4 Bifurcación en “O”. También llamada selección de secuencia............................ 129 4.5.5.5 Bifurcación en “Y”. También llamada trabajos en paralelo ................................ 131 4.5.5.6 Saltos de etapas .................................................................................................... 133 4.5.5.7 Bucles................................................................................................................... 134 4.5.5.8 Subrutinas ............................................................................................................ 135 4.5.5.9 Macro-etapas........................................................................................................ 136 4.5.5.10 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

www.infoPLC.net

Page 9: El PLC como dispositivo de automatización

Contenido

xiii

6.0 APLICACIONES .................................................................................................................161 6.1 CONTROL DE UNA PUERTA CORREDIZA.................................................................161 6.2 DETECCIÓN DE ETIQUETAS EN UNA EMBOTELLADORA....................................163 6.3 ELEVADOR CLASIFICADOR DE PAQUETES (FESTO)............................................164 6.4 CONTROL AUTOMÁTICO DEL TREN DE LAVADO DE AUTOS ............................167 6.5 CONTROL AUTOMÁTICO DE UN GARAGE ..............................................................171 6.6 CONTEO DEL NÚMERO TOTAL DE PRODUCTOS EN LÍNEAS MÚLTIPLES DE

PRODUCCIÓN (KEYENCE)..........................................................................................175 6.7 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

www.infoPLC.net

Page 10: El PLC como dispositivo de automatización

Contenido

xiv

www.infoPLC.net

Page 11: El PLC como dispositivo de automatización

Prólogo

xv

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

www.infoPLC.net

Page 12: El PLC como dispositivo de automatización

Prólogo

xvi

www.infoPLC.net

Page 13: El PLC como dispositivo de automatización

Introducción

1

1.0 INTRODUCCIÓN

1.1 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:

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.

UNIDADDE CONROL ACCIONAMIENTOS PLANTA

INTERFACES SENSORES

RESPUESTA

SEÑALESDEREALIMENTACIÓN

SALIDAS

SEÑALESDECONTROL

Elementos de señal Elementos de potencia

SEÑALES DEENTRADA

www.infoPLC.net

Page 14: El PLC como dispositivo de automatización

Introducción

2

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

Especificacionesfuncionales

Resoluciónde las opciones

tecnológicasmás eficaces

Estudioeconómico

de las opciones

Tomade decisiones

Lógicacableada

Lógicaprogramada

Fin

Estudioprevio

Estudiotécnico-

económico

Decisiónfinal

Figura 1.2 Organigrama general para el estudio de automatismos.

www.infoPLC.net

Page 15: El PLC como dispositivo de automatización

Introducción

3

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

Subfamilias específicas

Relés electromagnéticos

Lógica Eléctrica Electroneumática Cableada Electrohidráulica

Electrónica Electrónica estática Sistemas Microordenadores

Lógica Electrónica Informáticos Miniordenadores Programada 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.

www.infoPLC.net

Page 16: El PLC como dispositivo de automatización

Introducción

4

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.

www.infoPLC.net

Page 17: El PLC como dispositivo de automatización

Introducción

5

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.

www.infoPLC.net

Page 18: El PLC como dispositivo de automatización

Introducción

6

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.

www.infoPLC.net

Page 19: El PLC como dispositivo de automatización

Introducción

7

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.

www.infoPLC.net

Page 20: El PLC como dispositivo de automatización

Introducción

8

www.infoPLC.net

Page 21: El PLC como dispositivo de automatización

Estructura de los PLC

9

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.).

www.infoPLC.net

Page 22: El PLC como dispositivo de automatización

Estructura de los PLC

10

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).

www.infoPLC.net

Page 23: El PLC como dispositivo de automatización

Estructura de los PLC

11

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

www.infoPLC.net

Page 24: El PLC como dispositivo de automatización

Estructura de los PLC

12

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.

www.infoPLC.net

Page 25: El PLC como dispositivo de automatización

Estructura de los PLC

13

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.

www.infoPLC.net

Page 26: El PLC como dispositivo de automatización

Estructura de los PLC

14

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:

• 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

Page 27: El PLC como dispositivo de automatización

Estructura de los PLC

15

• 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

www.infoPLC.net

Page 28: El PLC como dispositivo de automatización

Estructura de los PLC

16

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. Actualización de las señales de entrada, y lectura de datos del coordinador, 2. Ejecución del programa de usuario, 3. 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:

www.infoPLC.net

Page 29: El PLC como dispositivo de automatización

Estructura de los PLC

17

• 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,

www.infoPLC.net

Page 30: El PLC como dispositivo de automatización

Estructura de los PLC

18

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 µPpara 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.

www.infoPLC.net

Page 31: El PLC como dispositivo de automatización

Estructura de los PLC

19

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

www.infoPLC.net

Page 32: El PLC como dispositivo de automatización

Estructura de los PLC

20

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 SISTEMA

DE PROGRAMACIÓN

SISTEMA DE

BORRADO

ANTE EL CORTE DE TENSIÓN

LA MEMORIA RAM

o memoria de lectura escritura

Eléctrica

Eléctrico

Se pierde es

volátil ROM

o memoria de solo escritura

Durante su proceso

de fabricación

Es imposible su

borrado

Se mantiene

PROM o memoria

programable

Eléctrica

Es imposible su

borrado

Se mantiene

EPROM o memoria modificable

Eléctrica

Por rayos UV

Se mantiene

EEPROM o memoria modificable

Eléctrica

Eléctrico

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: • 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

Page 33: El PLC como dispositivo de automatización

Estructura de los PLC

21

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.

www.infoPLC.net

Page 34: El PLC como dispositivo de automatización

Estructura de los PLC

22

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 mayora 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.

www.infoPLC.net

Page 35: El PLC como dispositivo de automatización

Estructura de los PLC

23

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

www.infoPLC.net

Page 36: El PLC como dispositivo de automatización

Estructura de los PLC

24

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.

www.infoPLC.net

Page 37: El PLC como dispositivo de automatización

Estructura de los PLC

25

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.

www.infoPLC.net

Page 38: El PLC como dispositivo de automatización

Estructura de los PLC

26

En la tabla 2.2 se muestran algunas de las característica nominales de fuentes de alimentación.

TENSION DE ENTRADA (V)

100/ 240 ca

100/120 ca 200/240 ca

24 cd

100/120 ca200/240 ca

TENSION DE SALIDA (V)

12 cd

12 cd

12 cd

24 cd

CORRIENTE NOMINAL DE

SALIDA (A)

1.25

2.00

1.70

1.00

FRECUENCIA 50/60 Hz 50/60 Hz --- 50/60 Hz PROTECCION

SOBRECORRIENTE SI

SI

SI

SI APLICACIONES CPU + E/S CPU + E/S CPU + E/S 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:

www.infoPLC.net

Page 39: El PLC como dispositivo de automatización

Estructura de los PLC

27

• 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

RESOLUCIÓN

TIEMPO DE

CONVERSIÓN

PRECISIÓN

0…10 V 8 bits 1mS 4…20 mA 8 bits 1mS 0…±10 V 12 bits 1mS 4…20 mA 12 bits 1mS

±(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

www.infoPLC.net

Page 40: El PLC como dispositivo de automatización

Estructura de los PLC

28

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

• 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

Page 41: El PLC como dispositivo de automatización

Estructura de los PLC

29

• 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.

c) Grabación de programas

• En cinta casete. • En chip de memoria EPROM o EEPROM. • En papel mediante impresora. • En disquete mediante PC.

c) Visualización y verificación dinámica del programa

• Del programa o parte de él. • De entradas y salidas. • De temporizadores, contadores, registros, etc.

d) Modos de servicio

• STOP (off-line), o salidas en reposo. • RUN (on-line), o ejecutando el programa. • Otros modos intermedios como MONITOR, etc.

www.infoPLC.net

Page 42: El PLC como dispositivo de automatización

Estructura de los PLC

30

Figura 2. 10 Estructura completa del PLC

www.infoPLC.net

Page 43: El PLC como dispositivo de automatización

Estructura de los PLC

31

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 odiagramas completos o partes importantes de los mismos. Este equipo incorpora el software

www.infoPLC.net

Page 44: El PLC como dispositivo de automatización

Estructura de los PLC

32

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

www.infoPLC.net

Page 45: El PLC como dispositivo de automatización

Estructura de los PLC

33

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. 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. 2. 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. 3. Gama alta. Más de 512 entradas-salidas. Su memoria de usuario supera en algunos

casos los 100 K-instrucciones.

www.infoPLC.net

Page 46: El PLC como dispositivo de automatización

Estructura de los PLC

34

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.

www.infoPLC.net

Page 47: El PLC como dispositivo de automatización

Estructura de los PLC

35

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:

www.infoPLC.net

Page 48: El PLC como dispositivo de automatización

Estructura de los PLC

36

• 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:

www.infoPLC.net

Page 49: El PLC como dispositivo de automatización

Estructura de los PLC

37

• 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.

www.infoPLC.net

Page 50: El PLC como dispositivo de automatización

Estructura de los PLC

38

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 Velocidad (*)Par trenzado, con malla 2000 m 375 KBd

Cable coaxial 4000 m 1.5 MBd Fibra óptica 20 Km 1.5 MBd

(*) Depende de la distancia Tabla 2. 4 Medios de transmisión.

www.infoPLC.net

Page 51: El PLC como dispositivo de automatización

Estructura de los PLC

39

Figura 2. 18 Expanción de E/S con estructura de estrella.

Figura 2. 19 Expanciones de E/S con estructura mixta estrella-bus.

www.infoPLC.net

Page 52: El PLC como dispositivo de automatización

Estructura de los PLC

40

www.infoPLC.net

Page 53: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

41

3.0 INTERFACES DE ENTRADA / SALIDA

3.1 INTRODUCCIÓN Las interfaces de Entrada/Salida proveen al control del proceso un diálogo operador-

má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:

www.infoPLC.net

Page 54: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

42

• 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 (half-

duplex) 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

ENTRADAS Adaptación de niveles de tensión Filtrado de perturbaciones Aislamiento eléctrico TODO O

NADA

BINARIA 1 bit

SALIDAS Adaptación de niveles de tensión Amplificación de corriente Aislamiento eléctrico

ENTRADAS Adaptación y filtrado de señal Conversión A/D

ANALÓGICAS (0, ±10V) (4, 20mA) SALIDAS Conversión D/A

Adaptación a 0, ±10 V o 4, 20mA ENTRADAS Selección de canal y multiplexado

Conversión de códigos SALIDAS Conversión de códigos (Bin <-> ASCII <-> 7segmentos)

Amplificación de corriente

CONTINUAS

DIGITALES (8, 16, 32... bits)

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.

www.infoPLC.net

Page 55: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

43

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:

Figura 3.1 Interfaces de E/S digitales

ENTRADAS/SALIDASDIGITALES

Salidas

Entradas

CorrienteContinua

CorrienteAlterna

PNP

NPN

CorrienteContinua

CorrienteAlterna

Relé

PNP

NPN

www.infoPLC.net

Page 56: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

44

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 220-

250 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:

• 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

Page 57: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

45

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.

www.infoPLC.net

Page 58: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

46

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:

• 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

Page 59: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

47

• 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.

www.infoPLC.net

Page 60: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

48

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

www.infoPLC.net

Page 61: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

49

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.

www.infoPLC.net

Page 62: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

50

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: • 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

Page 63: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

51

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.

www.infoPLC.net

Page 64: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

52

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.

www.infoPLC.net

Page 65: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

53

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.

www.infoPLC.net

Page 66: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

54

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.

Figura 3.12 Proceso de adaptación de las señales de E/S analógicas.

MULTIPLEXORANALOGICO

CONVERTIDORA/D

CPU AUTOMATA

MULTIPLEXORDIGITAL

D/A

D/A

D/A

ENTRADAS ANALÓGICAS

SALIDAS ANALÓGICAS

Dig.

BUSBUSAnalog.

SELECCIÓN DE CANAL

www.infoPLC.net

Page 67: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

55

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.

www.infoPLC.net

Page 68: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

56

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.

www.infoPLC.net

Page 69: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

57

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.

www.infoPLC.net

Page 70: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

58

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.

www.infoPLC.net

Page 71: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

59

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.

www.infoPLC.net

Page 72: El PLC como dispositivo de automatización

Interfaces de Entrada / Salida

60

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:

• 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

Page 73: El PLC como dispositivo de automatización

Programación del PLC

61

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. Determinar qué debe hacer el sistema de control y en que orden (por ejemplo,

mediante un diagrama de flujo, una descripción literal, etc.). 2. Identificar los componentes (señales) de entrada y salida al PLC. 3. 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:

www.infoPLC.net

Page 74: El PLC como dispositivo de automatización

Programación del PLC

62

• Algebraica: Instrucciones literales. • Gráfica: Símbolos gráficos.

4. Asignar direcciones de entrada/salida o internas a cada uno de los componentes que

aparecen en el modelo. 5. 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.

6. Transferir las instrucciones obtenidas a la memoria del Autómata desde la unidad de programación.

7. 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:

www.infoPLC.net

Page 75: El PLC como dispositivo de automatización

Programación del PLC

63

1. ¿Qué ocurre si la presión detectada por el nanómetro no es la precisa? 2. ¿Cuándo debe empezar a girar la broca, antes, durante o después de la bajada del taladro? 3. ¿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? 4. ¿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 1131-3). 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:

www.infoPLC.net

Page 76: El PLC como dispositivo de automatización

Programación del PLC

64

• 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:

• TIM definir un temporizador • CNT definir un contador • SET activa una variable binaria (unidad de memoria) • RST desactivar una variable binaria

www.infoPLC.net

Page 77: El PLC como dispositivo de automatización

Programación del PLC

65

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

• ADD sumar • SBB restar • MUL multiplicar • DIV dividir

2. Instrucciones de manipulación de datos • 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.

3. Instrucciones de gestión de programa • END fin de programa • JMP salto de bloque de programa • MCS habilitación de bloque de programa • JMPSUB salto a subrutina, etc.

4. 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.

www.infoPLC.net

Page 78: El PLC como dispositivo de automatización

Programación del PLC

66

• 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:

www.infoPLC.net

Page 79: El PLC como dispositivo de automatización

Programación del PLC

67

INSTRUCCION DESCRIPCIÓN = E 2.0 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 DESCRIPCIÓN U E 0.0 Realiza un AND entre el RLO y la entrada E 0.0

UN A 1.2 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:

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 DESCRIPCIÓN X Z 0 Realiza un XOR entre el RLO y el estado del contador Z 0

XN A 1.0 Realiza un XNOR entre el RLO y la salida A 1.0

Tabla 4-4 Ejemplo del empleo de la instrucción XOR

INSTRUCCION DESCRIPCIÓN O T 0 Realiza un OR entre el RLO y el estado del temporizador

T 0ON M 5.0 Realiza un NOR entre el RLO y la marca M 5.0

www.infoPLC.net

Page 80: El PLC como dispositivo de automatización

Programación del PLC

68

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 DESCRIPCION O E 0.0 Copiamos la E 0.0 en el RLO (primera c.) U E 0.1 Efectuamos un AND entre el RLO y la E 0.1 = A 2.0 Copiamos el resultado a la salida 2.0

Tabla 4-5 Programa equievalente sin emplear paréntesis

www.infoPLC.net

Page 81: El PLC como dispositivo de automatización

Programación del PLC

69

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 DESCRIPCIÓN

U E 0.0 Se introduce en el RLO el valor de la entrada 0.0 (primera c.)

O Comenzamos una operación Y antes de O U E 0.1 Introducimos el valor de la entrada 0.1 en el RLO (primera c.)U M 0.3 Efectuamos un AND entre el RLO y la marca 0.3 = A 4.0 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 1 2 3 4 5 6 7 8 9 10 11 E 1.0: 0 0 1 1 1 0 0 0 1 1 0 M 1.0: 0 0 1 1 1 0 0 0 1 1 0 A 4.0: 0 0 1 0 0 0 0 0 1 0 0

Tabla 4-8 Efectos de la instrucción FP en cada ciclo

www.infoPLC.net

Page 82: El PLC como dispositivo de automatización

Programación del PLC

70

Para el caso de sustituir en el ejemplo FP por FN, se obtendría:

CICLO 1 2 3 4 5 6 7 8 9 10 11 E 1.0: 0 0 1 1 1 0 0 0 1 1 0 M 1.0: 0 0 1 1 1 0 0 0 1 1 0 A 4.0: 0 0 0 0 0 1 0 0 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 DESCRIPCIÓN

U E 1.0 Copiamos al RLO el valor de la entrada 1.0 (primera c.)S A 4.0 Si RLO=1 se fuerza la salida 4.0 a 1 U E 1.1 Copiamos al RLO el valor de la entrada 1.1 (primera c.)R A 4.0 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.

www.infoPLC.net

Page 83: El PLC como dispositivo de automatización

Programación del PLC

71

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 DESCRIPCION L C# 3 Introduce el valor de conteo 3 en el ACU 1 U E 1.0 Carga en el RLO el valor de la entrada 1.0 S Z 1 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

www.infoPLC.net

Page 84: El PLC como dispositivo de automatización

Programación del PLC

72

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 DESCRIPCION U E 1.0 Carga en el RLO el valor de la entrada 1.0 R Z 1 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 DESCRIPCIÓN U E 0.0 Carga en el RLO el valor de la entrada 0.0 ZV Z 1 Incrementa el contador 1 si la entrada 0.0 presenta un

cambio de flanco ascendente U E 1.0 Carga en el RLO el valor de la entrada 1.0 ZR Z 1 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.

www.infoPLC.net

Page 85: El PLC como dispositivo de automatización

Programación del PLC

73

Ejemplo:

INSTRUCCION DESCRIPCIÓN L C# 5 Introduce el valor de contaje 5 en el ACU 1 U E 2.0 Carga en el RLO el valor de la entrada 2.0 S Z 1 Introduce el valor 5 (dentro de ACU 1) en el contador 1 si la

entrada 2.0 es 1 U E 1.0 Carga en el RLO el valor de la entrada 1.0 ZR Z 1 Decrementa el contador 1 si la entrada 1.0 presenta un cambio

de flanco ascendente U Z 1 Introduce en el RLO el estado del contador 1

= A 0.0 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 DESCRIPCIÓN L Z 1 Introduce el valor del contador 1 en el ACU 1 LC Z 2 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:

www.infoPLC.net

Page 86: El PLC como dispositivo de automatización

Programación del PLC

74

• 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 respectivo10 ms 0

100 ms 1 1 s 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

www.infoPLC.net

Page 87: El PLC como dispositivo de automatización

Programación del PLC

75

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 Rangos

0,01 s 10MS a 9S_990MS 0,1 s 100MS a 1M_39S_900MS1 s 1S a 16M_39S

10 s 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 DESCRIPCIÓN

U E 0.0 Empleamos la entrada 0.0 como entrada del temporizador L S5T#45s Introducimos un valor de temporización de 45 segundos

SI T 2 Empleamos el temporizador 2 como impulso U T 2 Leemos la salida del temporizador

= A 0.1 Asignamos la salida del temporizador a la salida 0.1

Tabla 4-20 Ejemplo de empleo de un temporizador como impulso

www.infoPLC.net

Page 88: El PLC como dispositivo de automatización

Programación del PLC

76

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 DESCRIPCIÓN

U E 0.7 Empleamos la entrada 0.7 como entrada del temporizador L S5T#65s Introducimos un valor de temporización de 65 segundos

SE T 4 Empleamos el temporizador 4 como retardo a la conexión U T 4 Leemos la salida del temporizador

= A 8.1 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 DESCRIPCIÓN

U E 1.2 Empleamos la entrada 1.2 como entrada del temporizador L S5T#32s Introducimos un valor de temporización de 32 segundos

SS T 2 Empleamos el temporizador 2 como retardo a la c. con memoria

U T 2 Leemos la salida del temporizador = A 3.1 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.

www.infoPLC.net

Page 89: El PLC como dispositivo de automatización

Programación del PLC

77

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ónU 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 DESCRIPCIÓN

U E 2.0 Empleamos la entrada 2.0 como re-arranque FR T 1 Re-arrancamos el temporizador 1 si la E 2.0 pasa a 1

U E 2.1 Empleamos la entrada 2.1 como entrada del temporizador L S5T#5s Introducimos un valor de temporización de 5 segundos

SI T 1 Empleamos el temporizador 1 como impulso U T 1 Leemos la salida del temporizador

= A 4.0 Copiamos la salida del temporizador a la salida 4.0

Tabla 4-25 Ejemplo de un re-arranque de un temporizador

www.infoPLC.net

Page 90: El PLC como dispositivo de automatización

Programación del PLC

78

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 DESCRIPCIÓN

L T 1 Introduce el valor del temporizador 1 en el ACU 1 LC T 2 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.

www.infoPLC.net

Page 91: El PLC como dispositivo de automatización

Programación del PLC

79

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 DESCRIPCIÓN L MB100 Cargamos en el ACU1 un valor de un módulo de datos

SPL NORM Se salta a NORM si el valor de ACU1 no está en lista SPA UNO Se salta a UNO si ACU1 vale 0

SPA CONT Se salta a CONT si ACU1 vale 1 SPA DOS Se salta a DOS si ACU1 vale 2

NORM: SPA CONT Se salta a CONT de forma incondicional UNO: U E 0.0 Instrucción meta del salto UNO

SPA CONT Se salta a CONT de forma incondicional DOS: U E 1.0 Instrucción meta del salto DOS

SPA CONT Se salta a CONT de forma incondicional CONT: = A 2.0 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

www.infoPLC.net

Page 92: El PLC como dispositivo de automatización

Programación del PLC

80

Ejemplo de salto SPB:

INSTRUCCION DESCRIPCIÓN U E 2.0 Cargamos en el RLO el valor de la entrada 2.0

SPB AQUI Saltamos a la línea con meta "AQUI" si el RLO=1 U E 1.0 Esta línea no se ejecuta si se salta

AQUI: U E 3.0 Aquí continua la ejecución del programa = A 0.0 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 DESCRIPCIÓN

SPS AQUI Saltamos a la línea con meta "AQUI" si OV=1 SPA SEGU Esta línea no se ejecuta si OV=1

AQUI: SET Forzamos el RLO a 1 = A 1.0 Con la salida 1.0 indicamos si hubo un error previo en la

anterior ejecución del programa SEGU: U E 3.0 Aquí continua la ejecución del programa normalmente

= A 0.0 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:

www.infoPLC.net

Page 93: El PLC como dispositivo de automatización

Programación del PLC

81

• 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

1o0

0o1

Distinto de 0 SPN

1 0 Mayor que 0 SPP

0 1 Menor que 0 SPM

0o1

0o0

Mayor o igual que 0 SPPZ

0o0

0o1

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 DESCRIPCIÓN

L +5 Hacemos el ACU 1 igual a 5 PROX: T MB 10 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

L MB 10 Leemos el valor de la memoria de datos en ACU 1 LOOP PROX Decrementamos ACU 1 y saltamos a PROX si no es cero

Tabla 4-32 Ejemplo del empleo de la instrucción LOOP

www.infoPLC.net

Page 94: El PLC como dispositivo de automatización

Programación del PLC

82

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 DESCRIPCIÓN CALL FB40,DB41 Llamamos al módulo FB40 con el módulo de instancia

DB41 ON1: = E1.0 ON1 (parámetro formal) es asignado a E1.0 (p. actual

ON2: = MW2 ON2 (parámetro formal) es asignado a MW2 (p. actual) OFF1: = MD20 OFF1 (parámetro formal) es asignado a MD20 (p. actual)

L DB20 El programa accede al parámetro formal OFF1.

Tabla 4-33 Ejemplo del empleo de la instrucción CALL

www.infoPLC.net

Page 95: El PLC como dispositivo de automatización

Programación del PLC

83

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 DESCRIPCIÓN CALL FC80 llamamos la función FC80 INK1: = M1.0 INK1 (p. formal) es asignado a M 1.0 (p. actual) INK2: = EW2 INK2 (p. formal) es asignado a EW2 (p. actual) OFF: = AW4 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.

www.infoPLC.net

Page 96: El PLC como dispositivo de automatización

Programación del PLC

84

Máx. área de direccionamiento directo Máx. área de direccionamiento indirecto

0 a 65535

[DBW] [DIW] [LW] [MW]

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 DESCRIPCIÓN

CC FB12 Llamar a FB12 si RLO=1 UC FB12 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 = S o R T

0 Escribe 0 No escribe Escribe 0

1 Ejecución normal Ejecución normal Ejecución normal

Tabla 4-37

www.infoPLC.net

Page 97: El PLC como dispositivo de automatización

Programación del PLC

85

• 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.

www.infoPLC.net

Page 98: El PLC como dispositivo de automatización

Programación del PLC

86

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 DESCRIPCIÓN U E 1.0 Introducimos en el RLO el valor de la entrada 1.0

BEB Si la entrada 1.0 vale 1 el módulo acaba aquí U E 2.0 = A 3.0

BEA 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.

www.infoPLC.net

Page 99: El PLC como dispositivo de automatización

Programación del PLC

87

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

www.infoPLC.net

Page 100: El PLC como dispositivo de automatización

Programación del PLC

88

(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 <> ACU10o1

1o0

ACU2 >= ACU11o0

0o0

ACU2 <= ACU10o0

1o0

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 DESCRIPCIÓN L MW10 Introducimos en el ACU1 la palabra de marcas MW10 L EW0 Introducimos en el ACU1 la palabra de entradas EW0, el

antiguo contenido del ACU1 (MW10) pasa al ACU2 ==I Comparamos la igualdad de la palabra baja del ACU1 y ACU2

= A 1.0 La salida 1.0 se excitará si MW10 y EW0 son iguales >I Comparamos el valor de la palabra baja del ACU2 para ver si

es mayor que el valor de la palabra baja del ACU1 = A 2.0 La salida 2.0 se excitará si MW10 es mayor que EW0

Tabla 4-43 Ejemplo del empleo de las instrucciones de comparación

www.infoPLC.net

Page 101: El PLC como dispositivo de automatización

Programación del PLC

89

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

<> 0o1

1o0

0 no aplicable

> 1 0 0 no aplicable

< 0 1 0 no aplicable

>= 1o0

0o0

0 no aplicable

<= 0o0

1o0

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

www.infoPLC.net

Page 102: El PLC como dispositivo de automatización

Programación del PLC

90

En este caso, los registros afectados son: RLO, A1, A0, OV y OS . Ejemplo:

INSTRUCCIÓN DESCRIPCIÓN L MD24 Introducimos en el ACU1 la palabra doble de marcas MD24

L +1.00E+00 Introducimos en el ACU1 un valor en coma flotante de 32 bits, el antiguo contenido del ACU1 (MD24) pasa al ACU2

>R Comparamos el ACU2 para ver si es mayor que el ACU1 = A 1.0 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. Son lenguajes estructurados, donde es posible la programación por bloques o

“procedimientos”, con definición de las variables locales o globales. 2. Incluyen estructuras de cálculo repetitivo y condicional, tales como:

• FOR ... TO • REPEAT ... UNTIL X • WHILE X ... • IF ... THEN ... ELSE

3. 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.

www.infoPLC.net

Page 103: El PLC como dispositivo de automatización

Programación del PLC

91

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

www.infoPLC.net

Page 104: El PLC como dispositivo de automatización

Programación del PLC

92

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

www.infoPLC.net

Page 105: El PLC como dispositivo de automatización

Programación del PLC

93

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

www.infoPLC.net

Page 106: El PLC como dispositivo de automatización

Programación del PLC

94

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

www.infoPLC.net

Page 107: El PLC como dispositivo de automatización

Programación del PLC

95

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 OPERANDO0000 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.

www.infoPLC.net

Page 108: El PLC como dispositivo de automatización

Programación del PLC

96

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 OPERANDO0000 OUT 0000

Tabla 4-49 Mnemónico de la instrucción OUT

www.infoPLC.net

Page 109: El PLC como dispositivo de automatización

Programación del PLC

97

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 OPERANDO0000 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

www.infoPLC.net

Page 110: El PLC como dispositivo de automatización

Programación del PLC

98

PASO INSTRUCCION OPERANDO00000 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 OPERANDO00000 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

www.infoPLC.net

Page 111: El PLC como dispositivo de automatización

Programación del PLC

99

PASO INSTRUCCION OPERANDO00000 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 OPERANDO00000 LOAD 00000 00001 OR 00001 00002 LOAD 00002 00003 OR NOT 00003 00004 AND LOAD 00005 INSTRUCCIONTabla 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.

www.infoPLC.net

Page 112: El PLC como dispositivo de automatización

Programación del PLC

100

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 OPERANDO00000 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

www.infoPLC.net

Page 113: El PLC como dispositivo de automatización

Programación del PLC

101

PASO INSTRUCCIÓN OPERANDO00000 LOAD 00000 00001 AND NOT 00001 00002 INSTRUCCION00003 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.

www.infoPLC.net

Page 114: El PLC como dispositivo de automatización

Programación del PLC

102

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 INSTRUCCIÓN OPERANDO00000 LOAD 00000 00001 AND 00001 00002 INSTRUCCION 100003 INSTRUCCIÓN 200004 AND 00002 00005 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

www.infoPLC.net

Page 115: El PLC como dispositivo de automatización

Programación del PLC

103

PASO INSTRUCCIÓN OPERANDO00000 LOAD 00000 00001 AND 00001 00002 OUT TR0 00003 AND 00002 00004 INSTRUCCIÓN 100005 LOAD TR0 00006 AND 00003 00007 INSTRUCCIÓN 200008 LOAD TR0 00009 AND 00004 00010 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 INSTRUCCIÓN OPERANDO00000 LOAD 00000 00001 AND 00001 00002 AND 00002 00003 INSTRUCCION 100004 LOAD 00000 00005 AND 00001 00006 AND 00003 00007 INSTRUCCION 200008 LOAD 00000 00009 AND 00001 00010 AND 00004 00011 INSTRUCCIÓN 3

Tabla 4-59 Listado de mnemónicos sin uso de los TR´s

www.infoPLC.net

Page 116: El PLC como dispositivo de automatización

Programación del PLC

104

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. Activar una sirena durante 5 segundos. 2. Retardar por 10 minutos la apertura de una válvula. 3. 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

www.infoPLC.net

Page 117: El PLC como dispositivo de automatización

Programación del PLC

105

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 off-delay) 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. ¿Qué evento encenderá el temporizador?. Típicamente esto se realiza con una de las

entradas (Un sensor conectado a la entrada 00000 por ejemplo). 2. ¿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.

www.infoPLC.net

Page 118: El PLC como dispositivo de automatización

Programación del PLC

106

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

www.infoPLC.net

Page 119: El PLC como dispositivo de automatización

Programación del PLC

107

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 INSTRUCCIÓN OPERANDO00000 LOAD 00000 00001 TIMH (15) 000 00002 #150 00003 LOAD TIMH000 00004 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.

www.infoPLC.net

Page 120: El PLC como dispositivo de automatización

Programación del PLC

108

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

www.infoPLC.net

Page 121: El PLC como dispositivo de automatización

Programación del PLC

109

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. Producir una señal sonora cada 20 productos determinados. 2. Contar el número de piezas que se han producido en una línea de producción. 3. 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)

www.infoPLC.net

Page 122: El PLC como dispositivo de automatización

Programación del PLC

110

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.

www.infoPLC.net

Page 123: El PLC como dispositivo de automatización

Programación del PLC

111

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).

www.infoPLC.net

Page 124: El PLC como dispositivo de automatización

Programación del PLC

112

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.

www.infoPLC.net

Page 125: El PLC como dispositivo de automatización

Programación del PLC

113

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. ¿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).

2. ¿Cuántos pulsos son necesarios contar antes de reaccionar?. Por ejemplo, contar 5 elementos antes de empaquetarlos en un envase.

3. ¿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.

www.infoPLC.net

Page 126: El PLC como dispositivo de automatización

Programación del PLC

114

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 INSTRUCCIÓN OPERANDO00000 LOAD 00000 00001 LOAD 00001 00002 KEEP 00100 00003 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

www.infoPLC.net

Page 127: El PLC como dispositivo de automatización

Programación del PLC

115

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 INSTRUCCIÓN OPERANDO00000 LOAD 00000 00001 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

www.infoPLC.net

Page 128: El PLC como dispositivo de automatización

Programación del PLC

116

PASO INSTRUCCIÓN OPERANDO00000 LOAD 00000 00001 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 TRATAMIENTO OUT Y OUT NOT Bit designado puesto a OFF

TIM y TIMH Reset CNT y CNTR Se mantiene el PV

SEP Se mantiene el estado del bit DIFU y DIFD No ejecutada

Resto de instruccionesNo 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

www.infoPLC.net

Page 129: El PLC como dispositivo de automatización

Programación del PLC

117

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:

• 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.

4.4.10.17 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

www.infoPLC.net

Page 130: El PLC como dispositivo de automatización

Programación del PLC

118

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.

www.infoPLC.net

Page 131: El PLC como dispositivo de automatización

Programación del PLC

119

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

www.infoPLC.net

Page 132: El PLC como dispositivo de automatización

Programación del PLC

120

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: • 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

Page 133: El PLC como dispositivo de automatización

Programación del PLC

121

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:

www.infoPLC.net

Page 134: El PLC como dispositivo de automatización

Programación del PLC

122

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).

www.infoPLC.net

Page 135: El PLC como dispositivo de automatización

Programación del PLC

123

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).

www.infoPLC.net

Page 136: El PLC como dispositivo de automatización

Programación del PLC

124

Figura 4. 52 La condición del termostato se puede representar dentro del recuadro

Figura 4. 53 O bien, la condición del termostato se puede representar fuera del recuadro.

4.5.2.2 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

www.infoPLC.net

Page 137: El PLC como dispositivo de automatización

Programación del PLC

125

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.

www.infoPLC.net

Page 138: El PLC como dispositivo de automatización

Programación del PLC

126

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:

• 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

Page 139: El PLC como dispositivo de automatización

Programación del PLC

127

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).

www.infoPLC.net

Page 140: El PLC como dispositivo de automatización

Programación del PLC

128

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.

Figura 4. 64 Sol. Caso II. Este caso se puede resolver colocando todas las acciones

asociadas en una misma etapa.

4.5.5.2 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.

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).

4.5.5.3 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.

www.infoPLC.net

Page 141: El PLC como dispositivo de automatización

Programación del PLC

129

• 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.

www.infoPLC.net

Page 142: El PLC como dispositivo de automatización

Programación del PLC

130

• 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.

www.infoPLC.net

Page 143: El PLC como dispositivo de automatización

Programación del PLC

131

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.

www.infoPLC.net

Page 144: El PLC como dispositivo de automatización

Programación del PLC

132

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”.

www.infoPLC.net

Page 145: El PLC como dispositivo de automatización

Programación del PLC

133

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´).

www.infoPLC.net

Page 146: El PLC como dispositivo de automatización

Programación del PLC

134

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.

www.infoPLC.net

Page 147: El PLC como dispositivo de automatización

Programación del PLC

135

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.

www.infoPLC.net

Page 148: El PLC como dispositivo de automatización

Programación del PLC

136

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.

www.infoPLC.net

Page 149: El PLC como dispositivo de automatización

Programación del PLC

137

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.

www.infoPLC.net

Page 150: El PLC como dispositivo de automatización

Programación del PLC

138

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.

www.infoPLC.net

Page 151: El PLC como dispositivo de automatización

Programación del PLC

139

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.

www.infoPLC.net

Page 152: El PLC como dispositivo de automatización

Programación del PLC

140

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.

www.infoPLC.net

Page 153: El PLC como dispositivo de automatización

Programación del PLC

141

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.

www.infoPLC.net

Page 154: El PLC como dispositivo de automatización

Programación del PLC

142

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.

www.infoPLC.net

Page 155: El PLC como dispositivo de automatización

Programación del PLC

143

Figura 4. 96 Programación combinada de diagramas lógicos con Ladder.

www.infoPLC.net

Page 156: El PLC como dispositivo de automatización

Programación del PLC

144

www.infoPLC.net

Page 157: El PLC como dispositivo de automatización

Comunicaciones y Redes

145

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.

www.infoPLC.net

Page 158: El PLC como dispositivo de automatización

Comunicaciones y Redes

146

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.

RS-232 RS-422 RS-485 Tipo de línea Desbalanceada Balanceada Balanceada Número máximo de dispositivos 1 1 32 Número, máximo de receptores 1 10 32 Longitud máxima (m) 15 1200 1200 Velocidad máxima 20 Kb/s 10 Mb/s 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 Fast-

www.infoPLC.net

Page 159: El PLC como dispositivo de automatización

Comunicaciones y Redes

147

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: • 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.

5.2 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.

www.infoPLC.net

Page 160: El PLC como dispositivo de automatización

Comunicaciones y Redes

148

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.

www.infoPLC.net

Page 161: El PLC como dispositivo de automatización

Comunicaciones y Redes

149

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 Modelo OSI completo (1 a 7) Conexión física Cable coaxial Topología Bus Codificación Modulación Banda Ancha FDM (división de canales

por frecuencia): 5.75 a 450 MHz Ancho de banda por canal 6 MHz Velocidad 10 Mb/s Protocolo de acceso Paso de testigo en anillo IEEE 802.4

Tabla 5.3 Características básicas de MAP

www.infoPLC.net

Page 162: El PLC como dispositivo de automatización

Comunicaciones y Redes

150

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)

www.infoPLC.net

Page 163: El PLC como dispositivo de automatización

Comunicaciones y Redes

151

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.

www.infoPLC.net

Page 164: El PLC como dispositivo de automatización

Comunicaciones y Redes

152

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)

www.infoPLC.net

Page 165: El PLC como dispositivo de automatización

Comunicaciones y Redes

153

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.

www.infoPLC.net

Page 166: El PLC como dispositivo de automatización

Comunicaciones y Redes

154

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)

www.infoPLC.net

Page 167: El PLC como dispositivo de automatización

Comunicaciones y Redes

155

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)

www.infoPLC.net

Page 168: El PLC como dispositivo de automatización

Comunicaciones y Redes

156

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 SYNERGETIC FIELDBUS COMPARISON CHART”,

http://www.synergetic.com)

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 part 3(DP) /4 (PA), IEC 1158-2 (PA)

ASICs from Siemens and Profichip, Products from over 300 vendors

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 test phase, Prelim spec available to members

IEEE 802.3u RFC for IP, TCP & UDP

Multitude of suppliers for Ethernet components, Extremely low cost

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 Public documentation on protocol

SDS Honeywell Jan., 1994 Honeywell Specification, Submitted to IEC, ISO11989

17 chip vendors, 100+ products

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

Modbus RTU/ASCII Modicon EN 1434-3 (layer 7) IEC 870-5 (layer 2)

Open specification, no special hardware required

Remote I/O Allen-Bradley 1980 Proprietary Data Highway Plus (DH+) Allen-Bradley Proprietary

www.infoPLC.net

Page 169: El PLC como dispositivo de automatización

Comunicaciones y Redes

157

5.5.2 Características físicas

Fieldbus Name Network Topology Physical Media Max. Devices (nodes) Max. Distance PROFIBUS DP/PA Line, star & ring Twisted-pair or fiber 127 nodes

(124 slaves - 4 seg, 3 rptrs) + 3 masters

100m between segments @ 12Mbaud; 24 Km (fiber) (baudrate and media dependent)

INTERBUS-S Segmented with "T" drops

Twisted-pair, fiber, and slip-ring

256 nodes 400 m/segment, 12.8 Km total

DeviceNet Trunkline/dropline with branching

Twisted-pair for signal & power

64 nodes 500m (baudrate dependent) 6Km w/ repeaters

ARCNET Star, bus, distributed star

Coax, Twisted-pair, Fiber

255 nodes Coax 2000 feet; Twisted pair 400 feet; Fiber 6000 Feet

AS-I Bus, ring, tree star, of al

Two wire cable 31 slaves 100 meters, 300 with repeater

Foundation Fieldbus H1

Star or bus Twisted-pair, fiber 240/segment, 65,000 segments

1900m @ 31.25K wire

Foundation Fieldbus HSE 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-drop, star

4-wire shielded cable 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 & power

64 nodes, 126 addresses

500m (baudrate dependent)

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)

Industrial Ethernet Bus, Star, Daisy-Chain Thin Coax, Twisted Pair,

Fiber; Thick Coax (rare) 1024 nodes, expandable to more via Routers

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

Modbus Plus Linear Twisted Pair 32 nodes per segment, 64 max 500m per segment

Modbus RTU/ASCII

Line, star, tree Network w/ segments Twisted Pair 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

www.infoPLC.net

Page 170: El PLC como dispositivo de automatización

Comunicaciones y Redes

158

5.5.3 Mecanismo de transporte

Fieldbus Name

Communication Methods

Transmission Properties

Data Transfer Size

Arbitration Method

Error Checking

Diagnostics

PROFIBUS DP/PA

Master/slave peer to peer

DP: 9.6, 19.2, 93.75, 187.5, 500 Kbps, 1.5, 3, 6, 12 Mbps PA: 31.25 kbps

0-244 bytes Token passing HD4 CRC Station, module & channel diagnostics

INTERBUS-S Master/slave with total frame transfer

500kBits/s, full duplex

1-64 Bytes data 246 Bytes Parameter 512 bytes h.s., unlimited block

None 16-bit CRC Segment location of CRC error and cable break

DeviceNet Master/slave, multi-master, peer to peer

500 kbps, 250 kbps, 125 kbps

8-byte variable message with fragmentation for larger packets

Carrier-Sense Multiple Access w/ Non-Destructive Bitwise Arbitration

CRC check 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 polling

Data and power, EMI resistant

31 slaves with 4 in and 4 out

Master/slave with cyclic polling

Manchester Code, hamming-2

Slave fault, device fault

Foundation Fieldbus H1

Client/server publisher/ subscriber, Event notification

31.25 kbps 128 octets Scheduler, multiple backup

16-bit CRC Remote diagnostics, network monitors, parameter status

Foundation Fieldbus HSE

Client/Server, Publisher/Subscriber, Event Notification

100Mbps Varies, Uses Standard TCP/IP

CSMA/CD CRC

IEC/ISA SP50 Fieldbus

Client/server Publisher/ subscriber

31.25 kbps IS+1, 2.6, 5 Mbps

64 octets high & 256 low priority

Scheduler, tokens, or master

16-bit CRC Configurable on network management

Seriplex Master/slave peer to peer

200 Mbps 7680/transfer Sonal multiplexing

End of frame & echo check

Cabling problems

WorldFIP Peer to peer 31.25 kbps, 1 & 2.5 Mbps, 6 Mbps fiber

No limit, variables 128 bytes

Central arbitration

16-bit CRC, data "freshness" indicator

Device message time-out, redundant cabling

LonWorks Master/slave peer to peer

1.25 Mbs full duplex

228 bytes Carrier Sense, Multiple Access

16-bit CRC Database of CRC errors and device errors

SDS Master/slave, peer to peer, multi-cast, multi-master

1Mbps, 500 kbps, 250 kbps, 125 kbps

8-byte variable message

Carrier-Sense Multiple Access w/ Non-Destructive Bitwise Arbitration

CRC check Bus monitoring

www.infoPLC.net

Page 171: El PLC como dispositivo de automatización

Comunicaciones y Redes

159

ControlNet Producer/Consumer, Device Object Model 5 Mbps 0-510 bytes

variable CTDMA Time Slice Multiple Access

Modified CCITT with 16-bit Polynomial

Duplicate Node ID, Device, Slave Faults

CANopen Master/slave, peer to peer, multi-cast, multi-master

10K, 20K, 50K, 125K, 250K, 500K, 800K, 1Mbps

8-byte variable message

Carrier-Sense Multiple Access w/ Non-Destructive Bitwise Arbitration

15 Bit CRC Error Control & Emergency Messages

Industrial Ethernet Peer to Peer 10, 100Mbps 46-1500 Bytes CSMA/CD CRC 32

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 CRC 16 none

DH+ Multi-Master, Peer<>Peer 57.6 kbps 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 DependentAS-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 DependentModbus Plus Modbus RTU/ASCII

Remote I/O 12msec @230, 40 msec @57.6 bus cycle time

DH+

www.infoPLC.net

Page 172: El PLC como dispositivo de automatización

Comunicaciones y Redes

160

www.infoPLC.net

Page 173: El PLC como dispositivo de automatización

Aplicaciones

161

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 Descripción 1 S1 = Pulsador, estera o alfombra 2 S2 = Interruptor de límite (puerta abierta) Entradas (I) 3 S3 = Interruptor de límite (puerta cerrada) 1 K1 = Contactor (cierra la puerta corrediza) 2 K3 = Contactor (abre la puerta corrediza) 11 H1 = Lámpara indicadora (apertura de puerta)

Salidas (Q)

12 H2 = Lámpara indicadora (cierre de puerta) Temporizador (T) 1 K2 = Relé de tiempo (retardo para el cierre)

Cuadro de asignaciones

www.infoPLC.net

Page 174: El PLC como dispositivo de automatización

Aplicaciones

162

Figura 6.1 Diagrama de escalera Programa

Figura 6.2 Conexiones al autómata

STR NOT I1 STR T1 OR Q1 AND STR AND NOT Q2 AND NOT I2 OUT Q1 STR NOT I1 AND I3 OUT TMR T1 03 STR I1 OR Q2 AND NOT Q1 AND NOT I3 OUT Q2 STR Q1 OUT Q11 STR Q2 OUT Q12 END

M1 21 3 n··············

L L1 2 11 12 n······

PLC

S1 S2 S3

A1 K1 A2

A1 K3 A2U1 = 220 V~

H1 H2

K1 cerrar

K3 abrir

S2 puerta cerrada

S3 puerta abierta

K2 retardo para el cierre

S1

H1 cierre

H2 apertura

www.infoPLC.net

Page 175: El PLC como dispositivo de automatización

Aplicaciones

163

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 0000 STR 0001 STR 0002 SFT 1000

1010 STR 1001 OR 0500 AND NOT 0003 OUT 0500 STR 1001 OR 0501 AND NOT T0 OUT 0501 OUT TMR T0 0015 STR 0000 CNT C0 0010 STR C0 OUT 502

Programa Figura 6.4 Diagrama de escalera

www.infoPLC.net

Page 176: El PLC como dispositivo de automatización

Aplicaciones

164

Entrada Relé Detección de botella sin etiqueta 0000 Detección de botella 0001 Reset 0002 Detección de la posición original del brazo del robot 0003

Salida Brazo de robot 0500 Motor de la cinta transportadora B 0501 Lámpara de alarma 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).

www.infoPLC.net

Page 177: El PLC como dispositivo de automatización

Aplicaciones

165

Cuadro de asignaciones

Figura 6.5 Gráfico del proceso

Programa en lenguaje de alto nivel

TIPO Asignación Descripción S1 Pulsador de marcha B0 Final de carrera posición retraída del cilindro A B1 Final de carrera posición extendida del cilindro A S2 Pulsador medidor de paquetes B2 F. de C. posición retraída del cilindro B B3 F. de C. posición extendida del cilindro B B4 F. de C. posición retraída del cilindro C

Entradas (E)

B5 F. de C. posición extendida del cilindro CY1 Electroválvula cilindro A (avanza) Y2 Electroválvula cilindro B (avanza) Y3 Electroválvula cilindro C (avanza)

Salidas (S)

Y4 Electroválvula cilindro C (recupera)SM0 Activa Y1 SM1 Activa Y3 SM2 Activa Y2 SM3 Activa Y4 SM4 Auxiliar del circuito

Marcas (M)

SM5 Auxiliar del circuito

PASO ELEVAR CUANDO S1

Y B0 Y B2 Y B4

ENTONCES ACTIVAR Y1 PASO DESPLAZAR CUANDO S2

Y B1 ENTONCES DESACTIVAR Y4

ACTIVAR Y3 SALTAR RETIRAR

CUANDO NO S2 Y B1

ENTONCES ACTIVAR Y2 PASO RETIRAR CUANDO B5 ENTONCES DESACTIVAR Y3

ACTIVAR Y4 SALTAR BAJAR

CUANDO B3 ENTONCES DESACTIVAR Y2 PASO BAJAR CUANDO B2

Y B4 ENTONCES DESACTIVAR Y1

SALTAR ELEVAR FIN

www.infoPLC.net

Page 178: El PLC como dispositivo de automatización

Aplicaciones

166

Programa

Instrucción Dato STR NOT SM0 AND B0 AND B2 AND B4 OR SM0 AND NOT SM5 OUT SM0 STR B1 AND S2 OR SM1 AND SM0 AND NOT SM2 OUT SM1 STR B1 AND NOT S2 OR SM2 AND SM0 AND NOT SM1 OUT SM2 STR B5 OR SM3 AND SM1 AND NOT SM4 OUT SM3 STR B3 OR SM4 AND SM2 AND NOT SM3 OUT SM4 STR B2 AND B4 STR SM4 OR SM3 AND STR OUT SM5 STR SM0 AND NOT SM5 OUT Y1 STR SM2 AND NOT SM4 OUT Y2 STR SM1 AND NOT SM3 OUT Y3 STR SM3 OUT Y4 END

Figura 6.6 Diagrama de escalera

www.infoPLC.net

Page 179: El PLC como dispositivo de automatización

Aplicaciones

167

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.

www.infoPLC.net

Page 180: El PLC como dispositivo de automatización

Aplicaciones

168

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 Asignación Descripción S1 Final de carrera (izquierda) S2 F. de C. (derecha) S3 Detector de presencia de vehículo M Pulsador de marcha

Entradas

P Pulsador de paro MP1 Desplazamiento de la máquina de derecha a Izq. MP2 Desplazamiento de la máquina de Izquierda a der. MV Motor del ventilador MC Motor de los cepillos

Salidas

XV Electroválvula - salida de líquido Marcas IR0 - IR5 Relés Auxiliares del circuito

Cuadro de asignación de variables

www.infoPLC.net

Page 181: El PLC como dispositivo de automatización

Aplicaciones

169

Instrucción Dato STR M AND S2 OR IR0 AND S3 AND NOT P AND NOT IR4 OUT IR0 STR S1 AND NOT S2 OR IR1 AND IR0 OUT IR1 STR IR1 AND NOT S1 AND S2 OR IR2 AND IR0 OUT IR2 OUT MV STR IR2 AND NOT S2 AND S1 OR IR3 AND IR0 OUT IR3 STR IR3 AND NOT S1 AND S2 OUT IR4 STR P OR IR5 AND NOT S2 AND NOT IR0 OUT IR5 STR NOT IR1 OR IR2 AND IR0 AND NOT IR3 OUT MP1 STR IR1 AND NOT IR2 STR IR3 AND NOT IR4 OR STR STR IR5 OR STR OUT MP2 STR IR0 AND NOT IR2 OUT MC OUT VX END Figura 6.9 Diagrama de escalera Programa

www.infoPLC.net

Page 182: El PLC como dispositivo de automatización

Aplicaciones

170

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).

IR1 es un biestable R-S que se activa

cuando la máquina alcanza el final de desplazamiento hacia la izquierda (S1).

IR2, otro biestable R-S, se activa al

cerrarse el final de carrera S2 si está activada IR1 (se ha realizado el primer recorrido de derecha a izquierda).

El biestable IR3 se activa al cerrarse

el final de carrera S1 si está activada IR2 (se ha realizado el primer recorrido de izquierda a derecha).

IR4 se activa al cerrarse S1 si está

activada IR3 (se ha realizado el segundo 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.

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. MV sólo debe activarse en el

segundo recorrido de ida y vuelta. Por ello coincide con IR2.

MC y XV deben activarse

únicamente en el primer recorrido de ida y vuelta si IR0 está activa y no IR2.

Figura 6.10 Diagrama de funciones

&

=

≥1&

M

S2

S3PIR4

IR0

IR0

&

=

≥1 &S1

S2

IR1 IR0

IR1

&

=

≥1 &IR1S1S2

IR2 IR0

IR2

=MV

&

=

≥1 &IR2S2S1

IR3 IR0

IR3

&IR3S1S2 =

IR4

=

≥1 &S2IR0

IR5

P

IR5

=

≥1 &IR0IR3

MP1

IR1

IR2

&

=

≥1

IR1

IR2IR5

MP2&IR3

IR4

&IR0

IR2 =MC

=XV

www.infoPLC.net

Page 183: El PLC como dispositivo de automatización

Aplicaciones

171

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.

www.infoPLC.net

Page 184: El PLC como dispositivo de automatización

Aplicaciones

172

• 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 Denominación S1 X0 S2 X1 S3 X2 S4 X3 S5 X4 M X5 P X6 R X7

M1 Y0 M2 Y1 LV Y2 LR 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.

www.infoPLC.net

Page 185: El PLC como dispositivo de automatización

Aplicaciones

173

Figura 6.12 Diagrama de escalera Programa

Instrucción Dato STR X5 OR IR0 AND NOT X6 OUT IR0 STR X0 OR Y0 AND NOT IR2 AND IR0 AND NOT Y3 OUT Y0 STR X1 OR IR1 AND NOT IR2 AND Y0 OUT IR1 STR NOT X1 AND IR1 OUT IR2 STR X4 OR IR3 AND NOT IR5 AND IR0 OUT IR3 STR IR3 AND X2 OR Y1 AND NOT IR5 OUT Y1 STR X3 AND Y1 OR IR4 AND NOT IR5 AND IR0 OUT IR4 STR NOT X3 AND IR4 OUT IR5 STR X7 AND IR0 STR IR5 STR IR2 OR IR5 CTR 45

10 OUT Y3 STR IR0 AND NOT Y3 OUT Y2 END

www.infoPLC.net

Page 186: El PLC como dispositivo de automatización

Aplicaciones

174

Figura 6.13 Diagrama de funciones

≥1 &

10

&

X6

IR0

CTR 45

X5

IR0 =

=

=IR5

IR0

Y1

≥1 &IR2 X0

Y0 =

IR0 Y3

Y0

≥1 &IR2 X1

IR1 =Y0

IR1

≥1X1

IR1 = IR2

≥1 &IR5 X4

IR3 =IR0

IR3

& ≥1Y1 IR3

X2

&IR5

= IR4

& ≥1IR4 X3

Y1

&IR5

&X3

IR4 = IR5

≥1

X7

IR0

IR2

IR5

Y3

&IR0

Y3 = Y2

www.infoPLC.net

Page 187: El PLC como dispositivo de automatización

Aplicaciones

175

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 Descripción 0000 Conteo de productos de la línea 1 0001 Conteo de productos de la línea 2 0002 Conteo de productos de la línea 3 0003 Conteo de productos de la línea 4 0004 Conteo de productos de la línea 5

Entradas

0005 Reset Salida 0500 salida comparadora

2002 Auxiliar del circuito Marcas 2009 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.

www.infoPLC.net

Page 188: El PLC como dispositivo de automatización

Aplicaciones

176

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:

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.

1) 2)

www.infoPLC.net

Page 189: El PLC como dispositivo de automatización

Aplicaciones

177

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.

Figura 6.17 Gráfico del proceso

TIPO Asignación Descripción Entrada 0004 Entrada de conteo

1404 Ciclo de medición del contador de frecuencia (1-9999 [ms]) 1405 Resultado de la cuenta (Hz) Y3 Electroválvula cilindro C (avanza)

Memorias de datos

Y4 Electroválvula cilindro C (recupera) 2305 Relé auxiliar especial: habilita/deshabilita la función contador

de frecuencia ON: habilitado, OFF: deshabilitado 2008 Relé auxiliar

Marcas

2002 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:

( )( )rotaciónunaporpulsosdeNosegHZFrecuenciarpmrotacionesdeNo

..)(60)()(. =

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.

Pulsos

www.infoPLC.net

Page 190: El PLC como dispositivo de automatización

Aplicaciones

178

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

www.infoPLC.net

Page 191: El PLC como dispositivo de automatización

Apéndice

179

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. La IEC 61131-3 es la tercera parte de la familia IEC 61131.Consiste de: • Parte 1: Visión general • Parte 2: Hardware • Parte 3: Lenguajes de Programación • Parte 4: Reglas de usuario • Parte 5: 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

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)

The IEC 1131-3 Standard

Common Elements

Programming Languages

www.infoPLC.net

Page 192: El PLC como dispositivo de automatización

Apéndice

180

en configuraciones, recursos y programas. De esta manera se crea un alto nivel de independiente al hardware, soportando la reutilización del software. El alcance de las variables normalmente está limitado a la unidad de organización en la cual se declaran, p. Ej. local. 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).

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. 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. 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.

Cualquiera de éstos puede ejecutarse periódicamente o bajo la ocurrencia de un disparador especificado, como el cambio de una variable. 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. 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.

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). Las funciones definidas por el usuario pueden ser usadas una y otra vez una vez definidas. Bloques de Funciones, FBs

Los bloques de funciones son el equivalente a los circuitos integrados, ICs, representando una función de control especializada. Contienen tanto

Access path

Executioncontrol path

FBTask

Program ProgramFB FB

Task

Program

Task

ProgramFB FB

Task

Resource Resource

Configuration

FunctionBlock

www.infoPLC.net

Page 193: El PLC como dispositivo de automatización

Apéndice

181

datos como el algoritmo, de modo que mantienen pista de loa anterior. 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. 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

cualquiera de los lenguajes de programación definidos. Diagrama de Función Secuencial, SFC

Step 1 N FILL

Step 3

Step 2 S Empty

Transition 1

Transition 2

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.

www.infoPLC.net

Page 194: El PLC como dispositivo de automatización

Apéndice

182

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) Structured Text (ST)

Function Block Diagram (FBD) Ladder Diagram (LD)

LD A

ANDN B

ST C

C:=A AND NOT B

A B C

-| |--|/|----------------( )

AND

A 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

comunicación, combinando gente de diferentes entornos o áreas. 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

Page 195: El PLC como dispositivo de automatización

Apéndice

183

Top-down vs. bottom-up

Common Elements

Programming Languages

Top Down

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. 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.

Conclusió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.

www.infoPLC.net

Page 196: El PLC como dispositivo de automatización

Apéndice

184

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

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

Page 197: El PLC como dispositivo de automatización

Apéndice

185

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 61131-3

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.

www.infoPLC.net

Page 198: El PLC como dispositivo de automatización

Apéndice

186

www.infoPLC.net

Page 199: El PLC como dispositivo de automatización

Conclusiones

187

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

www.infoPLC.net

Page 200: El PLC como dispositivo de automatización

Conclusiones

188

www.infoPLC.net

Page 201: El PLC como dispositivo de automatización

Conclusiones

189

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

www.infoPLC.net

Page 202: El PLC como dispositivo de automatización

Conclusiones

190

www.infoPLC.net

Page 203: El PLC como dispositivo de automatización

Bibliografia y Enlaces de interes

189

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

www.infoPLC.net

Page 204: El PLC como dispositivo de automatización

Bibliografia y Enlaces de interes

190

Sitios de Internet Autómatas industriales http://www.automatas.org/redes/redes.htmPLCopen http://www.plcopen.org/EYA http://eya.swin.netSIEMENS 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.comYour Personal PLC Tutor http://www.plcs.net/links.htmSiemens Energy & Automation http://www.sea.siemens.com/automat/product/plc/auplcov.htmlSiemens – Dowloads http://www.sea.siemens.com/step/downloads.htmlProyectos PIC http://inicia.es/de/juanmarod/portada.htmDAP S.A. distribuidor Siemens http://www.grupdap.com/EjProgramacion.htmDownloads & manuales http://www.grupdap.com/manuales.htmlAutómatas Programables – PLC’s http://www.geocities.com/SiliconValley/Bay/8507/index.htmlREEA http://olmo.pntic.mec.es/~jmarti50/portada/index.htmSoftware !Automatismes Morvedre http://www.siamred.com/Esp/Index.aspSimulador 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

www.infoPLC.net