Sei sulla pagina 1di 204

www.infoPLC.

net

Unidad Iztapalapa Ciencias Bsicas e Ingeniera Licenciatura en Ing. Electrnica rea de concentracin: Computacin El PLC como dispositivo de automatizacin Alumnos: Taboada Balderas Armando 93222934 Zozoaga Gmez Erick 94218343 Asesor: ________________________ Vctor Hugo Tllez Arrieta

Martes 10 de Abril de 2003

www.infoPLC.net

El PLC como dispositivo de automatizacin

Taboada Balderas Armando Zozoaga Gmez Erick

www.infoPLC.net

AGRADECIMIENTOS
De antemano quiero agradecer a todas aquellas personas que han confiado en m para sacar adelante, no un trabajo, sino toda una carrera, y que sin las cuales no sera posible tal empresa. Desde luego muy especialmente a: Primeramente a mis paps: El Sr. Leovino Taboada Ortega y la Sra. Socorro Balderas Bonilla Quienes me ensearon que una de las cosas ms importantes en la vida es el luchar por convertir en realidad los ms anhelados sueos y que sin sus consejos, desvelos y apoyo no habra podido continuar con esta bonita carrera. A mi esposa e hijo: Myrna Raquel Ruiz Gmez y Armando Taboada Ruiz respectivamente. Mis Amores. A quienes les he robado muchos das y muchas noches en los que no he podido estar con ellos. Esperndoles 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 econmico y lo ms importante en lo moral para no claudicar en la terminacin de este un paso ms en mi carrera.

Armando Taboada Balderas

www.infoPLC.net

A mis padres por su apoyo incondicional siempre. Erick Zozoaga Gmez

www.infoPLC.net

Contenido

CONTENIDO
PRLOGO......................................................................................................................................xv 1.0 INTRODUCCIN....................................................................................................................1

1.1 SISTEMAS DE CONTROL ..................................................................................................1 1.1.1 Fases de estudio en la elaboracin de un automatismo ..................................................2 1.1.2 Opciones tecnolgicas....................................................................................................3 1.2 CONTROLADORES LGICOS PROGRAMABLES .........................................................3 1.2.1 Campos de aplicacin.....................................................................................................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 Configuracin 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 bsico de trabajo de la CPU ..........................................................................19 2.2.2 Memorias del PLC .......................................................................................................20 2.2.2.1 Organizacin de la memoria. Principios de direccionamiento ...............................21 2.2.3 Fuente de alimentacin.................................................................................................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 programacin...............................................................................28 2.2.6.1 Funciones principales de los equipos de programacin..........................................28 2.2.6.2 Tipos de unidades de programacin .......................................................................31 2.2.7 Perifricos.....................................................................................................................33 2.2.8 Tamao de los PLC ......................................................................................................33 2.3 CONFIGURACIN 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 INTRODUCCIN ...............................................................................................................41 3.2 TIPOS DE INTERFACES DE E/S ......................................................................................41 3.3 ENTRADAS/SALIDAS DIGITALES.................................................................................43 3.3.1 Entradas lgicas............................................................................................................44 3.3.1.1 Entradas de corriente directa PNP ..........................................................................45 3.3.1.2 Entradas de corriente directa NPN .........................................................................46 ix

www.infoPLC.net

Contenido 3.3.1.3 Entradas de corriente alterna.................................................................................. 47 3.3.2 Salidas lgicas ............................................................................................................. 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 estticas de CA .......................................................................................... 53 3.4 ENTRADAS Y SALIDAS ANALGICAS ....................................................................... 54 3.4.1 Conversin 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 integracin........................................................ 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 analgicas ............................................................................. 58 3.4.4 Interfaces para salidas analgicas................................................................................ 59 4.0 PROGRAMACION DEL PLC............................................................................................. 61

4.1 INTRODUCCION............................................................................................................... 61 4.2 MNEMONICOS (LENGUAJE BOLANO Y LISTAS DE INSTRUCCIONES) .................................. 64 4.2.1 Primera consulta .......................................................................................................... 66 4.2.2 Asignacin ................................................................................................................... 66 4.2.3 And .............................................................................................................................. 67 4.2.4 Or................................................................................................................................. 67 4.2.5 XOR (O exclusiva) ...................................................................................................... 67 4.2.6 Expresiones entre parntesis........................................................................................ 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 conexin con memoria..................................... 76 4.2.12.6 Temporizador como retardo a la desconexin ..................................................... 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 bifurcacin del RLO......................................... 79 4.2.15 Operaciones de salto condicional en funcin de RB u OV/OS................................... 80 4.2.16 Operaciones de salto condicional en funcin de A1 y A0 .......................................... 80 4.2.17 Loop ............................................................................................................................ 81 x

www.infoPLC.net

Contenido 4.2.18 Llamar funciones y mdulos de funcin con CALL ...................................................82 4.2.19 Llamar funciones y mdulos 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 mdulos ........................................................................................................86 4.2.23 Operaciones de comparacin.......................................................................................87 4.2.23.1 Comparar dos nmeros enteros ............................................................................87 4.2.23.2 Comparar dos nmeros 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 Combinacin de instrucciones AND y OR ................................................................98 4.4.7 Instrucciones de bloque lgico AND LOAD/OR LOAD.............................................99 4.4.8 End .............................................................................................................................100 4.4.9 Actualizacin 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 Instruccin KEEP .............................................................................................114 4.4.10.14 Instruccin DIFERNCIATE UP-DIFU ..........................................................115 4.4.10.15 Instruccin DIFFERENTIATE DOWN-DIFD.................................................115 4.4.10.16 Instruccin 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 Accin condicionada ............................................................................................123 4.5.2.2 Accin retardada...................................................................................................124 4.5.2.3 Accin limitada.....................................................................................................124 4.5.2.4 Accin de impulso ................................................................................................124 4.5.2.5 Accin memorizada ..............................................................................................125 4.5.3 Transacciones .............................................................................................................125 4.5.3.1 Receptividades asociadas a las transiciones .........................................................126 4.5.4 Lneas de evolucin o lneas de enlace ......................................................................126 4.5.5 Diseo y estructuras del Grafcet ................................................................................126 xi

www.infoPLC.net

Contenido Desarrollo del sistema.......................................................................................... 127 Evolucin del sistema .......................................................................................... 128 Secuencia nica.................................................................................................... 128 Bifurcacin en O. Tambin llamada seleccin de secuencia............................ 129 Bifurcacin en Y. Tambin llamada trabajos en paralelo ................................ 131 Saltos de etapas .................................................................................................... 133 Bucles................................................................................................................... 134 Subrutinas ............................................................................................................ 135 Macro-etapas........................................................................................................ 136 Diagramas paralelos........................................................................................... 136 4.6 DIAGRAMAS LGICOS ..................................................................................................... 137 4.6.1 Funciones bsicas ...................................................................................................... 138 4.6.2 Funciones especiales.................................................................................................. 139 4.6.2.1 Temporizador con retardo a conexin ................................................................. 139 4.6.2.2 Temporizador con retardo a desconexin ............................................................ 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 conexin 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 supresin ...................................................................................... 141 4.6.2.11 Conmutador de valor de umbral para frecuencias.............................................. 141 4.6.3 Comparacin del plano de funciones con LADDER................................................. 142 5.0 COMUNICACIONES Y REDES....................................................................................... 145 4.5.5.1 4.5.5.2 4.5.5.3 4.5.5.4 4.5.5.5 4.5.5.6 4.5.5.7 4.5.5.8 4.5.5.9 4.5.5.10

5.1 INTERCONEXIONES ESTNDAR................................................................................ 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 COMPARACIN DE LOS BUSES DE CAMPO............................................................ 156 5.5.1 Informacin general................................................................................................... 156 5.5.2 Caractersticas fsicas ................................................................................................ 157 5.5.3 Mecanismo de transporte........................................................................................... 158 5.5.4 Desempeo ................................................................................................................ 159

xii

www.infoPLC.net

Contenido

6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7

APLICACIONES .................................................................................................................161 CONTROL DE UNA PUERTA CORREDIZA.................................................................161 DETECCIN DE ETIQUETAS EN UNA EMBOTELLADORA....................................163 ELEVADOR CLASIFICADOR DE PAQUETES (FESTO)............................................164 CONTROL AUTOMTICO DEL TREN DE LAVADO DE AUTOS ............................167 CONTROL AUTOMTICO DE UN GARAGE ..............................................................171 CONTEO DEL NMERO TOTAL DE PRODUCTOS EN LNEAS MLTIPLES DE PRODUCCIN (KEYENCE)..........................................................................................175 CONTEO DEL NMERO DE ROTACIONES - CONTADOR DE FRECUENCIA (KEYENCE).......................................................................................................................177

APNDICE. NORMA IEC-61131-3 ...........................................................................................179 CONCLUSIONES..........................................................................................................................187 BIBLIOGRAFA Y REFERENCIAS ..........................................................................................191

xiii

www.infoPLC.net

Contenido

xiv

www.infoPLC.net

Prlogo

PRLOGO

El objetivo de este libro radica en la gran importancia que tiene el conocer la tecnologa que actualmente se emplea en la automatizacin y de la cual no existe una gran bibliografa, o al menos no se difunde como debera 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 ms importantes acerca de la automatizacin de procesos mediante el empleo de los controladores lgicos programables mejor conocidos como PLCs. Finalmente cabe mencionar que mucha de la informacin presentada aqu podra 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 ms an actualizar los temas aqu tratados.

Nunca consideres el estudio como una obligacin 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, Benjamn

xv

www.infoPLC.net

Prlogo

xvi

www.infoPLC.net

Introduccin

1.0
1.1

INTRODUCCIN

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 mayora de las ocasiones, esto no es posible debido al tamao del proceso. Se puede definir el control como la manipulacin indirecta de las magnitudes de un sistema denominado planta a travs de otro sistema llamado sistema de control. Este sistema opera, en general, con magnitudes de baja potencia o seales, 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, hablndose entonces de sistemas automticos 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 seales de los sensores a las entradas del sistema de control. Todo sistema automtico por simple que ste sea se basa en el concepto de bucle o lazo:

SEALES DE ENTRADA

UNIDAD DE CONROL

SALIDAS SEALES DE CONTROL ACCIONAMIENTOS PLANTA

RESPUESTA

INTERFACES SEALES DE REALIMENTACIN Elementos de seal

SENSORES

Elementos de potencia

Figura 1.1 Sistema de control automtico en lazo cerrado

Primordialmente el papel del autmata programable dentro de ste sistema es el de la unidad de control, aunque suele incluir tambin totalmente o en parte, las interfaces con las seales de proceso. Al conjunto de seales de entrada y de realimentacin que entran a la unidad de control se les denomina genricamente entradas y al conjunto de seales de control obtenidas salidas. 1

www.infoPLC.net

Introduccin

1.1.1 Fases de estudio en la elaboracin de un automatismo


Para el desarrollo y eleccin correcta de un automatismo, es necesario conocer previamente los datos siguientes: Las especificaciones tcnicas del sistema o proceso a automatizar y su correcta interpretacin. La parte econmica asignada para evitar la elaboracin de una buena opcin tcnica e inviable econmicamente. Los dispositivos existentes en el mercado que se van a utilizar en la elaboracin del automatismo.

El siguiente organigrama representa el procedimiento general o fases ms utilizado para el estudio de los automatismos.
Inicio
Especificaciones funcionales

Estudio previo

Estudio tcnicoeconmico

Resolucin de las opciones tecnolgicas ms eficaces

Estudio econmico de las opciones

Toma de decisiones Decisin final

Lgica cableada

Lgica programada

Fin

Figura 1.2 Organigrama general para el estudio de automatismos.

www.infoPLC.net

Introduccin

1.1.2 Opciones tecnolgicas


El automaticista dispone de numerosas herramientas tecnolgicas para realizar el sistema de control de su planta, que se reagrupan habitualmente en dos categoras fundamentales: Las soluciones cableadas y las programadas. El siguiente cuadro muestra stas opciones: Tipo Familia Tecnolgica Subfamilias especficas

Lgica Cableada

Elctrica Electrnica

Lgica Programada

Electrnica

Rels electromagnticos Electroneumtica Electrohidrulica Electrnica esttica Sistemas Microordenadores Informticos Miniordenadores Microsistemas (universales especficos) Autmatas Programables

Tabla 1.1 Principales soluciones tecnolgicas de un problema de automatismo

De todas estas opciones nos concentraremos en el estudio de los Autmatas Programables o Controladores Lgicos Programables (PLCs).

1.2

CONTROLADORES LGICOS PROGRAMABLES

Se define un Controlador Lgico Programable (PLC) o Autmata Programable Industrial (API) como una computadora especializada, diseada para controlar mquinas y procesos en ambientes industriales operando en tiempo real. Realiza funciones lgicas, series, paralelos, temporizaciones, contajes y otras ms potentes como clculos, regulaciones, etc. Tambin la National Electrical Manufacturers Association (NEMA) define al PLC como un dispositivo electrnico digital que utiliza una memoria programable para almacenar instrucciones y para implementar funciones especificas tales como funciones lgicas, secuenciales, de temporizacin, de conteo y aritmticas para controlar mquinas 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, fofoclulas, detectores..., unos terminales de salida a los que se conectarn bobinas de contactores, electrovlvulas, lmparas, etc., de tal forma que la actuacin de stos ltimos est en funcin de las seales de entrada que estn activas en cada momento segn el programa introducido. Por lo tanto, los elementos tradicionales como rels auxiliares, de enclavamiento, temporizadores, contadores, etc., son internos.

www.infoPLC.net

Introduccin

Desde el punto de vista de su papel dentro del sistema de control, se ha dicho que el autmata programable es la unidad de control incluyendo las interfaces con las seales de proceso. Por otro lado se trata de un sistema con un hardware estndar, con capacidad de conexin directa a las seales de campo (niveles de tensin y corrientes industriales, transductores y perifricos electrnicos) y programable por el usuario. El concepto de hardware estndar 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 segn las necesidades. Existen autmatas compactos que incluyen una unidad de control y un mnimo de entradas y salidas y luego tienen previstas una serie de unidades de expansin de entradas/salidas o autmatas grandes montados en rack para aplicaciones ms complejas. Tambin existe la posibilidad en autmatas grandes, de eleccin entre varios tipos de CPU, adaptados a la tarea que deba realizarse o incluso de mltiples CPU trabajando en paralelo en tareas distintas. Esta adaptabilidad ha progresado ltimamente hacia el concepto de inteligencia distribuida, gracias a las comunicaciones entre autmatas y a las redes autmata-computadora. Esta tcnica sustituye el gran autmata con muchas E/S controladas por una nica CPU, por varios autmatas con un nmero menor de E/S, conectados en red y controlando cada punto o seccin de una planta bajo el control de una CPU central.

www.infoPLC.net

Introduccin

1.2.1 Campos de aplicacin


El PLC por sus caractersticas especiales de diseo se utiliza en la mayora de sectores industriales donde existe la necesidad de realizar procesos de maniobra, control, sealizacin, etc. Un autmata suele emplearse en procesos industriales que tengan una o varias de las siguientes necesidades: Espacio reducido. Procesos de produccin peridicamente cambiantes. Procesos secuenciales. Maquinaria de procesos variables. Instalaciones de procesos complejos y amplios. Chequeo de programacin centralizada de las partes del proceso.

Aplicaciones generales:

Robtica. Maniobra de mquinas. Maniobra de instalaciones. Sealizacin y control. Manejo de materiales. Administracin de energa. Mquinas herramientas. Mquinas de moldeo y fundicin. Lneas de transferencia automticas.

Esto se refiere a los autmatas programables industriales, dejando de lado los pequeos autmatas para uso ms 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 elaboracin de proyectos. Posibilidad de aadir modificaciones sin costo aadido en otros componentes. Mnimo espacio de ocupacin. Menor costo de mano de obra. Mantenimiento econmico. Posibilidad de gobernar varias mquinas con el mismo autmata. Menor tiempo de puesta en funcionamiento. Si el autmata queda pequeo para el proceso industrial puede seguir siendo de utilidad en otras mquinas o sistemas de produccin.

www.infoPLC.net

Introduccin Y entre los inconvenientes: Adiestramiento de tcnicos. Costo inicial.

Esto es relativo, ya que todas la carreras de ingeniera incluyen la automatizacin como una de sus asignaturas. En cuanto al costo, pueden encontrarse autmatas 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 razn principal de tal hecho fue la necesidad de eliminar el gran costo que se produca al reemplazar el complejo sistema de control basado en rels y contactores. En 1968 Ford y General Motors impusieron a sus proveedores de automatismos unas especificaciones para la realizacin de un sistema de control electrnico para mquinas transfer. Este equipo deba ser fcilmente 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 compaas 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 rels era que cuando los requerimientos de produccin cambiaban tambin lo haca el sistema de control. Esto comenz a resultar bastante caro cuando los cambios fueron frecuentes. Dado que los rels son dispositivos mecnicos y poseen una vida limitada se quera una estricta manutencin planificada. Por otra parte, a veces se deban realizar conexiones entre cientos o miles de rels, lo que Implicaba un enorme esfuerzo de diseo y mantenimiento. Los nuevos controladores" deban ser fcilmente programables por ingenieros de planta o personal de mantenimiento. El tiempo de vida deba ser largo y los cambios en el programa tenan que realizarse de forma sencilla. Finalmente se impona que trabajaran sin problemas en entornos industriales adversos. La solucin fue el empleo de una tcnica de programacin familiar y reemplazar los rels mecnicos por rels de estado slido. A mediados de los 70 las tecnologas dominantes de los PLC eran mquinas 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 rpida y completa la lgica de los pequeos PLC's. Por cada modelo de microprocesador haba un modelo de PLC basado en el mismo. No obstante, el 2903 fue de los ms utilizados. Las habilidades de comunicacin comenzaron a aparecer en 1973 aproximadamente. El primer sistema fue el bus Modicon (Modbus). El PLC poda ahora dialogar con otros PLC's y en conjunto podan estar aislados de las mquinas que controlaban. Tambin podan enviar y recibir seales de tensin variables, entrando en el mundo analgico.

www.infoPLC.net

Introduccin Desafortunadamente, la falta de un estndar acompaado con un continuo cambio tecnolgico ha hecho que la comunicacin de PLC's sea un maremagnum de sistemas fsicos y protocolos incompatibles entre s. No obstante fue una gran dcada para los PLC's. En los 80 se produjo un intento de estandarizacin de las comunicaciones con el protocolo MAP (Manufacturing Automation Protocol) de General Motor's. Tambin fue un tiempo en el que se redujeron las dimensiones del PLC y se pas a programar con programacin simblica a travs de ordenadores personales en vez de los clsicos terminales de programacin. Hoy da el PLC ms pequeo es del tamao de un simple rel. Los 90 han mostrado una gradual reduccin en el nmero de nuevos protocolos, y en la modernizacin de las capas fsicas de los protocolos ms populares que sobrevivieron a los 80. El ltimo estndar (IEC 1131-3) intenta unificar el sistema de programacin de todos los PLC en un nico estndar 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 estn comenzando a reemplazar al PLC en algunas aplicaciones, incluso la compaa que introdujo el Modicon 084 ha cambiado al control basado en PC. Por lo cual, no sera de extraar que en un futuro no muy lejano el PLC desaparezca frente al cada vez ms potente PC, debido a las posibilidades que ste ltimo puede proporcionar.

www.infoPLC.net

Introduccin

www.infoPLC.net

Estructura de los PLC

2.0 ESTRUCTURA DE LOS PLC


En este captulo conoceremos el hardware tanto en su configuracin 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 trmino estructura externa o configuracin externa de un PLC se refiere al aspecto fsico exterior del mismo, bloque o elementos en que est dividido, etc. Desde su nacimiento hasta nuestros das 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 configuracin o arquitectura del PLC se entiende la estructura que adopta su sistema fsico, esencialmente la unidad de control, el sistema de entradas y salidas y la memoria de la mquina, a fin de adaptarlo a las particularidades de la aplicacin: nmero de entradas y salidas, ubicacin de las mismas, potencia de clculo, capacidad de almacenamiento, etc. Por lo que la visin externa del PLC es de forma robusta dado que tiene que "aguantar" situaciones industriales extremas. Por otro lado, dada la modularidad intrnseca del PLC, esta adaptacin resulta particularmente sencilla utilizando los mdulos o ampliaciones previstas a tal efecto por los fabricantes en sus distintos modelos y gamas. As, existen bsicamente 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 alimentacin, CPU, memorias, entradas/salidas, etc. Puesto que estos mdulos no pueden funcionar de forma autnoma, el control queda centralizado en la CPU nica, la cual se encarga de controlar toda la planta. Para ello, ejecuta slo un programa que contiene todas las rutinas de control, y elabora las ordenes de mando de forma secuencial, una detrs de otra. Estos mdulos compactos se utilizan generalmente, en instalaciones pequeas que requieran pocas seales de control. En canto a su unidad de programacin, existen tres versiones: unidad fija o enchufable directamente en el autmata, enchufable mediante cable y conector, o la posibilidad de ambas conexiones. Si la unidad de programacin es sustituida por una PC, nos encontraremos que la posibilidad de conexin del mismo ser mediante cable y conector (este tema se tratar con ms detalle en la seccin 2.2.6.).

www.infoPLC.net

Estructura de los PLC

Figura 2. 1 Ejemplo de un PLC compacto de la marca Keyence de la serie KV y otro de la marca Siemens de la serie Logo!, los cuales cuentan con una fuente de alimentacin, CPU, memorias, entradas y salidas, unidad de programacin, etc.

El montaje del autmata 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 nmero de puntos E/S que presente el autmata programable, es decir: Microatmatas, con E/S< 24, Miniautmatas, con 24< E/S < 60.

Los miniautmatas pueden ampliarse mediante unidades E/S compactas o mediante mdulos de extensin E/S, siempre conectados entre s y al autmata base por medio de cables de expansin. Ver figura 2.2. Es posible conectar varias de esta unidades de expansin sobre el mismo bus interno del autmata, unidas todas ellas a la misma CPU hasta que el lmite de direccionamiento que sta lo permita. Las unidades de E/S compactas incluyen normalmente su propia fuente de alimentacin con entrada de 110/220 VCA o 24 VCD, y una fuente de salida a 24 VCC para alimentacin de captadores y sensores de entrada (y, si las cargas y la instalacin lo permiten, de actuadores de salida).

10

www.infoPLC.net

Estructura de los PLC

Figura 2. 2 Ejemplo de PLC compacto. Unidad base y dos unidades de expansin, respectivamente, los cuales, cada uno posee su propia fuente de alimentacin.

2.1.2 Estructura modular


Como su nombre indica, la estructura de este tipo de PLC se divide en mdulos o partes del mismo que realizan funciones especficas con sus propias unidades de proceso, y en general, con sus propias interfaces de E/S. Estos mdulos 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 estn reunidas las CPU, memoria de usuario o de programa y fuente de alimentacin, y separadamente las unidades de E/S en los bloques o tarjetas necesarias. Estructura europea: Su caracterstica principal es la de que existe un mdulo para cada funcin: fuente de alimentacin, CPU, E/S, etc. La unidad de programacin se une mediante cable y conector. La sujecin de los mismos se hace bien sobre carril DIN o placa perforada, bien sobre RACK, en donde va alojado el BUS externo de unin de los distintos mdulos que lo componen.

Figura 2. 3 Ejemplo de un PLC modular

11

www.infoPLC.net

Estructura de los PLC

2.2 ESTRUCTURA O ARQUITECTURA INTERNA


Un autmata programable industrial (API) o controlador lgico programable (PLC), es un equipo electrnico de control con un cableado interno (hardware) independiente del proceso a controlar, que se adapta a dicho proceso mediante un programa especfico (software) que contiene la secuencia de operaciones a realizar. Esta secuencia de operaciones se define sobre seales de entrada y salida al proceso, cableadas directamente en los bornes de conexin del PLC. Las seales de entrada pueden proceder a elementos digitales, como finales de carrera y detectores de proximidad, o analgicos, como sensores de temperatura y dispositivos de salida en tensin o corrientes continuas. Las seales de salida son rdenes digitales o seales analgicas de corriente o tensin, que se envan a los elementos indicadores y actuadores del proceso, como lmparas, contactores, vlvulas, etc. El PLC gobierna las seales de salida segn el programa de control previamente almacenado en una memoria, a partir del estado de las seales de entrada. Este programa se introduce en el autmata a travs de la unidad de programacin, que permite adems funciones adicionales como depuracin de programas, simulacin, monitorizacin, control del PLC, etc. Una caracterstica notable del PLC frente a otros sistemas de control programables est en la estandarizacin de su hardware, que permite la configuracin de sistemas de control "a medida", segn las necesidades estimadas de potencia de clculo y nmero y tipo de seales 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 PLCs 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 alimentacin.

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 seales de salida u rdenes que se enviarn al proceso. Durante la ejecucin 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 interpretacin de las instrucciones del programa de usuario y en funcin de los valores de entrada, activa las salidas deseadas.

12

www.infoPLC.net

Estructura de los PLC

Figura 2. 4 Esquema de bloques simplificado de un PLC.

La unidad de control tambin es la responsable de actualizar continuamente los temporizadores y contadores internos que hayan sido programados. La memoria del autmata programable contiene los datos o instrucciones que se necesitan para ejecutar la tarea de control. La fuente de alimentacin proporciona, a partir de la tensin exterior, las tensiones necesarias para el buen funcionamiento de los distintos circuitos electrnicos del sistema. En ocasiones el autmata puede disponer de una batera conectada a esta fuente de alimentacin, lo que asegura el mantenimiento del programa y algunos datos en la memoria en caso de una interrupcin de la tensin exterior. La seccin de entradas, mediante el interfaz, adapta y codifica en forma comprensible por la CPU las seales procedentes de los dispositivos de entrada o captadores, esto es, pulsadores, finales de carrera, sensores, etc.; Tambin tiene una misin de proteccin de los circuitos electrnicos internos del autmata, realizando una separacin elctrica entre stos y los captadores. La seccin de salidas, mediante el interfaz, trabaja en forma inversa a la de entradas, es decir, decodifica las seales procedentes de la CPU, las amplifica y controla con ellas los dispositivos de salida o actuadores, como lmparas, relevadores, contactores, arrancadores, electrovlvulas, etc., aqu tambin existen unos interfaces de adaptacin a las salidas y de proteccin de circuitos internos. Despus de haber visto el esquema de bloques simplificado de un autmata programable o PLC, vamos a estudiar de una forma ms detallada las partes del autmata ya descritas y las funciones ms importantes que realizan, lo que nos permitir lograr el objetivo de conocer a un nivel aceptable este equipo electrnico. Cabe mencionar que cualquier conocimiento sobre Electrnica Digital y microprocesadores sern de gran ayuda para entender en mayor medida el funcionamiento.

13

www.infoPLC.net

Estructura de los PLC La arquitectura de un PLC de la gama baja o media queda representada por la figura 2.5. Esta arquitectura es la bsica de los autmatas existiendo poca variacin de unos fabricantes a otros. Su representacin nos permite entender con mayor profundidad los circuitos que lo componen.

Figura 2. 5 Arquitectura interna de un PLC

2.2.1 Unidad central de procesamiento (CPU)


La CPU (Central Processing Unit) est constituida por los elementos siguientes: procesador, memoria y circuitos auxiliares asociados. La figura 2.6 muestra los bloques fundamentales de una CPU, donde se reconocen los siguientes:


14

ALU, (Aritmetic Logic Unit), es la encargada de realizar las operaciones aritmticas y lgicas (combinacionales Y, O, sumas, comparaciones, etc.). Acumulador, que almacena el resultado de la ltima operacin realizada por la ALU. Flags, o indicadores de resultado de operacin (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 ejecucin. 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 ledas en la memoria y se generan las seales 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 ejecucin, etc.

www.infoPLC.net

Estructura de los PLC

Opcionalmente, un cartucho de memoria ROM externa, que contendra una ampliacin del intrprete incorporado, a fin de que la CPU pudiera decodificar y ejecutar instrucciones complejas o escritas en lenguajes de programacin ms potentes. Registros de pila, algunos autmatas lo incluyen, permitiendo con el almacenar resultados parciales del programa (obtenidos mediante instrucciones particulares de parntesis 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 informacin 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 continuacin unos de otros.

Figura 2. 6 Diagrama a bloques de la unidad central de proceso o CPU.

La combinacin de la CPU con la memoria interna, imagen de entradas/salidas, y de programa de usuario, es conocida tambin con el nombre de unidad de proceso o tarjeta central, aunque algunos fabricantes denominan por extensin al conjunto simplemente CPU. 2.2.1.1 Configuracin 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 autmatas la unidad de control debe:

Ejecutar las instrucciones del programa, Ordenar las transferencias de informacin en el sistema de entrada/salida, Establecer los lazos de regulacin y control necesarios, Comunicarse con el entorno informtico y con los operadores humanos.

El programa de usuario puede ir desde sencillas combinaciones de variables lgicas (AND, OR, NOT), utilizando temporizadores y contadores, hasta estructuras de programacin multitarea, que combinan en la misma aplicacin las rutinas de tratamiento y elaboracin de 15

www.infoPLC.net

Estructura de los PLC seales de mando para distintos subprocesos de control como, por ejemplo, regulacin de temperatura, condiciones de alarma, comunicacin de perifricos, etc. Estos programas complejos, que no slo gobiernan diferentes variables, sino tambin subprocesos distintos, pueden tener tiempos de respuesta prohibitivos, para el control en tiempo real, si se encarga la ejecucin del programa a una nica CPU por potente que esta sea. La solucin 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 detrs de otra. Unidad de control modular, con ejecucin en multiproceso, redunda en un aumento de la potencia global del sistema, al descargar las tareas sobre varios procesadores que las ejecutan de forma ms eficiente, y con mayor rapidez, en los lazos respectivos de comunicacin y control. Por la ubicacin e interconexin de los procesadores que forman la unidad de control de un sistema modular de Autmatas, se tienen las siguientes arquitecturas posibles: Multiprocesadores centrales, Procesador central + procesadores perifricos, 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 coordinacin o coordinador. Cada una de estas unidades ejecuta una parte del programa de usuario (subprograma) de forma independiente a las dems, definiendo su propio ciclo de ejecucin. De esta forma, el mximo tiempo de respuesta para una seal 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 autmata, estableciendo cada una la gestin 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 cclicamente, con intercambio de informacin a travs de la unidad de coordinacin, siguiendo la siguiente secuencia: 1. 2. 3. Actualizacin de las seales de entrada, y lectura de datos del coordinador, Ejecucin del programa de usuario, Actualizacin de seales de salida, y transmisin de datos al coordinador.

Como se observa, la unidad de coordinacin es pieza fundamental en el funcionamiento de las unidades centrales conectadas, realizando dos funciones especficas:

16

www.infoPLC.net

Estructura de los PLC

Asigna cclicamente a cada procesador el bus interno del autmata, para el intercambio de datos de E/S y comunicacin con perifricos externos. Acta como origen/destino de la informacin transmitida entre procesadores, que tienen acceso a un rea de memoria comn en el coordinador donde todos ellos pueden leer y escribir datos.

Adems, esta unidad acta como procesador principal, incorporando los elementos de mando general del autmata, como son los interruptores de arranque/partada (RUN/STOP), rutina de iniciacin 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 coordinacin son asumidas por algn otro procesador, que asume el carcter de procesador principal, encargado no slo de ejecutar su propio programa, sino tambin de gestionar el funcionamiento de los dems procesadores auxiliares, encargados de la regulacin analgica y otros clculos y del control de perifricos, respectivamente. La arquitectura de multiprocesadores presenta las tres ventajas particulares siguientes:

Permite la estructuracin de la tarea de control, obtenindose programas ms fciles de desarrollar y depurar. En el caso de una ampliacin o modificacin 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 sustitucin 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 seales rpidas de la planta utilizando varios procesadores que se reparten las tareas crticas y no crticas 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 clculo, ejecutando cada una de ellas programas diferentes pero compartiendo las mismas direcciones de E/S y el mismo bus interno. Procesador central + procesadores perifricos Dada la diversidad de funciones que debe realizar la CPU, algunas de ellas muy complejas, aparece en autmatas de gama media y altas, una subdivisin reparto de tareas, a fin de optimizar su funcionamiento; Esta es la estructura de control distribuido mediante el empleo de mdulos inteligentes: en este caso, se conectan al bus procesadores especficos especializados en tareas como la medicin y regulacin de temperatura, control de posicin, conexin con otros procesadores dentro de una red local, etc. lo que permite traspasar ciertas funciones, normalmente crticas en el tiempo, a estos perifricos inteligentes (denominados as porque incluyen sus propios procesadores y memorias), descargando al procesador central de unos procesos a los que no podra atender con la necesaria rapidez. Los procesadores perifricos, son en otras palabras, CPUs especializadas en ciertas aplicaciones de regulacin y control, con entradas y salidas analgicas y digitales incorporadas,

17

www.infoPLC.net

Estructura de los PLC que solicitan del programa de usuario nicamente los parmetros y consignas de la aplicacin. Conseguidos estos, el funcionamiento posterior es totalmente autnomo a la CPU principal. Un procesador perifrico 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 ejecucin de una tarea concreta:

Procesador, porque incorpora su propio sistema P, que le permite ejecutar de forma autnoma tareas crticas en el tiempo. Perifrico, porque est unido a la unidad central a travs del bus interno del autmata, pero no exige la presencia de una unidad de coordinacin puesto que incluye sus propias interfaces de E/S. Inteligente, porque incorpora en su memoria el programa de tratamiento especfico (regulacin, posicionamiento, etc.), al que se le indica, desde el programe de usuario, los parmetros particulares de la aplicacin (constantes PID, coordenadas de movimiento, etc.).

Ambas soluciones, estructura de multiprocesadores centrales y conexin de mdulos inteligentes, pueden coexistir en algunos modelos de PLCs, proporcionando una potencia superior de clculo, capacidad y rapidez en la ejecucin. Procesadores conectados en red El caso de procesadores conectados en red se tratara a detalle en el capitulo 6. 2.2.1.2 Funciones de la CPU

En la memoria ROM del sistema, el fabricante ha grabado una serie de programas ejecutivos fijos, llamados firmware o software del sistema y es a estos programas a los que se acceder el P para realizar las funciones ejecutivas que correspondan en funcin del tiempo en que trabaje. El software de sistema de cualquier Autmata consta de una serie de funciones bsicas que realiza en determinados tiempos de cada ciclo: en el inicio o conexin , durante el ciclo o ejecucin del programa y a la desconexin. Este software o programa del sistema es ligeramente variable para cada autmata, pero en general, contiene las siguientes funciones:

Supervisin y control de tiempo de ciclo (watchdog), tabla de datos, alimentacin, batera, etc. Autotest en la conexin y durante la ejecucin del programa. Inicio del ciclo de exploracin de programa y de la configuracin del conjunto. Generacin del ciclo base de tiempo. Comunicacin con perifricos y unidad de programacin.

Hasta que el programa del sistema no ha ejecutado todas las acciones necesarias que le corresponden, no se inicia el ciclo de programa de usuario.

18

www.infoPLC.net

Estructura de los PLC 2.2.1.3 CPU sin P

No todos los Autmatas programables o PLC utilizan el P como elemento base de la CPU, algunos fabricantes emplean como tal los dispositivos lgicos programables (DPL), o red de puertas lgicas (gate array), tambin llamados circuitos integrados de aplicacin especfica, en ingls, application specific integrated circuit, ASIC. El ASIC utilizado, por ejemplo, en los SEPTEC serie 90 de sprecher+Shuh contiene 15,000 puertas lgicas. 2.2.1.4 Ciclo bsico de trabajo de la CPU

La operacin del PLC se basa en la exploracin continua de un programa. Podemos pensar que dicha exploracin consiste de tres pasos de progresin importantes (aunque tpicamente hay ms de tres, nos enfocaremos de esta manera a los pasos ms importantes). Son estos tres pasos los que tpicamente controlan al sistema y que actualizan los valores de los contadores y temporizadorers internos. Paso1. Primero el autmata 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 situacin se mantiene durante todo el ciclo de programa para poder ser empleada en su siguiente paso de la progresin. 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 ejecucin del programa asignando el estado de la seal a los registros de las salidas poder usarlos en el paso de progresin siguiente. Paso3. Tercero, el PLC pone al da o actualiza , el estado de sus salidas basado en la informacin computada dado el estado de cada una de sus entradas. Posteriormente, el PLC regresa de nuevo al paso de progresin 1 y repite continuamente cada uno de sus pasos. El ciclo de operacin 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 funcin de las variables de entrada prcticamente en tiempo real.

Figura 2. 7 Ciclo de operacin de un PLC

19

www.infoPLC.net

Estructura de los PLC

2.2.2 Memorias del PLC


La memoria de trabajo es el almacn donde el PLC guarda todo cuanto necesita para ejecutar la tarea de control. La memoria ideal para el autmata o PLC debera ser simultneamente rpida, pequea, barata y de bajo consumo de energa. Como ninguna de las memorias del mercado rene todas estas condiciones, los PLC combinan distintos tipos de ellas. Algunos de tipos de memoria empleadas por un PLC podran ser las mostradas en la tabla 2.1. TIPO DE MEMORIA RAM o memoria de lectura escritura ROM o memoria de solo escritura PROM o memoria programable EPROM o memoria modificable EEPROM o memoria modificable SISTEMA DE PROGRAMACIN Elctrica Durante su proceso de fabricacin Elctrica SISTEMA DE BORRADO Elctrico Es imposible su borrado Es imposible su borrado Por rayos UV Elctrico ANTE EL CORTE DE TENSIN LA MEMORIA Se pierde es voltil Se mantiene

Se mantiene

Elctrica

Se mantiene

Elctrica

Se mantiene

Tabla 2. 1 Tipos de memorias semiconductoras

Dependiendo de la funcin asignada se utilizar un tipo de memoria u otra. De esta forma, los tipos de memoria presentes en un PLC son:

20

Memoria de usuario: El programa de usuario normalmente se graba en memoria RAM, ya que no slo ha de ser ledo por el microprocesador, sino que ha de poder ser variado cuando el usuario lo desee, utilizando la unidad de programacin. En algunos PLCs, la memoria RAM se auxilia de una memoria de sombra del tipo EEPROM. La desconexin de la alimentacin o un fallo en la misma borrara esta memoria, ya que al ser la RAM una memoria voltil necesita estar constantemente alimentada y es por ello que los Autmatas que la utilizan llevan incorporada una batera tampn (o de respaldo) que impide su borrado. Memoria de la tabla de datos: La memoria de esta rea tambin 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 numricos y variables internas, como temporizadores, contadores, marcas, etc. Memoria y programa del sistema: Esta memoria, que junto con el procesador componen la CPU, se encuentra dividida en dos reas: la llamada memoria del sistema, que

www.infoPLC.net

Estructura de los PLC utiliza memoria RAM, y la que corresponde al programa del sistema o firmware, que lgicamente es un programa, fijo grabado por el fabricante, y por tanto, el tipo de memoria utilizado es ROM. En algunos Autmatas 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 prrafos anteriores, este tipo de memorias tiene gran aplicacin como memorias copia para grabacin y archivo de programas de usuario.

Figura 2. 8 Tipos de memorias de un PLC

2.2.2.1

Organizacin de la memoria. Principios de direccionamiento

Direccionamiento de puntos de E/S Todos los PLC emplean un nmero 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 direccin. 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 tamao del canal (tamao de palabra) puede varia de un tipo de PLC a otro. La direccin de un punto de E/S es un nmero de 5 dgitos (los cuales pueden variar nuevamente, dependiendo del PLC en cuestin). Los tres primero dgitos identifican al canal y los dos siguientes identifican al bit. As, por ejemplo, un punto de entrada con la direccin 00011 est asignado al canal 000 y bit 11. De igual forma un punto de salida con la direccin 00104 est asignado al canal 001 y bit 04.

21

www.infoPLC.net

Estructura de los PLC

Figura 2. 9 Ejemplo de direccionamiento de puntos de E/S

Organizacin de la memoria y direcciones La CPU requiere de instrucciones para procesar todos los datos que estn siendo introducidos, y requiere, adems, 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 ms manejable por el usuario. La mayor}a de las reas tienen un prefijo tal como HR, T, DM y un nmero de 3 o 4 dgitos para definir su localizacin especfica 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 mnimo 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 mdulos de entrada y salida conectados al PLC. Ellos reflejan el estado ON/OFF de las seales 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 alimentacin del PLC es apagada o cuando la operacin del PLC comienza o se detiene.

Los bits restantes del rea IR tiene funciones especficas. La mayora de estos, pero no todos, pueden ser empleados como bits de trabajo cuando la funcin especfica no est siendo empleada.

22

www.infoPLC.net

Estructura de los PLC Los bits del rea IR tienen direcciones con prefijo IR seguido de un nmero de 5 dgitos; los tres primeros dgitos indican el canal y los dos siguientes el bit, as, la direccin IR00205 hacen referencia al bit 5 canal 2 (direccionamiento por bit). Si la direccin se seala con slo tres dgitos, 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 operacin del PLC, algunas de ellas son: Pulsos de reloj Bandera de escaneo Bandera de error Bandera de alarma de batera

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 ejecucin en las ramificaciones de un programa de escalera complejo. Son tiles slo cuando se requiere programar un diagrama de escalera con cdigo mnemnico. 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 manipulacin de datos internos. Esta rea de memoria es retentiva, es decir, retiene el estado ON/OFF de los bits an luego de que la fuente de alimentacin del PLC se haya apagado o cuando la operacin 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 operacin del PLC, algunas de ellas son: Tiempos de ciclo largo Contador de potencia OFF Banderas de diagnsticos 23

www.infoPLC.net

Estructura de los PLC Con pocas excepciones, el estado de los bits y words AR son refrescados cada ciclo. Esta rea de memoria es retentiva. El rea AR puede ser accesada por canal (AR11) o por bit (AR1100). Area LR (Relevadores de Enlace) El rea RL es empleada para el almacenamiento interno de datos enlazados o compartidos entre dos o ms PLCs. Los bits LR pueden ser empleados como bits de trabajo cuando no estn 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 nmero 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 ms adelante) para temporizadores y contadores son retenidos an si la fuente de alimentacin 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 manipulacin 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 configuracin 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 direccin no necesariamente contiene la misma cantidad de datos. Cada direccin mantiene una instruccin (descrito con detalle ms adelante). Ya que algunas instrucciones no requieren operandos, mientras que otras requieren hasta tres operandos, una direccin de la memoria del programa puede ser de una o cuatro palabras de largo. Esta rea de memoria es retentiva.

24

www.infoPLC.net

Estructura de los PLC

2.2.3 Fuente de alimentacin


La fuente de alimentacin proporciona las tensiones necesarias para el funcionamiento de los distintos circuitos del sistema. Un PLC est formado por bloques que requieren niveles de tensin y de potencia diferentes y que, adems, estn sometidos a condiciones ambientales de ruido electromagntico tambin distintas. Por todo ello, es frecuente que la alimentacin se obtenga de varias fuentes separadas, procurando independizar las diferentes partes del circuito:

Unidad central e interfaces E/S (alimentacin Autmata). Alimentacin de entradas. Alimentacin de salidas (cargas) de tipo electromagntico.

Esta divisin, salvo en pequeos compactos, suele mantenerse en todos los PLCs, que necesitan al menos de dos fuentes de alimentacin independientes:

Alimentacin del Autmata (CPU, Memoria e interfaces). Alimentacin de los emisores de seal y de los actuadores de salida.

La alimentacin de la CPU puede ser continua a 24 Vcc, tensin muy frecuente en cuadros de distribucin , o en alterna a 110/220 Vca. En cualquier caso, la propia CPU alimenta las interfaces conectadas a travs del bus interno. La alimentacin a los circuitos E/S puede realizarse, segn los tipos, en alterna a 48/110/220 Vca, o en continua a 12/24/48 Vcc. La fuente de alimentacin del Autmata puede incorporar una batera tampn (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 alimentacin o se desconecta el PLC. La capacidad de esta batera normalmente a 3.5 V, oscila entre los 1500 mAh y 1 ao de vida para las ms pequeas utilizadas en los Autmatas compactos, y los 5000 mAh y 10 aos de vida en las necesarias en Autmatas modulares de gama alta. Los fabricantes proporcionan, sobre todo en sistemas modulares tipo rack, mdulos de alimentacin con diferentes tensiones de salida y niveles de potencia suficientes, en general, para cubrir cualquier necesidad de alimentacin. La eleccin de uno u otro esquema de alimentacin para un sistema de PLC depende fundamentalmente de las caractersticas de sus entradas y salidas:

Niveles de potencia necesarios para la aplicacin. Compatibilidad entre la tensin auxiliar suministrada por el PLC y las necesidades en el sistema de E/S. Funcionamiento o no de sensores y cargas a igual tensin de alimentacin. Necesidad de aislamiento galvnico en el sistema de E/S.

25

www.infoPLC.net

Estructura de los PLC En la tabla 2.2 se muestran algunas de las caracterstica nominales de fuentes de alimentacin. TENSION DE ENTRADA (V) TENSION DE SALIDA (V) CORRIENTE NOMINAL DE SALIDA (A) FRECUENCIA PROTECCION SOBRECORRIENTE APLICACIONES 100/ 240 ca 12 cd 1.25 50/60 Hz SI CPU + E/S 100/120 ca 200/240 ca 12 cd 2.00 50/60 Hz SI CPU + E/S 24 cd 12 cd 1.70 --SI CPU + E/S 100/120 ca 200/240 ca 24 cd 1.00 50/60 Hz SI E/S

Tabla 2. 2 Caractersticas nominales de fuentes de alimentacin.

2.2.4 Unidades de entrada-salida


Las interfaces de entrada y salida establecen la comunicacin entre la unidad central y el proceso, filtrando, adaptando y codificando de forma comprensible para dicha unidad las seales procedentes de los elementos de entrada, y decodificando y amplificando las seales generadas durante la ejecucin del programa antes de enviarlas a los elementos de salida. En los PLCs compactos, las E/S estn situadas en un solo bloque junto con el resto del Autmata. En los Autmatas modulares o PLCs modulares, las E/S son mdulos 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 conexin al bus y su soporte mecnico. 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 electrnicos del PLC; realizar una separacin elctricamente los circuitos lgicos de los de potencia, generalmente a travs de opto acopladores, y proporcionan el medio de identificacin de los captadores y actuadores ante el procesador. 2.2.4.1 Entradas

Las entradas son fcilmente identificables, ya que se caracterizan fsicamente por sus bornes para acoplar los dispositivos de entrada o captadores, por su numeracin y ms que nada por su identificacin INPUT o ENTRADA; llevan adems una indicacin luminosa de activado por medio de un LED.

En cuanto a su tensin, las entradas pueden ser de tres tipos:

26

www.infoPLC.net

Estructura de los PLC

Libres de tensin. A corriente continua. A corriente alterna.

En cuanto al tipo de seal que reciben, stas pueden ser: analgicas y digitales. a) Analgicas:

Cuando la magnitud de la seal que se acopla a la entrada corresponde a una medida de, por ejemplo presin, temperatura, velocidad, etc. esto es, una seal analgica, es necesario disponer de este tipo de mdulo de entrada. Las E/S analgicas 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 seales se manejan a nivel de byte o palabra (8/16 bits) dentro del programa de usuario. Vase la tabla 2.3. CAMPO O RANGO DE INTENSIDAD O TENSIN 010 V 420 mA 010 V 420 mA b) Digitales TIEMPO DE CONVERSIN 1mS 1mS 1mS 1mS

RESOLUCIN 8 bits 8 bits 12 bits 12 bits

PRECISIN (1 % + 1 bit) en entradas y 1 % en salidas

Tabla 2. 3 Parmetros ms significativos de estos mdulos.

Son las mismas utilizadas y corresponden a una seal de entrada de todo o nada, esto es, a un nivel de tensin 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 identificacin de las salidas se realiza igual que en las entradas, figurando en este caso, la indicacin 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 triacs. Con transistores.

Mientras que la salida con transistores se utiliza cuando los actuadores son a corriente continua, las salidas con relevadores y triacs suelen utilizarse para actuadores a corriente alterna 27

www.infoPLC.net

Estructura de los PLC En cuanto a las intensidades que soportan cada una de las salidas, esta es variable, pero suele oscilar entre 0.5 y 2 A. Al igual que las entradas, pueden ser analgicas y digitales, si bien esta ltima es la ms utilizada. En las analgicas es necesario un convertidor digital analgico (DAC) que nos realice la funcin inversa a la entrada. Las E/S son ledas y escritas dependiendo del modelo y del fabricante, es decir pueden estar incluidas sus imgenes dentro del rea de memoria o ser manejadas a travs de instrucciones especficas de E/S.

2.2.5 reas de interfaces


Son los circuitos que permiten la comunicacin de la CPU con el exterior llevando la informacin acerca del estado de las entradas y transmitiendo las ordenes de activacin a las salidas. Constan de enlaces del tipo RS-232 o RS-422, y efectan la comunicacin mediante el cdigo ASCII. Asimismo, permiten la introduccin, verificacin y depuracin del programa mediante la consola de programacin, as como la grabacin del programa a casete, en memoria EPROM, comunicacin con el TRC (monitor), impresora, etc. Por ltimo, y para efecto de apreciar de una forma globalizada el conjunto formado por un Autmata programable o PLC y su entorno se presenta, a continuacin, la figura 2.7, en la cual se muestran mediante la identificacin (a), (b), (c) y (d) las distintas posibilidades de conexin de equipos de programacin y sus posibilidades en cuanto al almacenamiento de programas y lenguajes de programacin.

2.2.6 Tipos y unidades de programacin


La unidad de programacin es el medio material o fsico del que se auxilia el programador para grabar o introducir en la memoria de usuario las instrucciones del programa. Pero esta unidad realiza, adems, otras tareas fundamentales. 2.2.6.1 Funciones principales de los equipos de programacin

La gama de funciones que son capaces de ejecutar los equipos de programacin son mltiples y variadas, aumentando el tipo de stas en razn directa a la complejidad del equipo. Entre dichas funciones principales podemos encontrar: a) Programacin

Introduccin de instrucciones (programa). Bsqueda de instrucciones o posiciones de memoria. Modificacin del programa: Borrado de instrucciones. Insercin de instrucciones. Modificacin de instrucciones.

28

www.infoPLC.net

Estructura de los PLC


c)

Deteccin de errores de sintaxis o formato. Visualizacin del programa de usuario o parte del mismo, contenido en la memoria de usuario. Forzamiento del estado de marcas, registros, contadores, temporizadores, etc.

Grabacin de programas


c)

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

Visualizacin y verificacin dinmica del programa


d)

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

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

29

www.infoPLC.net

Estructura de los PLC

Figura 2. 10 Estructura completa del PLC

30

www.infoPLC.net

Estructura de los PLC 2.2.6.2 Tipos de unidades de programacin

Desde el punto de vista constructivo, podemos distinguir tres tipos principales: a) Unidades tipo calculadora

Son las ms comnmente utilizadas en los PLC de gama baja; consta del correspondiente teclado, conmutador de modos, display de cristal lquido o siete segmentos de dos o ms lneas, as como de las entradas para la grabacin del programa de usuario. Puede ser totalmente independiente, ser enchufada directamente en la CPU, o con ambas posibilidades. En las de pocas lneas (2 o 4), slo es posible escribir mnemnicos, pero en las de pantallas llamadas de programacin grfica pueden visualizarse algunas lneas de programa de lenguajes grficos, datos del programa, etc.

Figura 2. 11 Ejemplo de una unidad de programacin tipo calculadora.

b)

Consola de programacin

Esta en una posicin intermedia entre la unidad de programacin tipo calculadora y el tipo PC. Consta de pantalla de plasma o tipo similar y tamao suficiente para 20, 30 o ms lneas y 60, 80 o ms caracteres por lnea, as como teclado. Al igual que el PC que se describe a continuacin, utiliza el software de programacin 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 catdicos (TRC) y realiza la misma funcin que la unidad de programacin normal, pero con mayores prestaciones permitiendo visualizar los esquemas o diagramas completos o partes importantes de los mismos. Este equipo incorpora el software 31

www.infoPLC.net

Estructura de los PLC necesario para poder trabajar en ms de un lenguaje de programacin, incluso realiza la transformacin de lenguajes (vase la figura 2.12).

Figura 2. 12 Ejemplo de una unidad de programacin tipo consola.

Por otro lado, las instrucciones que se introducen en la unidad de programacin, 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 unin entre el PLC y la unidad de programacin. Su misin, es la de traducir la informacin textual de la unidad de programacin al lenguaje mquina y viceversa mediante unos cdigos 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 PLCs una unidad fija de programacin (vase la figura 2.1), o bien, un tipo de miniconsola de programacin, la cual se adapta al PLC por medio de un conector RJ45. Vase la figura 2.13.

Figura 2. 13 Unidad de programacin con una PC

32

www.infoPLC.net

Estructura de los PLC

Figura 2. 14 PLC de gama baja de la marca Keyence, el cual emplea una unidad de programacin enchufable tipo miniconsola

2.2.7 Perifricos
Como elementos auxiliares y fsicamente independientes de los PLCs, los perifricos realizan funciones concretas de gran importancia. Algunos de los equipos perifricos empleados por los Autmatas o PLCs 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 algn caso en la gama baja seran: Monitores de tipo TRC. Lectores de cdigo de barras. Displays y teclados alfanumricos. Unidad de teclado y tests Etc.

2.2.8 Tamao de los PLC


La clasificacin de los PLCs en cuanto a su tamao se realiza en funcin del nmero de sus entradas-salidas; de esta manera, son tres los grupos de PLCs que podemos encontar: 1. 2. 3. Gama baja. Hasta un mximo de 128 entradas-salidas. La memoria de usuario de que disponen suele alcanzar un valor mximo de 4 K-instrucciones. Gama media. De 128 a 512 entradas-salidas. La memoria de usuario de que disponen suele alcanzar un valor mximo de hasta 16 K-instrucciones. Gama alta. Ms de 512 entradas-salidas. Su memoria de usuario supera en algunos casos los 100 K-instrucciones. 33

www.infoPLC.net

Estructura de los PLC

2.3 CONFIGURACIN 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 informacin entre el autmata y la planta, y Proporcionan un soporte fsico para la identificacin o direccionamiento de los dispositivos E/S conectados a los bornes.

Para dimensionar correctamente el autmata y reducir los costes del hardware, parece conveniente adaptar el nmero 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 ms necesaria en autmatas de gamas medias y altas y montaje en rack o bastidor, donde se dispone de CPU con potencia de clculo elevada que necesitan controlar un nmero variable, menor o mayor segn la aplicacin, de puntos de entrada y salida, incluso situados a gran distancia de la unidad de control. Los PLCs disponen entonces de mdulos o tarjetas E/S independientes, con sus circuitos de interfaz, conexin al bus interno y borneo exterior. Los mdulos 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 caracterstica de autmatas modulares, las ventajas que aportan en adaptabilidad y flexibilidad del sistema E/S han llevado a su desarrollo incluso para autmatas compactos o miniautmatas. Estas mquinas permiten ampliar sus entradas/salidas no por conexin de tarjetas en un bastidor, que no existe para ellos, sino utilizando unidades de expansin compactas, conectadas por cable con una distribucin rgida de los bornes sobre la que el usuario no puede actuar (ver la figura 2.2) Se tiene as que en los desarrollos con autmatas programables existe una gran variedad de configuraciones y posibilidades constructivas en los sistemas de entrada/salida, utilizando los mdulos y unidades de expansin disponibles. En la siguiente grfica aparecen los diferentes tipos de configuraciones del sistema de entrada/salida.

34

www.infoPLC.net

Estructura de los PLC

Figura 2. 15 Configuracin del sistema de E/S

Las entradas/salidas centralizadas se conectan directamente a la CPU del autmata, con transmisin de datos en paralelo, mientras que las entradas/salidas distribuidas se unen con el autmata base a travs de un mdulo de interconexin o procesador de enlace E/S (I/O Master Unit), con transmisin serie de datos sobre cable o fibra. El sistema de entradas /salidas distribuidas puede, a su vez, estar compartido por varios procesadores o autmatas, 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 autmata base, a fin de aumentar el nmero de puntos E/S disponibles, dentro de la capacidad de direccionamiento del procesador. Estas entradas/salidas responden a las siguientes caractersticas: Se conectan a la CPU a travs del bus interno del autmata, sin intervencin de algn tipo de adaptador o procesador de comunicaciones. Las transferencias de datos se realizan en paralelo. Estn colocadas a distancias menores a 5 mts. del autmata base. Segn modelos, pueden no usar fuente de alimentacin propia, recogiendo las tensiones de trabajo sobre las lneas del bus interno o de la interfaz amplificadora. La expansin se limita normalmente a interfaces E/S digitales e interfaces analgicas sin tratamiento de seal.

En las configuraciones de estas unidades E/S centralizadas hay que distinguir entre las correspondientes a:

35

www.infoPLC.net

Estructura de los PLC Autmatas de entradas/salidas compactas, y Autmatas de entradas/salidas modulares que presentan diferentes caractersticas de conexin.

Ambos casos tratados en la seccin 2.1 Estructura o arquitectura externa.

2.3.2 Entradas/Salidas distribuidas


Es frecuente que las mquinas o procesos bajo control no se encuentren localizados en un mismo punto, sino distribuidos en una amplia superficie, una nave industrial, por ejemplo. Tambin puede ocurrir, que una vez decidido colocar una CPU de cierta potencia de clculo para cubrir las necesidades en un punto de la instalacin, 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 autmata 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 autmata centralizado: los costes del cableado y los riesgos de error o avera aumentan proporcionalmente con el nmero de elementos conectados. La solucin pasa por colocar las interfaces all donde se necesitan y conectarlas despus con la CPU a travs de un mdulo de interconexin o procesador de enlace E/S, que agrupa las seales en tramas o paquetes binarios y las enva despus por transmisin serie sobre nicamente un canal de conexin, resultando entonces una configuracin de entradas/salidas distribuidas o descentralizadas (ver la figura 2.15). Si el nmero de puntos E/S a conectar es pequeo, pueden utilizarse mdulos 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 nmero total de entradas/salidas resulta limitado por el tipo de CPU utilizada.

Figura 2. 16 Reduccin de cableado utilizando entradas/salidas distribuidas

Las ventajas del modelo de conexin distribuida son las siguientes: 36

www.infoPLC.net

Estructura de los PLC

Permite control a distancia de equipos y sistemas manipulando las variables locales desde un nico programa en la CPU principal. Disminuyen los costes de instalacin, al sustituir el cableado necesario entre los elementos de la planta y la CPU por una conexin nica de hilo elctrico o fibra ptica, a travs de procesadores de comunicaciones maestro-esclavo. Permite ahorro de costes de montaje y material, suprimindose incluso los bornes intermedios de conexin.

Por otro lado, segn la conexin con el autmata 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 expansin se necesiten, de forma que es posible la desconexin total de cualquiera de ellos sin afectar el funcionamiento del conjunto (Ver figura 2.17). Mixta: La unidad base contiene procesadores independientes para cada expansin, 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 interconexin, es posible una clasificacin 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 expansin se colocan a distancias entre 50 y 100 metros, lo que impide la conexin directa al bus interno caracterstica de los sistemas centralizados. Por esta razn deben existir procesadores de enlace E/S en la unidad base y en la unidad de expansin, que se encargan de efectuar las conversiones serie/paralelo y paralelo/serie entre el bus interno del autmata y las lneas de comunicacin 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 analgicas sin tratamiento de seal. Sin embargo, a diferencia de aquellas, las unidades incluyen su propia fuente de alimentacin y la comunicacin con la CPU se realiza a travs del un canal serie. Las E/S distribuidas se denominan remotas cuando la distancia de conexin con la unidad base es superior a 100 metros, alcanzando en algunos modelos hasta algunas decenas de kilmetros. La comunicacin, siempre va serie, entre el procesador maestro en la unidad base y los procesadores esclavos en las unidades de expansin, se realiza mediante interfaces estndar RS 232/422/485, utilizando protocolos especficos del fabricante (protocolos propietarios), o buses de campo normalizados (PROFIBUS, MODBUS, etc.), sobre soporte elctrico u ptico. Precisamente la distancia mxima entre estaciones, y la longitud total del bus de expansin dependen del soporte o medio fsico empleado, cable elctrico o fibra ptica, aunque los valores finales son muy variables dependiendo del fabricante. 37

www.infoPLC.net

Estructura de los PLC

Figura 2. 17 Expanciones de E/S con estructura de bus

En la tabla siguiente se muestra una comparacin aproximada entre estos diferentes medios.

Medio de transmisin Distancia mxima Par trenzado, con malla 2000 m Cable coaxial 4000 m Fibra ptica 20 Km (*) Depende de la distancia
Tabla 2. 4 Medios de transmisin.

Velocidad (*) 375 KBd 1.5 MBd 1.5 MBd

38

www.infoPLC.net

Estructura de los PLC

Figura 2. 18 Expancin de E/S con estructura de estrella.

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

39

www.infoPLC.net

Estructura de los PLC

40

www.infoPLC.net

Interfaces de Entrada / Salida

3.0
3.1

INTERFACES DE ENTRADA / SALIDA

INTRODUCCIN

Las interfaces de Entrada/Salida proveen al control del proceso un dilogo operadormquina y comunicacin entre la mquina y sistema de control. Para un sistema de control, las entradas son el conjunto de seales externas que recibe, unas de mando y otras de realimentacin; stas van desde un simple pulsador o final de carrera hasta la medicin de cualquier magnitud fsica 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 seales de todo-nada actuando sobre rels, electrovlvulas u otros elementos electromecnicos o seales analgicas o digitales para sealizacin en instrumentos de medida, visualizadores, impresin 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 seales de potencia, con tensiones y corrientes de nivel industrial, tambin suelen disponer de buses de comunicacin digital similares a los que normalmente incorporan los sistemas informticos. Un factor muy importante en la eleccin del autmata 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 ms directamente ligados a seales de campo con cableados largos y por tanto, sujetos a ruidos y perturbaciones elctricas 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 podrn trabajar, en general, con niveles distintos de voltaje e incluso con cdigos distintos. Tenemos entonces dos funciones bsicas de la interfaz: Enlace a nivel de hardware (niveles y tipo de voltaje) Enlace a nivel de cdigo (estados lgicos, conversin A/D o D/A, tipo de cdigo de seal, etc.

La interfaz puede variar en complejidad dependiendo del tipo de seales que empleen los sistemas a enlazar. Podemos clasificar a las seales se mando y a las de proceso en entornos industriales en dos grandes grupos:

41

www.infoPLC.net

Interfaces de Entrada / Salida Seales de todo-nada: Codificacin digital binaria (un bit). Seales continuas, con dos tipos posibles de codificacin: - Analgica - Digital en palabras de determinada longitud (8, 16 bits, etc.).

Dependiendo del sentido o sentidos de enlace, las interfaces podrn ser: Unidireccionales, un solo sentido. Bidireccionales, en ambos sentidos, ya sea conmutado de un sentido a otro (halfduplex) o simultneamente en ambos sentidos (full-duplex).

El enlace entre sistemas digitales que intercambian informacin en forma de palabras, requiere una interfaz que maneja dos tipos de seales: Datos: contienen la informacin til. Seales de control o de Protocolo: controlan el flujo de informacin.

Para sistemas digitales programables, puede establecerse una divisin entre dos partes de la interfaz: Interfaz de hardware: enlace del nivel de voltaje y estados lgicos. Interfaz de software: interpretacin de cdigos y de las seales de control.

La siguiente tabla resume los tipos de interfaces de E/S ms comunes en los autmatas programables y las funciones bsicas que debe realizar en cada caso la interfaz.

TIPOS

FUNCIONES DE LA INTERFAZ Adaptacin de niveles de tensin ENTRADAS Filtrado de perturbaciones TODO O Aislamiento elctrico BINARIA NADA 1 bit Adaptacin de niveles de tensin SALIDAS Amplificacin de corriente Aislamiento elctrico ANALGICAS ENTRADAS Adaptacin y filtrado de seal (0, 10V) Conversin A/D (4, 20mA) SALIDAS Conversin D/A Adaptacin a 0, 10 V o 4, 20mA ENTRADAS Seleccin de canal y multiplexado CONTINUAS Conversin de cdigos DIGITALES SALIDAS Conversin de cdigos (Bin <-> ASCII <-> 7segmentos) (8, 16, 32... bits) Amplificacin de corriente BIDIRECCIONES Conversin de cdigo (serie <-> paralelo) Protocolo de dilogo (hardware +software)
Tabla 3.1 Tipos y funciones de las interfaces de entrada/salida.

CODIFICACIN SENTIDO

42

www.infoPLC.net

Interfaces de Entrada / Salida

3.3

ENTRADAS/SALIDAS DIGITALES

Las interfaces de entrada digitales son aquellas que conectan el autmata con seales de proceso de tipo binario o con grupos de seales binarias formando palabras. Siendo el PLC sucesor de muchos sistemas antiguos basados en rels, est especialmente adaptado a las seales binarias, sta es una caracterstica que le distingue de otros sistemas de control industrial como robtica, mquinas-herramienta e incluso sistemas informticos. Un criterio importante de clasificacin de los autmatas estriba precisamente el nmero de E/S y su CPU suele estar especialmente adaptada al tratamiento de bits. Las seales de entrada lgicas (todo-nada) proceden generalmente de contactos electromecnicos (interruptores, finales de carrera, etc.) y las salidas suelen activar bobinas de electroimanes (rels, electrovlvulas, etc.). Ambas tienen en comn que suelen estar alimentados con tensiones alternas de 24 a 220VCA o tensiones de 24 a 110VCC. La interfaz para estas seales suele ser una interfaz de hardware unidireccional. Las entradas captan los niveles de tensin de entrada y se convierten a niveles lgicos TTL; en el caso de las salidas se hace la conversin inversa. Una caracterstica muy importante en estas interfaces es el aislamiento elctrico entre los circuitos internos del autmata que operan con niveles TTL y los circuitos externos. Este aislamiento presenta enormes ventajas como proteccin ante sobrevoltaje, inmunidad al ruido elctrico y otras perturbaciones a las que suelen estar sometidas las seales externas. Este aislamiento exige tener fuentes de alimentacin separadas para la lgica interna del autmata y para las E/S, estas fuentes pueden estar contenidas dentro del mismo autmata o ser externas para alimentar las E/S o incluso independientes para entradas y salidas. La siguiente figura resume los tipos de interfaces de E/S digitales:
Corriente Continua Entradas Corriente Alterna Corriente Continua Salidas Corriente Alterna Rel PNP NPN PNP NPN

ENTRADAS/ SALIDAS DIGITALES

Figura 3.1 Interfaces de E/S digitales

43

www.infoPLC.net

Interfaces de Entrada / Salida

3.3.1 Entradas lgicas


Las interfaces de entrada para seales binarias pueden clasificarse en distintos tipos segn sus caractersticas. Por el tipo de voltaje de alimentacin: De corriente alterna (CA). Los valores de tensin ms frecuentes son 24, 48, 110 y 220250 VCA. De corriente continua (CC). Con voltajes de 12, 24, 48 y 110 VCC. Y segn la polaridad de la fuente conectada al comn: - PNP: Comn de alimentacin a negativo. - NPN: Comn de alimentacin a positivo.

Segn el aislamiento de la interfaz: Elctricamente aislado: Alimentaciones completamente separadas de las E/S y de la lgica interna. Este aislamiento se consigue con opto acopladores y es el ms empleado por su seguridad. Acoplamiento directo: Seales sin aislamiento elctrico que por tanto, requieren unir el comn de alimentacin de E/S al cero de la lgica 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 seal siendo interpretada inequvocamente como nivel lgico 0 o 1. Este parmetro permite determinar el mximo nivel de perturbacin que puede superponerse a una seal de entrada sin que el sistema lgico interprete errneamente su nivel lgico. Se distinguen dos mrgenes de ruido: Esttico. Se aplica a seales que permanecen durante un tiempo significativamente mayor que la constante de tiempo de respuesta de dicha interfaz. El margen de ruido esttico 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 mrgenes de ruido, la interfaz dar un estado lgico indeterminado y la seal de entrada sera errneamente interpretada por el PLC. Dinmico. Aplicable a seales transitorias cuya duracin es inferior a la constante de tiempo de respuesta de la interfaz. Los mrgenes de ruido dinmico para los niveles 0 y 1 son la mxima amplitud de perturbacin de cierta duracin que no producen cambio de estado lgico a la entrada.

44

www.infoPLC.net

Interfaces de Entrada / Salida 3.3.1.1 Entradas de corriente directa PNP La diferencia entre las entradas PNP y NPN es, si la carga (en se caso el PLC es la carga) va a tierra o al polo positivo de la fuente de alimentacin. Un dispositivo PNP tiene la carga conectada a un voltaje positivo:

Figura 3.2 Dispositivo PNP

Las entradas PNP trabajan con lgica positiva y se conectan de la siguiente manera: Se unen por un extremo todos los interruptores y se conectan al comn de entradas o de interruptores del PLC, que en el caso de la interfaz PNP ser al positivo de la fuente de alimentacin. 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 alimentacin separada del autmata para las E/S, el comn de la interfaz deber conectarse al negativo de la fuente de alimentacin 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 dinmico de ruido. Para cualquier sensor o interruptor esttico en la entrada deben analizarse dos parmetros 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 errneamente el nivel 1. Las seales de entrada, ya adaptadas a los niveles de voltaje internos del PLC, se conectan al bus interno mediante un multiplexor, que ser explorado durante la fase de lectura de las entradas para su registro en la memoria de E/S.

45

www.infoPLC.net

Interfaces de Entrada / Salida

Figura 3.3 Conexin de interruptores a entradas tipo PNP

3.3.1.2 Entradas de corriente directa NPN La interfaz NPN tiene caractersticas muy semejantes a las PNP, la diferencia radica en que stas emplean lgica negativa en vez de positiva. Un sensor NPN tiene la carga conectada a tierra:

Figura 3.4 Dispositivo NPN

La conexin es inversa a la PNP: Se unen por un extremo todos los interruptores y se conectan al comn de interruptores, en este caso, al polo negativo de la fuente E/S.

46

www.infoPLC.net

Interfaces de Entrada / Salida El otro extremo de cada uno de los interruptores se conecta a los distintos terminales de entrada del autmata. Igualmente, si se utiliza una fuente de alimentacin separada del autmata para las E/S, el comn de la interfaz deber conectarse al positivo de la fuente de alimentacin de E/S.

Figura 3.5 Conexin 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 mdulos de entrada CA son menos usados que los de corriente directa debido a que los sensores tienen comnmente salidas de tipo transistor. La siguiente figura muestra la conexin tpica de un dispositivo CA al mdulo de entrada. Por lo general el cable "vivo" de CA est conectado al interruptor, mientras que el "neutro" va al comn del PLC. La tierra de CA debe ser conectada a la terminal de tierra del chasis del PLC.

47

www.infoPLC.net

Interfaces de Entrada / Salida

Figura 3.6 Entradas de CA

Como en DC, Las conexiones de AC tienen un cdigo de color, esta codificacin vara segn el pas, en los Estados Unidos son comunes el blanco ("neutro"), negro("vivo") y verde ("tierra"). Fuera de los Estados Unidos el cdigo comnmente es, azul ("neutro"), caf ("vivo"), y verde con una franja amarilla ("tierra"). La figura 3.7 muestra la configuracin interna de una interfaz de CA. Estas interfaces incorporan casi siempre aislamiento elctrico por optoacoplador. Puede observarse que la tensin de entrada es rectificada en la interfaz y que sta dispone de un filtro RC. La fuente de alimentacin ser, en este caso, una tensin alterna obtenida de un transformador. Cabe resaltar en este tipo de interfaces, los grandes mrgenes de tensin de entrada que admiten tanto en el nivel 0 como en el nivel 1. Por ejemplo, una interfaz para tensin 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 Conexin de interruptores a entradas tipo CA

48

www.infoPLC.net

Interfaces de Entrada / Salida

3.3.2 Salidas lgicas


Son las interfaces que conectan el autmata con los accionamientos del proceso tales como rels, electrovlvulas, etc. Una caracterstica comn 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 segn corresponda; este registro constituye el bloque lgico de enlace entre la lgica interna y la interfaz. Segn sus caractersticas, 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 estticas. stas emplean algn tipo de semiconductor para conmutar la salida, y se derivan dos grupos segn el tipo de voltaje: - De corriente directa. El conmutador de salida es un transistor de colector abierto pudiendo ser NPN o PNP segn 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 vlido tanto para CD como para CA y proporciona siempre aislamiento elctrico entre la salida y la lgica interna.

Por el aislamiento entre el circuito de salida y la lgica interna podemos clasificar las interfaces en: Salidas acopladas directamente Salidas aisladas elctricamente

Las salidas de tipo transistor slo pueden trabajar con cargas en CD. En este tipo de salidas, el PLC aplica una pequea 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 fsico del transistor tambin vara segn el fabricante. Algunos de los tipos disponibles son el BJT y el MOSFET. Ambos tienen caractersticas particulares: el de tipo MOSFET tiene ms capacidad de conmutacin, mientras que el BJT es ms rpido. En cualquier caso nunca debe excederse la corriente mxima de conmutacin del fabricante.

3.3.2.1 Salidas de CD PNP La caracterstica esencial de estas interfaces es que trabajan con lgica positiva, por lo tanto cada salida suministra en estado 1 un voltaje positivo respecto al comn de las cargas. La configuracin tpica de cada salida es la de un transistor PNP a colector abierto con proteccin de inversin de polaridad y diodo de inversa para cargas inductivas. Por lo tanto admiten como carga: bobinas de rels, solenoides, contadores de impulsos de tipo electromagntico o electrnico, etc.

49

www.infoPLC.net

Interfaces de Entrada / Salida

Figura 3.8 Interfaz de salidas tipo PNP

La conexin de las cargas y la fuente se efecta de la siguiente manera: Se unen por un extremo todas las cargas y se conectan al comn 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 caractersticas ms destacables de las salidas estticas a colector abierto, comparadas con las de rel (estudiadas ms adelante) son: Velocidad de respuesta superior. Larga vida til al no existir desgastes mecnicos. Menor volumen ocupado. Permiten proteccin de cortocircuito a base de bloquear el transistor de salida. Menor capacidad de carga de la salida. Cada de tensin en el transistor de salida, mayor que la que produce el contacto de un rel. Presentan una pequea corriente de fuga cuando la salida est en 0.

50

www.infoPLC.net

Interfaces de Entrada / Salida 3.3.2.2 Salidas de CD NPN Estas interfaces presentan caractersticas muy similares a las PNP, siendo la diferencia que la lgica es negativa, es decir, cada salida suministra en estado 1 un voltaje negativo respecto al extremo comn de las cargas. La salida consiste en un transistor NPN a colector abierto y las mismas caractersticas que para PNP.

Figura 3.9 Interfaz de salida NPN

La conexin de las cargas y la fuente de alimentacin se efecta de la siguiente manera: Se unen por un extremo todas las cargas y se conectan al polo positivo de la fuente de E/S. El otro extremo de cada una de las cargas se conecta a los distintos terminales de salida de la interfaz.

Las ventajas e inconvenientes de este tipo de salidas con respecto alas de rel son las mismas que las expuestas anteriormente.

51

www.infoPLC.net

Interfaces de Entrada / Salida 3.3.2.3 Salidas de rel Uno de los tipos ms 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, lmparas, etc. Es importante revisar las especificaciones de la carga antes de conectarla a la salida del PLC, debe verificarse tambin que la corriente mxima 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 travs del sistema. Esto puede ser daino 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 dao 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 lgico 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 comn tal como se puede ver en la figura anterior. En algunos casos el contacto est protegido mediante un circuito RC o un varistor a fin de evitar las perturbaciones antes mencionadas.

52

www.infoPLC.net

Interfaces de Entrada / Salida 3.3.2.4 Salidas estticas 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 elctrico mediante optoacoplador. En algunos casos disponen tambin de algn circuito de proteccin que bloquea la salida en caso que la carga demande ms carga que la permitida.

Fig. 3.11 Interfaz de salida esttica de CA.

Las ventajas de esta interface con respecto a la de rel son las siguientes: Mayor rapidez de conmutacin Ausencia de desgaste mecnico Eliminacin al mximo de perturbaciones en la lnea debido al cierre al paso por cero de tensin y apertura al paso por cero de la corriente. Menor tamao

Los inconvenientes: Sensibles a sobrecargas. Sensibles a perturbaciones en la alimentacin. Cada de voltaje en estado de paso del orden de 2V. Ligera corriente de fuga en estado de bloqueo. Mayor disipacin de potencia y, por tanto, calentamiento. Menor flexibilidad para mezclar varias tensiones de mando Aptas slo para ciertos mrgenes de voltaje.

53

www.infoPLC.net

Interfaces de Entrada / Salida

3.4

ENTRADAS Y SALIDAS ANALGICAS

No todos los Autmatas programables o PLCs son capaces de manipular seales analgicas, pero es frecuente que existan mdulos de ampliacin para los tipos compactos o tarjetas analgicas en los tipos de rack, que si son capaces de tratar dichas seales. Paralelamente dichos Autmatas incorporan ciertas funciones de software especficas para tratar este tipo de seales y que permiten controlar valores mximos y mnimos de ciertas variables del proceso, realizar clculos aritmticos o incluso funciones ms complejas para control PID, aplicables a servovlvulas, servomotores, control de temperatura, etc. El procesamiento de datos dentro del Autmata programable es enteramente digital, como corresponde a todo sistema basado en un microprocesador y, por tanto, las seales de tipo analgico deben ser previamente digitalizadas para que puedan ser procesadas. As pues, para el tratamiento de seales analgicas ser preciso ante todo convertir dichas seales a la forma digital. Dicha forma digital consistir en representar la magnitud de la variable analgica por un nmero codificado en forma binaria o en forma BCD (Decimal Codificado en Binario). Recprocamente, si el Autmata programable debe suministrar al proceso variables o seales de regulacin continuas, deber previamente convertir los datos internos en forma binaria o BCD a magnitudes de tipo analgico. El proceso de adaptacin que sufren las seales analgicas, 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 seales, sino que el Autmata procesar las seales de entrada y elaborar otras de salida, combinando entradas y variables internas y procesndolas con los algoritmos adecuados.

D/A

D/A MULTIPLEXOR ANALOGICO CONVERTIDOR A/D


Analog.

CPU AUTOMATA
BUS BUS

MULTIPLEXOR DIGITAL

Dig. D/A ENTRADAS ANALGICAS SELECCIN DE CANAL SALIDAS ANALGICAS

Figura 3.12 Proceso de adaptacin de las seales de E/S analgicas.

54

www.infoPLC.net

Interfaces de Entrada / Salida Las funciones de multiplexado, conversin A/D y D/A indicadas en la figura son precisamente unas de las funciones especiales que realizan las interfaces de E/S analgicas.

3.4.1 Conversin A/D


La conversin A/D tiene por objeto la transformacin de seales analgicas de tensin o corriente en datos numricos que, por lo general, se obtendrn en cdigo binario. El proceso de conversin requiere, en general, que la seal analgica haya sido previamente tratada para conseguir dos objetivos: Adaptacin al fondo de escala, con objeto de aprovechar al mximo la resolucin del convertidor. Mantener el valor de la seal constante durante la conversin. Esto es especialmente necesario para las seales de variacin rpida, pero que no puede serlo para otras ms lentas o incluso, para ciertos tipos de convertidores.

Para realizar estas funciones, las interfaces de entrada analgicas suelen disponer de un amplificador de ganancia programable y de un circuito de muestreo y retencin (Sample & Hold). El amplificador de ganancia programable consiste esencialmente de un amplificador operacional con varias resistencias de retroalimentacin conectadas a travs de un multiplexor analgico, cuya funcin consiste bsicamente en adaptar la escala de la seal de entrada de tal forma que los convertidores A/D puedan realizar un muestreo de la seal analgica como paso previo a la conversin. Como consecuencia de ello se obtienen slo valores puntuales de la magnitud continua (en realidad la seal continua queda aproximada por una seal escalonada). Posteriormente, el circuito de muestreo y retencin denominado abreviadamente S&H, adquiere el valor puntual de la seal analgica y posteriormente, lo mantiene mientras dura la conversin. Dicho circuito est basado en la carga de un condensador durante la fase de muestreo y el mantenimiento de su tensin mientras dure la conversin. Los tipos bsicos de convertidores A/D que se pueden encontrar en un PLC o Autmata programable son: Convertidores basados en contadores binarios. Convertidores de aproximaciones sucesivas. Convertidores de doble rampa de integracin.

55

www.infoPLC.net

Interfaces de Entrada / Salida 3.4.1.1 Convertidores basados en contadores binarios Como veremos a continuacin, 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 bsicamente de un contador binario, un convertidor D/A como retroalimentacin y un amplificador operacional que compara la magnitud de la entrada analgica con el contenido del contador a travs del convertidor D/A. El funcionamiento de este sistema es el siguiente: se da una seal de inicio de conversin, 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 seal analgica 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 seal de fin de conversin. El contenido del contador en este instante ser la palabra binaria que representa a la magnitud analgica 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 conversin, sino que el contador incrementa o decrementa su conteo dependiendo de que si su salida es menor o mayor al valor de la seal de entrada respectivamente.

3.4.1.2 Convertidores de aproximaciones sucesivas El mtodo de conversin 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 analgico 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 ms peso, lo cual supone dividir otra vez la escala por dos, y se acta de forma anloga al caso anterior. El proceso finaliza cuando se han tanteado todos los bits, es decir, despus de n ciclos de reloj, siendo n el nmero de bits de la palabra digital. Este tipo de convertidor, es mucho ms rpido que los vistos anteriormente, sobre todo para palabras de gran nmero de bits. En cuanto a su resolucin, sta slo depende del nmero de bits y del valor mximo de la seal de entrada respecto a la tensin de referencia del convertidor D/A. As, el convertidor de aproximaciones sucesivas tiene la misma resolucin que los basados en contadores.

56

www.infoPLC.net

Interfaces de Entrada / Salida 3.4.1.3 Convertidores de doble rampa de integracin Este tipo de convertidor difiere radicalmente de los vistos anteriormente en los siguientes aspectos: No utilizan un convertidor D/A en la retroalimentacin. No requiere un circuito previo de muestreo, aun en casos de seales de variacin rpida. No obtiene un valor puntual de la seal de entrada, sino un valor promedio de la misma durante un cierto intervalo de la conversin.

Este tipo de convertidor, es muy utilizado en las interfaces de entrada de los Autmatas programables, puesto que en muchos casos se trata con seales lentas y, adems, al obtener un valor promedio durante el intervalo, es idneo para la eliminacin de ruidos aleatorios que puedan estar superpuestos a la seal.

3.4.2 Conversion D/A


La conversin D/A consiste en la transformacin de informacin digital, un byte o una variable numrica expresada en forma binaria con n bits, en una seal analgica cuyo valor sea proporcional al valor numrico de una tensin 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 tensin analgica que va de cero a un valor mximo, pero siempre con el mismo signo. Una posible configuracin de un convertidor D/A unipolar consiste simplemente de un sumador analgico donde cada bit controla la entrada de tensin en una rama de suma, conectndola a Vref o a 0 mediante un conmutador digital, segn sea el bit 1 o 0 respectivamente. Otra posible configuracin 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 ms peso (MSB) indica el signo y entregan como salida una tensin analgica que va de -Vmx a +Vmx. El bloque bsico consiste de un convertidor de cdigo binario en complemento a dos a una tensin de salida. Este bloque es anlogo al unipolar, pero con la diferencia de que ahora el bit MSB es ahora el bit de signo y controla el conmutador de ms peso (), pero despus de sufrir una inversin. Adems se suma a ala entrada una polarizacin igual a Vref/2, que despus de la inversin del amplificador operacional se traducir en una salida - Vref/2. 57

www.infoPLC.net

Interfaces de Entrada / Salida Cuando el MSB es 0 (nmeros positivos), las salidas debidas a ste y la polarizacin se cancelan y los (n-1) bits restantes actan como en un convertidor D/A unipolar, dando valores de salida analgica entre 0 y +Vref(1-2-n)/2. Cuando el MSB es 1 (nmeros negativos), la salida debida a ste se anula y la debida a la polarizacin sita el origen a una tensin de salida -Vref/2. Los (n-1) bits restantes actan como un convertidor D/A unipolar.

3.4.3 Interfaces para entradas analgicas


Las interfaces de entrada de tipo analgico para Autmatas 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 analgicas. Para ello es preciso que en cada momento slo una de ellas est conectada al convertidor, realizndose la conversin en forma cclica, una tras otra. El esquema de bloques de una interfaz de entradas analgicas completa para n canales puede verse en la figura 3.13, donde se ha supuesto la existencia de una serie de transductores analgicos 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 analgicas.

La funcin de conectar varios canales de entrada a un solo convertidor se realiza mediante un multiplexor analgico, que consiste bsicamente de un conjunto de interruptores estticos de tipo MOS gobernados por un decodificador que selecciona en cada momento el cierre de uno de ellos. Adems, dicho multiplexor sirve adems como adaptador de impedancias . Las interfaces de entrada analgicas ms comunes trabajan con seales normalizadas de 0 a 10V o de 4 a 20mA, pero algunas familias de Autmatas de gama alta disponen tambin de tarjetas especficas para tipos concretos de transductores (termopares, codificadores, etc.) . Este tipo de interfaces son tambin llamadas interfaces dedicadas. 58

www.infoPLC.net

Interfaces de Entrada / Salida Como criterio general, los parmetros ms relevantes a comprobar en cada aplicacin son los siguientes: Mrgenes de tensin o corriente de entrada. Impedancia de entrada. Nivel de aislamiento entre entradas y unidad de control y entre entradas entre s. Resolucin, que depender del nmero de bits del convertidor. Tipo de conversin A/D. Polaridad de la seal de entrada (conversin con signo o slo valor absoluto). Tiempo de adquisicin del dato (velocidad de muestreo).. Precisin o margen de error. Precauciones de instalacin (longitud y tipo de cables). Exigencias de fuente de alimentacin.

3.4.4 Interfaces para salidas analgicas


Las interfaces de salida analgicas permiten enviar al proceso seales de regulacin o para instrumentacin, empleando, por lo general, seales normalizadas de uno de los siguientes tipos: Seales de 0 a 10V. Seales de 0 a 5V. Seales de 0 a 20mA. Seales de 4 a 20mA.

La figura 3.14 muestra un diagrama de bloques elemental de un canal de salida analgica. El CPU del PLC enviar los datos en forma numrica 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 galvnico 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 autonoma propia, de forma que la salida puede gobernarse de forma automtica, cargando datos del bus del PLC, o en forma manual mediante las seales INCR y DECR, que permiten variar la salida analgica a efecto de prueba o para control manual del proceso.

59

www.infoPLC.net

Interfaces de Entrada / Salida

Figura 3.14 Interfaz de salidas analgicas.

Como criterio general, los parmetros ms relevantes de las interfaces de salida analgicas a comprobar en cada aplicacin son los siguientes: Posibilidad de salidas multivalentes 0-10 V, 0-20 mA 0 4-20 mA. Mrgenes de tensin y/o corriente de salida. Impedancia de salida. Proteccin contra cortocircuitos. Nivel de aislamiento entre salidas y unidad de control y entre salidas entre s. Resolucin (que depender del nmero de bits del convertidor D/A). Lmites de error. Posibilidad de doble paridad de salida (conversin con signo o slo valor absoluto). Posibilidad de control manual/automtico. Exigencias de instalacin: fuente de alimentacin, longitud de cables, etc.

60

www.infoPLC.net

Programacin del PLC

4.0 PROGRAMACION DEL PLC


4.1 INTRODUCCION
Hasta el momento se ha descrito al PLC como una mquina formada por elementos de hardware capaces de comunicarse fsicamente con el proceso para: Recoger el conjunto de variables (digitales y/o analgicas) que definen el estado del mismo (seales de entrada), Enviar otro conjunto de variables que modifiquen dicho estado en un sentido predeterminado (seales de salida).

Pero para esto, el PLC necesita para su completa adaptacin al proceso de un operador humano que defina como se quiere la evolucin del mismo. Este operador intercambia entonces informacin 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 evolucin o, simplemente, para leer su estado.

El primero de los puntos, establecimiento de la secuencia de ordenes, se denomina programacin de PLC, y la secuencia establecida, programa de aplicacin. Al segundo punto, intervencin del operador sobre el proceso, se le conoce comnmente como explotacin de la aplicacin, y durante ella se permiten modificar algunos parmetros (tiempo, consignas, mdulos de cuenta, etc.), pero no modificar el programa. Se ha descrito pues, a la programacin como la codificacin al lenguaje del PLC del conjunto de rdenes que forman la ley de mando o control deseada. Codificar, a su vez, significa transformar una informacin en otra equivalente de distinto formato. Por lo que un programa es una sucesin o lista en un determinado orden de distintas rdenes de trabajo tambin llamadas instrucciones y capaz de hacer ejecutar al autmata la secuencia de trabajo pretendida. Por lo tanto, se define, de esta manera, al lenguaje de programacin como un conjunto de smbolos y textos inteligibles por la unidad de programacin que le sirven al usuario para codificar sobre un cierto Autmata las leyes de control deseadas, mientras que lenguaje de explotacin 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 programacin del PLC pasa, pues, por los siguientes pasos: 1. 2. 3. Determinar qu debe hacer el sistema de control y en que orden (por ejemplo, mediante un diagrama de flujo, una descripcin literal, etc.). Identificar los componentes (seales) de entrada y salida al PLC. Representar mediante un modelo el sistema de control, indicando todas las funciones que intervienen, las relaciones entre ellas, y la secuencia que deben de seguir. Esta representacin puede ser: 61

www.infoPLC.net

Programacin del PLC 4. 5. Algebraica: Instrucciones literales. Grfica: Smbolos grficos.

6. 7.

Asignar direcciones de entrada/salida o internas a cada uno de los componentes que aparecen en el modelo. Codificar la representacin anterior en instrucciones o smbolos inteligibles por la unidad de programacin. Esto, dado que, el cdigo de salida a obtener son los cdigos binarios que entiende la CPU; El cdigo de entrada no es ms que el control que se quiere implementar, representado en alguna forma. Transferir las instrucciones obtenidas a la memoria del Autmata desde la unidad de programacin. Depurar el programa y obtener una copia de seguridad.

En pocas palabras, al conjunto total de instrucciones, ordenes y smbolos que estn disponibles para escribir un programa se le denomina lenguaje de programacin. Ahora bien, por otro lado, la descripcin del proceso y su control puede hacerse con la enumeracin literal de las acciones a desarrollar por el mismo, expuestas secuencialmente y con la indicacin de las condiciones de habilitacin o validacin de cada caso. La ventaja de estas descripciones, que es a la vez su principal inconveniente, es la ausencia de rigor en la exposicin. Con esto se quiere decir que, una persona, aun poco calificada desde el punto de vista de la automtica, es capaz de explicar lo que debe de hacer el proceso en cuestin. Esta descripcin, 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, supngase que se quiere controlar un taladro para la perforacin de un pedazo de madera. El personal encargado del proceso podra describir la secuencia de pasos de la siguiente manera (ver figura 4.1):

Figura 4. 1 Perforacin de un pedazo de madera En efecto, observando la figura y la descripcin podran plantearse algunas preguntas:

62

www.infoPLC.net

Programacin del PLC 1. 2. 3. 4. Qu ocurre si la presin detectada por el nanmetro no es la precisa? Cundo debe empezar a girar la broca, antes, durante o despus de la bajada del taladro? Cundo debe detenerse el giro de la broca R, al llegar al tope b1 en la bajada del taladro, durante la subida, o despus de haber llegar al tope b0 en la subida del taladro? Cmo se afloja la pieza, por retroceso del cilindro A, por extraccin manual, o por movimiento del soporte?

Parece que con una descripcin como la dada, que en principio resultaba suficientemente clara, el diseador necesita de una serie de preguntas adicionales antes de empezar a trabajar en el control. La conclusin que se obtiene es que la descripcin literal o se hace exhaustiva, con lo cual es de difcil comprensin en su conjunto, o no es totalmente unvoca con el proceso que se quiere controlar. Afortunadamente existen otras formas de representacin, de sintaxis ms definida, que permiten descripciones ms 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 diseo, 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 simblicos de representacin que permitan, interpretados adecuadamente, obtener toda la informacin posible acerca del sistema de control. Para ello, estos tiles de representacin deben cumplir dos condiciones: Ser comunes para el emisor y receptor de la informacin, por cuanto sean comprensibles simultneamente para ambos. Ser de empleo coherente, por cuanto utilicen unas reglas de combinacin entre ellos (sintaxis) perfectamente establecidas.

Adems de lo anterior, sera deseable que la misma simbologa utilizada para representar el sistema de control pudiera emplearse para programar el PLC: el ahorro de tiempo y documentacin y la seguridad en el programa obtenido seran considerables. Sin embargo, esta solucin no es siempre posible: el lenguaje de programacin depende del PLC empleado y de su fabricante, que decide el tipo de unidad de programacin (literal, grfica) y del intrprete (firmware) que utiliza su mquina, mientras que el modelo de representacin depende del usuario, que lo elige segn sus necesidades o conocimientos. Por lo anterior, dado el incremento en la complejidad de la programacin de los autmatas programables, se requiere ms que nunca de la estandarizacin de la misma. Bajo la direccin del IEC el estndar IEC 1131-3 (IEC 65) para la programacin de PLC's ha sido definida tal la simbologa (en el siguiente capitulo se tratara sobre el estndar IEC 11313). El IEC 1131-3 alcanz el estado de Estndar Internacional en Agosto de 1992. Los lenguajes grficos y textuales definidos en el estndar son una fuerte base para entornos de programacin potentes en PLC's. Segn los smbolos utilizados en el modelo, la representacin puede ser:

63

www.infoPLC.net

Programacin del PLC Proposicional: Por medio de descripciones literales, tal como se llevo a cabo la descripcin del proceso en el perforado de un pedazo de madera en el tema anterior. Algebraica: Por medio de Mnemnicos (o tambin conocido como lista de instrucciones IL, booleano, abreviaturas mnemotcnicas o bien AWL) o lenguajes de alto nivel. Grfica: Por medio de esquemas de relevadores (o tambin conocido como diagrama de contactos LD Ladder Diagram, plano de contactos, esquema de contactos, o bien KOP), diagramas lgicos, ordinogramas o diagramas de flujo, as como tambin por medio de las tcnicas GRAFCET.

Ahora bien, si la representacin elegida para el sistema de control es comprensible por la unidad de programacin, no ser necesaria ninguna codificacin, al aceptar sta los smbolos utilizados. En caso contrario, habr que traducirla al lenguaje de programacin empleado por la unidad de programacin. 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 BOLANO Y LISTAS DE INSTRUCCIONES)


El lenguaje booleano est constituido por un conjunto de instrucciones que son una trascripcin literal de las funciones del lgebra de Boole, a saber: OR Funcin de la suma lgica AND Funcin del producto lgico NOT Funcin de negacin

complementadas con instrucciones de inicio de sentencia y asignacin de resultados: LOAD Leer la variable inicial OUT Enviar un resultado a la salida

Y de operaciones de bloques (parntesis): OR LOAD coloca bloque en paralelo AND LOAD coloca bloque en serie

En operacin normal, el PLC necesita de otras instrucciones como ampliacin del lenguaje booleano, que le permitan manejar elementos de uso comn en automatizacin. Son estas las instrucciones secuenciales predefinidas: 64 TIM definir un temporizador CNT definir un contador SET activa una variable binaria (unidad de memoria) RST desactivar una variable binaria

www.infoPLC.net

Programacin del PLC Adems, la mayor parte de los autmatas incluyen extensiones al lenguaje booleano bsico descrito, que le permiten la manipulacin de datos y variables digitales y la gestin del programa. Estas extensiones, pueden clasificarse en: 1. Instrucciones aritmticas


2.

ADD sumar SBB restar MUL multiplicar DIV dividir

Instrucciones de manipulacin de datos


3.

CMP comparar variables digitales SFR rotaciones de bits (variables binarias) SHIFT rotaciones de palabras (variables digitales) MOV transferencias de datos BDC/BIN conversiones de cdigos numricos, etc.

Instrucciones de gestin de programa


4.

END fin de programa JMP salto de bloque de programa MCS habilitacin de bloque de programa JMPSUB salto a subrutina, etc.

Las instrucciones aritmticas y de manipulacin de datos admiten mltiples variaciones:

Aritmtica binaria o BCD Instrucciones lgicas sobre palabras (8 o 16 bits) Transferencias entre bloques de palabras Codificacin a salida en 7 segmentos Instrucciones de direccionamiento indirecto Instrucciones trigonomtricas, etc.

Al lenguaje resultante, que no puede llamarse ya booleano despus de ampliarlo con estas extensiones, se le denomina lista de instrucciones IL (Istruction List). Ya de forma ms extendida se acepta con el trmino de mnemnicos. Un lenguaje en mnemnico o lista de instrucciones consiste en un conjunto de cdigos simblicos, cada uno de los cuales corresponde a una instruccin. Cada fabricante utiliza sus propios cdigos, y una nomenclatura distinta para nombrar las variables del sistema. Por lo anterior, podemos decir que este lenguaje tiene las siguientes caractersticas: El lenguaje en mnemnico es similar al lenguaje ensamblador del micro. 65

www.infoPLC.net

Programacin del PLC Las funciones de control vienen representadas con expresiones abreviadas. La fase de programacin es ms rpida que en el lenguaje de esquemas de contactos.

Por otro lado, cabe sealar que algunos fabricantes amplan las capacidades de programacin de sus autmatas de gama baja con instrucciones avanzadas, que seran de ms lgica aplicacin en autmatas de superiores prestaciones. El tiempo de ejecucin resultante sobre CPU desaconseja su empleo en la mayora de ocasiones. Sin embargo, disponible ya en el firmware capaz de interpretarlas, desarrollando para otros autmatas de la familia, cuesta muy poco introducirlo en las versiones bsicas aunque no sea ms que por motivos comerciales de competencia. Con el propsito de complementar el tema de mnemnicos, tomaremos como ilustracin la programacin 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 lgico (RLO): aqu se almacena el resultado de operaciones lgicas a nivel de bit y primera consulta. Acumuladores (ACU 1 y ACU 2): aqu se almacenan los operandos y resultados de operaciones lgicas a nivel de byte, palabra, y doble palabra.

Adems de que: Un operando del tipo bit sera una entrada o salida digital. Un operando del tipo byte o superior sera la lectura de una entrada analgica.

4.2.1 Primera consulta


Cuando efectuamos una asignacin, o se comienza un nuevo ciclo de programa, se est en estado de primera consulta. Es decir, la primera instruccin lgica que se efecte servir para situar su operando en el RLO. Las operaciones S y R (Set y Reset respectivamente) tambin producen que el bit de primera consulta se ponga a 0. Da igual si se trata de una operacin 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 Asignacin
La instruccin "=" 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 instruccin: 66

www.infoPLC.net

Programacin del PLC

INSTRUCCION = E 2.0

DESCRIPCIN Copia el RLO a la entrada E 2.0

Tabla 4-1 Ejemplo del empleo de la instruccin de asignacin

4.2.3 And
La instruccin "U" realiza la funcin lgica AND entre el RLO y el operando especificado, almacenando el resultado en RLO (se pierde el valor anterior). Se puede operar con el negado del operando si se adjunta "N" (UN). Los posibles operandos son: E, A, M, DBX, DIX, L, T y Z y los registros afectados son: RLO, STA Por ejemplo, veamos las siguientes instrucciones: INSTRUCCION U E 0.0 UN A 1.2 DESCRIPCIN Realiza un AND entre el RLO y la entrada E 0.0 Realiza un NAND entre el RLO y la salida A 1.2

Tabla 4-2 Ejemplo del empleo de la instruccin AND

4.2.4 Or
La instruccin "O" realiza la funcin lgica OR entre el RLO y el operando especificado, almacenando el resultado en RLO (se pierde el valor anterior). Se puede operar con el negado del operando si se adjunta "N" (ON). Los posibles operandos son: E, A, M, DBX, DIX, L, T y Z y los registros afectados son: RLO y STA. Veamos en este caso los siguientes ejemplos: INSTRUCCION O T 0 ON M 5.0 DESCRIPCIN Realiza un OR entre el RLO y el estado del temporizador T0 Realiza un NOR entre el RLO y la marca M 5.0

Tabla 4-3 Ejemplo del empleo de la instruccin OR

4.2.5 XOR (O exclusiva)


La instruccin "X" realiza la funcin lgica XOR entre el RLO y el operando especificado, almacenando el resultado en RLO (se pierde el valor anterior). Se puede operar con el negado del operando si se adjunta "N" (XN). Los posibles operandos son: E, A, M, DBX, DIX, L, T y Z y los registros afectados son: RLO y STA En este caso tenemos los siguientes ejemplos: INSTRUCCION X Z 0 XN A 1.0 DESCRIPCIN Realiza un XOR entre el RLO y el estado del contador Z 0 Realiza un XNOR entre el RLO y la salida A 1.0

Tabla 4-4 Ejemplo del empleo de la instruccin XOR

67

www.infoPLC.net

Programacin del PLC

4.2.6 Expresiones entre parntesis


Instrucciones "U(", "UN(", "O(", "ON(", "X(", "XN(", ")" sin operandos Las operaciones U, O, X, y sus negaciones UN, ON, y XN permiten ejecutar operaciones lgicas con fracciones de una cadena lgica encerradas entre parntesis (expresiones entre parntesis). Los parntesis que encierran una fraccin de una cadena lgica indican que el programa va a ejecutar las operaciones entre parntesis antes de ejecutar la operacin lgica que precede a la expresin entre parntesis. La operacin que abre una expresin entre parntesis almacena el RLO de la operacin precedente en la pila de parntesis. A continuacin, el programa combina el RLO almacenado con el resultado de las combinaciones lgicas ejecutadas dentro del parntesis (siendo la primera operacin dentro de los parntesis de primera consulta). Ahora bien, hay que tomar en cuenta que como en todo hay lmites, por lo que el lmite de anidamientos de parntesis depende del PLC empleado. Los registros afectados son: RLO, STA, RB, pila de parntesis Ejemplo: U(O E 0.0 U E 0.1) = A 2.0 Veamos los pasos que sigue el programa en este ejemplo: Efecta un AND en primera consulta, con lo que el resultado de las operaciones dentro del parntesis se introducir directamente en RLO. Efectuamos un OR con la entrada 0.0, al ser en primera consulta (primera operacin dentro del parntesis) lo que sucede es que el contenido de E 0.0 pasa a ser el nuevo valor del RLO. Se efecta un AND entre el RLO obtenido anteriormente y la entrada 0.1, almacenndose el resultado en el RLO. Se cierra el parntesis, con lo que el RLO de las operaciones efectuadas dentro se opera segn la instruccin que inicia el parntesis (en este caso la instruccin U). Tal y como comentamos, al estar la instruccin 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 parntesis. Copiamos el contenido del RLO en la salida 2.0. En pocas palabras, si ejecutramos este programa la salida 2.0 valdra 0 a menos que E 0.0 y E 0.1 valiesen 1, con lo que pasara a valer 0. Un programa equivalente sera (en este caso): INSTRUCCION O E 0.0 U E 0.1 = A 2.0 DESCRIPCION Copiamos la E 0.0 en el RLO (primera c.) Efectuamos un AND entre el RLO y la E 0.1 Copiamos el resultado a la salida 2.0

Tabla 4-5 Programa equievalente sin emplear parntesis

68

www.infoPLC.net

Programacin del PLC

4.2.7 Y antes de O
Instruccin "O" sin operando. Si introducimos una instruccin "O" sin operando seguida de una o varias instrucciones AND se evala en primer lugar las instrucciones AND y el resultado se combina con el RLO segn un OR. Esta operacin equivale a emplear "O(" con instrucciones del tipo AND dentro del parntesis. En este caso los registros que se vern afectados son: RLO, STA, OR y la pila de parntesis. Veamos el siguiente ejemplo: INSTRUCCION U E 0.0 O U E 0.1 U M 0.3 = A 4.0 DESCRIPCIN Se introduce en el RLO el valor de la entrada 0.0 (primera c.) Comenzamos una operacin Y antes de O Introducimos el valor de la entrada 0.1 en el RLO (primera c.) Efectuamos un AND entre el RLO y la marca 0.3 Se finaliza Y antes de O. Se efecta 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 instruccin 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 instruccin FP o FN emplea un operando para poder comparar el RLO actual con el que haba en el ciclo anterior, se recomienda emplear marcas de memoria. Si se realiza un cambio de flanco en el sentido de la instruccin 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 DESCRIPCIN 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 operacin FP a la salida 4.0
Tabla 4-7 Ejemplo del empleo de la instruccin 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 continuacin: CICLO E 1.0: M 1.0: A 4.0: 1 0 0 0 2 0 0 0 3 1 1 1 4 1 1 0 5 1 1 0 6 0 0 0 7 0 0 0 8 0 0 0 9 1 1 1 10 1 1 0 11 0 0 0

Tabla 4-8 Efectos de la instruccin FP en cada ciclo

69

www.infoPLC.net

Programacin del PLC Para el caso de sustituir en el ejemplo FP por FN, se obtendra: CICLO E 1.0: M 1.0: A 4.0: 1 0 0 0 2 0 0 0 3 1 1 0 4 1 1 0 5 1 1 0 6 0 0 1 7 0 0 0 8 0 0 0 9 1 1 0 10 1 1 0 11 0 0 1

Tabla 4-9 Efectos de la instruccin 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 operacin set (S) fuerza a uno el operando especificado si el RLO es 1. La operacin 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: INSTRUCCIN U E 1.0 S A 4.0 U E 1.1 R A 4.0 DESCRIPCIN Copiamos al RLO el valor de la entrada 1.0 (primera c.) Si RLO=1 se fuerza la salida 4.0 a 1 Copiamos al RLO el valor de la entrada 1.1 (primera c.) Si RLO=1 se fuerza la salida 4.0 a 0

Tabla 4-10 Ejemplo del empleo de las instrucciones Set y Reset

En este ejemplo (bscula S-R) tiene preferencia el reset sobre el set, ya que esta ltima instruccin se ejecuta despus, es decir si las entradas 1.0 y 1.1 fuesen 1 la salida 4.0 sera 0.

4.2.10 Negar, activar, desactivar y salvar el RLO


Instrucciones "NOT", "SET", "CLR" y "SAVE" sin operando. NOT Niega (invierte) el RLO actual al no haberse activado el bit OR. Los registros afectados son: RLO el cual se invierte y STA=1. SET Fuerza el RLO de forma incondicional a 1. Los registros afectados son: RLO=1, STA=1, ER=0 y OR=0.

70

www.infoPLC.net

Programacin del PLC CLR Fuerza el RLO de forma incondicional a 0. Los registros afectados son: RLO=0, STA=0, ER=0 y OR=0. SAVE Almacena el RLO en el registro de estado (en el bit RB). El RLO almacenado puede ser consultado de nuevo con la instruccin "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 preseleccin. Borrar el contador. Contar hacia adelante y hacia atrs. Consultar su estado como un operando ms en operaciones lgicas de bit. Consultar su valor en ACU 1.

Todas estas operaciones sern 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 operacin de carga, y luego en el contador, mediante una instruccin 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:
INSTRUCCIN L C# 3 U E 1.0 S Z 1 DESCRIPCION Introduce el valor de conteo 3 en el ACU 1 Carga en el RLO el valor de la entrada 1.0 Introduce el valor 3 (dentro de ACU 1) en el contador 1 si la entrada 1.0 es 1

Tabla 4-11 Ejemplo del empleo de la instruccin SZ

71

www.infoPLC.net

Programacin del PLC 4.2.11.2 Borrar un contador Instruccin: "R Z". Borra el contador especificado (puesta a cero) si el RLO vale 1. El registro afectado en este caso es ER. Ejemplo: INSTRUCCION U E 1.0 R Z 1 DESCRIPCION Carga en el RLO el valor de la entrada 1.0 Borra el contador 1 (a cero) si la entrada 1.0 es 1 (RLO=1)

Tabla 4-12 Ejemplo del empleo de la instruccin 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 lmite 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 lmite inferior de 0, se detiene y no sigue decrementando. En este caso el registro afectado es: ER Ejemplos: INSTRUCCION U E 0.0 ZV Z 1 U E 1.0 ZR Z 1 DESCRIPCIN Carga en el RLO el valor de la entrada 0.0 Incrementa el contador 1 si la entrada 0.0 presenta un cambio de flanco ascendente Carga en el RLO el valor de la entrada 1.0 Decrementa el contador 1 si la entrada 1.0 presenta un cambio de flanco ascendente

Tabla 4-13 Ejemplo del empleo de la instruccin 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 seal de una entrada o salida, pudiendo combinar el resultado de la consulta. Cuando se consulta el estado del contador con las operaciones U, O, o X el resultado es 1 si el valor del contador en ese momento es mayor que 0. 72

www.infoPLC.net

Programacin del PLC Ejemplo: INSTRUCCION L C# 5 U E 2.0 S Z 1 U E 1.0 ZR Z 1 U Z 1 = A 0.0 DESCRIPCIN Introduce el valor de contaje 5 en el ACU 1 Carga en el RLO el valor de la entrada 2.0 Introduce el valor 5 (dentro de ACU 1) en el contador 1 si la entrada 2.0 es 1 Carga en el RLO el valor de la entrada 1.0 Decrementa el contador 1 si la entrada 1.0 presenta un cambio de flanco ascendente Introduce en el RLO el estado del contador 1 Introduce el estado del contador 1 en la salida 0.0

Tabla 4-14 Ejemplo de una consulta en un contador

4.2.11.5 Lectura del valor de un contador Instrucciones: "L Z" y "LC Z" Con la instruccin "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 instruccin "LC Z" introducimos en el ACU 1 (parte baja) el valor del contador especificado en BCD. En esta codificacin no es posible pasar el valor de ACU 1 a otro contador. En este caso los registros afectados son: ACU 1 y ACU 2 . Ejemplos: INSTRUCCION L Z 1 LC Z 2 DESCRIPCIN Introduce el valor del contador 1 en el ACU 1 Introduce el valor del contador 2 en el ACU 1 en BCD

Tabla 4-15 Ejemplo de la lectura del valor de un contador

4.2.12 Operaciones con temporizadores


Los temporizadores permiten distintas operaciones que debemos emplear en su manejo. Entre estas operaciones podemos mencionar las siguientes: Funcionamiento en un modo determinado. Borrar la temporizacin. Re-arrancar un temporizador (FR). Consultar su estado como un operando ms en operaciones lgicas de bit. Consultar su valor en ACU 1.

Cada temporizador lo podemos hacer funcionar en uno de los siguientes modos: 73

www.infoPLC.net

Programacin del PLC Impulso (SI). Impulso prolongado (SV). Retardo a la conexin (SE). Retardo a la conexin con memoria (SS). Retardo a la desconexin (SA).

Todas estas operaciones sern explicadas con profundidad en los siguientes puntos. 4.2.12.1 Cargar un valor de temporizador El valor de temporizacin se debe cargar en la parte baja del ACU 1, para desde all transferirlo al temporizador mediante el set que determine el modo de temporizacin adecuado. El tiempo va decrementando hasta ser igual a 0. El valor de temporizacin 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 temporizacin predefinido: L W#16#abcd Donde: a = base de tiempos bcd = valor de temporizacin en formato BCD Base de tiempos Cdigo respectivo 10 ms 0 100 ms 1 1s 2 10 s 3
Tabla 4-16

En este caso los registros afectados son: ACU 1 y ACU 2 Ejemplo: INSTRUCCION DESCRIPCIN L W#16#210 Esto introduce un valor de 10 segundos en ACU 1 (2 base de 1s, 10 los segundos que deseamos)
Tabla 4-17 Ejemplo de carga de un temporizador

L S5T#aH_bbM_ccS_ddMS a = horas, bb= minutos, cc = segundos, dd = milisegundos

74

www.infoPLC.net

Programacin del PLC En este caso la base de tiempos se selecciona de forma automtica, tomndose la de valor ms bajo posible. Debido a esto los valores de resolucin demasiado alta se redondean por defecto, alcanzando el rango pero no la resolucin deseada. As, las posibles resoluciones y rangos son: Resoluciones 0,01 s 0,1 s 1s 10 s Rangos 10MS a 9S_990MS 100MS a 1M_39S_900MS 1S a 16M_39S 10S a 2H_46M_30S
Tabla 4-18

En este caso los registros afectados son: ACU 1 y ACU 2 . Ejemplo: INSTRUCCIN DESCRIPCIN L S5T#00H02M23S00MS Esto introduce un valor de temporizacin 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 seal 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 Instruccin: "SI" Si el RLO (al ejecutar esta instruccin) cambia de 0 a 1, el temporizador arranca. El temporizador marcha con el valor de tiempo indicado en ACU1. Si el RLO cambia de 1 a 0 antes de terminar el tiempo, el temporizador se detiene. La salida del temporizador entrega 1 mientras el temporizador corre. En este caso, el registro afectado en este caso es: ER. Veamos el siguiente ejemplo: INSTRUCCION U E 0.0 L S5T#45s SI T 2 U T 2 = A 0.1 DESCRIPCIN Empleamos la entrada 0.0 como entrada del temporizador Introducimos un valor de temporizacin de 45 segundos Empleamos el temporizador 2 como impulso Leemos la salida del temporizador Asignamos la salida del temporizador a la salida 0.1

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

75

www.infoPLC.net

Programacin del PLC 4.2.12.4 Temporizador como impulso prolongado Instruccin: "SV" Si el RLO (al ejecutar esta instruccin) cambia de 0 a 1, el temporizador arranca y continua en marcha incluso si el RLO cambia a 0 antes de que el temporizador termine. Mientras el tiempo est corriendo, la salida vale 1. En este caso, el registro afectado es ER. Veamos el siguiente ejemplo: INSTRUCCION U E 0.7 L S5T#65s SE T 4 U T 4 = A 8.1 DESCRIPCIN Empleamos la entrada 0.7 como entrada del temporizador Introducimos un valor de temporizacin de 65 segundos Empleamos el temporizador 4 como retardo a la conexin Leemos la salida del temporizador Asignamos la salida del temporizador a la salida 8.1

Tabla 4-21 Ejemplo de l empleo de un temporizador como impulso prolongado

4.2.12.5 Temporizador como retardo a la conexin con memoria Instruccin: "SS" Si la entrada (RLO en la ejecucin de la instruccin) 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 temporizacin indicado en el ACU 1 si el estado de la seal en la entrada (RLO) cambia de 0 a 1 mientras el temporizador est en marcha. Nuevamente, el registros afectado es: ER. Veamos el ejemplo de la tabla 4.22. INSTRUCCION U E 1.2 L S5T#32s SS T 2 U T 2 = A 3.1 DESCRIPCIN Empleamos la entrada 1.2 como entrada del temporizador Introducimos un valor de temporizacin de 32 segundos Empleamos el temporizador 2 como retardo a la c. con memoria Leemos la salida del temporizador Asignamos la salida del temporizador a la salida 3.1

Tabla 4-22 Ejemplo del empleo de un temporizador como retardo a la conexin con memoria

4.2.12.6 Temporizador como retardo a la desconexin Instruccin: "SA" Si la entrada (RLO en la ejecucin de la instruccin) cambia de 1 a 0, el temporizador arranca y continua corriendo. Si la entrada (RLO) cambia a 1 antes que el temporizador termine de contar, se resetea el temporizador. Mientras el tiempo est corriendo, la salida vale 1. En este caso, el registro afectado en este caso es: ER. Veamos el siguiente ejemplo se la tabla 4.23. 76

www.infoPLC.net

Programacin del PLC INSTRUCCION DESCRIPCIN U E 4.2 Empleamos la entrada 4.2 como entrada del temporizador L S5T#32s Introducimos un valor de temporizacin de 32 segundos SA T 7 Empleamos el temporizador 7 como retardo a la desconexin U T 7 Leemos la salida del temporizador = A 1.1 Asignamos la salida del temporizador a la salida 1.1
Tabla 4-23 Ejemplo del empleo de un temporizador como retardo a la desconexin

4.2.12.7 Borrar un temporizador Instruccin: "R T". Esta instruccin 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 DESCRIPCIN U E 0.0 Empleamos la entrada 0.0 como entrada del temporizador L S5T#2s Introducimos un valor de temporizacin de 2 segundos SS T 2 Empleamos el temporizador 2 como retardo a la conexin 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 cmo borrar un temporizador mediante la instruccin R T

4.2.12.8 Re-arranque de un temporizador Instruccin: "FR T". Cuando el RLO cambia de 0 a 1 (flanco de subida) delante de una operacin FR se habilita el temporizador. Este cambio del estado de seal siempre es necesario para habilitar un temporizador. Para arrancar un temporizador y ejecutar una operacin normal de temporizador no hace falta habilitarlo. Esta funcin se emplea nicamente para redisparar un temporizador que est en marcha, es decir, para rearrancarlo. Este rearranque slo puede efectuarse cuando la operacin de arranque contina procesndose con un RLO de 1. El registro afectado en este caso es: ER. Veamos el ejemplo de la tabla 4.25. INSTRUCCIN U E 2.0 FR T 1 U E 2.1 L S5T#5s SI T 1 U T 1 = A 4.0 DESCRIPCIN Empleamos la entrada 2.0 como re-arranque Re-arrancamos el temporizador 1 si la E 2.0 pasa a 1 Empleamos la entrada 2.1 como entrada del temporizador Introducimos un valor de temporizacin de 5 segundos Empleamos el temporizador 1 como impulso Leemos la salida del temporizador Copiamos la salida del temporizador a la salida 4.0

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

77

www.infoPLC.net

Programacin del PLC Si el RLO cambia de 0 a 1 en la entrada de re-arranque mientras est en marcha el temporizador, el temporizador vuelve a arrancar. El tiempo programado se emplea como tiempo actual para el re-arranque. Un cambio del RLO de 1 a 0 en la entrada de re-arranque no produce ningn efecto. Un cambio del RLO de 0 a 1 en la entrada de habilitacin no afecta al temporizador si todava 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 instruccin "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 instruccin "LC T" introducimos en el ACU 1 (parte baja) el valor del temporizador especificado en BCD. En esta codificacin no es posible pasar el valor de ACU 1 a otro temporizador. En este caso los registros afectados son: ACU 1 y ACU 2. Vase el siguiente ejemplo: INSTRUCCIN L T 1 LC T 2 DESCRIPCIN Introduce el valor del temporizador 1 en el ACU 1 Introduce el valor del temporizador 2 en el ACU 1 en BCD

Tabla 4-26 Ejemplo de lectura del valor de un temporizador

4.2.13 Operaciones con salto incondicional


Instrucciones: "SPA" y "SPL" Las operaciones de salto incondicional (SPA) interrumpen el desarrollo normal del programa, haciendo que el mismo salte a una meta determinada (operando de la operacin SPA). La meta define el punto en que deber continuar el programa. El salto se efecta independientemente de condiciones. La operacin 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 segn 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 mximo. El primer carcter debe ser siempre una letra, no importando si el resto son nmeros o letras. La meta se especifica normalmente en el operando de la instruccin de salto, y seguida de dos puntos frente a la lnea que posee la meta (ver ejemplos). Con ambas instrucciones SPA y SPL ninguno de los registros es afectado. 78

www.infoPLC.net

Programacin del PLC Ejemplo de salto SPA: INSTRUCCION DESCRIPCIN U E 1.0 Cargamos en el RLO el valor de la entrada 1.0 SPA AQUI Saltamos de forma incondicional a la lnea con meta "AQUI" NOP 0 Esta lnea no se ejecuta (es saltada) AQUI: U E 2.0 Aqu continua la ejecucin del programa = A 3.0 Introducimos el resultado en la salida 3.0
Tabla 4-27 Ejemplo de un salto incondicional

Ejemplo de salto SPL: INSTRUCCION L MB100 SPL NORM SPA UNO SPA CONT SPA DOS NORM: SPA CONT UNO: U E 0.0 SPA CONT DOS: U E 1.0 SPA CONT CONT: = A 2.0 DESCRIPCIN Cargamos en el ACU1 un valor de un mdulo de datos Se salta a NORM si el valor de ACU1 no est en lista Se salta a UNO si ACU1 vale 0 Se salta a CONT si ACU1 vale 1 Se salta a DOS si ACU1 vale 2 Se salta a CONT de forma incondicional Instruccin meta del salto UNO Se salta a CONT de forma incondicional Instruccin meta del salto DOS Se salta a CONT de forma incondicional Aqu saltamos finalmente, continuando el programa

Tabla 4-28 Ejemplo de un salto con la instruccin SPL

4.2.14 Operaciones de salto condicional en bifurcacin del RLO


Instrucciones: "SPB", "SPBN", "SPBB", "SPBNB" Estas instrucciones efectan un salto en el programa hacia una meta determinada, para el caso de cumplir la condicin 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 condicin no es cumplida y no se realiza el salto, se modifican los siguientes registros: RO=0, STA=1, RLO=1 y ER=0 En SPBB y SPBNB se almacena el RLO en el bit RB de la palabra de estado antes de efectuar el salto. En este caso, los registros afectados son: RB, OR, STA, RLO, ER 79

www.infoPLC.net

Programacin del PLC Ejemplo de salto SPB: INSTRUCCION U E 2.0 SPB AQUI U E 1.0 AQUI: U E 3.0 = A 0.0 DESCRIPCIN Cargamos en el RLO el valor de la entrada 2.0 Saltamos a la lnea con meta "AQUI" si el RLO=1 Esta lnea no se ejecuta si se salta Aqu continua la ejecucin del programa Introducimos el resultado en la salida 0.0

Tabla 4-29 Ejemplo de un salto mediante la instruccin 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 tambin la entrada 1.0 en el resultado final.

4.2.15 Operaciones de salto condicional en funcin de RB u OV/OS


Instrucciones: "SPBI", "SPBIN", "SPO", "SPS" Estas instrucciones efectan un salto en el programa hacia una meta determinada, para el caso de cumplir la condicin 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 operacin SPS pone el bit OS a 0. Con el empleo de estas instrucciones, los registros que se ven afectados son: OR, ER, STA, y OS . Veamos el siguiente ejemplo de salto SPS: INSTRUCCION SPS AQUI SPA SEGU AQUI: SET = A 1.0 SEGU: U E 3.0 = A 0.0 DESCRIPCIN Saltamos a la lnea con meta "AQUI" si OV=1 Esta lnea no se ejecuta si OV=1 Forzamos el RLO a 1 Con la salida 1.0 indicamos si hubo un error previo en la anterior ejecucin del programa Aqu continua la ejecucin del programa normalmente Introducimos el resultado en la salida 0.0

Tabla 4-30 Ejemplo de un salto condicional mediante la instruccin SPS

4.2.16 Operaciones de salto condicional en funcin de A1 y A0


Instrucciones: "SPZ", "SPN", "SPP", "SPM", "SPMZ", "SPPZ", "SPU" Estas instrucciones efectan un salto en el programa hacia una meta determinada, para el caso de cumplir la condicin que necesitan: 80

www.infoPLC.net

Programacin del PLC

SPZ: salto si resultado=0 (ACU 1) SPN: salto si resultado no es 0 SPP: salto si resultado es mayor que cero SPM: salto si resultado es menor que cero SPMZ: salto si resultado es menor o igual que cero SPPZ: salto si resultado es mayor o igual que cero SPU: salto si el resultado no es vlido (uno de los operandos en una operacin de coma flotante no es un nmero en coma flotante)

A continuacin se muestra el estado de A1 y A0 tras una operacin con los acumuladores: A1 0 1 o 0 1 0 0 o 1 0 o 0 1 A0 0 0 o 1 0 1 0 o 0 0 o 1 1 Resultado del clculo Igual a 0 Distinto de 0 Mayor que 0 Menor que 0 Mayor o igual que 0 Operacin de salto posible SPZ SPN SPP SPM SPPZ

menor o igual que 0 UO (no admisible)


Tabla 4-31

SPMZ SPU

4.2.17 Loop
Esta operacin sirve para llamar varias veces un segmento del programa. Esta operacin decrementa la palabra baja del ACU 1 en 1. Despus 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 operacin LOOP. En caso contrario, se ejecuta la siguiente operacin normalmente. Mediante el empleo de esta instruccin se ve afectado el registro ACU 1. Vase el siguiente ejemplo: INSTRUCCIN L +5 PROX: T MB 10 L MB 10 LOOP PROX DESCRIPCIN Hacemos el ACU 1 igual a 5 Transferimos el valor del ACU 1 a la memoria de datos En estos guiones estara el segmento del programa que se va a ejecutar 5 veces Leemos el valor de la memoria de datos en ACU 1 Decrementamos ACU 1 y saltamos a PROX si no es cero

Tabla 4-32 Ejemplo del empleo de la instruccin LOOP

81

www.infoPLC.net

Programacin del PLC Hay que tener precaucin 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 mdulos de funcin con CALL


La operacin CALL se emplea para llamar funciones (FC's) y mdulos de funcin (FB's) creados para el usuario para el programa en cuestin o adquiridos en Siemens como mdulos de funcin estndar. La operacin CALL llama la funcin FC o mdulo FB indicado como operando, independientemente del resultado lgico o cualquier otra condicin. Si se desea llamar un mdulo de funcin con la operacin CALL, se deber asignar un mdulo de datos de instancia (DB de instancia). La llamada de una funcin (FC) o de un mdulo de funcin (FB) puede programarse, es decir, es posible asignar operandos a la llamada. El programa ejecutar con estos operandos la funcin (FC) o el mdulo de funcin (FB). Para ello hay que indicar los operandos que se desean usar para ejecutar la funcin o el mdulo de funcin. Estos parmetros se denominan parmetros actuales (entradas, salidas, marcas de memoria...). El programa que contiene la funcin o el mdulo de funcin tiene que poder acceder a estos parmetros actuales, por lo que se deber indicar en el programa el parmetro formal que corresponda al parmetro actual . Si no se especifica la correspondencia en mdulos de funcin el programa acceder a travs del mdulo de datos de instancia a los datos del parmetro formal. En la llamada a funciones todos los parmetros formales tienen que ser asignados a parmetros actuales. La lista de parmetros formales es parte integrante de la operacin CALL. El parmetro actual que se indica al llamar un mdulo de funcin tiene que ser del mismo tipo de datos que el parmetro formal. Los parmetros actuales empleados al llamar una funcin o un mdulo de funcin se suelen indicar con nombres simblicos. El direccionamiento absoluto de parmetros actuales slo es posible con operandos cuyo tamao mximo no supere una palabra doble. En este caso no se afecta ninguno de los registros. Veamos a continuacin un ejemplo (siguiente tabla) de llamada a un FB con un DB de instancia y parmetros de mdulo: INSTRUCCION CALL FB40,DB41 ON1: ON2: OFF1: L = E1.0 = MW2 = MD20 DB20 DESCRIPCIN Llamamos al mdulo FB40 con el mdulo de instancia DB41 ON1 (parmetro formal) es asignado a E1.0 (p. actual ON2 (parmetro formal) es asignado a MW2 (p. actual) OFF1 (parmetro formal) es asignado a MD20 (p. actual) El programa accede al parmetro formal OFF1.

Tabla 4-33 Ejemplo del empleo de la instruccin CALL

82

www.infoPLC.net

Programacin del PLC En el ejemplo anterior se ha supuesto que los parmetros 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 parmetros de mdulo: INSTRUCCION CALL FC80 INK1: = M1.0 INK2: = EW2 OFF: = AW4 DESCRIPCIN llamamos la funcin FC80 INK1 (p. formal) es asignado a M 1.0 (p. actual) INK2 (p. formal) es asignado a EW2 (p. actual) OFF (p. formal) es asignado a AW4 (p. actual)

Tabla 4-34 Ejemplo de una llamada a un FC mediante la instruccin CALL

En el ejemplo anterior se ha supuesto que los parmetros formales pertenecen a los siguientes tipos de datos:

INK1: BOOL (binario) INK2: INT (entero) OFF: WORD (palabra)

Es posible crear una funcin que d un valor de retorno. Si se desea crear por ejemplo una operacin aritmtica con nmeros de coma flotante, entonces puede utilizar este valor de retorno como salida para el resultado de la funcin. Como nombre de la variable puede introducirse "RE_VAL" y como tipo de datos REAL. Al llamar despus esta funcin en el programa se ha de proveer la salida RET_VAL de una direccin de palabra doble de forma que pueda acoger el resultado de 32 bits de la operacin aritmtica.

4.2.19 Llamar funciones y mdulos 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 operacin CALL. Sin embargo, no es posible transferir parmetros.

CC llama la funcin indicada como operando si el RLO=1. UC llama la funcin indicada como operando, independientemente de cualquier condicin.

Las operaciones CC y UC pueden llamar una funcin con direccionamiento directo o indirecto de la memoria, o a travs de una FC transferida como parmetro. El rea de memoria es FC ms el nmero del FC.

83

www.infoPLC.net

Programacin del PLC Mx. rea de direccionamiento directo Mx. rea de direccionamiento indirecto [DBW] [DIW] [LW] [MW]
Tabla 4-35

0 a 65535

0 a 65534

El nombre del parmetro formal o nombre simblico para el caso de llamar una FC a travs de una FC transferida como parmetro es BLOCK_FC (los parmetros de tipo BLOCK_FC no pueden utilizarse con la operacin CC en mdulos FC). En este caso no se ve afectado ninguno de los registros. Vase el siguiente ejemplo: INSTRUCCION CC FB12 UC FB12 DESCRIPCIN Llamar a FB12 si RLO=1 Llamar a FB12 independientemente del RLO

Tabla 4-36 Ejemplo del empleo de las instrucciones CC y UC

4.2.20 Llamar funciones de sistema integradas


La operacin CALL puede emplearse tambin para llamar funciones del sistema (SFC) y mdulos de funcin del sistema (SFB) integrados en el sistema operativo S7. Cada SFB o SFC ejecuta una funcin estndar determinada. Por ejemplo, si se desea averiguar al hora actual del sistema se utiliza la operacin CALL SFC64. La operacin 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 seal del MCR 0 1 = Escribe 0 Ejecucin normal SoR No escribe Ejecucin normal T Escribe 0 Ejecucin normal

Tabla 4-37

84

www.infoPLC.net

Programacin del PLC

MCRA activa el rea MCR. MCRD desactiva el rea MCR.

Las operaciones programadas entre las operaciones MCRA y MCRD dependen del estado de seal del bit MCR. Si falta la operacin MCRD las operaciones entre MCRA y una operacin BEA dependern del bit MCR. Cuando se llama a una funcin (FC) o a un mdulo de funcin (FB) desde un rea MCR las instrucciones ejecutadas no dependern del MCR, a menos que volvamos a especificarlo con MCRA en el mdulo llamado. Una vez se finalice el mdulo 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 lgico) el MCR actual con el RLO, siendo el resultado el nuevo bit MCR (ver ejemplo). El mximo 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 DESCRIPCIN 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, segn el valor de la entrada 2.0 se activar el bit MCR o no, ya que MCR( multiplica el RLO con el MCR actual y el resultado lo toma como nuevo bit MCR.

85

www.infoPLC.net

Programacin del PLC Veamos otro ejemplo ms complejo: INSTRUCCION DESCRIPCIN 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 mdulos


Instrucciones: "BEA" y "BEB" Durante el ciclo del autmata programable, el sistema operativo ejecuta un programa estructurado mdulo a mdulo. La operacin fin de mdulo es la que finaliza el mdulo en ejecucin. BEA finaliza la ejecucin del mdulo actual y devuelve el control al mdulo que llam al mdulo finalizado. Esta instruccin se ejecuta sin depender del RLO ni de cualquier otra condicin. BEB finaliza la ejecucin del mdulo actual y devuelve el control al mdulo que llam al mdulo finalizado. Esta accin se realiza si el RLO es 1. Si no es as se continua la ejecucin del actual mdulo, pero con el RLO a 1. Ejemplo: INSTRUCCION U E 1.0 BEB U E 2.0 = A 3.0 BEA DESCRIPCIN Introducimos en el RLO el valor de la entrada 1.0 Si la entrada 1.0 vale 1 el mdulo acaba aqu

Aqu finaliza el mdulo de forma incondicional

Tabla 4-40 Ejemplo del empleo de las instrucciones BEB y BEA

Si el mdulo que finaliza es el OB1 se finaliza el ciclo de ejecucin del programa, volviendo a comenzar uno nuevo. 86

www.infoPLC.net

Programacin del PLC

4.2.23 Operaciones de comparacin


Las operaciones de comparacin sirven para comparar los siguientes pares de valores numricos:

Dos enteros (16 bits) Dos enteros dobles (32 bits) Dos nmeros reales (de coma flotante, 32 bits, IEEE-FP)

Los valores numricos se cargan en los ACU's 1 y 2. Las operaciones de comparacin comparan el valor del ACU2 con el valor depositado en el ACU1. El resultado de la comparacin es un dgito binario. Un 1 significa que el resultado de la comparacin es verdadero, mientras que un 0 significa que el resultado de la comparacin es faso. Este resultado se encuentra almacenado en el bit de resultado lgico (RLO). Este resultado puede emplearse para su posterior procesamiento. Cuando se ejecuta una comparacin tambin se activan los bits de estado A1 y A0. 4.2.23.1 Comparar dos nmeros enteros Instrucciones y descripcin: Operacin ==I ==D <>I <>D >I >D <I <D >=I >=D Comparacin efectuada El entero (16 bits) de la palabra baja del ACU2 es igual al entero (16 bits) de la palabra baja del ACU 1. El entero doble (32 bits) del ACU2 es igual al entero doble (32 bits) del ACU1. El entero (16 bits) de la palabra baja del ACU2 no es igual al entero (16 bits) de la palabra baja del ACU 1. El entero doble (32 bits) del ACU2 no es igual al entero doble (32 bits) del ACU1. El entero (16 bits) de la palabra baja del ACU2 es mayor que el entero (16 bits) de la palabra baja del ACU 1. El entero doble (32 bits) del ACU2 es mayor que el entero doble (32 bits) del ACU1. El entero (16 bits) de la palabra baja del ACU2 es menor que el entero (16 bits) de la palabra baja del ACU 1. El entero doble (32 bits) del ACU2 es menor que el entero doble (32 bits) del ACU1. 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. El entero doble (32 bits) del ACU2 es mayor o igual al entero doble 87

www.infoPLC.net

Programacin del PLC (32 bits) del ACU1. <=I <=D 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. El entero doble (32 bits) del ACU2 es menor o igual al entero doble (32 bits) del ACU1.

Tabla 4-41 Instrucciones para la comparacin de dos nmeros enteros

Estas operaciones afectan al estado de los bits A1 y A0, en funcin de la condicin que se haya cumplido, tal y como se muestra en la tabla siguiente: Condicin ACU2 > ACU1 ACU2 < ACU1 ACU2 = ACU1 ACU2 <> ACU1 A1 1 0 0 0 o 1 1 o 0 0 o 0 A0 0 1 0 1 o 0 0 o 0 1 o 0

ACU2 >= ACU1

ACU2 <= ACU1

Tabla 4-42 Estados de los bits A0 y A1 en funcin de las instrucciones de comparacin.

En este caso, los registros afectados son: RLO, A1 y A0. Ejemplo: INSTRUCCION L MW10 L EW0 ==I = A 1.0 >I = A 2.0 DESCRIPCIN Introducimos en el ACU1 la palabra de marcas MW10 Introducimos en el ACU1 la palabra de entradas EW0, el antiguo contenido del ACU1 (MW10) pasa al ACU2 Comparamos la igualdad de la palabra baja del ACU1 y ACU2 La salida 1.0 se excitar si MW10 y EW0 son iguales Comparamos el valor de la palabra baja del ACU2 para ver si es mayor que el valor de la palabra baja del ACU1 La salida 2.0 se excitar si MW10 es mayor que EW0

Tabla 4-43 Ejemplo del empleo de las instrucciones de comparacin

88

www.infoPLC.net

Programacin del PLC 4.2.23.2 Comparar dos nmeros reales Instrucciones y descripcin:
INSTRUCCION ==R <>R COMPARACIN EFECTUADA El nmero de coma flotante de 32 bits IEEE-FP del ACU2 es igual al nmero de coma flotante de 32 bits IEEE-FP del ACU1 El nmero de coma flotante de 32 bits IEEE-FP del ACU2 no es igual al nmero de coma flotante de 32 bits IEEE-FP del ACU1 El nmero de coma flotante de 32 bits IEEE-FP del ACU2 es mayor que el nmero de coma flotante de 32 bits IEEE-FP del ACU1 El nmero de coma flotante de 32 bits IEEE-FP del ACU2 es menor que el nmero de coma flotante de 32 bits IEEE-FP del ACU1 El nmero de coma flotante de 32 bits IEEE-FP del ACU2 es mayor o igual que el nmero de coma flotante de 32 bits IEEE-FP del ACU1 El nmero de coma flotante de 32 bits IEEE-FP del ACU2 es menor o igual que el nmero de coma flotante de 32 bits IEEE-FP del ACU1

>R

<R

>=R

<=R

Tabla 4-44 Lista de instrucciones para la comparacin de dos nmeros reales

Estas operaciones activan determinadas combinaciones de los estados de los cdigos de condicin A1, A0, OV y OS de la palabra de estado para indicar qu condicin se ha cumplido, tal y como se muestra en la siguiente tabla:
Condicin == <> > < >= A1 0 0 o 1 1 0 1 o 0 0 o 0 1 A0 0 1 o 0 0 1 0 o 0 1 o 0 1 OV 0 0 0 0 0 OS no aplicable no aplicable no aplicable no aplicable no aplicable

<= UO

0 1

no aplicable 1

Tabla 4-45 Estados de los cdigos de condicin tras una instruccin de comparacin

89

www.infoPLC.net

Programacin del PLC En este caso, los registros afectados son: RLO, A1, A0, OV y OS . Ejemplo:
INSTRUCCIN L MD24 L +1.00E+00 >R = A 1.0 DESCRIPCIN Introducimos en el ACU1 la palabra doble de marcas MD24 Introducimos en el ACU1 un valor en coma flotante de 32 bits, el antiguo contenido del ACU1 (MD24) pasa al ACU2 Comparamos el ACU2 para ver si es mayor que el ACU1 La salida 1.0 se excitar si la condicin es cierta

Tabla 4-46 Ejemplo de comparacin entre dos nmeros reales

4.3 LENGUAJES DE ALTO NIVEL


Con CPU cada vez ms rpidas, ms 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 mnemnicos resultaban ya insuficientes, aun mejorados con las expansiones comentadas en el apartado anterior. Por esta razn, los fabricantes han desarrollado lenguajes de programacin prximos a la informtica tradicional, con sentencias literales que equivalen a secuencias completas de programacin: son los lenguajes de alto nivel. En ellos, las instrucciones son lneas de texto que utilizan palabras o smbolos reservados (SET, AND, FOR, etc.), las operaciones se definen por los smbolos matemticos habituales (+, *, <, etc.), y se dispone de funciones trigonomtricas, logartmicas y de manipulacin 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 caractersticas: 1. 2. Son lenguajes estructurados, donde es posible la programacin por bloques o procedimientos, con definicin de las variables locales o globales. Incluyen estructuras de clculo repetitivo y condicional, tales como:


3.

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

Disponen de instrucciones de manipulacin 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 clculo cientfico de alta resolucin, clasificaciones de datos, estadsticas, etc., con tal facilidad, y con acceso adems a mdulos y subrutinas especficos ya escritos en estos lenguajes y de uso general en aplicaciones informticas. 90

www.infoPLC.net

Programacin del PLC Dado lo especfico de su aplicacin, un programa escrito en un lenguaje de alto nivel, necesita para su edicin de una unidad de programacin 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 adems a utilizar no slo una unidad de programacin 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 slo las formas bsicas de contactos/bloques o listas de instrucciones para escribir sus aplicaciones: en otras palabras, los lenguajes avanzados nunca constituyen el lenguaje bsico de un autmata o familia de autmatas, 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 estn disponibles en lenguaje de contactos como bloques de funcin extendidos, y viceversa: de esta forma, el fabricante asegura la compatibilidad entre ambos lenguajes, y aprovecha mejor el lenguaje de mquina (llamado firmware) desarrollado.

4.4 LADDER (DIAGRAMA DE ESCALERA)


El esquema de relevadores es la representacin grfica de las tareas de automatizacin mediante smbolos de contactos abierto-cerrado, as, la funcin de control obtenida depender de las conexiones entre los distintos contactos de los relevadores que intervienen. Este modelo grfico tiene su origen en las tecnologas electromecnicas de ejecucin de sistemas de mando. Presenta adems deficiencias en cuanto a la representacin de funciones secuenciales complejas, como son los secuenciadores, registros de memoria, etc., y, sobre todo, en la manipulacin de seales digitales de varios bits (por ejemplo, obtenidas de una conversin A/D). A pesar de lo anterior, la mayora de los fabricantes incorporan este lenguaje, ello es debido a la semejanza con los esquemas de relevadores empleados en los automatismos elctricos de lgica cableada, lo que facilita la labor a los tcnicos habituados a trabajar con dichos automatismos. Adoptado por mochos fabricantes (norteamericanos y japoneses, principalmente) como lenguaje base de programacin, el diagrama de contactos (LD: Ladder Diagram) puede ser introducido directamente en la unidad de programacin mediante un editor de smbolos grficos. Normalmente este editor incluye restricciones en cuanto al nmero de contactos o bobinas a representar en cada lnea, la ubicacin de los mismos, la forma de las conexiones, etc. Siendo los contactos de relevadores componentes de dos estados, asignados a los valores lgicos 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 funcin lgica puede ser transcrita directamente e inmediatamente a diagrama de contactos y viceversa, transcripciones de utilidad cuando se trata de visualizar grficamente un programa escrito en un lenguaje booleano. Sin embargo, el diagrama de contactos , de origen norteamericano, no naci como una posible herramienta de visualizacin de programas ya escritos en lista de instrucciones, sino 91

www.infoPLC.net

Programacin del PLC como transcripcin directa de los esquemas elctricos de relevadores (circuitos de mando) de uso comn en la automatizacin previa a la aparicin de los sistemas programables. Por esta razn, los diagramas de contactos o diagramas de escalera incluyen desde sus orgenes bloques funcionales que ya aparecan como elementos propios en aquellos esquemas, los temporizadores y los contadores. Ahora bien, como hemos visto a lo largo del presente trabajo, el propsito de un PLC es reemplazar los circuitos lgicos representados por relevadores mecnicos, razn por la cual es necesario saber como funcionan. Un relevador es bsicamente un switch electromagntico. Aplicando un voltaje determinado a la bobina del relevador, se genera un campo magntico que atrae al elemento de contacto a su posicin 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 ms 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 seales, y permiten manejar las lgicas del control en rangos de voltaje que no involucran peligro, y son los adecuados para ser generados por circuitos electrnicos de control. (vase la siguiente figura de ejemplo).

Figura 4. 2 Esquema de una aplicacin bsica de un relevador

En otras palabras, a travs de un relevador se pueden separar los circuitos de alta potencia, que entregan la energa casi sin restricciones, de los circuitos de baja potencia, generalmente orientados a control. Ahora veremos un pequeo 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 econmicamente viable, y que slo es til para la explicacin siguiente. Lo primero que se debe realizar es la creacin de un diagrama de escalera. Esto se debe hacer debido a que el PLC no entiende un diagrama esquemtico. Este slo reconoce cdigo. Afortunadamente la mayora de los PLC tienen un software que es capaz de convertir el diagrama de escalera a cdigo. Estos nos evitan la tediosa tarea de aprender el cdigo de los PLCs, que adems pueden cambiar de un fabricante a otro. Antes de continuar con el ejemplo, cabe mencionar que el nombre de este mtodo de programacin (LADDER que en ingls significa ESCALERA) proviene de su semejanza con el 92

www.infoPLC.net

Programacin del PLC diagrama del mismo nombre que se utiliza para la documentacin de circuitos elctricos de mquinas. Primer paso: Lo primero es trasladar todas las partes del esquema empleando smbolos que el PLC pueda entender. Un PLC no entiende trminos como interruptor, relevador o motor. Algo ms cmodo para el PLC es el empleo de trminos 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, slo hay que ser cuidadoso en definir cuales son las entradas y cuales las salidas. Primero reemplazaremos la batera con un smbolo. Este smbolo es comn a todos los diagramas de escalera. El smbolo se denomina barras de alambre y se visualiza como dos lneas verticales. Las lneas 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 lgico. Ahora se define el smbolo de una entrada. En este ejemplo bsico se tiene una entrada desde el mundo real (es decir, el switch), la que ser reemplazada por el smbolo mostrado en la siguiente figura. Este smbolo tambin es utilizado como contacto de un relevador.

Figura 4. 3 Smbolo que reemplazar al switch en nuestro ejemplo

Ahora presentamos el smbolo de salida. En este ejemplo se tiene una salida (el motor). Se dar el smbolo de salida al elemento al cual el motor esta fsicamente conectado y ser como se muestra en la siguiente figura. Este smbolo es usado como la bobina del relevador.

Figura 4. 4 Smbolo 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 slo tiene injerencia en si sus salidas estn o no conectadas y no en lo que est conectado fsicamente al equipo.

Segundo paso: Debemos decir al PLC donde est la localizacin de cada uno de los elementos del diagrama. En otras palabras, debemos entregar todas las 93

www.infoPLC.net

Programacin del PLC direcciones de dispositivos. Las direcciones son asignadas previamente segn procedimientos establecidos por el fabricante. Ms adelante se entrar en mayor detalle, por ahora se supondr que la entrada se encuentra en la direccin 0000 y la salida en la direccin 500. Tercer paso: Ahora resta convertir el esquema en una secuencia lgica de eventos. Esto es mucho ms fcil de lo que suena. El programa debe decir que se debe hacer cuando se lleve a efecto algn 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 instruccin 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 representacin grfica de un programa para un PLC, el cual consiste de dos lneas 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 EJECUCIN parten del bus izquierdo que es la lnea viva de potencia (en otras palabras el positivo de la fuente de alimentacin). Todas las instrucciones a ejecutar se encuentran del lado derecho terminando en el bus derecho que es la lnea de tierra o neutro. Los peldaos de la escalera (en ingls rungs) son circuitos horizontales llamadas LINEAS DE INSTRUCCIN que se inician desde el bus izquierdo con contactos de relevadores pasando a travs de varios de stos y finalizando en el bus derecho con la instruccin. El diagrama de escalera se encuentra estructurado secuencialmente en el orden en que las acciones deban ocurrir (ver la figura 5.6).

Figura 4. 6 Ejemplo de un diagrama de escalera

94

www.infoPLC.net

Programacin del PLC Con este tipo de diagramas se describe normalmente la operacin elctrica de distinto tipo de mquinas, y puede utilizarse para sintetizar un sistema de control y, con las herramientas de software adecuadas, realizar la programacin del PLC. Se debe recordar que mientras que en el diagrama elctrico todas las acciones ocurren simultneamente, en el programa se realiza en forma secuencial, siguiendo el orden en que los peldaos o escalones (rungs) fueron escritos, y que a diferencia de los relevadores y contactos reales (cuyo nmero est determinado por la implementacin fsica de estos elementos), en el PLC podemos considerar que existen infinitos contactos auxiliares para cada entrada, salida, relevador auxiliar o interno, etc. Adems, 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 ejecucin 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, slo aparecer a la salida el ltimo de los valores calculados. Ahora examinaremos algunas de las instrucciones bsicas en detalle para saber cual es la funcin de cada una de ellas.

4.4.1 Load y Load not


La primera condicin que inicia una lnea de instruccin (rung) en un diagrama de escalera corresponde a una instruccin LOAD o LOAD NOT (esta ultima se ver a continuacin). La instruccin LOAD (LD) representa a un contacto normalmente abierto. Esta es llamada en algunas ocasiones examine if on (XIO). Esta instruccin requiere una lnea de cdigo mnemnico (cdigo que entiende el PLC). El smbolo de la instruccin LOAD y su mnemnico se muestran a continuacin.

Figura 4. 7

PASO INSTRUCCION OPERANDO 0000 LD 0000


Tabla 4-47 Mnemnico de la instruccin LD

El smbolo se utiliza cuando se necesita la existencia de una seal de entrada para que el smbolo se active. Cuando una entrada fsica se enciende podemos decir que esta instruccin es verdadera. Entonces se examina una entrada esperando una seal. Si la entrada est fsicamente encendida el smbolo tambin lo estar. La condicin de encendido se puede referir como estado lgico 1. Este smbolo es usado frecuentemente en entradas internas, entradas externas y salidas externas. Hay que recordar que los relevadores internos no existen fsicamente, sino que corresponden a relevadores simulados por software. 95

www.infoPLC.net

Programacin del PLC Load not Como se mencion anteriormente, una de las primeras condiciones que inicia una lnea de instruccin (rung) en un diagrama de escalera es la instruccin LOAD NOT. Esta instruccin representa a un contacto normalmente cerrado. Tambin se le llama algunas veces examine if closed (XIC). Esta instruccin tambin requiere de una lnea de cdigo mnemnico. El smbolo de la instruccin LOAD NOT y su mnemnico se muestran a continuacin.

Figura 4. 8

PASO INSTRUCCION OPERANDO 0000 LD NOT 0000


Tabla 4-48 Mnemnico de la instruccin LOAD NOT

Este smbolo se utiliza cuando no se necesita la existencia de una seal de entrada para que el smbolo se active. Cuando la entrada fsica se apaga, podemos decir que esta instruccin es verdadera. En resumen, desde un punto de vista lgico, la instruccin LOAD NOT corresponde a la negacin lgica de la instruccin LOAD.

4.4.2 Out y Out not


La forma ms sencilla de presentar en una salida el resultado de la combinacin de condiciones de ejecucin es programarla directamente con las instrucciones OUTPUT y OUTPUT NOT (esta ltima ser explicada a continuacin). La instruccin OUTPUT (se abrevia OUT) tambin se llama OUTPUT ENERGIZE. Cuando este smbolo est en la trayectoria de un peldao en que todas sus instrucciones previas son verdaderas, su estado tambin ser verdadero. Que la instruccin sea verdadera, quiere decir que la salida asociada est fsicamente encendida. Al igual que las instrucciones anteriores, esta se puede usar en relevadores internos o salidas fsicas. El smbolo de esta instruccin OUT y su mnemnico se muestra abajo.

Figura 4. 9

PASO INSTRUCCION OPERANDO 0000 OUT 0000


Tabla 4-49 Mnemnico de la instruccin OUT

96

www.infoPLC.net

Programacin del PLC Debido a la forma en que el CPU del PLC ejecuta el programa y actualiza las salidas, NO SE RECOMIENDA DUPLICAR SALIDAS. El PLC almacena la informacin de entrada en una tabla de bits de entrada y trabaja desde la tabla durante la ejecucin del programa. Cada vez que una lnea de instruccin (peldao en el diagrama de escalera) es efectuada, el resultado se almacena en la tabla de bits de salida. Por esto, si una salida (bobina) es duplicada, su ltima ocurrencia en el programa es la nica vlida con respecto al mundo real. Las salidas son actualizadas despus que todo el programa ha sido ejecutado (ver el tema 5.4.8 Actualizacin de entradas y salidas). Out not La instruccin OUTPUT NOT (se abrevia OUT NOT) es el opuesto de la instruccin OUT. OUT NOT es el equivalente a un relevador cuyo estado por defecto es cerrado. Cuando este smbolo se encuentra en una trayectoria de un peldao cuyas instrucciones previas estn en estado falso, el valor que tomar la instruccin ser verdadero. Cabe mencionar que algunas marcas de PLC no cuentan con esta instruccin. El smbolo de la instruccin OUT NOT y su mnemnico se muestra a continuacin.

Figura 4. 10

PASO INSTRUCCION OPERANDO 0000 OUT NOT 0000


Tabla 4-50 Mnemnico de la instruccin OUT NOT

4.4.3 4.4.4 And y And not


Cuando dos o ms condiciones se encuentran en serie en un mismo peldao (rung) en un diagrama de escalera, la primera corresponde a una instruccin 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 instruccin LOAD, una AND NOT y una AND. Nuevamente, cada una de las tres instrucciones requiere de una lnea de cdigo de mnemnico.

Figura 4. 11 Ejemplo de instrucciones AND y AND NOT

97

www.infoPLC.net

Programacin del PLC PASO INSTRUCCION OPERANDO 00000 LD 00000 00001 AND NOT 00004 00002 AND HR0000 00003 INSTRUCCION
Tabla 4-51 Listado de mnemnicos del ejemplo anterior

La condicin de ejecucin de la instruccin estar en ON slo 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 ms condiciones peldaos (rungs) paralelos se juntan, la primera condicin corresponde a una instruccin 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 lnea de cdigo mnemnico. A continuacin se muestra el diagrama de escalera y su correspondiente listado de mnemnicos.

Figura 4. 12 Ejemplo de instrucciones OR y OR NOT

PASO INSTRUCCION OPERANDO 00000 LOAD NOT 00000 00001 OR NOT 00001 00002 OR HR0000 00003 INSTRUCCION
Tabla 4-52 Listado de mnemnicos del ejemplo anterior

La condicin de ejecucin de la instruccin 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 Combinacin de instrucciones AND y OR


Para poder entender como se pueden combinar instrucciones AND y OR veamos directamente el siguiente ejemplo (vase la siguiente figura).

Figura 4. 13 Ejemplo de combinacin de las instrucciones AND y OR

98

www.infoPLC.net

Programacin del PLC PASO INSTRUCCION OPERANDO 00000 LOAD NOT 00000 00001 AND 00001 00002 OR 00004 00003 AND 00002 00004 AND NOT 00003 00005 INSTRUCCION
Tabla 4-53 Listado de mnemnicos del ejemplo anterior

En este ejemplo, se ejecuta una instruccin 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 operacin es la condicin de ejecucin para la AND con el estado del bit 00002, que a su vez ser la condicin de ejecucin para la AND con el estado negado del bit 00003.

4.4.7 Instrucciones de bloque lgico AND LOAD/OR LOAD


Todo grupo de condiciones unidas para crear un resultado lgico, se denomina bloque lgico. La comprensin de stos es necesaria para programar eficientemente un PLC, por lo que es esencial cuando los programas se escriben en cdigo mnemnico. Las instrucciones de bloque describen la interrelacin de bloques lgicos. La instruccin AND LOAD realiza la operacin lgica AND de los resultados de dos bloque lgicos. La OR LOAD ejecuta la operacin lgica OR de dos bloques. Veamos un ejemplo de una instruccin AND LOAD con el siguiente diagrama de escalera:

Figura 4. 14 Ejemplo de una instruccin AND LOAD

PASO INSTRUCCION OPERANDO 00000 LOAD 00000 00001 OR 00001 00002 LOAD 00002 00003 OR NOT 00003 00004 AND LOAD 00005 INSTRUCCION
Tabla 4-54 Listado de mnemnicos del ejemplo de una instruccin AND LOAD

Los dos bloques lgicos son los bloques marcados por las lneas discontinuas. Ya que los bloques estn en serie se debe realizar una operacin lgica AND entre ellas. La forma de hacerla es realizar las OR (NOTs) implcitas en cada una de ellos independiente y luego cambiar los resultados con la instruccin AND LOAD. 99

www.infoPLC.net

Programacin del PLC En este ejemplo, la condicin de ejecucin de la instruccin 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 instruccin OR LOAD empleando para esto el siguiente diagrama de escalera.

Figura 4. 15 Ejemplo de una instruccin OR LOAD

PASO INSTRUCCIN OPERANDO 00000 LOAD 00000 00001 AND NOT 00001 00002 LOAD 00002 00003 AND 00003 00004 OR LOAD 00005 INSTRUCCIN
Tabla 4-55 Listado de mnemnicos del ejemplo de una instruccin OR LOAD

La condicin de ejecucin de la instruccin 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 instruccin bsica y a la vez necesaria para completar un programa es la instruccin END (01). El CPU ejecuta las lneas de programa en forma cclica, es decir, comienza por la primera instruccin y ejecuta secuencialmente las siguientes hasta encontrar la instruccin END (01), momento en que vuelve a ejecutar la primera instruccin y repite el ciclo. Las instrucciones de un programa situadas a continuacin de la instruccin END (01) no se ejecutan. Esta instruccin no necesita operando alguno, y no debe haber ninguna condicin en su peldao en el diagrama de escalera. Veamos a continuacin un ejemplo en el que se hace uso de la instruccin END (01).

Figura 4. 16 Ejemplo de un diagrama de escalera en el que se emplea la instruccin END

100

www.infoPLC.net

Programacin del PLC PASO INSTRUCCIN OPERANDO 00000 LOAD 00000 00001 AND NOT 00001 00002 INSTRUCCION 00003 END (01)
Tabla 4-56 Listado de mnemnicos del ejemplo de una instruccin OR LOAD

Nota: El nmero entre parntesis despus de una instruccin (01 para la instruccin END) representa su cdigo de funcin y ser utilizado para insertar el programa en el PLC va consola de programacin.

4.4.9 Actualizacin de entradas y salidas


Antes de continuar con instrucciones ms 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 programacin con diagrama de escalera empleando para ello algunas de las instrucciones bsicas, se tomar en consideracin cmo el PLC ejecuta el programa y maneja la informacin de entrada y salida. El PLC realiza tres pasos bsicos: 1. Lee todas las condiciones de entrada desde los dispositivos del mundo real y las almacena en una tabla que es usada durante la ejecucin del programa. Por ejemplo, LOAD 00000 est preguntando al CPU del PLC acerca de la condicin de la entrada 00000 almacenada en la tabla (un 1 o un0). 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 instruccin de escritura.

2.

Figura 4. 17 Actualizacin de entradas y salidas

3.

Despus que la instruccin END es encontrada, las salidas del mundo real son actualizadas.

101

www.infoPLC.net

Programacin del PLC

4.4.10 Instrucciones avanzadas


Una vez que hemos visto las funciones bsicas de un diagrama de escalera, podemos continuar examinando algunas de las instrucciones avanzadas en detalle para saber cual es la funcin de cada una de ellas. 4.4.10.1 Relevadores temporales Cuando una lnea de instruccin (peldao o rung) se divide en ms de una lnea, en ciertas ocasiones ser necesario utilizar bits TRs (Relevadores Temporales) para almacenar la condicin de ejecucin existente en el punto de ramificacin. Como en el diagrama A (vase la figura 5.18), si despus del punto en el que se divide la lnea, no existe(n) ms condicin(es) de ejecucin para las instrucciones, o existe(n) nicamente en la ltima instruccin; entonces la programacin en mnemnicos se desarrolla tal como se ha visto hasta ahora.

Figura 4. 18 Diagrama A

PASO 00000 00001 00002 00003 00004 00005

INSTRUCCIN OPERANDO LOAD 00000 AND 00001 INSTRUCCION 1 INSTRUCCIN 2 AND 00002 INSTRUCCIN 3

Tabla 4-57 Listado de mnemnicos del Diagrama A

Como en el diagrama B (vase la figura 4.19), si despus del punto en que se divide la lnea existe(n) otra(s) condicin(es) de ejecucin para las instrucciones, es necesario identificar el punto de ramificacin usando un bit TR (dependiendo de la marca y modelo del PLC, se tendr un nmero determinado de relevadores temporales). La programacin se muestra a continuacin.

Figura 4. 19 Diagrama B

102

www.infoPLC.net

Programacin del PLC PASO 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 INSTRUCCIN OPERANDO LOAD 00000 AND 00001 OUT TR0 AND 00002 INSTRUCCIN 1 LOAD TR0 AND 00003 INSTRUCCIN 2 LOAD TR0 AND 00004 INSTRUCCION 3

Tabla 4-58 Listado de mnemnicos del Diagrama B

Nota: La instruccin OUT TR identifica el punto de ramificacin y la instruccin LOAD TR hace un llamado al punto de ramificacin. Observe que prescindir de los bits TRs implica el uso de mayor nmero de contactos, dado que, es necesario repetir la condicin de ejecucin en cada lnea de instruccin (peldao). Para ver esto, el mismo diagrama de escalera del diagrama B se muestra a continuacin, con la diferencia de que en este caso no hace uso de los bits TRs.

Figura 4. 20 Diagrama de escalera sin uso de TRs

PASO 00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011

INSTRUCCIN OPERANDO LOAD 00000 AND 00001 AND 00002 INSTRUCCION 1 LOAD 00000 AND 00001 AND 00003 INSTRUCCION 2 LOAD 00000 AND 00001 AND 00004 INSTRUCCIN 3

Tabla 4-59 Listado de mnemnicos sin uso de los TRs

103

www.infoPLC.net

Programacin del PLC Para terminar de entender el funcionamiento y empleo de los distintos tipos de relevadores, vase la seccin 2.2.2.1 Organizacin de la memoria principios de direccionamiento. 4.4.10.2 Temporizadores En trminos muy simples, un temporizador es una instruccin que espera una cantidad de tiempo determinado antes de realizar una accin especfica. En otras palabras, se requiere el uso de temporizadores, cuando se necesita activar una salida que dependa de un tiempo programado, por ejemplo: 1. 2. 3. Activar una sirena durante 5 segundos. Retardar por 10 minutos la apertura de una vlvula. Activar el mezclador de un tanque durante hora.

Hay tres valores asociados a un temporizador, estos son: N: Es el nmero 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 operacin 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 estandarizacin para su implementacin por parte de los fabricantes de PLCs. Sin embargo, la mayora se puede clasificar en los siguientes grupos. Como una forma de reconocerlos en los catlogos se conserva sus nombres en ingls. 4.4.10.3 On-delay timer Este tipo de temporizador simplemente retrasa el encendido de una salida. En otras palabras, despus de que un sensor se ha encendido debido a la deteccin de su objetivo, el temporizador espera una cantidad determinada de segundos antes de activar un selenoide. Este es el ms comn de los temporizadores. Se denomina generalmente como TON (timer on-delay), TIM (timer) o TMR (timer). Para analizar la operacin de un temporizador TIM en la siguiente figura se presenta el smbolo de un temporizador en un diagrama de escalera.

Figura 4. 21 Ejemplo del empleo de un temporizador TIM

104

www.infoPLC.net

Programacin del PLC En el diagrama anterior se debe esperar el encendido de la entrada 0001. Cuando esto ocurre, el temporizador T000 (definido en tics de 100 mseg.) comienza su conteo hasta que el temporizador llegue a 10000 mseg (es decir, 10 segundos) lo que se maneja definiendo el nmero de tics (ms adelante se definir el trmino 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 tambin se encuentre en la condicin 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. Despus de que un sensor ha detectado su objetivo este enciende un selenoide. Cuando el objetivo ya no esta frente al sensor, esta instruccin demora el apagar el selenoide al que esta conectado el sensor. Este temporizador se denomina como TOF (time offdelay) y es menos comn que el temporizador On delay. 4.4.10.5 Retentive o temporizadores acumulativos Este tipo de temporizador necesita dos entradas. Una entrada inicia la medicin con el cronmetro y la otra entrada lo regresa a su valor inicial. Los temporizadores ON-OFF DELAY vistos en los prrafos anteriores deben ser reiniciados si el sensor de entrada no alcanza un estado de encendido o apagado en un ciclo completo de duracin 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 prrafos anteriores, se debe reiniciar el contador cuando el sensor es encendido o apagado. Este temporizador sin embargo, nos permite mantener el tiempo total o acumulado. Este temporizador se denomina usualmente RTO (retentive timer) o TMRA (acumulating timer). Para utilizar este temporizador es necesario conocer dos cosas: 1. 2. Qu evento encender el temporizador?. Tpicamente esto se realiza con una de las entradas (Un sensor conectado a la entrada 00000 por ejemplo). Cunto tiempo se ha de esperar antes de reaccionar?. Supongamos que esperamos 5 segundos antes de encender un selenoide.

Cuando las instrucciones antes del smbolo 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. Tpicamente 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 nmeros se debe a que la mayora de los PLC tienen contadores de 16 bits. Por ahora es suficiente mencionar que 0 a 9999 es un nmero de 16 bits del tipo binario codificado, y 0 a 65535 es un nmero de 16 bits de tipo binario. Cada tic del reloj es equivalente a X segundos.

105

www.infoPLC.net

Programacin del PLC Usualmente cada fabricante de PLC ofrece diferentes tics. La mayora de los fabricantes ponen a disposicin incrementos de 10 a 100 mseg (tics del reloj). Varios fabricantes tambin 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 sper alta velocidad (TMS) o temporizadores acumulativos rpidos (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 continuacin se muestra el uso de un temporizador acumulativo (vase 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 estn 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 cerrarn encendiendo 500. Si la entrada 0002 se apaga, el tiempo transcurrido es retenido. Cuando la entrada 0002 vuelve a encenderse, el temporizador continuar su cuenta desde el punto donde se quedo antes de que se apagara la entrada. Cuando la entrada 0001 se enciende, el temporizador ha vuelto a cero, haciendo que la salida 500 se apague.

Figura 4. 23 Ejemplo del empleo de un temporizador acumulativo

106

www.infoPLC.net

Programacin del PLC 4.4.10.6 Temporizador de alta velocidad El temporizador TIMH opera de la misma forma que TIM excepto que la unidad de medida es 0.01 segundo. Veamos un ejemplo del empleo de un temporizador TIMH, el cual se muestra en la siguiente figura.

Figura 4. 24 Ejemplo del empleo de un temporizador de alta velocidad TIMH

PASO 00000 00001 00002 00003 00004

INSTRUCCIN OPERANDO LOAD 00000 TIMH (15) 000 #150 LOAD TIMH000 OUT 31000

Tabla 4-60 Listado de mnemnicos 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 precisin. Cuando definimos un temporizador para unos pocos segundos, o ms, no tomamos atencin a las caractersticas de su precisin debido a que en estos casos es prcticamente insignificante. Sin embargo, cuando se crean temporizadores que tienen una duracin del orden de milisegundos (1 mseg= 1/1000 segundos) se debe de tomar en cuanta la precisin. 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 cundo el temporizador se enciende durante un ciclo de barrido. Cuando el temporizador se enciende inmediatamente despus 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, ms 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 revisin, 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 ejecucin de las instrucciones incluidas en ese barrido. Si la instruccin que maneja el temporizador es el ltimo peldao de la escalera, se estar incurriendo en un gran error. 107

www.infoPLC.net

Programacin del PLC En la figura 4.25 se muestra un diagrama que ilustra el peor caso de un error de entrada. Se puede ver aqu que el peor error podra llegar a ser de un ciclo de barrido completo mas el tiempo de ejecucin del programa de instrucciones. Hay que recordar que el tiempo de ejecucin de un programa vara 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, segn 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 medicin de tiempos puede llegar a ser igual a: 1 tiempo de barrido+1 tiempo de ejecucin de programa+1 tiempo de barrido= 2 ciclo de barrido+1 tiempo de ejecucin de programa. En la prctica esto significa que aunque la mayora de los fabricantes incluyen temporizadores con incrementos de 1mseg, estos no deben ser utilizados para duraciones 108

www.infoPLC.net

Programacin del PLC menores a unos pocos milisegundos. Si el tiempo de barrido de su PLC es de 5 mseg sera recomendable no usar el temporizador con la intencin de medir duraciones de menos de 15 mseg. Esta afirmacin es vlida siempre que el error que se pueda acumular es de importancia para nuestra aplicacin. En la mayora 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. Tambin 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 duracin es tpicamente de 10 mseg. Esto se debe a que muchos PLC requieren que la entrada deba estar fsicamente 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. Tpicamente un transistor toma unos 0.5 mseg en hacer esto, mientras que a un relevador mecnico le toma cerca de 10 mseg. Si estos tiempos son considerables para la aplicacin a disear, considere la utilizacin de temporizadores por hardware externos al PLC. 4.4.10.8 Contadores Todos los PLCs incorporan funciones que reemplazan a la aplicacin de contadores en el sistema de control. Adems del obvio uso de los contadores para contar, por ejemplo piezas o ciclos de trabajo, la combinacin de varios de ellos, quizs con el uso de algunas funciones del tipo aritmtico, permite reemplazar programadores a leva y realizar funciones que de otra forma resultaran 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 nmero determinado de veces, por ejemplo: 1. 2. 3. Producir una seal sonora cada 20 productos determinados. Contar el nmero de piezas que se han producido en una lnea de produccin. Contar el nmero de personas que han atravesado una puerta.

Su uso, sin embargo, puede ser algunas veces un desafo debido a que cada fabricante hace uso de ellos de una forma diferente. Se pretende que la informacin 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, slo cuentan 1, 2, 3,...) los cuales son llamados CTU (count up), CNT, C, o CTR. Tambin estn los contadores hacia abajo (es decir, slo cuentan 9, 8, ...) los cuales son llamados CTD (count down) 109

www.infoPLC.net

Programacin del PLC cuando son denominados como una instruccin separada. Finalmente est la combinacin 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 tpicamente UDC (up-down counters) cuando vienen como una instruccin separada. Varios fabricantes de PLCs 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 operacin 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 ms comn 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 tambin 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 sern tratados con mayor detalle a continuacin. 4.4.10.9 Contadores ascendentes En la siguiente figura se muestra un smbolo 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 sera 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 direccin del registro desde donde provienen los pulsos que sern contados. Por ejemplo, si se quiere contar cuantas cajas pasan frente a un sensor en una lnea de produccin, el cual est fsicamente conectado a la entrada 00001, entonces pondremos un contacto normalmente abierto con la direccin 00001 frente a la lnea de pulso. Cxxx es el nombre del contador. As como yyyy es el nmero de pulsos que se requiere contar antes de realizar una accin. Cuando el contador a llegado a su definicin de yyyy pulsos, este activar un grupo de contactos separados que tambin estn etiquetados por Cxxx. Hay que recordar que el valor acumulado del contador cambiar slo despus de una transicin de apagado a encendido (transicin positiva) del pulso de entrada.

110

www.infoPLC.net

Programacin del PLC A continuacin se tiene el smbolo 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 nmeros tan especiales provienen del hecho de que la mayora 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 tambin pueden ser usados como instrucciones y como operandos de otras instrucciones. Como instruccin, 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 Smbolo de un contador ascendente

DCxxx es el nombre del contador. As como yyyy es el nmero de pulsos que se requiere decrementar antes de realizar una accin. Cuando el contador a llegado a cero, este activar un grupo de contactos separados que tambin estn etiquetados por DCxxx. A continuacin se tiene el smbolo de un contador descendente en un diagrama de escalera mostrando como definir un contador descendente (llamado contador DC000) para contar 100 cosas desde la entrada 0001 antes de activar la salida 0500. El sensor 0002 reinicia el contador (ver la siguiente figura).

111

www.infoPLC.net

Programacin del PLC

Figura 4. 30 Ejemplo del empleo de un contador descendente

Nuevamente, cuando el programa est corriendo en el PLC, ste es capaz de mostrarnos el valor actual o acumulado que tiene el contador. Como podemos ver, el empleo de un contador descendente es similar al de un ascendente, con la nica diferencia que en el descendente la salida ser activada slo 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 smbolo que puede representar un contador ascendente-descendente (contador arriba-abajo). Se ha utilizado la misma abreviacin presentada en el ejemplo anterior.

Figura 4. 31 Smbolo de un contador ascendente-descendente

En este contador ascendente-descendente es necesario asignar tres entradas. La entrada de reinicio tiene la misma funcin 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 configuracin 1000, es decir, la intencin es contar 1000 pulsos. Cuando el sensor conectado a la entrada 0001 detecte un objetivo se aumentar el valor acumulado, cuando suceda lo mismo al sensor conectado a la entrada 0003 se disminuir el valor acumulado. Cuando el valor acumulado alcance 1000 se activar la salida 0500. El diagrama de escalera de este ejemplo se muestra en la siguiente figura.

112

www.infoPLC.net

Programacin del PLC

Figura 4. 32 Ejemplo del empleo de un contador ascendente-descendente

4.4.10.12

Contadores de alta velocidad

Para agregar ms complejidad al tema, algunos fabricantes incorporan contadores de alta velocidad, denominados comnmente HSC (High Speed Counter) o de forma similar. Tpicamente 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 dnde provienen los pulsos que se desean contar?. Tpicamente el pulso proviene de una de las entradas (un sensor conectado a la entrada 00000 por ejemplo). Cuntos pulsos son necesarios contar antes de reaccionar?. Por ejemplo, contar 5 elementos antes de empaquetarlos en un envase. Cundo y/o cmo 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.

2. 3.

Finalmente, cabe sealar que as como el nmero de temporizadores depende del fabricante y modelo del PLC, el nmero de contadores est sujeto a las mismas condiciones. Nota: El nmero que identifica a un temporizador no puede ser usado por un contador y viceversa. Esto es, TIM 010 y CNT 010 no pueden ser ambos usados, dado que tanto los temporizadores como los contadores utilizan los mismos registros.

113

www.infoPLC.net

Programacin del PLC 4.4.10.13 Instruccin KEEP

La instruccin KEEP se utiliza para simular un relevador de enclavamiento. Esta instruccin tiene dos entradas de control: SET y RESET. (En circuitos lgicos esta instruccin equivale a biestable set-reset). Set: Cuando la condicin de esta entrada se pone en ON, el bit especificando (la salida) en el KEEP es llevado a la condicin ON (encendido). Reset: Cuando la condicin de esta entrada se pone en ON, el bit especificado (la salida) en el KEEP es llevado a la condicin OFF (apagado), esto independientemente del estado de la entrada SET. A continuacin tenemos un ejemplo de aplicacin de una instruccin KEEP. Suponga que queremos detectar cuando una puerta es abierta (podra 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, slo el personal de vigilancia podr desactivar la alarma con un switch. En este caso, podemos hacer uso de una instruccin 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 continuacin junto con el listado de mnemnicos correspondiente.

Figura 4. 33 Ejemplo del empleo de la instruccin KEEP

PASO 00000 00001 00002 00003

INSTRUCCIN OPERANDO LOAD 00000 LOAD 00001 KEEP 00100 END

Tabla 4-61 Listado de mnemnicos del ejemplo de la instruccin KEEP

La siguiente figura muestra el funcionamiento de la instruccin KEEP.

Figura 4. 34 Funcionamiento de la instruccin KEEP

114

www.infoPLC.net

Programacin del PLC 4.4.10.14 Instruccin DIFERNCIATE UP-DIFU

Cuando la condicin de ejecucin DIFU presenta un flanco de subida, el bit especificado por sta (la salida de la instruccin DIFU) se establece en la condicin de ON (encendido) durante un ciclo de programa (o como se ha venido definiendo, ciclo de scan). A continuacin tenemos un ejemplo de empleo de la instruccin DIFU.

Figura 4. 35 Ejemplo del empleo de una funcin DIFU

PASO 00000 00001

INSTRUCCIN OPERANDO LOAD 00000 DIFU 23300

Tabla 4-62 Listado de mnemnicos del ejemplo de la instruccin DIFU

En este caso, cuando la entrada 00001 es cerrada (es decir, pasa de la condicin OFF a ON), el bit de trabajo 23300 ir a ON durante un ciclo de programa solamente. Esta instruccin no es usada para conmutar a la condicin de encendido (ON) dispositivos de salida, ya que un ciclo de programa tiene una duracin tpica de 20 a 50 mseg. Por lo que esto no sera suficiente para activar ninguna salida real. El siguiente diagrama muestra el funcionamiento de la instruccin DIFU.

Figura 4. 36 Funcionamiento de la instruccin DIFU

4.4.10.15

Instruccin DIFFERENTIATE DOWN-DIFD

Funcionalmente, la instruccin DIFD es la misma que DIFU excepto que es activada con el flanco de bajada de su condicin de ejecucin, 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 mnemnicos, el cual hace uso de la instruccin DIFD.

Figura 4. 37 Ejemplo del empleo de la instruccin DIFD

115

www.infoPLC.net

Programacin del PLC PASO 00000 00001 INSTRUCCIN OPERANDO LOAD 00000 DIFD 23300

Tabla 4-63 Listado de mnemnicos del ejemplo de la instruccin DIFD

En este ejemplo, cuando la entrada 00001 pasa de la condicin de encendido (ON) a la condicin 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 instruccin DIFD.

Figura 4. 38 Funcionamiento de la instruccin DIFD

4.4.10.16

Instruccin INTERLOCK e INTERLOCK CLEAR IL e ILC

Las instrucciones IL e ILC se emplean en pareja. Cuando la condicin de ejecucin para IL es ON, el programa se ejecuta como est escrito, con una condicin de ejecucin ON utilizada para iniciar cada lnea de instruccin desde el punto en que se encuentra IL hasta el siguiente ILC (ver la figura 5.39). Si la condicin de ejecucin para IL es OFF, la seccin de programa enclavada entre IL e ILC se tratar como se indica en la siguiente tabla.

INSTRUCCIN OUT Y OUT NOT TIM y TIMH CNT y CNTR SEP DIFU y DIFD Resto de instrucciones

TRATAMIENTO Bit designado puesto a OFF Reset Se mantiene el PV Se mantiene el estado del bit No ejecutada No se ejecutan las instrucciones y todos los bits y canales IR, AR, LR, HR, y SR escritos como operandos en las instrucciones se ponen a OFF

Tabla 4-64 Forma en que ser tratada la seccin del programa enclavada entre IL e ILC

116

www.infoPLC.net

Programacin del PLC

Figura 4. 39 Ejemplo de empleo de la instruccin IL e ILC. En este ejemplo, las lneas punteadas muestran el efecto de emplear la funcin INTERLOCK. Todas las lneas de instruccin entre IL e ILC pueden considerarse que tienen un contacto imaginario controlado por la entrada 00000

Anidamiento de INTERLOCKS En este caso, las instrucciones IL e ILC no han de emplearse exactamente en parejas. La instruccin IL se puede utilizar varias veces en una columna, con cada IL creando una seccin de programa enclavada hasta la siguiente ILC. En este caso, se deben de tener las siguientes precauciones: Despus de una o ms instrucciones IL debe seguir una ILC Aunque con una instruccin ILC se pueden utilizar tantas instrucciones IL como sean necesarias, la instruccin ILC no se puede utilizar consecutivamente si al menos hay una instruccin IL entre ellas y cualquier instruccin ILC anterior. Instrucciones JUMP y JUMP END (JMP y JME)

4.4.10.17

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 estn numerados desde 00 a 99. El smbolo empleado en el diagrama de escalera de las instrucciones JMP y JME se muestran a continuacin en el siguiente diagrama.

Figura 4. 40 Simbolo empleado para representar las instrucciones JMP y JME respectivamente en LADDER.

Cuando la condicin de ejecucin para JMP es ON, no se ejecuta ningn salto. Cuando la condicin de ejecucin para JMP es OFF, se realiza un salto a la JME con el mismo nmero de 117

www.infoPLC.net

Programacin del PLC salto, no ejecutndose las instrucciones entra ambas JMP y JME, y se ejecuta la instruccin que sigue a JME. Para el empleo correcto de las instrucciones JMP y JME se debe de tener en cuenta que: El nmero 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 nmero 00, es decir, es posible utilizar la instruccin JMP (04) 00 consecutivamente y concluir todas ellas en la misma JME (05). Los temporizadores en secciones enclavadas no se reinician cuando la condicin de ejecucin para JMP sea OFF, pero si se utiliza el nmero de salto 00 el temporizador parar su operacin. Si se utilizan nmeros de salto de 01 a 99, los temporizadores seguirn su operacin. Dado que todas las instrucciones entre JMP (04) y JME (05) se saltan, los nmeros de salto de 01 a 99 se pueden utilizar para reducir el tiempo de ciclo. Para el salto con nmero 00, el CPU del PLC realiza una bsqueda de la siguiente JME con nmero 00, por lo tanto, provoca un tiempo de ciclo ms largo (cuando la condicin 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 situacin supera el largo definido para nuestra lista, la adicin de un nuevo suceso se aadir 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 penltimo, 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 ms comunes utilizados por los fabricantes de PLCs. Estos comandos mueven los registros hacia la izquierda, como se describi en el prrafo 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 mayora de los fabricantes de PLCs 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 smbolo usualmente empleado para denotar este comando se muestra en la siguiente figura. Hay que notar que este comando necesita tres entradas y tiene necesariamente algn dato dentro del smbolo. 118

www.infoPLC.net

Programacin del PLC

Figura 4. 41 Smbolo de la instruccin 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 sern cambiados en la lista enlazada. Cuando la entrada de datos es verdadera, el primer bit de la lista o registro tomar el valor lgico 1. Este dato ingresado a la lista o registro nicamente en la transicin positiva de los pulsos de reloj del PLC. RELOJ: El reloj de entrada habilita a la instruccin SFT para que realice su operacin sobre el registro. En la transicin de subida (o tambin llamada transicin positiva) de la entrada, el comando cambia los datos o bits en una posicin dentro del registro, es decir los desplaza una posicin e ingresa el estado de la entrada en el primer lugar del registro. En cada transicin positiva de la seal 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 lgico 0.

El valor 1000 dentro del smbolo SFT determina la localizacin del primer bit del registro sobre el cual se quiere ejecutar la funcin de corrimiento. Si pensamos en los registros como una lista de bits enlazados como una cadena, este elemento es el primer eslabn. El valor 1003 dentro del smbolo SFT mostrado en la figura anterior es el ltimo bit del registro sobre el cual estamos operando, es decir, corresponde al ltimo eslabn 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 acrnimo Grafcet significa Grfico Funcional de Control de Etapas y Transiciones. Es un sistema de representacin de control (secuencial) mediante la sucesin alternada de etapas y transiciones definidas por elementos grficos y reglas de evolucin que reflejan la dinmica del comportamiento del sistema. Es una variante del Diagrama de Transiciones de Estados. Es una simplificacin sistematizada de las Redes de Petri. Est normalizado a nivel europeo IEC 848.

El Grafcet surge en Francia a mediados de los aos 70s, debido a la colaboracin de algunos fabricantes de autmatas, como Telemecanique y Aper en colaboracin con dos organismos oficiales AFCET (Asociacin Francesa para la Ciberntica, Economa y Tcnica) y la ADEPA (Agencia nacional para el desarrollo de la produccin automatizada). Homologado en 119

www.infoPLC.net

Programacin del PLC Francia, Alemania y posteriormente por la comisin Electrnica Internacional (IEC 848, ao 1988). En la actualidad, la constante revolucin tecnolgica ha obligado a adoptar nuevas tcnicas en la automatizacin de mquinas y procesos. Las actividades realizables y los dispositivos utilizados pueden ser muy diversos, entre otras, se pueden utilizar seales analgicas, realizar clculos y operaciones complejas, etc. Por lo anterior, el especialista en automatismos, debe realiza un anlisis del problema y, mediante unos smbolos grficos propios de su trabajo y experiencia, disear los esquemas correspondientes a la tecnologa utilizada. De esta forma, el Grafcet pretende ser una herramienta til y eficaz para facilitar la representacin y dar solucin al automatismo en forma sistematizada Una vez planteado el problema y diseado ya el Grafcet de nivel 1, la adaptacin a la solucin tecnolgica concreta deseada, se realiza mecnicamente (hay programas que lo hacen de forma directa). Aunque podemos implementar el Grafcet sobre cualquier tecnologa, es un mtodo muy indicado para circuitos integrados programables o en los autmatas programables. El Grafcet describe los procesos a automatizar, remarcando las acciones y los eventos que las provocan. Es una representacin directamente relacionada a la evolucin del proceso, facilitando el dialogo entre personas de especialidades distintas y de diferentes niveles de formacin, a partir ya del momento de la concepcin del automatismo, y despus en las fases de mantenimiento. En la reparacin de averas, una vez que ya estn 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 mtodo grfico de representacin independiente de la tecnologa empleada en la resolucin final. Esto permite plantear el problema, discutirlo y resolverlo entre todos (en la pizarra), por lo menos en su componente funcional Resolucin tecnolgica En esta fase, la discusin sobre la tecnologa a emplear, se hace valorando las ventajas y los inconvenientes de cada tecnologa o sistema. Podemos tambin plantear el mismo problema sobre diferentes tecnologas y una vez realizados los proyectos, discutir y valorar los costes y ventajas. Realizacin del automatismo La metodologa del Grafcet ayuda a hacer la implementacin de forma mecnica. Es importante documentar el proyecto de forma completa. Comprobacin del funcionamiento En esta fase, el Grafcet permite hacer el seguimiento, etapa a etapa del automatismo. Si aparece alguna disfuncin, estar localizada en una etapa o bien en una transicin

120

www.infoPLC.net

Programacin del PLC concreta, facilitando as la solucin. Con el Grafcet la localizacin de averas se hace de forma sistematizada. Ampliacin y mejora Una vez que el sistema se ha comprobado y esta en funcionamiento, una revisin en grupo a partir del Grafcet de nivel I, permitir aadir especificaciones para la mejora del sistema tales como: Elementos de seguridad. Sistemas de deteccin de averas. Ampliacin y mejora de los tipos de sistemas de marcha y de parada. Aadir programa de control o visualizacin (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, sern descritos a continuacin.

4.5.1 Etapas
Las etapas representan cada uno de los estados del sistema. El smbolo empleado para representar una etapa es un cuadro con un nmero o smbolo en su interior que la identifica. 4.5.1.1 Etapas iniciales

Las etapas iniciales del sistema se representan por un cuadro con doble lnea y se activan al iniciar el Grafcet. Una vez que se ha iniciado, las etapas iniciales tienen el mismo tratamiento que las otras etapas. Se tienen diferentes tipos de etapas iniciales, entre las que podemos mencionar:

121

www.infoPLC.net

Programacin del PLC

Figura 4. 43 Etapa inicial sin retorno

Figura 4. 44 Etapa inicial con retorno Figura 4. 45 Etapa inicial con retorno y activacin forzada

Cabe aclarar que todo sistema debe tener como mnimo 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 nmero). 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 grfica 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 accin asociada (ver en la grfica 4.48) puede servir para hacer detener una accin monoestable que se realizaba en la etapa anterior, o bien, puede servir como una etapa de espera. Una accin asociada (ver la grfica 4.49) nos indica que al estar activa la etapa, el motor girar a la derecha. En una etapa puede haber mltiples acciones asociadas (ver la grfica 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 slo hay una etapa activa, entonces, slo estarn 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 accin).

122

www.infoPLC.net

Programacin del PLC

Figura 4. 48 Etapa sin ninguna accin asociada

Figura 4. 49 Etapa con una accin 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 accin a realizar en una o ms de las acciones asociadas a una etapa, puede estar condicionada a una funcin booleana adicional. Por ejemplo, veamos el caso de la etapa 3 del grfico 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 accin por consecuencia es el siguiente:

Figura 4. 51 Etapa con una accin asociada condicionada. Hace girar el motor a la derecha siempre y cuando la puerta no halla llegado a la derecha.

En el rectngulo donde se representa la accin asociada, hay una entrada para las condiciones. La norma IEC 848 propone las representaciones siguientes para las acciones asociadas condicionadas. C Accin condicionada D Accin retardada L Accin limitada al tiempo P Impulso S Accin memorizada
Tabla 4-65 Tipo de acciones asociadas

4.5.2.1

Accin condicionada

Supongamos un sistema en que tenemos un cuadro electrnico para la regulacin de unas mquinas. 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 sealar que esta condicin la podemos representar dentro del recuadro de la accin, o bien fuera del recuadro (ver figuras 4.52 y 4.53 respectivamente). 123

www.infoPLC.net

Programacin del PLC

Figura 4. 52 La condicin del termostato se puede representar dentro del recuadro

Figura 4. 53 O bien, la condicin del termostato se puede representar fuera del recuadro.

4.5.2.2

Accin retardada

Supongamos que tenemos un motor A que se pondr en marcha 5 segundos despus de activarse la etapa 10; si la transicin 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 accin retardada, en donde un motor A se pondr en marcha 5 segundos despus de activarse la etapa 10, siempre y cuando no se ha activado an la transicin r.

4.5.2.3

Accin limitada

Supngase que se quiere poner en funcionamiento una bomba de agua durante 10 segundos despus de haberse activado la etapa 11, pasado este tiempo an que no se active la transicin s, la bomba de agua dejar de funcionar. La accin estar representada por el siguiente Grafcet mostrado en la figura 4.55:

Figura 4. 55 Grafcet correspondiente a una accin limitada que representa la puesta en marcha durante 10 segundos de una bomba de agua despus de activarse la etapa 11, an se active la transicin s.

4.5.2.4

Accin de impulso

Se quiere activar una electrovlvula K con un impulso de seal al activarse la etapa 12, el Grafcet correspondiente ser el siguiente:

Figura 4. 56 Grafcet correspondiente a una accin de impulso que representa la activacin de una electrovlvula con un impulso de seal al activarse la etapa 12

124

www.infoPLC.net

Programacin del PLC 4.5.2.5 Accin memorizada

Supngase 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 accin. Posteriormente al activarse la etapa 20, el motor A se detendr, ya que esa etapa, la accin 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 accin 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 transicin, el sistema deja de estar en una etapa e inmediatamente va a la siguiente. Validar la transicin implica un cambio en las etapas activas del Grafcet. Las transiciones se representan por un pequeo segmento horizontal de recta que corta la lnea de enlace entre dos etapas.

Son etapas de entrada a una transicin, todas las etapas que conducen a una transicin. Son etapas de salida a una transicin, las etapas que salen de una transicin.

Figura 4. 58 Las transiciones entre etapas son representadas en Grafcet por medio de pequeas lneas que atraviesan las lneas de enlace.En este caso se muestran las transiciones K y L.

125

www.infoPLC.net

Programacin del PLC 4.5.3.1 Receptividades asociadas a las transiciones

La condicin o condiciones que se deben superar para poder pasar una transicin reciben el nombre de receptividades. En una transicin podemos tener:

Una condicin simple [Pm] Una funcin booleana [(Pm + Pk)*Pp] La seal de un temporizador o contador [T03]. En este caso, es habitual que el temporizador se haya activado para contar en la accin asociada de la etapa de entrada. La activacin 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 Lneas de evolucin o lneas de enlace


Las lneas de enlace o evolucin son lneas verticales u horizontales que unen con una direccin 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 lneas de enlace unen entre s las etapas que representan actividades consecutivas. Dos lneas de evolucin que se crucen debe de interpretarse, en principio que no estn unidas.

Figura 4. 59 Lneas de evolucin

4.5.5 Diseo y estructuras del Grafcet


Existen procesos que requieren estructuras ms complejas que las vistas en el tema anterior, en las que se representan bucles, toma de decisiones o tareas simultneas que deben sincronizarse. Para estos casos el Grafcet dispone de otras estructuras bsicas a partir de las cuales pueden generarse los diagramas de dichos procesos, entre las que podemos mencionar:


126

Secuencia nica Bifurcacin en O, tambin llamada seleccin de secuencia Bifurcacin en Y, tambin llamada trabajos en paralelo Saltos de etapas Bucles Subrutinas Macro etapas Diagramas paralelos

www.infoPLC.net

Programacin del PLC

Figura 4. 60 Ejemplo de una estructura con Grafcet

Antes de entrar en materia con las estructuras bsicas con que cuenta Grafcet, veamos el desarrollo del sistema y la evolucin del sistema. 4.5.5.1 Desarrollo del sistema

En Grafcet, los diagramas se dibujan como una sucesin alternada de etapas y transiciones. As mismo, no puede haber dos etapas seguidas, ni tampoco dos transiciones seguidas. Vase 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 transicin (00 y 001 o 000 y 002).

Figura 4. 62 Sol. Caso I. Este caso se puede resolver haciendo que la receptividad de la transicin se cumpla si es vlida la funcin And (000 * 001) o la (000*002).

127

www.infoPLC.net

Programacin del PLC

Figura 4. 63 Caso II. Al superar la condicin 003 de la transicin, el motor debe girar a la derecha y tambin 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

Evolucin del sistema

Para que el sistema pueda evolucionar es necesario:

Validar la transicin. Todas las etapas de entrada a la transicin deben estar activas. Que sea cierta la receptividad asociada. Deben ser ciertas las condiciones de la transicin.

Vanse las siguientes dos grficas.

Figura 4. 65 La primera transicin se podr validar, si la etapa 123 esta activa y adems se cumple con la condicin 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 condicin 002 y tambin la 005.

Figura 4. 66 Las etapas 200 y 210 son etapas de entrada a la transicin. Para validar ;a transicin, deben estar activas las dos etapas. Para poder entrar a la etapa 220, la transicin tiene que estar validada y se debe cumplir la receptividad asociada (003 a la transicin).

4.5.5.3

Secuencia nica

La secuencia nica o lineal es la estructura ms simple posible y consiste de una sucesin de etapas unidas consecutivamente por las lneas de evolucin y condiciones de transicin.

128

www.infoPLC.net

Programacin del PLC

Dentro de un tramo de la secuencia nica o secuencia lineal, solamente una etapa debe estar activada en un instante determinado. Se activa una etapa cuando se encuentra activada la anterior y se cumplan las condiciones de transicin entre ambas. La activacin de una etapa implica automticamente la desactivacin de la etapa anterior. Una secuencia nica o lineal puede formar parte de una estructura ms compleja. Vase la siguiente grfica.

Figura 4. 67 Ejemplo de un Grafcet de secuencia nica.

4.5.5.4

Bifurcacin en O. Tambin llamada seleccin de secuencia

La divergencia y la convergencia en O, a las que llamaremos conjuntamente bifurcacin 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 ms complejas. Una o ms confluencias en O de dichos caminos alternativos, de tal forma que la macroestructura debe ser globalmente cerrada.

Las propiedades bsicas que cumple la estructura de bifurcacin 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 condicin de transicin. Las condiciones de transicin de los diversos caminos de divergencia han de ser excluyentes entre s. Deforma que el proceso slo podr progresar en cada lado por uno de ellos.

129

www.infoPLC.net

Programacin del PLC

A nivel de grfico global, los distintos caminos iniciados como divergencia en O deben confluir en uno o ms puntos de convergencia en O. Dicho de otra forma, la estructura debe ser totalmente cerrada y no pueden existir caminos abiertos, ya que esto denotara situaciones sin posible salida.

Vanse las siguientes figuras.

Figura 4. 68 Habr una seleccin de secuencias cuando al llegar a un punto encontremos una bifuracin 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 nmero 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 bifurcacin en O. De forma tal que, el grfico nos queda de la siguiente forma:

Figura 4. 69 Ejemplo del empleo de la bifurcacin en O, para la seleccin del sentido de giro de un motor.

130

www.infoPLC.net

Programacin del PLC 4.5.5.5 Bifurcacin en Y. Tambin llamada trabajos en paralelo

La divergencia y convergencia en Y, a las que llamaremos conjuntamente bifurcacin 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 simultneamente cuando se cumpla una determinada condicin de transicin comn. Una serie de caminos simultneos con una macroestructura lineal, aunque pueden contener otras estructuras ms complejas. Una o ms 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 simultneamente. La condicin de transicin para iniciar las tareas simultneas es nica y comn para todas ellas.

Vanse la siguiente figura.

Figura 4. 70 En este automatismo habr una bifurcacin en Y o trabajos paralelos, cuando a partir de un punto debe evolucionar de forma simultneapor todas las ramas. Al final de estas, encontraremos unas etapas de espera (108, 132 y 155). El sistema continuar con su evolucin cuando cada una de las ramas haya llegodo a su etapa de espera. El nombre de etapas de las diferentes ramas puede ser distinto unas de otras.

131

www.infoPLC.net

Programacin del PLC Veamos el siguiente ejemplo. Suponga que tenemos dos motores MA y MB colocados en una banda transportadora, de forma tal que desplazan las cajas 1 y 2 como se ve en la siguiente figura.

Figura 4. 71 Problema del ejemplo, cuya solucin 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 estn de nuevo en las posiciones iniciales. La solucin a nuestro problema se muestra por medio del siguiente Grafcet.

Figura 4. 72 Grafcet obtenido para derle solucin al problema planteado en la figura anterior empleando para ello bufurcacin en Y.

132

www.infoPLC.net

Programacin del PLC 4.5.5.6 Saltos de etapas

En cierto punto de un Grafcet puede haber una bifurcacin 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 condicin a la transicin. Vase 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 ambigedades. Tambin puede realizarse el salto en sentido ascendente (en este caso lo indicaremos en las lneas de enlace) como pasa con los bucles. Ahora veamos un ejemplo en el que apliquemos un salto de etapas. Supngase que en un tren de lavado de autos, si no esta activa la seleccin Rbajos (Lavado presin de los bajos y las ruedas del automvil), al llegar a la etapa 5 el automatismo debe hacer un salto hasta la etapa 7. Por el contrario, si esta activa esta seleccin, entrar en la etapa 6 y la bomba de presin y las pistolas dirigibles, as como el temporizador T04 actuaran. La solucin se muestra en el grfico de la figura 4.74.

Figura 4. 73 Ejemplo de un Grafcet en el cual se presenta un salto de etapas. Aqu se puede observar que las condiciones de entrada son excluyentes (H y H).

133

www.infoPLC.net

Programacin del PLC

Figura 4. 74 Grafcet obtenido para darle solucin 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 repetirn hasta que lo decida un temporizador, un contador o hasta que se cumpla una condicin determinada. Como ejemplo de aplicacin 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 solucin a nuestro problema se ve reflejada en el siguiente grfico.

Figura 4. 75 Grafcet obtenido para darle solucin al problema planteado de una lavadora en donde se aplica el concepto de bucle.

134

www.infoPLC.net

Programacin del PLC 4.5.5.8 Subrutinas

Una subrutina es una parte de un programa que realiza una tarea concreta, a la que se puede invocar una o varias veces por parte del programa principal. Una vez realizadas las acciones de la subrutina el programa continua en el punto donde estaba. Para entender como se emplean las subrutinas en un diagrama de Grafcet, veamos el siguiente proceso (vase 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 1014) 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 transicin X2 + X4 y empieza la subrutina. Al llegar a la etapa 14 s valida la transicin X14 y continua la evolucin del diagrama principal a la etapa 3 o a la etapa 5 respectivamente.

Figura 4. 76 Grafcet de un proceso que emplea el concepto de subrutina, en donde el programa principal est comprendido de la etapa 0 a la etapa 5 y la subrutina de la etapa 10 a la etapa 14.

135

www.infoPLC.net

Programacin del PLC 4.5.5.9 Macro-etapas

Al hacer la descripcin del automatismo, el Grafcet permite empezar desde un punto de vista muy general y a partir de l, hacer descripciones cada vez ms concretas del proceso de control. Una macro-etapa es la representacin mediante una nica etapa, de un conjunto de etapas, transiciones y acciones asociadas, a las que llamamos expansin de la macro-etapa. La expansin de la macro-etapa, es en realidad una parte del diagrama de Grafcet, con sus etapas, transiciones y normas de evolucin, pero que en un diseo descendiente hemos englobado en una macro-etapa, por lo que, podramos decir que al hacer la expansin de la macro-etapa, en realidad lo que hacemos es una especie de zoom, que nos ensea en detalle, etapas, transiciones y acciones concretas, a las que antes nos hemos referido de forma general. Vase el siguiente grfico de un ejemplo de una macro-etapa, en el cual, el diagrama principal evoluciona a partir de la etapa 0 a la transicin a. Una vez que est activa la etapa 1, la transicin b estar receptiva y al validarse entraremos a la macro-etapa M2, en donde la etapa 2 estar activa y segn el estado de la transicin 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 relacin entre s. Vase la siguiente grfica. 136

www.infoPLC.net

Programacin del PLC

Figura 4. 78 Ejemplo de diagramas paralelos en Grafcet.

4.6 DIAGRAMAS LGICOS


La representacin del sistema de control por diagramas lgicos se basa en el empleo de smbolos normalizados (compuertas) que representan funciones lgicas directas del lgebra de Boole (And, Or, etc.), o sistemas lgicos ms complejos (biestables, registros, contadores, etc.). En la siguiente figura se muestra el modelo de diagrama lgico.

Figura 4. 79 Ejemplo de un diagrama lgico

El conjunto de todos los smbolos con sus interrelaciones forman el logigrama del sistema de control, representacin compacta e independiente de la tecnologa de construccin del mismo (elctrica, neumtica, etc.). El diagrama lgico o plano de funciones es la representacin de las tareas de automatizacin utilizando los smbolos contenidos en las normas DIN 40700 y DIN 40719, cuya forma general se presenta en la figura siguiente.

137

www.infoPLC.net

Programacin del PLC

Figura 4. 80 Smbolo lgico normalizado. Los smbolos X son relativos a las entradas y salidas.

4.6.1 Funciones bsicas


Las operaciones combinacionales ms comunes se realizan con los bloques de funciones bsicas (ver la figura 4.81), conexin serie, paralelo, negacin, 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 ms de tres entradas, se conectan varios bloques en cascada (ver la figura 4.82). Adems, cabe mencionar que la funcin inversora NOT, tiene una entrada y una salida y que la funcin OR exclusiva (XOR) posee slo dos entradas y una salida.

Figura 4. 81 Funciones bsicas empleadas en un diagrama lgico o plano de funciones

Figura 4. 82 NAND de 5 entradas formada por dos NAND de 3 entradas conectadas en cascada.

138

www.infoPLC.net

Programacin del PLC La programacin por diagramas lgicos, que deriva de la representacin por logigrama habitual entre los tcnicos en electrnica digital, incluye como bloques normalizados algunas funciones secuenciales tpicas en automatizacin, como temporizadores y contadores, e incluso algunos bloques combinacionales y de tratamientos numricos, como multiplexores, demultiplexores, sumadores, multiplicadores, etc., pero no alcanza la multitud de funciones que han ido aadindose a las listas de instrucciones y diagramas de contactos, como extensiones a estos lenguajes. Por esta razn, y en el sentido estricto, la programacin por diagramas lgicos queda reservada a aplicaciones en que slo 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 lgico por parte del usuario habitual del autmata, explica la baja difusin de estos lenguajes de programacin para la programacin del los PLCs.

4.6.2 Funciones especiales


A continuacin se mostrarn algunas de las funciones especiales que pueden emplearse durante la programacin de un PLC usando para ello diagramas lgicos o planos de funciones. 4.6.2.1 Temporizador con retardo a conexin

Activa la salida Q una vez que ha transcurrido el tiempo programado.

Figura 4. 83 Smbolo empleado en diagramas lgicos para representar a un temporizador con retardo a conexin.

4.6.2.2

Temporizador con retardo a desconexin

Desactiva la salida Q una vez que ha transcurrido el tiempo programado. El temporizador se pone en marcha cuando se presenta un flanco descendente (transicin negativa).

Figura 4. 84 Smbolo empleado en diagramas lgicos para representar a un temporizador con retardo a la desconexin.

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 sea en la entrada TRG.

139

www.infoPLC.net

Programacin del PLC

Figura 4. 85 Smbolo empleado en diagramas lgicos para representar a un relevador de impulsos, tambien conocido como telerruptor.

4.6.2.4

Reloj

Permite controlar los instantes de activacin y desactivacin de la salida en un instante determinado, por ejemplo en un da de la semana y a una hora determinada.

Figura 4. 86 Smbolo empleado en diagramas lgicos para representar a un reloj horario.

4.6.2.5

Biestable Set-Reset

Permite realizar la funcin para-marcha tpica de los automatismos a contactores. La situacin no permitida R=1 y S=1 se soluciona dando preferencia a R.

Figura 4. 87 Smbolo empleado en diagramas lgicos 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 Smbolo empleado en diagramas lgicos para representar a un generador de pulsos de reloj.

4.6.2.7

Temporizador a la conexin con memoria

Su funcionamiento es similar a un temporizador a la conexin, pero con la caracterstica que no es necesario mantener la seal en TRG.

140

www.infoPLC.net

Programacin del PLC

Figura 4. 89 Smbolo empleado en diagramas lgicos para representar a un temporizador a la conexin 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 Smbolo empleado en diagramas lgicos 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 funcin solamente se puede utilizar como bloque inicial.

Figura 4. 91 Smbolo empleado en diagramas lgicos para representar a un contador de horas de servicio.

4.6.2.10 Relevador de supresin Activa la salida hasta que haya transcurrido el tiempo de T. Si este no ha terminado y TRG se pone a 0 la salida tambin lo hace. Esta funcin solamente se puede utilizar como bloque inicial.

Figura 4. 92 Smbolo empleado en diagramas lgicos para representar a un relevador de supresin.

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 funcin solamente se puede utilizar como bloque inicial.

141

www.infoPLC.net

Programacin del PLC

Figura 4. 93 Smbolo empleado en diagramas lgicos para representar a un conmutador de valor umbral para frecuencias.

4.6.3 Comparacin del plano de funciones con LADDER


La siguiente figura muestra un ejemplo de programacin 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 autmata, los fabricantes de PLCs han optado por permitir el uso, en sus consolas grficas, de los bloques de extensin definidos en el diagrama de contactos, aun trabajando bajo el entorno de diagrama lgico: el lenguaje resultante es un hbrido que recoge toda la potencia de programacin del autmata, y en el que cada usuario puede elegir la forma de representacin que prefiera para las funciones bsicas (AND, OR, NOT, NAND, NOR y XOR). La siguiente figura muestra un ejemplo de programa escrito con estos lenguajes hbridos, desarrollado con un software especfico de programacin de autmatas que corre sobre PC. 142

www.infoPLC.net

Programacin del PLC

Figura 4. 96 Programacin combinada de diagramas lgicos con Ladder.

143

www.infoPLC.net

Programacin del PLC

144

www.infoPLC.net

Comunicaciones y Redes

5.0

COMUNICACIONES Y REDES

La comunicacin industrial digital comprende un amplio rango de productos de hardware, software y protocolos para comunicacin entre plataformas estndar de computacin y dispositivos de automatizacin. La multiplicacin de los PLC existentes en una estacin, la extensin de los trabajos realizados por estos y la necesaria coordinacin del seguimiento y de las decisiones que tienden a la integracin de la gestin de produccin 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 nmero empieza a ser relativamente grande en una empresa. La programacin y el dilogo hombre-mquina con PLCs, controles numricos, robots, sistemas de CAD y otros sistemas involucrados, requiere el aprendizaje de diversos lenguajes y mtodos de operacin especficos para cada uno. Adems la imposibilidad de intercambiar informacin entre ellos limita enormemente las posibilidades del conjunto. En este captulo mostraremos los tipos ms comunes de comunicacin de los PLC incluidas las redes industriales. Asumimos que el lector conoce los conceptos bsicos de redes de comunicaciones digitales, temas que podemos encontrar con detalle en cualquier libro de redes.

5.1

INTERCONEXIONES ESTNDAR

Las redes industriales hacen uso, en su nivel fsico, principalmente de dos tcnicas de comunicacin, estas son: las comunicaciones serie y ethernet. En este apartado describiremos brevemente estas tcnicas (tambin denominados buses), que en muchos casos son objeto de alguna norma que da una descripcin mucho ms amplia.

5.1.1 Comunicaciones serie


En los medios clsicos de comunicacin, las conexiones serie estn entre las ms empleadas para las aplicaciones industriales. Tambin se utilizan para las conexiones de consolas de programacin, otros perifricos y para conectar los PLC entre s. De hecho, casi todos los buses de campo utilizan comunicacin serie con velocidades diferentes. La conexin fsica se realiza a travs de interfaces series normalizadas por la EIA, tal como RS-232, RS-422 o RS-485. Estas normas especifican solamente las caractersticas elctricas del soporte fsico de comunicacin (Nivel Fsico de OSI), por lo tanto, no tratan el software necesario para manipular la informacin que circula sobre el soporte.

145

www.infoPLC.net

Comunicaciones y Redes La RS-232 es el mtodo ms popular de comunicacin con dispositivos externos al PLC. Esta limitada por la distancia de conexin y velocidad. Tambin esta limitada a la conexin punto a punto entre PC y dispositivos informticos como mdem, ratn, etc. La RS-422 trabaja en forma diferencial con las lneas que transmite y recibe, el circuito tiene solo dos hilos sin que exista una lnea de masa comn. Los unos y ceros lgicos se establecen en funcin de la diferencia de tensin de ambos conductores del circuito de modo que resulta una interfase serie con una gran inmunidad al ruido y una mayor distancia de conexin a los dispositivos, preferible a las interfaces serie RS-232 para operar en las condiciones difciles que siempre se presentan en los entornos industriales. La RS-485 es una leve modificacin de la RS-422, redefiniendo caractersticas elctricas para asegurar un nivel de tensin adecuado a la mxima carga, incrementndose l numero de dispositivos de 10 a 32, los que se conectan en paralelo a los dos conductores, sin necesidad de mdem. Con esta capacidad y una alta inmunidad al ruido se pueden crear redes de dispositivos de adquisicin de datos y control, conectados a una simple puerta serie RS-485 de un PC. La tabla 5.1 resume las caractersticas de estas interfaces. RS-232 Desbalanceada 1 1 15 20 Kb/s RS-422 Balanceada 1 10 1200 10 Mb/s RS-485 Balanceada 32 32 1200 10 Mb/s

Tipo de lnea Nmero mximo de dispositivos Nmero, mximo de receptores Longitud mxima (m) Velocidad mxima

Tabla 5.1 Comunicaciones serie

En una red de dispositivos sobre un una simple lnea, es necesario direccionar uno en particular. Esto se puede realizar simplemente utilizando caracteres ASCII, constituyendo comandos de identificacin del dispositivo y que este a su vez responde con los datos. Esto es un esquema bsico de protocolo de comunicacin denominado comnmente maestro / esclavo (Master/Slave). Aqu el Maestro es el que inicia la comunicacin. Los Esclavos solo envan mensajes cuando el Maestro lo solicita Hay muchos otros protocolos industriales ms complejos que el ASCII orientados a dispositivos ms 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 tcnica de comunicacin diseada 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 travs de puentes). Permite topologa en Bus o rbol con comunicacin semidplex. Las velocidades van desde los 10 Mbits/s a los 100 Mbits/s de Fast146

www.infoPLC.net

Comunicaciones y Redes Ethernet. Es uno de los estndares de red que ms rpidamente evolucionan, debido a su uso masivo en redes ofimticas. La tabla 5.2 muestra las caractersticas estndar de la red Ethernet: Medio fsico estndar Topologa de la red Modo de transmisin Codificacin Velocidad estndar Mtodo de acceso Nmero mximo de nodos Distancia mxima entre nodos Cable coaxial de 50 En bus o rbol Semidplex, banda base Manchester 10 Mbps CSMA/CD 1024 500 m

Tabla 5.2 Caractersticas bsicas de Ethernet

En el aspecto fsico, existen las siguientes variantes: ETHERNET DE CABLE DELGADO: Se emplea para transmisiones a distancias ms cortas (200 m), con menos nmero de nodos y utiliza un cable tipo RG58 y conectores ms econmicos. ETHERNET DE BANDA ANCHA: Utiliza como conexin a la red un mdem denominado DECOM y se emplea esencialmente para grandes distancias o incluso para conexin 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 estn los PLC, computadoras de diseo, 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: Visualizacin y supervisin de todo el proceso productivo. Toma de datos del proceso ms rpida o instantnea. Mejora del rendimiento general de todo el proceso. Posibilidad de intercambio de datos entre sectores del proceso y entre departamentos. Programacin a distancia, sin necesidad de estar a pie de fbrica. 147

www.infoPLC.net

Comunicaciones y Redes

5.2.1 Niveles en una red industrial


En una red industrial coexistirn equipos y dispositivos de todo tipo, los cuales suelen agruparse jerrquicamente para establecer conexiones lo ms adecuadas a cada rea. De esta forma se definen cuatro niveles dentro de una red industrial: Nivel de gestin: es el nivel ms elevado y se encarga de integrar los niveles siguientes en una estructura de fbrica, e incluso de mltiples factoras. Las mquinas aqu conectadas suelen ser estaciones de trabajo que hacen de puente entre el proceso productivo y el rea de gestin, 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 sitan los autmatas de gama alta y los ordenadores dedicados a diseo, control de calidad, programacin, etc. Se suele emplear una red de tipo LAN. Nivel de campo y proceso: se encarga de la integracin de pequeos automatismos (autmatas compactos, multiplexores de E/ S, controladores PID, etc.) dentro de sub-redes o "islas". En el nivel ms alto de estas redes se suelen encontrar uno o varios autmatas 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 ms prximo al proceso. Aqu estn los sensores y actuadores, encargados de manejar el proceso productivo y tomar las medidas necesarias para la correcta automatizacin y supervisin.

Figura 5.1 Niveles de automatizacin de una red industrial

Esta estructura no es universal, dependiendo del tamao del proceso y de la propia empresa podemos encontrar redes con grado de complejidad muy diverso, desde el simple bus de campo hasta la que contiene todos los elementos citados. 148

www.infoPLC.net

Comunicaciones y Redes

5.3

REDES LAN INDUSTRIALES

Son las redes ms elevadas jerrquicamente. Los estndares ms conocidos y extendidos son dos: MAP y ETHERNET

5.3.1 MAP
MAP (Manufacturing Automation Protocol) naci como un producto especialmente diseado 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 acta a nivel de bus de campo, pero establece pasarelas hacia estos buses mediante terminales. Tambin permite integracin en redes WAN. MAP no acta a nivel de bus de campo, lo considera un nivel inferior que se integra a la red mediante autmatas o terminales que actan 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, sesin y presentacin, que le permiten el encaminamiento de los mismos a travs incluso de redes conmutadas pblicas o privadas. As mismo resulta excesivamente caro y complejo para aplicaciones de dimensiones medianas y pequeas y sobre todo para la interconexin de pequeos 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 caractersticas bsicas de la red MAP se resumen en la tabla 5.3 Niveles implementados Conexin fsica Topologa Codificacin Ancho de banda por canal Velocidad Protocolo de acceso Modelo OSI completo (1 a 7) Cable coaxial Bus Modulacin Banda Ancha FDM (divisin de canales por frecuencia): 5.75 a 450 MHz 6 MHz 10 Mb/s Paso de testigo en anillo IEEE 802.4

Tabla 5.3 Caractersticas bsicas de MAP

149

www.infoPLC.net

Comunicaciones y Redes

5.3.2 Ethernet industrial


Ethernet Industrial ofrece una red de alto desempeo cumpliendo con el estndar IEEE 802.3. Ha sido considerada virtualmente como el estndar en redes industriales debido a sus excelentes caractersticas, como su velocidad (10Mbit/s), fcil crecimiento, alto nivel de disponibilidad y su amplia difusin mundial. Existen diferentes versiones de Ethernet Industrial, brindando flexibilidad a los requerimientos. Cuando se usa como una red elctrica, est equipada con un cable coaxial blindado adicional (cable triaxial) para la mayor fiabilidad en ambientes industriales hostiles. Tambin 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 transmisin. Debido a que estas ondas tienen propiedades de transmisin especiales y a que son inmunes a la interferencia electromagntica, son ideales para interconectar largas distancias y reas expuestas a altos niveles de ruido electromagntico. De acuerdo a la aplicacin, la red ptica puede instalarse en topologa de estrella, bus o anillo. Tambin puede instalarse una red hbrida, combinando tecnologas elctrica y ptica.

Figura 5.2 Ethernet industrial (SIEMENS)

Figura 5.3 Ethernet como parte de una red industrial (SIEMENS)

150

www.infoPLC.net

Comunicaciones y Redes

5.4

PROTOCOLOS Y BUSES DE CAMPO

La estandarizacin de protocolos en la industria es un tema en permanente discusin, donde intervienen problemas tcnicos y comerciales. Cada protocolo est optimizado para diferentes niveles de automatizacin y en consecuencia responden al inters de diferentes proveedores. Estos protocolos o BUSES han sido desarrollados por los fabricantes para permitir la comunicacin entre sus propios productos. Estn adaptados a una gama de PLCs y a una concepcin funcional particular. Cada protocolo tiene un rango de aplicacin, fuera del mismo disminuye el rendimiento y aumenta la relacin costo / prestacin. 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 comunicacin de varios niveles. El bus de campo constituye el nivel ms simple y prximo al proceso dentro de la estructura de comunicaciones industriales. Est basada en procesadores simples y utiliza un protocolo mnimo para gestionar el enlace entre ellos. Los buses de campo ms recientes permiten la comunicacin con buses jerrquicamente superiores y ms potentes. En un bus de campo se engloban las siguientes partes: Estndares de comunicacin: cubren los niveles fsico, de enlace y de comunicacin establecidos en el modelo OSI (Open Systems Interconnection). Conexiones fsicas: en general, las especificaciones de un determinado bus admiten ms de un tipo de conexin fsica. Las ms comunes son semidplex (comunicacin 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 definicin de una serie de funciones y servicios de la red mediante cdigos de operacin estndar. Nivel de aplicacin: es el dirigido al usuario, apoyndose en las funciones estndar antes mencionadas para crear programas de gestin y presentacin. La aplicacin suele ser propia de cada fabricante, permitiendo a lo sumo la programacin en un lenguaje estndar.

Existe una norma para los buses de campo (TC65C-WG6 de IEC) la cual define una serie de reglas genricas muy detalladas para el nivel fsico, pero dejan muy abiertos los niveles de enlace y aplicacin. De modo que hay varios posibles candidatos a bus de campo estndar, 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 comunicacin no presente problemas o haya que realizar pasarelas entre buses. En los siguientes apartados se muestran algunos de los buses ms comunes. Para ms detalle consultar la bibliografa.

151

www.infoPLC.net

Comunicaciones y Redes

5.4.1 MODBUS
La red MODBUS desarrollada por Gould Modicon, forma parte de las primeras ofertas de redes industriales . Est perfectamente adaptada al ambiente del PLC. Como en otros casos, la designacin no corresponde propiamente a un estndar de red, sino a un protocolo de enlace (nivel OSI 2). Por lo tanto puede implementarse con diversos tipos de conexin fsica y cada fabricante suele suministrar un software de aplicacin 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 estndar de bus de campo, cuyas caractersticas son: Nivel fsico. El medio fsico de conexin puede ser un bus semidplex (RS-485 o fibra ptica) o duplex (RS-422, BC 0-20 mA o fibra ptica). La comunicacin es asncrona y las velocidades de transmisin previstas van desde los 75 a 19200 baudios. La mxima distancia entre estaciones depende del medio fsico, pudiendo alcanzar unos 1200 m sin repetidores. Estructura lgica. La estructura lgica es del tipo maestro-esclavo, con acceso al medio controlado por el maestro. El nmero mximo de estaciones previsto es de 63 esclavos ms una estacin maestra.

5.4.2 AS-i
El protocolo AS-i (Actuador Sensor-interfase) conecta al nivel ms bajo del sistema de automatizacin. Es un bus de sensores y actuadores binario y puede conectarse a distintos tipos de PLC, controladores numricos o computadoras (PC). El sistema de comunicacin 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 mximo numero tarda en total 5 ms. Es un protocolo abierto y hay varios proveedores que suministran todos los elementos para la instalacin. Constituye un bus de muy bajo costo para reemplazar el tradicional rbol de cables en paralelo.

Figura 5.4 Comunicacin con AS-Interface (SIEMENS)

152

www.infoPLC.net

Comunicaciones y Redes

5.4.3 BITBUS
Marca registrada por Intel. De bajo coste y altas prestaciones. Intel cedi a dominio pblico el estndar, por lo que se considera un estndar abierto. Est reconocido por la normativa IEE 1118. Se trata de un bus sncrono, cuyo protocolo se gestiona completamente mediante el microcontrolador 8044. Est basado en una lnea compartida RS-485 (varias estaciones de comunicacin en un mismo par de cables) y est optimizado para la transmisin de pequeos mensajes en tiempo real. En instalaciones ms actuales se emplea tambin fibra ptica para su implementacin. Una red de comunicacin BITBUS siempre posee un maestro y uno o varios esclavos. Cada esclavo posee su propia direccin 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 mtodo de control permite una alta seguridad en la comunicacin, optimizada para la mayora de las aplicaciones de automatizacin. La estructura de una red BITBUS siempre se compone de un maestro, un nmero de esclavos y, si es necesario, uno o varios repetidores. Los repetidores deben ser empleados si hay presentes ms 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 separacin galvnica de la interfase BITBUS: el RS-485 est pticamente aislado del controlador. La utilizacin de un cable de fibra ptica tambin es posible, pero no obligatoria. La experiencia muestra que un buen cable blindado, con una referencia a tierra, combinado con la seal diferencial del RS-485 es un medio fsico excelente, incluso en ambientes ruidosos. Y adems es barato. Una caracterstica importante de BITBUS es que est aceptado internacionalmente como un estndar 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 estndar internacional IEEE-1118. El estndar IEEE-1118 contiene la funcionalidad del clsico BITBUS de Intel como base e incorpora nuevas funciones. Caractersticas generales de BITBUS. Tipo: Red maestro-esclavo mediante tramas de mensaje. 248 bytes mx. de longitud por mensaje. Estructura: Bus, terminado en ambos extremos. Prolongacin posible mediante el empleo de repetidores. Soporte: Par de cables trenzados (un par, impedancia caracterstica de 120) con toma de tierra y apantallado. Segundo par necesario para operar con repetidor. Niveles elctricos: Par diferencial 0/5V segn est definido en RS-485. Protocolo: SDLC con NRZI sincronizado de reloj propio (autoreloj) con flags de apertura y cierre, testeo de direccionamiento y comprobacin de palabra por CRC de 16 bits. Tasa de transferencia: 375k Bit/s o 62,5k Bit/s. Esclavos: 28 por segmento con repetidores despus de cada segmento, 250 mximo. Tasa de trasferencia con ms de un repetidor: 62,5K Bit/s exclusivamente. Longitud: 300m por segmento a 375k Bit/s, 1200m a 62,5kBit/s. Conector: Conector Sub-D de 9 pines. 153

www.infoPLC.net

Comunicaciones y Redes

5.4.4 COMPOBUS
Este sistema, introducido ene l mercado en 1998, fue desarrollado bajo el estndar Device Net que a su vez se origin a partir del nivel fsico 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 ms popular y extendido. La implantacin de Compobus D en una instalacin asegura la total apertura del sistema hacia otros dispositivos sin renunciar a factores como la velocidad, la seguridad y la facilidad de instalacin.

5.4.5 PROFIBUS
PROFIBUS es el sistema abierto principal de fieldbus en Europa y goza de la aceptacin mundial. Sus reas de aplicacin incluyen la fabricacin, el proceso y la automatizacin del edificio. PROFIBUS es un estndar internacional abierto independiente del fabricante. Su rea de aplicacin abarca manufacturacin, procesos y automatizacin de edificios. La independencia del fabricante y el ser un sistema abierto est garantizado por el estndar Profibus EN 50 170. La tecnologa PROFIBUS es desarrollada y administrada por la PROFIBUS User Organization (PNO). Entre sus miembros podemos encontrar a fabricantes, usuarios e instituciones de investigacin. Grupos regionales de usuarios ofrecen soporte en lengua nativa alrededor del mundo. Soporta una gran variedad de equipos que van desde PCs y PLCs hasta robots, pasando por todo tipo de elementos de campo, la mayora de las aplicaciones industriales gracias a las tres posibilidades que ofrece Profibus (FMS, DP y PA). Desde mquinas sencillas, pasando por aplicaciones a nivel de clula hasta nivel de proceso con Profibus-PA.

Figura 5.5 Comunicacin con PROFIBUS-DP (SIEMENS)

154

www.infoPLC.net

Comunicaciones y Redes La familia Profibus consiste en tres versiones compatibles PROFIBUS-DP, DA y FMS:

5.4.5.1 PROFIBUS-DP Optimizado para alta velocidad y enganche econmico. Esta versin de Profibus est diseada especialmente para comunicacin entre sistemas automticos de control y E/S distribuidos a nivel de campo. Puede ser empleado para remplazar transmisiones paralelas de seales con 24V o 0 a 20mA.

Figura 5.6 Comunicacin con PROFIBUS-DP (SIEMENS)

5.4.5.2 PROFIBUS-PA Est especialmente diseado para automatizacin de procesos. Permite que sensores y actuadores puedan ser conectados a un bus comn en reas intrnsecas de seguridad. Permite comunicacin de datos y transporte de energa sobre el mismo bus empleando tecnologa de dos cables, acorde con el estndar internacional IEC 1158-2.

5.4.5.3 PROFIBUS-FMS Es la solucin de propsito general para tareas de comunicacin a nivel de control. Los potentes servicios FMS abren un amplio rango de aplicaciones y proveen gran flexibilidad. Tambin puede ser empleado para tareas de comunicacin extensas y complejas.

Figura 5.7 Comunicacin con PROFIBUS-FMS (SIEMENS)

155

www.infoPLC.net

Comunicaciones y Redes

5.5

COMPARACIN DE LOS BUSES DE CAMPO

En las siguientes tablas comparativas podemos apreciar diferentes aspectos de los buses de campo: generalidades, caractersticas fsicas, mecanismo de transporte y desempeo. (Reproduccin de THE http://www.synergetic.com) SYNERGETIC FIELDBUS COMPARISON CHART,

5.5.1 Informacin general


Fieldbus Name PROFIBUS DP/PA INTERBUS-S DeviceNet ARCNET AS-I Foundation Fieldbus H1 Foundation Fieldbus High Speed Ethernet (HSE) IEC/ISA SP50 Fieldbus Seriplex WorldFIP LonWorks SDS Technology Developer Siemens Phoenix Contact, Interbus Club Allen-Bradley Datapoint AS-I Consortium Fieldbus Foundation Fieldbus Foundation Year Introduced DP-1994, PA-1995 1984 March 1994 1977 Fall 1993 1995 Governing Standard Openness EN 50170 / DIN 19245 ASICs from Siemens and Profichip, part 3(DP) /4 (PA), IEC Products from over 300 vendors 1158-2 (PA) DIN 19258 EN 50.254 ISO 11898 &11519 ANSI/ATA 878.1 Submitted to IEC ISA SP50/IEC 61158 Products from over 400 manufacturers 17 chip vendors, 300+ product vendors, Open specification Chips, boards, ANSI docs AS-II.C. Market item Chips/software/products from multiple vendors Multitude of suppliers for Ethernet components, Extremely low cost Multiple chip vendors Chips available multiple interfaces Multiple chip vendors Public documentation on protocol Honeywell Specification, Submitted to IEC, ISO11989 ControlNet International CiA 17 chip vendors, 100+ products Open Specification, 2 Chip Vendors 17 chip vendors, 300 product vendors, Open specification Proprietary, requires license/ASICs EN 1434-3 (layer 7) IEC 870-5 (layer 2) 1980 Open specification, no special hardware required Proprietary Proprietary

In development - lab IEEE 802.3u test phase, Prelim spec RFC for IP, TCP & available to members UDP IEC 1158/ANSI 850 Seriplex spec IEC 1158-2

ISA & Fieldbus F. 1992 - 1996 APC, Inc. WorldFIP Echelon Corp. Honeywell 1990 1988 March 1991 Jan., 1994

ControlNet CANopen Ethernet Modbus Plus

Allen-Bradley

1996

CAN In Automation 1995 DEC, Intel, Xerox 1976 Modicon

IEEE 802.3, DIX v. 2.0 Multitudes of Chips and Products

Modbus RTU/ASCII Modicon Remote I/O Allen-Bradley Data Highway Plus Allen-Bradley (DH+)

156

www.infoPLC.net

Comunicaciones y Redes

5.5.2 Caractersticas fsicas


Fieldbus Name Network Topology Physical Media Twisted-pair or fiber Max. Devices (nodes) Max. Distance 127 nodes 100m between segments @ (124 slaves - 4 seg, 3 12Mbaud; 24 Km (fiber) (baudrate rptrs) + 3 masters and media dependent) 256 nodes 400 m/segment, 12.8 Km total 500m (baudrate dependent) 6Km w/ repeaters Coax 2000 feet; Twisted pair 400 feet; Fiber 6000 Feet 100 meters, 300 with repeater

PROFIBUS DP/PA Line, star & ring

INTERBUS-S DeviceNet ARCNET AS-I Foundation Fieldbus H1 Foundation Fieldbus HSE IEC/ISA SP50 Fieldbus Seriplex WorldFIP LonWorks SDS

Segmented with "T" drops

Twisted-pair, fiber, and slip-ring

Trunkline/dropline with Twisted-pair for signal & 64 nodes branching power Star, bus, distributed star Coax, Twisted-pair, Fiber 255 nodes 31 slaves

Bus, ring, tree star, of Two wire cable al Star or bus Twisted-pair, fiber

240/segment, 65,000 1900m @ 31.25K wire segments IP addressing essentially unlimited IS 3-7 non IS 128 500+ devices 256 nodes 32,000/domain 100m @ 100Mbaud twisted-pair 2000m @ 100Mbaud fiber full duplex 1700m @ 31.25K 500M @ 5Mbps 500+ ft up to 40 Km 2000m @ 78 kbps 500m (baudrate dependent) 1000m (coax) 2 nodes 250m with 48 nodes 3km fiber; 30km fiber w/ repeaters 25-1000m (baudrate dependent) Thin: 185m 10 Base T (Twisted Pair): Max 100m long (90 metres horizontal cable, 5m drops, 1m patch) Max 4 hubs/repeaters between nodes 4Km distancs w/o routers Fiber: 100 Base FX 400m 2.5 Km multi mode w/o Switches; 50 Km mono mode w/ Switches

Star Star or bus

Twisted-pair, fiber Twisted-pair fiber, and radio

Tree, loop, ring, multi- 4-wire shielded cable drop, star Bus Bus, ring, loop, star Trunkline/Dropline Linear, Tree, Star, or Combination Thereof Trunkline/Dropline Twisted-pair, fiber Twisted-pair, fiber, power line

Twisted-pair for signal & 64 nodes, power 126 addresses Coax, fiber Twisted Pair + optional Signal & Power 99 nodes 127 Nodes

ControlNet CANopen

Industrial Ethernet

Bus, Star, Daisy-Chain

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

Modbus Plus Modbus RTU/ASCII Remote I/O DH+

Linear

Twisted Pair

32 nodes per segment, 500m per segment 64 max 250 nodes per segment 32 nodes/segment 64 nodes/segment 350m 6 km 3 km

Line, star, tree Twisted Pair Network w/ segments Linear Trunk Linear Trunk Twinaxial Twinaxial

157

www.infoPLC.net

Comunicaciones y Redes

5.5.3 Mecanismo de transporte


Fieldbus Name PROFIBUS DP/PA Communication Methods Master/slave peer to peer Transmission Properties Data Transfer Arbitration Size Method Error Checking Diagnostics Station, module & channel diagnostics

DP: 9.6, 19.2, 0-244 bytes 93.75, 187.5, 500 Kbps, 1.5, 3, 6, 12 Mbps PA: 31.25 kbps 500kBits/s, full duplex

Token passing HD4 CRC

INTERBUS-S Master/slave with total frame transfer

1-64 Bytes data None 246 Bytes Parameter 512 bytes h.s., unlimited block 8-byte variable message with fragmentation for larger packets

16-bit CRC

Segment location of CRC error and cable break

DeviceNet

Master/slave, multimaster, peer to peer

500 kbps, 250 kbps, 125 kbps

Carrier-Sense CRC check Multiple Access w/ NonDestructive Bitwise Arbitration Token passing 16-bit CRC

Bus monitoring

ARCNET

Peer to peer

19.53K to 10M

0 to 507 bytes

Built in Acknowledgements at Datalink layer Slave fault, device fault Remote diagnostics, network monitors, parameter status

AS-I

Master/slave with cyclic Data and power, 31 slaves with 4 Master/slave in and 4 out with cyclic polling EMI resistant polling 128 octets Scheduler, multiple backup CSMA/CD

Manchester Code, hamming-2 16-bit CRC

Foundation Client/server publisher/ 31.25 kbps Fieldbus H1 subscriber, Event notification Client/Server, Foundation Publisher/Subscriber, Fieldbus HSE Event Notification 100Mbps

Varies, Uses Standard TCP/IP

CRC 16-bit CRC Configurable on network management

IEC/ISA SP50 Client/server Publisher/ 31.25 kbps IS+1, 64 octets high & Scheduler, subscriber 2.6, 5 Mbps 256 low priority tokens, or Fieldbus master Seriplex WorldFIP Master/slave peer to peer Peer to peer 200 Mbps 7680/transfer Sonal multiplexing Central arbitration

End of frame Cabling problems & echo check 16-bit CRC, data "freshness" indicator Device message timeout, redundant cabling

31.25 kbps, 1 & No limit, 2.5 Mbps, 6 variables 128 Mbps fiber bytes 1.25 Mbs full duplex 1Mbps, 500 kbps, 250 kbps, 125 kbps 228 bytes

LonWorks

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

Carrier Sense, 16-bit CRC Multiple Access

Database of CRC errors and device errors Bus monitoring

SDS

8-byte variable Carrier-Sense CRC check message Multiple Access w/ NonDestructive Bitwise Arbitration

158

www.infoPLC.net

Comunicaciones y Redes
Modified CTDMA Time CCITT with Slice Multiple 16-bit Access Polynomial

ControlNet

Producer/Consumer, Device Object Model

5 Mbps

0-510 bytes variable

Duplicate Node ID, Device, Slave Faults

CANopen

Master/slave, peer to peer, multi-cast, multimaster

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

Carrier-Sense Multiple Access w/ 8-byte variable 15 Bit CRC Nonmessage Destructive Bitwise Arbitration 46-1500 Bytes CSMA/CD variable 0-254 Bytes CRC 16 CRC 32

Error Control & Emergency Messages

Industrial Ethernet Modbus RTU/ASCII Remote I/O DH+

Peer to Peer

10, 100Mbps 1Mbps 300 bps 38.4Kbps 57.6 kbps

Modbus Plus Peer to Peer Master/Slave Master/Slave Multi-Master, Peer<>Peer

57.6 - 230 kbps 128 Bytes 180 Bytes

none none

5.5.4 Desempeo
Fieldbus Name PROFIBUS DP/PA INTERBUS-S DeviceNet ARCNET AS-I Foundation Fieldbus HSE IEC/ISA SP50 Seriplex WorldFIP LonWorks SDS ControlNet CANopen Industrial Ethernet Modbus Plus Modbus RTU/ASCII Remote I/O DH+ 12msec @230, 40 msec @57.6 bus cycle time Cycle Time: 256 Discrete 16 nodes with 16 I/Os Configuration dependent typ <2ms 1.8 ms 2.0 ms Master-slave polling Application Layer Dependent 4.7 ms Not Applicable; Latency <5ms Configuration dependent 1.32 ms @ 200 kbps, m/s 2 ms @ 1 Mbps 20 ms <1 ms, event driven <0.5 ms <1 ms Application Layer Dependent Cycle Time: 128 Analog 16 nodes with 8 I/Os Configuration dependent typ <2ms 7.4 ms 10 ms Master-slave polling Application Layer Dependent not possible <600 ms typical Block transfer of 128 bytes 1 node not available 140 ms 4.2 ms Application Layer Dependent not possible 36 ms @ 31.25k

Foundation Fieldbus H1 <100 ms typical

Not Applicable; Latency <5ms <1ms Configuration dependent 10.4 ms 5 ms @ 1 Mbps 5 ms @ 1 Mbps 5 ms polling @ 1 Mbps <0.5 ms 5 ms polling @ 1 Mbps Application Layer Dependent 0.2 ms @ 5 Mbps 1.0 ms @ 1 Mbps 10.4 ms 5 ms @ 1 Mbps 5 ms @ 1 Mbps 2 ms @ 1 Mbps <0.5 ms <2.5 ms Application Layer Dependent

159

www.infoPLC.net

Comunicaciones y Redes

160

www.infoPLC.net

Aplicaciones

6.0

APLICACIONES

En este captulo se mostrarn algunas aplicaciones y ejemplos reales de realizacin de sistemas digitales con controladores lgicos 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 automticamente despus de 3 segundos. Si se acciona S1, se activa el contactor K3 y se mantiene activado hasta que se alcance la posicin PUERTA ABIERTA y el interruptor S3 de final de carrera desconecte el contactor K3. En la posicin PUERTA ABIERTA, S3 tambin cierra el circuito del temporizador K2 siempre y cuando no se haya operado S1. Despus 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 posicin 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 operacin de cierre y la puerta corrediza se abre de nuevo por medio del contactor K3. Las lmparas H1 y H2 de sealizacin son para indicar cundo se est abriendo o cerrando la puerta. A continuacin se muestran el cuadro de asignaciones y componentes, el diagrama de escalera y el programa.

Asignacin 1 Entradas (I) 2 3 1 Salidas (Q) 2 11 12 Temporizador (T) 1

Tipo

Descripcin S1 = Pulsador, estera o alfombra S2 = Interruptor de lmite (puerta abierta) S3 = Interruptor de lmite (puerta cerrada) K1 = Contactor (cierra la puerta corrediza) K3 = Contactor (abre la puerta corrediza) H1 = Lmpara indicadora (apertura de puerta) H2 = Lmpara indicadora (cierre de puerta) K2 = Rel de tiempo (retardo para el cierre)

Cuadro de asignaciones

161

www.infoPLC.net

Aplicaciones

S2 puerta cerrada K2 retardo para el cierre

K1 cerrar

STR NOT STR OR AND STR AND NOT AND NOT OUT

I1 T1 Q1 Q2 I2 Q1

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

S1

S3 puerta abierta H1 cierre

K3 abrir

H2 apertura

Figura 6.1 Diagrama de escalera

Programa

S1

S2

S3

M1

PLC
1 A1 K1 K3 A2 A2 L 2 A1 H1 H2 11 L 12 n

U1 = 220 V~

Figura 6.2 Conexiones al autmata

162

www.infoPLC.net

Aplicaciones

6.2

DETECCIN 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 fotoclulas verifican que las botellas llevan etiquetas. Descripcin: 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. Tambin se cuenta el nmero de botellas defectuosas. Si el nmero de botellas defectuosas alcanza un valor seleccionado, el PLC enciende una lmpara de aviso.

Fig. 6.3 Grfico del proceso

Instruccin STR NOT STR STR SFT STR OR AND NOT OUT STR OR AND NOT OUT OUT STR CNT STR OUT
Programa

Dato 0000 0001 0002 1000 1010 1001 0500 0003 0500 1001 0501 T0 0501 TMR T0 0015 0000 C0 0010 C0 502
Figura 6.4 Diagrama de escalera

163

www.infoPLC.net

Aplicaciones Entrada Deteccin de botella sin etiqueta Deteccin de botella Reset Deteccin de la posicin original del brazo del robot Salida Brazo de robot Motor de la cinta transportadora B Lmpara de alarma
Cuadro de asignaciones

Rel 0000 0001 0002 0003

0500 0501 0502

Operacin: 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 deteccin 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 posicin original despus 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 lmpara de alarma.

6.3

ELEVADOR CLASIFICADOR DE PAQUETES (FESTO)

Este circuito clasifica paquetes de dos tamaos diferentes encaminndolos a una banda transportadora segn su tamao. Descripcin: Primero se mide la longitud de los paquetes transportados por una cadena de rodillos. Hay paquetes largos y cortos. El medidor emite seal 0 si el paquete es pequeo y 1 si es grande, el medidor es simulado por el pulsador S2. A continuacin 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 slo cuando el cilindro B o C llega a su posicin final. Los finales de carrera B0 a B5 detectan la posicin de los cilindros. Los cilindros A y B avanzan y recuperan por accin de las electrovlvulas Y1 y Y2 respectivamente. El cilindro C se acciona por una electrovlvula de dos bobinas (Y3=avanzar, Y4=recuperar).

164

www.infoPLC.net

Aplicaciones TIPO Asignacin S1 B0 B1 Entradas S2 (E) B2 B3 B4 B5 Y1 Salidas Y2 (S) Y3 Y4 SM0 SM1 Marcas SM2 (M) SM3 SM4 SM5 Descripcin Pulsador de marcha Final de carrera posicin retrada del cilindro A Final de carrera posicin extendida del cilindro A Pulsador medidor de paquetes F. de C. posicin retrada del cilindro B F. de C. posicin extendida del cilindro B F. de C. posicin retrada del cilindro C F. de C. posicin extendida del cilindro C Electrovlvula cilindro A (avanza) Electrovlvula cilindro B (avanza) Electrovlvula cilindro C (avanza) Electrovlvula cilindro C (recupera) Activa Y1 Activa Y3 Activa Y2 Activa Y4 Auxiliar del circuito Auxiliar del circuito
PASO CUANDO ELEVAR Y Y Y ACTIVAR DESPLAZAR Y DESACTIVAR ACTIVAR SALTAR NO Y ACTIVAR RETIRAR DESACTIVAR ACTIVAR SALTAR DESACTIVAR BAJAR Y DESACTIVAR SALTAR B2 B4 Y1 ELEVAR B5 Y3 Y4 BAJAR B3 Y2 S2 B1 Y4 Y3 RETIRAR S2 B1 Y2 S1 B0 B2 B4 Y1

Cuadro de asignaciones

ENTONCES PASO CUANDO ENTONCES

CUANDO ENTONCES PASO CUANDO ENTONCES

Figura 6.5 Grfico del proceso

CUANDO ENTONCES PASO CUANDO ENTONCES

FIN Programa en lenguaje de alto nivel

165

www.infoPLC.net

Aplicaciones
Instruccin STR NOT AND AND AND OR AND NOT OUT STR AND OR AND AND NOT OUT STR AND NOT OR AND AND NOT OUT STR OR AND AND NOT OUT STR OR AND AND NOT OUT STR AND STR OR AND STR OUT STR AND NOT OUT STR AND NOT OUT STR AND NOT OUT STR OUT END Programa Figura 6.6 Diagrama de escalera Dato SM0 B0 B2 B4 SM0 SM5 SM0 B1 S2 SM1 SM0 SM2 SM1 B1 S2 SM2 SM0 SM1 SM2 B5 SM3 SM1 SM4 SM3 B3 SM4 SM2 SM3 SM4 B2 B4 SM4 SM3 SM5 SM0 SM5 Y1 SM2 SM4 Y2 SM1 SM3 Y3 SM3 Y4

166

www.infoPLC.net

Aplicaciones

Figura 6.7 Conexiones al autmata

6.4

CONTROL AUTOMTICO DEL TREN DE LAVADO DE AUTOS

Descripcin: 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 mquina a lo largo del carril y posee dos variables de control MP1 y MP2. MP1 desplaza la mquina de derecha a izquierda y MP2 en sentido contrario. - Motor de los cepillos MC. - Motor del ventilador MV. Una electrovlvula XV que permite la salida del lquido de lavado hacia el vehculo. Un sensor S3 que detecta la presencia del vehculo. Dos finales de carrera S1 (izquierda) y S2 (derecha) que detectan la llegada de la mquina a los extremos del riel.

Inicialmente la mquina 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 vehculo dentro de ella (S3 activado). Una vez accionado M, la mquina debe hacer un recorrido de ida y vuelta con la salida de lquido abierta y los cepillos funcionando. Cuando la mquina alcanza el extremo derecho (S2) debe realizar otro recorrido completo de ida y vuelta en el que slo debe estar el ventilador de secado en marcha. Finalizando este recorrido la mquina debe pararse y quedar en la posicin inicial. 167

www.infoPLC.net

Aplicaciones En cualquier momento puede interrumpirse el proceso accionando el pulsador de paro P, volviendo la mquina a la posicin inicial.

Figura 6.8 Grfico del proceso

TIPO

Entradas

Salidas

Marcas

Asignacin S1 S2 S3 M P MP1 MP2 MV MC XV IR0 - IR5

Descripcin Final de carrera (izquierda) F. de C. (derecha) Detector de presencia de vehculo Pulsador de marcha Pulsador de paro Desplazamiento de la mquina de derecha a Izq. Desplazamiento de la mquina de Izquierda a der. Motor del ventilador Motor de los cepillos Electrovlvula - salida de lquido Rels Auxiliares del circuito

Cuadro de asignacin de variables

168

www.infoPLC.net

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

169

www.infoPLC.net

Aplicaciones Operacin: IR0 constituye un biestable R-S que se activa al presionar el pulsador de marcha M si en ese instante la mquina se encuentra en el extremo derecho (S2).

M S2

&

IR0

S3 P IR4

& =
IR0

S1 S2

&

IR1

IR0

& =

IR1 es un biestable R-S que se activa cuando la mquina alcanza el final de IR1 desplazamiento hacia la izquierda (S1). IR2, otro biestable R-S, se activa al cerrarse el final de carrera S2 si est IR2 activada IR1 (se ha realizado el primer MV recorrido de derecha a izquierda). El biestable IR3 se activa al cerrarse el final de carrera S1 si est activada IR2 IR3 (se ha realizado el primer recorrido de izquierda a derecha). 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 activacin de P y provoca que la mquina vaya automticamente al extremo derecho. La salida MP1 se activa si lo estn el inverso de IR1 o IR2 y simultneamente IR0 e IR3 inactivo. La salida MP2 se activa si estn activos: IR1 y no IR2, o IR3 y no IR4, o IR5.

IR1 S1 S2

&

IR2

IR0

& = =

IR2 S2 S1

&

IR3

IR0

& =

IR3 S1 S2

& = 1 & = & = & 1 =


MP2 MP1 IR5 IR4

P IR5

S2 IR0

IR1 IR2

IR0 IR3

IR1 IR2

IR5 IR3 IR4

&

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

IR0 IR2

& = =
MC XV

Figura 6.10 Diagrama de funciones

170

www.infoPLC.net

Aplicaciones

6.5 CONTROL AUTOMTICO DE UN GARAGE


Descripcin: El garaje dispone de un acceso de entrada y tro de salida controlados por sendas barreras que se accionan mediante los motores elctricos M1 y M2 respectivamente. A ambos lados de las dos barreras se instalan sensores de presencia de vehculo: S1 y S2 en la entrada y S3 y S4 en la salida. Dichos sensores permanecen activados mientras hay un vehculo ante ellos y por su situacin fsica nunca se activan simultneamente 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 Grfico del proceso

La capacidad del garaje es de 10 vehculos y el sistema electrnico debe controlar la ejecucin 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 vehculos y se produce un flanco de subida (paso de desactivado a avtivado del sensor S1). Dicha barrera debe cerrarse si se produce un flanco de bajada (S2 desactivado). La barrera de salida debe abrirse si se activa S5 (presencia de la ficha) y se produce un flanco de subida en S3 y debe cerrarse al producirse un flanco de bajada en S4.

171

www.infoPLC.net

Aplicaciones Sealizacin a la entrada, mediante una luz verde LV, de que existen plazas libres en el garaje. Sealizacin a la entrada, mediante una luz roja LR, de que el garaje est completo y no pueden entrar ms coches.

El sistema de control debe poseer adems los siguientes elementos de entrada: Un pulsador M para ponerlo en marcha. A partir del instante de dar tensin al PLC no se permite la entrada o salida de vehculos 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 vehculos hasta que se accione el pulsador M. En caso de que P y M se accionen simultneamente, el primero debe predominar sobre el segundo. Un pulsador R para poner a cero el contador de vehculos en el instante de dar tensin al autmata.

Variable externa S1 S2 S3 S4 S5 M P R M1 M2 LV LR

Denominacin X0 X1 X2 X3 X4 X5 X6 X7 Y0 Y1 Y2 Y3

Cuadro de asignacin de variables

En la figura 6.12 tenemos el diagrama de escalera acompaado del programa en lista de instrucciones y finalmente puede deducirse rpidamente el diagrama de funciones de la figura 6.13.

172

www.infoPLC.net

Aplicaciones
Instruccin STR OR AND NOT OUT STR OR AND NOT AND AND NOT OUT STR OR AND NOT AND OUT STR NOT AND OUT STR OR AND NOT AND OUT STR AND OR AND NOT OUT STR AND OR AND NOT AND OUT STR NOT AND OUT STR AND STR STR OR CTR OUT STR AND NOT OUT Figura 6.12 Diagrama de escalera END Programa Dato X5 IR0 X6 IR0 X0 Y0 IR2 IR0 Y3 Y0 X1 IR1 IR2 Y0 IR1 X1 IR1 IR2 X4 IR3 IR5 IR0 IR3 IR3 X2 Y1 IR5 Y1 X3 Y1 IR4 IR5 IR0 IR4 X3 IR4 IR5 X7 IR0 IR5 IR2 IR5 45 10 Y3 IR0 Y3 Y2

173

www.infoPLC.net

Aplicaciones

X5 IR0 X0 Y0 X1 IR1 X1 IR1 X4 IR3 IR3 X2 X3 Y1 X3 IR4 X7 IR0 IR5 IR2 IR5 IR0 Y3 & & & &

X6

& = IR0

IR2 IR0 Y3 IR2 Y0

& = & = IR1 Y0

1 = 1 IR5 IR0 & = IR5 IR3 IR2

&

Y1

& = Y1

IR4

IR5 IR0

& = IR4

IR5

CTR 45 10 = 1 Y3

Y2

Figura 6.13 Diagrama de funciones

174

www.infoPLC.net

Aplicaciones

6.6

CONTEO DEL NMERO TOTAL DE PRODUCTOS EN LNEAS MLTIPLES DE PRODUCCIN (KEYENCE)

En este ejemplo se cuenta simultneamente el nmero de productos que pasan a travs de cada una de cinco lneas. Cuando el nmero total de productos alcanza un valor preestablecido (100en este ejemplo), el PLC activa. Un sensor de fibra ptica cuenta el nmero de productos de cada lnea.

Figura 6.15 Diagrama de tiempos

Figura 6.14 Grfico del proceso

TIPO

Asignacin 0000 0001 0002 Entradas 0003 0004 0005 Salida 0500 Marcas 2002 2009

Descripcin Conteo de productos de la lnea 1 Conteo de productos de la lnea 2 Conteo de productos de la lnea 3 Conteo de productos de la lnea 4 Conteo de productos de la lnea 5 Reset salida comparadora Auxiliar del circuito Auxiliar del circuito

Cuadro de asignaciones

Operacin: Para realizar el conteo de una manera ms simple, en lugar de contadores se utiliza la instruccin de incremento de memoria INC, la cual suma 1 al dato contenido en la direccin de memoria especificado por un operando.

175

www.infoPLC.net

Aplicaciones

Cuando la entrada 0000 (lnea 1) se activa, DM000 se incrementa en 1. Cuando la entrada 0001 (lnea 2) se activa, DM000 se incrementa en 1. Cuando la entrada 0002 (lnea 3) se activa, DM000 se incrementa en 1. Cuando la entrada 0003 (lnea 4) se activa, DM000 se incrementa en 1. Cuando la entrada 0004 (lnea 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 podra realizarse de dos diferentes maneras:

1)

2)

En el programa (1) el conteo se efecta en cada entrada an si los rels 0000 al 0004 se activan simultneamente; y en el programa (2) entradas simultaneas se ignoran cuando los rels 0000 a 0004 se activan simultneamente. 176

www.infoPLC.net

Aplicaciones

6.7

CONTEO DEL NMERO DE ROTACIONES - CONTADOR DE FRECUENCIA (KEYENCE)

Descripcin: Usando la funcin de contador de frecuencia (Visual KV series), se mide el tiempo de los pulsos de salida de un objeto en rotacin a travs de la entrada 0004 con un contador de alta velocidad y convirtindolos en frecuencia (Hz). La frecuencia medida se usa para el clculo del nmero de rotaciones (rpm). Este circuito puede emplearse para detectar la reduccin en el nmero de rotaciones de un objeto como un agitador, o para medir su frecuencia.

Pulsos

Figura 6.17 Grfico del proceso

TIPO Entrada Memorias de datos

Asignacin 0004 1404 1405 Y3 Y4 2305 2008 2002

Marcas

Descripcin Entrada de conteo Ciclo de medicin del contador de frecuencia (1-9999 [ms]) Resultado de la cuenta (Hz) Electrovlvula cilindro C (avanza) Electrovlvula cilindro C (recupera) Rel auxiliar especial: habilita/deshabilita la funcin contador de frecuencia ON: habilitado, OFF: deshabilitado Rel auxiliar Rel auxiliar
Cuadro de asignaciones

Operacin: De la entrada 0004 se miden los pulsos para la medicin de frecuencia. Activando el rel auxiliar especial 2305 comienza el contador de frecuencia. La medicin resultante (Hz) se guarda en DM1405. Para establecer el intervalo de medicin de frecuencia (ms), se especifica el valor mayor que el tiempo de escaneo en DM1404 en unidades de ms. El nmero de rotaciones puede obtenerse de la medicin de frecuencia mediante el siguiente clculo:

No. de rotaciones (rpm) =

( Frecuencia ( HZ ) )(60 ( seg.) )

No. de pulsos por una rotacin

La cuenta del nmero de rotaciones de la rueda dentada requiere 10 pulsos por una rotacin. El conteo de la frecuencia de los pulsos recibidos a travs de la entrada 0004 cada segundo (1000 ms) se pasa a DM0000, y el nmero de rotaciones calculado se guarda en DM0001. La instruccin HSP reduce la constante de tiempo del rel de entrada especificado para incrementar la respuesta de la entrada.

177

www.infoPLC.net

Aplicaciones

El ciclo de medicin de los pulsos se fija en 1000 ms (1 seg.). La activacin 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 nmero de rotaciones (rpm) se calcula con la frecuencia medida y se guarda en DM0001.

Figura 6.18 Diagrama de escalera

178

www.infoPLC.net

Apndice

PLCopen
Estandarizacin en Programacin 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 programacin estandarizada


La norma IEC 61131-3 es el primer intento real para estandarizar los lenguajes de programacin para automatizacin industrial. Cuenta con soporte mundial y es independiente de cualquier compaa. La IEC 61131-3 es la tercera parte de la familia IEC 61131.Consiste de: Parte 1: Parte 2: Parte 3: Parte 4: Parte 5: Visin general Hardware Lenguajes de Programacin Reglas de usuario Comunicacin

The IEC 1131-3 Standard


Common Elements

Programming Languages

Veamos con detalle estas partes:

Esta tercera parte de la norma contiene muchos aspectos como los siguientes: Los resultados de la Fuerza de Trabajo 3, Lenguajes de programacin, dentro de la norma IEC TC65 SC65B El resultado de un firme trabajo por 7 compaas internacionales aadiendo decenas de aos de experiencia en el campo de la automatizacin industrial Aproximadamente 200 pginas de texto, con 60 tablas incluyendo tablas de caractersticas La especificacin de la sintaxis y semntica de una suite unificada de lenguajes de programacin, incluyendo el modelo de software global y un lenguaje estructurado.

Elementos comunes
Tipos de Datos
Los tipos de dados estn definidos dentro de los elementos comunes. La clasificacin de los datos previene errores en primeras etapas. Se usa para definir el tipo de cualquier parmetro usado. Esto evita por ejemplo, dividir una Fecha por un entero. Tipos de datos comunes son Bolanos, Enteros, Reales, Bytes y Palabras, pero tambin Fecha, Hora_del_Da 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 analgica como tipo de dato y reutilizado una y otra vez.

Otra vista elegante es dividiendo el estndar en dos partes (ver figura 1): 1. Elementos comunes 2. Lenguajes de Programacin

Variables
Las variables se asignan nicamente a direcciones explcitas de hardware (p. Ej. entradas y salidas) 179

www.infoPLC.net

Apndice en configuraciones, recursos y programas. De esta manera se crea un alto nivel de independiente al hardware, soportando la reutilizacin del software. El alcance de las variables normalmente est limitado a la unidad de organizacin en la cual se declaran, p. Ej. local. Esto significa que sus nombres pueden ser reutilizados en otras partes sin ningn conflicto, eliminando otra fuente de errores. Si las variables deben tener alcance global, deben declararse como (VAR_GLOBAL). Pueden asignarse valores iniciales a los parmetros al inicio y reinicio, a fin de tener el entorno correcto. Cualquiera de stos puede ejecutarse peridicamente o bajo la ocurrencia de un disparador especificado, como el cambio de una variable. Los Programas estn basados en un nmero de elementos de software diferentes escritos en cualquiera de los lenguajes IEC definidos. Tpicamente, 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 bsicos de construccin, 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 ms a esto, considerando aspectos a futuro. Un futuro que incluye multiprocesamiento y programas controlados por eventos.Y este futuro no est lejos: slo 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 programacin adicionales.

Configuracin, Recursos y Tareas


Para entender mejor esto, veamos l modelo de software, como se define en la norma (ver abajo).
Configuration Resource Task Task Resource Task Task FB Function Block Program Program FB FB Program Program FB FB Execution control path Access path

Unidades de Organizacin del Programa


Dentro de la IEC 61131-3, los programas, funciones, y los bloques de funciones reciben el nombre de Unidades de Organizacin de Programa, POUs.

En el nivel ms alto, el software es requerido para resolver un problema particular de control, puede ser formulado como una Configuracin. Una Configuracin es especfica a un tipo particular de sistema de control, incluida la distribucin del hardware, p. Ej. recursos en proceso, direcciones de memoria para canales de E/S y capacidades del sistema. Dentro de una misma configuracin pueden definirse uno o ms recursos. Un recurso puede verse como un rea en proceso, que es capaz de ejecutar programas IEC. Pueden definirse una o ms Tareas dentro de un recurso. Las Tareas controlan la ejecucin de un conjunto de programas y/o bloques de funciones. 180

Funciones
IEC ha definido funciones estndar y funciones definidas por el usuario. Son funciones estndar: ADD(adicin), ABS(absoluto), SQRT(raz 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 funcin de control especializada. Contienen tanto

www.infoPLC.net

Apndice 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 separacin 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 Funcin. 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 Funcin 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 estn basados en los FBs estndar definidos, pero tambin son posibles FBs completamente nuevos y personalizados con el estndar: este slo 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 funcin *) END_FUNCTION_BLOCK

cualquiera de los lenguajes de programacin definidos.

Diagrama de Funcin Secuencial, SFC


Step 1 N
Transition 1

FILL

Step 2

S
Transition 2

Empty

Step 3

El SFC describe grficamente el comportamiento de un programa de control. Se deriva de Petri Nets y del Grafcet IEC 848, con los cambios necesarios para convertir la representacin desde una documentacin estndar a un conjunto de elementos de control de ejecucin. El SFC estructura la organizacin interna del programa y ayuda a descomponer un problema de control en partes manejables, al mismo tiempo que conserva la visin global. SFC consiste de pasos, ligados con Bloques de Accin y Transiciones. Cada paso representa un estado particular de los sistemas controlados. Una transicin est asociada a una condicin la cual, cuando sea verdadera, causa el paso antes de la transicin a desactivado, y el siguiente paso a activado. Los pasos estn asociados con bloques de accin, realizando una determinada accin 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 comnmente requeridas en aplicaciones secuenciales. Por ejemplo, una secuencia se usa para el proceso principal, y el segundo para el monitoreo global de operacin. Debido a su estructura general, SFC tambin provee de una herramienta de comunicacin, ligando personas de diferentes entornos, departamentos o pases. 181

Las declaraciones de arriba describen la interfase a un bloque de funcin con dos parmetros de entradas Bolanos y otro parmetro de salida Boleano .

Programas
Con los bloques de construccin bsicos mencionados arriba, uno puede decir que un programa es una red de Funciones y Bloques de Funciones. Un programa puede escribirse en

www.infoPLC.net

Apndice comunicacin, combinando gente de diferentes entornos o reas. El Diagrama de Escalera tiene sus races en los Estados Unidos. Se basa en la representacin grfica de la Lgica 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 comn en la industria de procesos. Expresa el comportamiento de las funciones, bloques de funciones y programas como un conjunto de bloques grficos interconectados, como los diagramas de circuitos en electrnica. Se asemeja a un sistema en trminos de los flujos de seales entre elementos en proceso. El Texto Estructurado es un lenguaje de alto nivel muy potente con races en Ada. Pascal y C. Contiene todos los elementos esenciales de un moderno lenguaje de programacin, incluyendo sentencias condicionales (IF-THEN-ELSE y CASE OF) y ciclos iterativos (FOR, WHILE y REPEAT). Adems estos elementos pueden anidarse.Puede usarse excelentemente para la definicin 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

Lenguajes de Programacin
Dentro de la norma se definen cuatro lenguajes de programacin. Esto significa que su sintaxis y semntica 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: grfica y de texto: Textuales: Lista de Instrucciones, IL Texto estructurado, ST Grficos: Diagrama de Escalera, LD Diagrama de Bloques de Funciones, FBD
Instruction List (IL)
LD ST A C:=A AND N O TB C ANDN B

Structured Text (ST)

Function B lock D iagram (FB D)


AND A B C

Ladder D iagram(LD )
A B C

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

En la figura de arriba, los cuatro lenguajes describen la misma parte simple de un programa. La eleccin por un lenguaje determinado depende de: El entorno del programador El problema en particular El nivel de descripcin del problema La estructura del sistema de control La interfase con otras entidades

Los cuatro lenguajes estn interrelacionados: proporcionan un mismo escenario de acuerdo a la experiencia previa del programador. De esta manera tambin proporcionan una herramienta de 182

www.infoPLC.net

Apndice

Top-down vs. bottom-up

Conclusin
Las implicaciones tcnicas del estndar IEC 61131-3 son elevadas, dejando suficiente campo al desarrollo y distincin.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 PLCs por s misma. Hoy en da, 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 aplicacin, brinda numerosos beneficios a los usuarios / programadores. Los beneficios de adoptar esta norma son varios, dependiendo de las reas de aplicacin. Slo por nombrar algunas: Gasto reducido de recursos humanos, en entrenamiento, depuracin, mantenimiento y consultoras. Enfoque a un problema para solucin va alto nivel o reutilizacin de software. Errores y mal interpretaciones reducidas. Tcnicas de programacin utilizables en un amplio entorno: control industrial general. Combinacin de diferentes componentes desde diferentes programas, proyectos, ubicaciones, compaas o pases.

Top Down

Common Elements

Programming Languages
Bottom Up

Adems la norma permite dos maneras de desarrollar el programa: top down y bottom up. En cualquiera podemos dividir la aplicacin en dos subpartes, declarar las variables y as sucesivamente. O tambin podemos empezar programando la aplicacin desde le final, por ejemplo deduciendo funciones y bloques de funciones. Cualquiera que se elijamos, el ambiente de desarrollo nos ayudar a travs del proceso entero.

Implementaciones
No es fcil satisfacer los requerimientos globales de IEC 61131-3. Por tal razn, la norma permite implementaciones parciales en varios aspectos. Esto cubre el nmero 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 seleccin. Tambin, una nueva versin puede tener un ms alto nivel de implementacin. Muchos entornos de programacin IEC actuales ofrecen todo lo que podamos esperar de los modernos ambientes: operacin por ratn, mens desplegables, pantallas de programacin grficas, soporte para mltiples ventanas, funciones hipertexto integradas, verificacin durante el diseo. Por favor est consciente de que esto no est especificado dentro del mismo estndar: esto es una de las partes donde los proveedores pueden distinguirse.

183

www.infoPLC.net

Apndice

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 mnimo esfuerzo. La organizacin PLCopen trabaja en la promocin del uso y/o provisin del estndar, tambin mejora el estndar en el sentido tcnico. Esto incluye posteriormente certificacin e intercambio. Los comits trabajan dentro de PLCopen y sus resultados se describen brevemente ms abajo. abajo para ms informacin) tambin juega un papel esencial aqu. Certificacin y pruebas de conformidad El TC3 - Certificacin define un sistema de certificacin 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 caractersticas y PLCopen ha definido cuales de esas tablas deben ser soportadas para satisfacer los requerimientos. Adicionalmente, PLCopen extiende la norma para soportar la reutilizacin de Bloques de Funciones derivados de usuario entre PSEs. Nivel de Conformidad, CL Con la amplia gama de reas de aplicacin para IEC 61131-3 no todas las implementaciones usan exactamente los mismos tipos de datos. Respecto a esto, la certificacin segn el Nivel de Conformidad, CL, implica que el proveedor de un PSE seleccione los tipos de datos soportados por su producto coincidiendo con su declaracin de conformidad. Todas las caractersticas 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 nmero 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. Slo los tipos de datos soportados son usados para pruebas.

Resultados tcnicos
Los Comits Tcnicos, TCs, con miembros representativos de PLCopen, trabajan en asuntos especficos. Dentro de las Normas TC1, PLCopen recoge propuestas de sus miembros para el grupo de trabajo IEC 65B WG7, desarrolla una posicin comn, y distribuye la informacin relacionada. Esto estuvo especficamente enfocado a la segunda versin del estndar, la cual fue liberada a principios de 2001. El TC2 - Funciones definen bibliotecas comunes de funciones (Bloques) para reas especficas de aplicacin. Un ejemplo es la definicin de bibliotecas de Bloques de Funciones para Control de Movimiento. Esta estandarizacin asocia el control de movimiento de una manera lgica al control industrial. De este modo, suministra una vista y sentido comn a los usuarios: tanto programadores como gente de mantenimiento. Con mltiples implementaciones de esta biblioteca, el asenso del sistema de control es mucho ms sencillo, an si hay diferentes arquitecturas y / o marcas de controladores en uso. El intercambio de parte de los programas mediante el Nivel de Reutilizacin PLCopen (ver

184

www.infoPLC.net

Apndice Adicionalmente, el Nivel de Reusabilidad, RL, se dedica a hacer las funciones unitarias de programacin reutilizables en diferentes PSE. Esto se hace mediante el intercambio a texto simple del lenguaje de Texto Estructurado, ST. Para la representacin en otros lenguajes, puede incluirse una herramienta de conversin a o desde ST. Esta es una principal pero sencilla contribucin de PLCopen a la norma IEC 611313 Histricamente existe una clase menor llamada Nivel Base, definiendo un krnel central por lenguaje del estndar. El Nivel Base proporciona un nivel de acceso para los proveedores, mostrndoles su compromiso con el estndar. Para el usuario proporciona una interpretacin normalizada del estndar, 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 acreditacin para los laboratorios de pruebas han sido establecidos. Se han acreditado laboratorios independientes de pruebas y se ha certificado un nmero creciente de productos. Para una lista completa favor de dirigirse al sitio web www.plcopen.org. El TC4 Comunicaciones trabaja en la relacin entre comunicaciones y lenguajes de programacin, como el mapeo de Profibus y CANopen va IEC 61131-5 sobre IEC 61131-3. El TC5 Software Seguro prepara recomendaciones para la aplicacin y adaptacin de la norma IEC 61131-3 para aplicaciones relacionadas con la seguridad, especialmente enfocado a los nuevos estndares de seguridad IEC 61408 y 61411.

185

www.infoPLC.net

Apndice

186

www.infoPLC.net

Conclusiones

CONCLUSIONES
Durante la realizacin del presente trabajo, se pudo observar la importancia que actualmente tiene el PLC en la industria, ya que la mayora de las lneas de produccin, as como los procesos de monitoreo y control, requieren de dispositivos confiables, robustos y al mismo tiempo que su puesta en marcha sea econmica, adems de que no se limiten a un solo proceso, es decir, que sean fciles de programar; Lo que antes resultaba casi imposible con los sistemas neumticos o mecnicos. Por otro lado, se trat el tema de lenguajes de programacin, en el cual se observo que a pesar de la relativa facilidad de programacin de los PLC, todava se tiene el problema de que no existe un lenguaje universal que permita analizar un problema dado para su resolucin 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 mnemnicos para la programacin de su producto, este no sea la misma representacin para cualquier PLC de otra marca que tambin emplee mnemnicos para su programacin. Sin embargo se han realizado grandes esfuerzos por homologar dichos lenguajes, de forma tal que esto sea lo ms transparente, adems de que se han diseado tcnicas para la interpretacin de comandos entre lenguajes, de tal forma que por ejemplo si en un momento dado se conoce mejor la programacin por medio de Grafcet, fcilmente se pueda trasladar a otro lenguaje de programacin como puede ser mnemnicos o LADDER mediante interpretes de comandos. Adems de que algunos fabricantes de PLCs ya han comenzado a emplear lenguajes de alto nivel, de tal forma que hasta un programador de computadoras comn que conozca la programacin por ejemplo en lenguaje C pueda programar un PLC sin problema alguno. Adems, por otro lado, no nos podemos olvidar de que organismos internacionales se estn preocupando por la estandarizacin de dichos lenguajes de programacin de PLCs. Finalmente se han visto algunas de las muchas aplicaciones que puede tener el empleo de los PLC no slo 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 aplicacin de los PLCs pueden ser muy diversos.

Armando Taboada Balderas

187

www.infoPLC.net

Conclusiones

188

www.infoPLC.net

Conclusiones

La automatizacin industrial es uno de los campos ms interesantes dentro del amplio mundo de la electrnica. A pesar que no es una rama nueva, se encuentra en constante desarrollo. Esto implica la gran ventaja de la innovacin y avance de la tecnologa, 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 informacin es tan abundante como dispersa, de modo que no es fcil obtener una visin general de estos sistemas. El presente trabajo se realiz teniendo en cuenta estos problemas, fue resultado de una extensa investigacin que nos permitiera, en lo posible, concentrar los conceptos ms importantes de los PLC, que faciliten la familiarizacin de la tecnologa que rodea a estos dispositivos al lector. Sin duda, uno de los aspectos ms importantes en los autmatas programables es la programacin. Es interesante observar las diversas opciones en lenguajes de programacin que tenemos disponibles, que si bien es una gran ventaja, tambin implica el conocer el lenguaje que emplea un determinado modelo de PLC. Por esta razn dedicamos una parte importante del trabajo e incluimos una norma, que es un intento de normalizar este aspecto. Hemos visto tambin que estos dispositivos alcanzan su mximo aprovechamiento cuando se integran a un proceso industrial complejo coexistiendo con otros dispositivos diversos. Por tal motivo consideramos que el trabajo estara 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 Gmez

189

www.infoPLC.net

Conclusiones

190

www.infoPLC.net

Bibliografia y Enlaces de interes

BIBLIOGRAFA Y REFERENCIAS
Libros y documentos Balcells, Josep. Romeral, Jos L. Autmatas Programables, Mxico, Alfaomega-Marcombo, 1997. Mandado Prez, Enrique. Acevedo, Jorge M. Prez Lpez Serafn A. Controladores Lgicos y Autmatas Programables, Espaa, Marcombo, 1992, 2 edicin. Michel, Gilles. Autmatas Programables Industriales. Arquitectura y sus aplcaciones, Espaa, Marcombo, 1990. Porras Criado, Alejandro. Montanero Molina, Antonio P. Autmatas Programables, Mxico, McGraw-Hill, 1990. Keyence, Visual KV Series Advanced Programming Course, 1999. Siemens, Open networks for industrial communication. Siemens AG, Microsystems Software & Solutions, 1999

189

www.infoPLC.net

Bibliografia y Enlaces de interes

Sitios de Internet Autmatas industriales http://www.automatas.org/redes/redes.htm PLCopen http://www.plcopen.org/ EYA http://eya.swin.net SIEMENS Industrial Comunication http://www.ad.siemens.de/net/ AS Interface (ASI) http://www.as-interface.com/ Modbus.ORG http://www.modbus.org/ BitBus European Users Group http://www.bitbus.org/ Profibus http://www.profibus.com/ Ethernet Industrial http://ethernet.industrial-networking.com Your Personal PLC Tutor http://www.plcs.net/links.htm Siemens Energy & Automation http://www.sea.siemens.com/automat/product/plc/auplcov.html Siemens Dowloads http://www.sea.siemens.com/step/downloads.html Proyectos PIC http://inicia.es/de/juanmarod/portada.htm DAP S.A. distribuidor Siemens http://www.grupdap.com/EjProgramacion.htm Downloads & manuales http://www.grupdap.com/manuales.html Autmatas Programables PLCs http://www.geocities.com/SiliconValley/Bay/8507/index.html REEA http://olmo.pntic.mec.es/~jmarti50/portada/index.htm Software !Automatismes Morvedre http://www.siamred.com/Esp/Index.asp Simulador de PLC y regulacion PID http://www.geocities.com/indracontrol/ Curso Bsico Autmatas Programables http://www.femz.es/cursos/automatas/ Autmatas programables http://usuarios.iponet.es/jsl/index.html

190

Potrebbero piacerti anche