3. CONTROLADORES LÓGICOS PROGRAMABLESCONTROLADORES LÓGICOS PROGRAMABLES || Unidad 4.Unidad 4. Programación de PLCProgramación de PLC
33
OBJETIVOOBJETIVO
Al finalizar la unidad 4, el participante:Al finalizar la unidad 4, el participante:
Realizará la programación básica de diagrama de escalera a partir de distinRealizará la programación básica de diagrama de escalera a partir de distinguirguir
las herramientas que le ayudarán a hacerlo, discernir la funclas herramientas que le ayudarán a hacerlo, discernir la función que lleva a caboión que lleva a cabo
un programa de lenguaje de escalera y conociendo algunos ejemplos usandoun programa de lenguaje de escalera y conociendo algunos ejemplos usando
software propietario de alguna marca ensoftware propietario de alguna marca en particular.particular.
4. CONTROLADORES LÓGICOS PROGRAMABLESCONTROLADORES LÓGICOS PROGRAMABLES || Unidad 4.Unidad 4. Programación de PLCProgramación de PLC
44
INTRODUCCIÓNINTRODUCCIÓN
ElEl desarrollo acdesarrollo acelerado en elelerado en el uso de nuevuso de nuevas tecnologías, sobras tecnologías, sobre todo ene todo en loslos
campos de la electrónica, informática y comunicaciones constituyen uncampos de la electrónica, informática y comunicaciones constituyen un
constante desafío en la aplicación de éstas en los sistemas automáticos deconstante desafío en la aplicación de éstas en los sistemas automáticos de
control, provocando un profundo cambio en la concepción y diseño de loscontrol, provocando un profundo cambio en la concepción y diseño de los
procesos,obligandoalpersonalaunaprocesos,obligandoalpersonalauna constanteactualizacióndeconocimientosconstanteactualizacióndeconocimientos
y un continuo replanteamiento de los métodos de diseño empleados.y un continuo replanteamiento de los métodos de diseño empleados.
La complejidad del sistema de control alcanzable con los PLC o autómatasLa complejidad del sistema de control alcanzable con los PLC o autómatas
programables, hace que sea imprescindible el empleo de métodos de diseñoprogramables, hace que sea imprescindible el empleo de métodos de diseño
sistemático, frente al método intuitivo que se venía empleado ansistemático, frente al método intuitivo que se venía empleado anteriormente.teriormente.
Por lo cual, los PLC por sus especiales características de diseño tienen unPor lo cual, los PLC por sus especiales características de diseño tienen un
campo de aplicación muy extenso. La constante evolución del hardware ycampo de aplicación muy extenso. La constante evolución del hardware y
software amplía este campo para poder satisfacer las necesidades que sesoftware amplía este campo para poder satisfacer las necesidades que se
detectan en el espectro de sus posibidetectan en el espectro de sus posibilidades reales, no sólo controlan la lógicalidades reales, no sólo controlan la lógica
de funcionamiento de máquinas, plantas y procesos industriales, sino quede funcionamiento de máquinas, plantas y procesos industriales, sino que
también pueden realizar operaciones aritméticas, así como manejar señalestambién pueden realizar operaciones aritméticas, así como manejar señales
analógicas para realizar estrategias de control. Para hacerlo, existen variosanalógicas para realizar estrategias de control. Para hacerlo, existen varios
lenguajes de programación. En esta unidad se profundizará específicamentelenguajes de programación. En esta unidad se profundizará específicamente
en el lenguaje deen el lenguaje de progr programación Lamación Ladder o Escadder o Escalera paralera para dichos ca dichos controlaontroladores.dores.
5. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
5
Antecedentes1.
1.1. Programación en PLC
1.2. Estándar IEC 61131-3
Los primeros PLC, primera mitad de los años 80, eran programados usando
sistemas de programación propietarios o terminales de programación
especializados, que a menudo tenían teclas de funciones dedicadas que
representaban los elementos lógicos de los programas de PLC, los cuales eran
guardados en cintas. Recientemente, son escritos en aplicaciones especiales
en un ordenador para posteriormente ser descargados directamente mediante
un cable o una red al PLC. En cuanto a la memoria, los PLC viejos usaban una no
volátil (Magnetic Core Memory) pero ahora los programas son guardados en
una RAM con batería propia o en otros sistemas de memoria no volátil como
la memoria flash.
LosprimerosPLCfuerondiseñadospara serusadosporelectricistasquepodían
aprender a programar los PLC en el trabajo. Los cuales eran programados con
“lógica de escalera” (“ladder logic”). En cambio, los PLC modernos pueden ser
programados de muchas formas, desde la lógica de escalera hasta lenguajes
de programación tradicionales como el BASIC o C. Otro método es usar la
Lógica de Estados (State Logic), el cual es un lenguaje de programación de alto
nivel diseñado para programas PLC basándose en los diagramas de transición
de estados.
Recientemente, el Estándar Internacional IEC 61131-3 se ha vuelto muy
popular, ya que establece cuatro lenguajes de programación para los sistemas
de control programables y define los elementos comunes entre éstos.
6. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
6
1.2.1. Elementos comunes
Tipos de datos
Dentro de los elementos comunes, se definen los tipos de datos. Los que
previenen de errores en una fase inicial, como por ejemplo la división de un
dato tipo fecha por un número entero y los tipos comunes de datos como son:
variables booleanas, número entero, número real, byte y palabra, pero también
fechas, horas del día y cadenas (strings).
Basado en estos tipos de datos, el usuario puede definir los propios, conocidos
como tipos de datos derivados. De este modo, se puede establecer un canal de
entrada analógica como un tipo de dato.
Variables
Las variables permiten identificar los objetos de datos cuyos contenidos
pueden cambiar, por ejemplo, los datos asociados a entradas, salidas o a la
memoria del autómata programable. Una variable se puede declarar como
uno de los tipos de datos elementales definidos o como uno de los tipos de
datos derivados. De este modo se crea un alto nivel de independencia con el
hardware, favoreciendo la reusabilidad del software.
La extensión de las variables está normalmente limitada a la unidad de
organización en la cual han sido declaradas como locales. Esto significa que
sus nombres pueden ser reutilizados en otras partes sin conflicto, eliminando
una frecuente fuente de errores. Si las variables deben tener una extensión
global, han de ser declaradas como tales utilizando la palabra reservada VAR_
GLOBAL.
Tambiénpueden serasignadosparámetrosy valoresinicialesquese restablecen
al inicio, para obtener la configuración inicial correcta.
7. CONTROLADORES LÓGICOS PROGRAMABLESCONTROLADORES LÓGICOS PROGRAMABLES || Unidad 4.Unidad 4. Programación de PLCProgramación de PLC
99
Unidades de Organización de ProgramaUnidades de Organización de Programa
Dentro de IEC 1131-3, los programas, bloques funcionales y funciones seDentro de IEC 1131-3, los programas, bloques funcionales y funciones se
denominan Unidades de Organización de Programas, POU.denominan Unidades de Organización de Programas, POU.
FuncionesFunciones
El estándar IEC 61131-3 especifica funciones estándar y funciones definidasEl estándar IEC 61131-3 especifica funciones estándar y funciones definidas
por usuario. Las funciones estándar son, por ejemplo: ADD (suma), ABSpor usuario. Las funciones estándar son, por ejemplo: ADD (suma), ABS
(valor absoluto), SQRT (raíz cuadrada), SIN (seno), y COS (coseno). Las(valor absoluto), SQRT (raíz cuadrada), SIN (seno), y COS (coseno). Las
funciones definidas por usuario, una vez implementadas pueden ser usadasfunciones definidas por usuario, una vez implementadas pueden ser usadas
indefinidamente en cualquier POU.indefinidamente en cualquier POU.
Las funciones no pueden contener ninguna información de estado interno, esLas funciones no pueden contener ninguna información de estado interno, es
decir,quelainvocacióndeunafuncióndecir,quelainvocacióndeunafunción conlosmismosargumentos(parámetrosconlosmismosargumentos(parámetros
de entrada) debe suministrar siempre el mismo valor (salida).de entrada) debe suministrar siempre el mismo valor (salida).
Bloques Funcionales (FB)Bloques Funcionales (FB)
LosLos bloquesbloques funcionales sonfuncionales son loslos equivalentesequivalentes aa loslos circuitoscircuitos integrados,integrados, (IC),(IC),
que representan funciones de control especializadas. Los FB contienen tantosque representan funciones de control especializadas. Los FB contienen tantos
datoscomoinstruccionesyademásdatoscomoinstruccionesyademás puedenguardarlosvaloresdelasvariablespuedenguardarlosvaloresdelasvariables
(queesunadelasdiferenciasconlasfunciones).Tienen(queesunadelasdiferenciasconlasfunciones).Tienen uninterfazdeentradayuninterfazdeentraday
salidabiendefinidaysalidabiendefiniday uncódigointernooculto,comouncircuitointegrauncódigointernooculto,comouncircuitointegradoounadoouna
caja negra. De este modo, establecen una ccaja negra. De este modo, establecen una clara separación entre los diferentlara separación entre los diferenteses
niveles de programadores o el personal de mantenimiento. Un lazo de controlniveles de programadores o el personal de mantenimiento. Un lazo de control
de temperatura (PID), es un excelente ejemplo de bloque funcional, una vezde temperatura (PID), es un excelente ejemplo de bloque funcional, una vez
definido, puede ser usado unadefinido, puede ser usado una y otra vez, en el mismo programa, en diferentesy otra vez, en el mismo programa, en diferentes
programas o en distintos proyectos. Esto lo hace altamente reutilizable.programas o en distintos proyectos. Esto lo hace altamente reutilizable.
Los bloques funcionales pueden ser escritos por el usuario en alguno de losLos bloques funcionales pueden ser escritos por el usuario en alguno de los
lenguajes de la norma IEC, pero también existen FB estándar (biestables,lenguajes de la norma IEC, pero también existen FB estándar (biestables,
detección de flancos,detección de flancos, contadores, temporizadores, etcétcontadores, temporizadores, etcétera). Aunque tambiénera). Aunque también
cabe la posibilidad de ser llamados múltiples veces creando copias del bloquecabe la posibilidad de ser llamados múltiples veces creando copias del bloque
funcional que se denominan instancias. Cada instancia llevará asociado unfuncional que se denominan instancias. Cada instancia llevará asociado un
identificador y una estructura de datos que contenga sus variables de salida eidentificador y una estructura de datos que contenga sus variables de salida e
internas.internas.
8. CONTROLADORES LÓGICOS PROGRAMABLESCONTROLADORES LÓGICOS PROGRAMABLES || Unidad 4.Unidad 4. Programación de PLCProgramación de PLC
1010
ProgramasProgramas
LosLos programas programas son“un son“un conjuntológicodetodosloselementosyconstruccionesconjuntológicodetodosloselementosyconstrucciones
del lenguaje de programación que son necesarios para el tratamiento de señaldel lenguaje de programación que son necesarios para el tratamiento de señal
previsto que se requiere en el control de una máquina o proceso mediante elprevisto que se requiere en el control de una máquina o proceso mediante el
sistemadeautómatasistemadeautómata programable”programable”.Un.Un programapuedecontenerprogramapuedecontener,apartede,apartede lala
declaración de tipos de datos, variables y su código interno, distintas instancdeclaración de tipos de datos, variables y su código interno, distintas instanciasias
de funciones y bloques funcionales.de funciones y bloques funcionales.
Gráfico Funcional Secuencial (SFC)Gráfico Funcional Secuencial (SFC)
Figura 3. GráficoFigura 3. Gráfico funcional secuencial.funcional secuencial.
El SFC describe gráficamente el comportamiento secuencial dEl SFC describe gráficamente el comportamiento secuencial de un programa dee un programa de
control. Esta definición deriva decontrol. Esta definición deriva de las Redes de Petri y Grafcet (IEC 848), con laslas Redes de Petri y Grafcet (IEC 848), con las
modificaciones adecuadas para convertir las representaciones de una normamodificaciones adecuadas para convertir las representaciones de una norma
de documentación en un conjunto de elementos de control de ejecución parade documentación en un conjunto de elementos de control de ejecución para
una POU de un autómata programable.una POU de un autómata programable.
9. CONTROLADORES LÓGICOS PROGRAMABLESCONTROLADORES LÓGICOS PROGRAMABLES || Unidad 4.Unidad 4. Programación de PLCProgramación de PLC
1111
TTambién,elSFCayudaaambién,elSFCayudaa estructurarlaorganizacióninternadeestructurarlaorganizacióninternade unprogramayaunprogramaya
descomponerunproblemaendescomponerunproblemaenpartesmanejables,manteniendosimultáneamentepartesmanejables,manteniendosimultáneamente
una visión global. Los elementos del SFC proporcionan un medio para subdividiuna visión global. Los elementos del SFC proporcionan un medio para subdividirr
la POU de unla POU de un autómata proautómata programable en ungramable en un conjunto de econjunto de etapastapas y transicionesy transiciones
interconectadas por medio de enlaces directos. Cada etapa lleva asociadosinterconectadas por medio de enlaces directos. Cada etapa lleva asociados unun
conjunto de bloques de acción y a cada transición va ligada una condición deconjunto de bloques de acción y a cada transición va ligada una condición de
transición, que cuando se cumple, causa la desactivación de la etapa anteriortransición, que cuando se cumple, causa la desactivación de la etapa anterior
y activa la siguiente. Los bloques de acción permiten realizar el control dely activa la siguiente. Los bloques de acción permiten realizar el control del
proceso. Cada elemento puede ser programado en alguno de los lenguajes IEC,proceso. Cada elemento puede ser programado en alguno de los lenguajes IEC,
incluyéndose el propio SFC.incluyéndose el propio SFC.
Dado que los elementos del SFC requieren almacenar información, las únicasDado que los elementos del SFC requieren almacenar información, las únicas
POU que se pueden estructurar utilizando estos elementos son los bloquesPOU que se pueden estructurar utilizando estos elementos son los bloques
funcionales y los programas.funcionales y los programas.
Se pueden usar secuencias alternativas y paralelas, comúnmente utilizadas enSe pueden usar secuencias alternativas y paralelas, comúnmente utilizadas en
muchas aplicaciones. Debido a su estructura general, de sencilla comprensión,muchas aplicaciones. Debido a su estructura general, de sencilla comprensión,
SFC permite la transmisión de información entre distintas personas conSFC permite la transmisión de información entre distintas personas con
distintos niveles de preparación y responsabilidaddistintos niveles de preparación y responsabilidad dentro de la empresa.dentro de la empresa.
1.2.2. Lenguajes de programación1.2.2. Lenguajes de programación
Los lenguajes de programación son necesarios para la comunicación entreLos lenguajes de programación son necesarios para la comunicación entre
el usuario, sea programador u operario de la máquina o proceso donde seel usuario, sea programador u operario de la máquina o proceso donde se
encuentre el PLC. La interacción que tiene el usuario con el PLC puede realizarlaencuentre el PLC. La interacción que tiene el usuario con el PLC puede realizarla
por mediopor medio de lade la utilización deutilización de un cargadorun cargador de prode programa tambiéngrama también conocidaconocida
como consolacomo consola de progrde programación o por medioamación o por medio de unade una PC.PC.
En procesos grandes o en ambientes industriales el PLC recibe el nombreEn procesos grandes o en ambientes industriales el PLC recibe el nombre
también de API (Autómata Programable Industrial) y utiliza como interfacetambién de API (Autómata Programable Industrial) y utiliza como interface
para el usuario pantallas de plasma, pantallas de contacto (touch screen) opara el usuario pantallas de plasma, pantallas de contacto (touch screen) o
sistemasSCADA(SistemasparalaadquisicióndesistemasSCADA(Sistemasparalaadquisiciónde datos,supervisión,monitoreodatos,supervisión,monitoreo
y control de los procesos).y control de los procesos).
10. CONTROLADORES LÓGICOS PROGRAMABLESCONTROLADORES LÓGICOS PROGRAMABLES || Unidad 4.Unidad 4. Programación de PLCProgramación de PLC
1212
Clasificación de los LenguajesClasificación de los Lenguajes de Programaciónde Programación
Los lenguajes de programación para PLC son de doLos lenguajes de programación para PLC son de dos tipos:s tipos:
• Visuales:• Visuales: admiten estructurar el programa por medio de símbolos admiten estructurar el programa por medio de símbolos
gráficos, similares a los que se han utilizado para describir los sistemasgráficos, similares a los que se han utilizado para describir los sistemas
de automatización, planos esquemáticos y diagramas de bloques.de automatización, planos esquemáticos y diagramas de bloques.
• Escritos:• Escritos: son listados de sentencias que describen las funciones a son listados de sentencias que describen las funciones a
ejecutar.ejecutar.
Los programadores de PLC poseen formación en múltiples disciplinas yLos programadores de PLC poseen formación en múltiples disciplinas y
esto determina que exista diversidad de lenguajes. Los programadores deesto determina que exista diversidad de lenguajes. Los programadores de
aplicaciones familiarizados con el área industrial prefieren lenguajes visuales,aplicaciones familiarizados con el área industrial prefieren lenguajes visuales,
por su parte quienes tienen formación en electrónica e informática optan,por su parte quienes tienen formación en electrónica e informática optan,
inicialmente por los lenguajes escritos.inicialmente por los lenguajes escritos.
Entre los lenguajes literales o escritos seEntre los lenguajes literales o escritos se encuentran:encuentran:
•• ListaLista dede instruccionesinstrucciones (IL)(IL)
•• TTextoexto estrucestructuradoturado (ST)(ST)
En cambio, entre los visuales o gráficos:En cambio, entre los visuales o gráficos:
•• DiagramaDiagrama dede contactoscontactos (LD)(LD)
•• DiagramaDiagrama dede bloquesbloques funcionalesfuncionales (FBD)(FBD)
Figura 4. Lenguajes de Programación.Figura 4. Lenguajes de Programación.
11. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
13
En la figura anterior puede apreciarse como los cuatro programas describen la
misma acción, por lo cual se elección depende de:
• Los conocimientos del programador,
• El problema a tratar,
• El nivel de descripción del proceso,
• La estructura del sistema de control,
• La coordinación con otras personas o departamentos.
Los cuatros lenguajes están interrelacionados y permiten su empleo para
resolver de manera conjunta un problema común según la experiencia del
usuario.
• Diagrama de contactos (LD): tiene sus orígenes en los Estados
Unidos y está basado en la presentación gráfica de la lógica de relés.
• Lista de Instrucciones (IL): es el modelo de lenguaje ensamblador
basado en un acumulador simple; procede del alemán Anweisungliste,
AWL.
• Diagramas de Bloques Funcionales (FBD): es muy común en
aplicacionesqueimplicanflujodeinformaciónodatosentrecomponentes
de control. Las funciones y bloques aparecen como circuitos integrados.
Es ampliamente utilizado en Europa.
• Texto estructurado (ST): esunlenguajedealtonivelconorígenesen
el Ada, Pascal y C; el cual puede ser utilizado para codificar expresiones
complejas e instrucciones anidadas; dispone de estructuras para bucles
(REPEAT-UNTIL; WHILE-DO), ejecución condicional (IF-THEN-ELSE;
CASE), funciones (SQRT, SIN, etcétera).
12. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
14
Figura 5. Lenguajes de Programación.
Niveles de los Lenguajes
Los lenguajes de programación de sistemas basados en microprocesadores,
como es el caso de los PLC, se clasifican en niveles; al microprocesador le
corresponde el más bajo, y al usuario el más alto.
13. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
15
Tabla 1. Características niveles de lenguajes.
Entre los lenguajes de bajo nivel se encuentran:
• Lenguaje de Máquina: código binario encargado de la ejecución del
programa directamente en el microprocesador.
• Lenguaje Ensamblador: lenguaje sintético de sentencias que
representan cada una de las instrucciones que puede ejecutar el
microprocesador.Unavezdiseñadounprogramaenlenguajeensamblador
es necesario, para cargarlo en el sistema, convertirlo o compilarlo a
lenguaje de máquina. Los programadores de lenguajes de bajo nivel
deben estar especializados en microprocesadores y demás circuitos que
conforman el sistema.
Por su parte, los lenguajes de alto nivel se basan en la construcción de
sentencias orientadas a la estructura lógica de lo deseado. Una sentencia de
lenguaje de alto nivel representa varias de bajo; cabe la posibilidad que las
sentenciasdeunoaltonocubrantodaslasinstruccionesdeldebajonivel,loque
limita el controlsobre la máquina. Para que un lenguajede alto nivel sea legible
por el sistema, debe traducirse a lenguaje ensamblador y posteriormente a
lenguaje de máquina.
14. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
16
1.2.3. Listado de Lenguajes de Programación
para PLC
Los fabricantes de PLC han desarrollado lenguajes de programación, en su
mayoría siguiendo normas internacionales, con el fin de suplir las necesidades
y expectativas de los programadores.
En la siguiente tabla se presentan los de uso común.
Tabla 2. Lenguajes más comunes de PLC.
1.3. Elementos principales para programar un
PLC
Un PLC en sí es una máquina electrónica capaz de controlar equipos y procesos
a través de entradas y salidas, las cuales pueden ser tanto analógicas como
digitales.
15. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
20
• Entrada UP (U). Cada vez que se activa produce un incremento en una
unidad de la cuenta que posea en ese momento el contador.
• Entrada DOWN (D). Cuando se activa produce un decremento en una
unidad de la cuenta que posea en ese momento el contador.
• Salida FULL (F). Se activa al producirse un desbordamiento del valor del
contador contando en sentido ascendente.
• Salida DONE (D). Se activa cuando el valor del contador se iguala al valor
preestablecido Cip.
• Salida EMPTY (E):Se activa alproducirse un desbordamiento delvalor del
contador contando en sentido descendente.
Nota. Las instrucciones se verán con mayor profundidad más adelante.
1.3.1. Formas de representar un programa PLC
Lista de Instrucciones (AWL)
Representa el programa de usuario como una sucesión de abreviaturas de
instrucciones. Es un lenguaje de programación textual orientado a la máquina.
Figura 9. Representación como Lista de instrucciones.
16. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
21
Esquema de Contactos (KOP)
Este tipo de representación también es conocida como “Diagrama Escalera” o
“Ladder”, las instrucciones son representadas con símbolos eléctricos.
Figura 10. Representación como Esquema de Contactos.
Esquema de Funciones
Es un lenguaje de programación gráfico que utiliza los cuadros de álgebra
booleana para representar la lógica. En FUP se utilizan símbolos normalizados
para representar las operaciones.
Figura 11. Representación como Esquema de Funciones.
17. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
22
1.4. Programación de un PLC
Como ya anteriormente se había mencionado, la ejecución de la programación
en un PLC o autómata programable se realiza al igual, que como en cualquier
PC, en procesador o CPU. Para lo cual cuenta con un Sistema Operativo o
ejecutivo, el cual es un programa escrito por el fabricante para gobernar todo
el sistema:
• Contiene un conjunto de instrucciones para interpretar y ejecutar la
aplicación generada por el usuario.
• Realiza rutinas de autodiagnóstico.
• Interactúa con los periféricos (tarjetas de E/S, puertos de comunicación,
etcétera).
• Se encuentra almacenado en la memoria no volátil.
Por su parte, los PLC estándar cuentan con una CPU que resuelve todas las
operaciones:
• Se fijan tareas aisladas para atender las comunicaciones con las E/S.
• Estas tareas requieren de un procesamiento que utiliza tiempo de
ejecución del CPU, por ende, altera la realización de la aplicación.
Figura 12. PLC con un controlador.
18. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
23
Los PLC modernos cuentan con 2 CPU de 32 bits que interactúan para efectuar
el control:
• ElCPUdelógicaejecutaelcódigodelaaplicaciónyrealizaelprocesamiento
de los mensajes.
• El CPU de backplane se comunica con las E/S, envía y recibe datos desde
ahí. Como este CPU es independiente del otro, toda la información de
E/S se maneja asincrónicamente a la ejecución del programa (no altera
el Scan).
Figura 13. PLC con dos CPU.
Memorias – mapeo E/S
Dentro del CPU se dispone de un área de memoria, la cual se utiliza para
diversas funciones:
• Memoria del programa de usuario: aquí se introduce el programa
que el PLC va a ejecutar cíclicamente.
• Memoria de la tabla de datos: se suele subdividir en zonas según el
tipo de datos (como marcas de memoria, temporizadores, contadores,
etcétera).
• Memoria del sistema: aquí se encuentra el programa en código
máquina que monitoriza el sistema (Sistema Operativo o Firmware).
19. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
24
• Memoria de almacenamiento: se trata de memoria externa que se
emplea para almacenar el programa de usuario y en ciertos casos parte
de la memoria de la tabla de datos. Suele ser de uno de los siguientes
tipos: EPROM, EEPROM, o FLASH.
1.4.1. ¿Qué es un Programa?
Un programa de computadora como un PLC es un conjunto de instrucciones
que producirán la ejecución de una determinada tarea. En esencia, es una
respuesta predeterminada, a todas las posibles combinaciones de estados de
la información que recibe.
El proceso de programación de un PLC es, por consiguiente, un proceso, en
cuyo desarrollo se requieren cada uno de los siguientes pasos:
1. Definición y análisis del problema.
Este es el paso más importante, tener claridad de que se necesita.
• ¿Qué resultados debe proporcionar el sistema?, ¿qué salidas y sobre que
debe actuar?
• ¿Qué datos necesitan para determinar su resultado?, ¿qué debe medir y
vigilar (entradas)?
• ¿Cómo debe reaccionar ante la pérdida de información?, ¿cómo debe
reaccionar si no puede medir variables que necesita vigilar?
• ¿Cómodebereaccionarantefallasdesímismo? Capacidaddediagnóstico.
2. Definición de la arquitectura de hardware necesario (entradas/salidas,
redundancia, auto diagnóstico, etcétera).
3. Diseño de los algoritmos.
20. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
45
Arranque y Paro de un Motor
En este ejemplo se analizará el control clásico de arranque y paro de un motor.
El control tiene un botón de arranque que al oprimirlo en forma momentánea
activa el motor y éste se mantiene operando. También se tiene un botón de
paro que al oprimirlo lo detiene.
Figura 37. Arranque y paro de un motor.
Solución: Supón que el botón de arranque se alambra a la entrada 0 y el botón
de paro a la entrada 1, mientras que el arrancador del motor se alambra a la
salida 200. Si utiliza el método de describir la energización del motor, es la
siguiente: “el motor estará energizado cuando se oprima el botón de arranque
o el motor ya esté operando y el botón de paro no esté oprimido”.
21. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
46
Figura 38. Programa.
Al oprimir el botón de arranque se cerrará el contacto normalmente abierto
(I0) y dejará pasar el flujo de energía. Como el botón de paro no está oprimido
y como es un contacto normalmente cerrado (I1) también dejará pasar el flujo
de energía y se energizará la salida O200.
Observe que en paralelo con la entrada I0 se tiene un contacto de enclave
normalmente abierto con la referencia de la salida O200, esto quiere decir que
cuando la salida O200 se energiza también cierra dicho contacto, de modo
que por ahí sigue pasando flujo de energía y el motor se mantiene energizado
incluso cuando se ha dejado de oprimir el botón de arranque.
Cuando se oprime el botón de paro se abre el contacto normalmente cerrado
I1 y se interrumpe el flujo de energía parando el motor. Este tipo de operación
se conoce como enclavamiento.
Control de giro de un motor
Un motor puede girar en cualquiera de dos direcciones: FWR hacia adelante y
REV hacia atrás. Para arrancar el motor en la dirección FWR se tiene un botón
BFWD y para arrancar en la dirección REV el botón BREV. Si se desea parar el
motor existe el botón STOP. Una vez arrancado éste en una dirección no se
puede arrancar el motor en la dirección contraria a menos que primero se pare
el motor.
22. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
47
Solución: Supongamos el siguiente direccionamiento:
Tabla 6. Cuadro de Direccionamiento.
Desarrollando la descripción de cada control se tiene: para que el motor gire
hacia adelante se requiere que el botón BFWD se energice o el motor ya esté
girando hacia adelante, el botón de paro no esté oprimido y el motor no esté
girando en reversa.
Paraqueelmotorgirehacia atrásserequierequeelbotónBREVse energiceoel
motor ya este girando en esa dirección, que el botón de paro no esté oprimido
y el motor no esté girando hacia adelante.
El programa es el siguiente:
24. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
77
Fuentes de consulta
• Ordaz García, Ubaldo. (2009). Controladores Lógicos Programables.
Trillas.
• Petruzella, Frank D. (1998). Programmable Logic Controllers. Glencoe
McGraw-Hill
• Rehg, James A. (2009). Programmable logic controllers. Prentice Hall.
• Sternerson, Jon. (1999). Fundamentals of programable controllers,
sensors, and comunications. Prentice Hall
• Tubbs, Stephen P. (2017). Programmable Logic Controller (PLC)
Tutorial. Simatic S7
25. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
78
Fuentes Sugeridas
• Dax Automation. GE Fanuc. Recuperado en 2017, de: http://www.
daxautomation.mx/fabricante/ge-fanuc
• Diagramadecontactos(Ladder).Recuperadoen2017,de:http://www.
ing.unlp.edu.ar/electrotecnia/procesos/apuntes/Diagrama%20
Escalera.pdf
• Festo. Resultados de búsqueda para PLC. Recuperado en 2017, de:
https://www.festo.com/cat/es-mx_mx/search?action=Buscar&que
ry=plc&submit=
• Hitachi. Programmable Logic Controllers. Recuperado en 2017, de:
http://www.hitachi-ies.co.jp/english/products/plc/
• Navarro, D. (2009). PLC. Recuperado en 2017, de: http://es.scribd.
com/doc/12944471/30/Lenguaje-escalera-LADDER
• Mitsubishi Electric. Sistemas de automatización industrial. Recuperado
en2017,de: http://mx.mitsubishielectric.com/es/products/factory-
automation/index.page
• OmronMéxico.ProgrammableLogicControllers.Recuperadoen2017,
de: https://industrial.omron.mx/en/products/programmable-logic-
controllers
• Rockwell Automation. Programmable Automation Controllers.
Recuperado en 2017, de: http://www.rockwellautomation.com/
global/products/programmable-controllers/overview.page?
• Schneider Electric. PLC, PAC and Dedicated Controllers. Recuperado
en 2017, de: http://www.schneider-electric.com/en/product-
category/3900-plc--pac-and-dedicated-controllers/?filter=business-
1-industrial-automation-and-control
26. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
79
• Siemens México. Automatización industrial. Recuperado en 2017,
de: http://w5.siemens.com/cms/mam/industry/automatizacion/
Pages/control-y-automatizacion-industrial.aspx
• Yaskawa. VIPA Controls. Recuperado en 2017, de: http://www.vipa.
com/home/
27. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
80
Glosario
• ASCII. Código alfanumérico estándar utilizado para representar las
letras, signos ortográficos, números y todo lo que se pueda encontrar en un
texto escrito, que permite el intercambio de información de un ordenador a
otro.
• Binario. Elsistemabinario,llamadotambiénSistemaDiádico,enciencias
de la computación, es un sistema de numeración en el que los números se
representan utilizando solamente dos cifras: cero y uno (0 y 1). Es uno
de los sistemas que se utilizan en las computadoras, debido a que éstas
trabajan internamente con dos niveles de voltaje, por lo cual su sistema de
numeración natural es el sistema binario.
• CNC. Como definición de Control Numérico en un carácter más amplio,
se puede decir que es todo dispositivo, generalmente electrónico capaz de
dirigir posicionamientos de uno o varios elementos mecánicos móviles, de
tal forma que las órdenes relativas a sus desplazamientos son elaboradas,
en forma automática a partir de datos numéricos y simbólicos definidos por
un programa.
• CPU. Siglas de Central Process Unit. Unidad Central de Procesamiento o
procesador, encargada de realizar el procesamiento aritmético y lógico.
• Data Highway y Controlnet. Configuración de redes industriales
(PLC) de Rockwell Automation.
• Distributed Control System. Sistema de control distribuido es una
colección de computadoras independientes que aparece a los usuarios del
sistema como única computadora
• Encoder. El encoder es un transductor rotativo, que mediante una señal
eléctrica(normalmenteunpulsoounaseñalsenoidal)indicaelángulogirado.
Si este sensor rotatorio lo conectáramos mecánicamente a una rueda o un
husillo, también nos permitiría medir distancias lineales.
28. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
81
• Ethernet. Es uno de los estándares de redes de computadora.
• Hardware. Vocabloutilizadoparaenglobartodalacircuiteríaelectrónica
y partes físicas de una computadora o PLC.
• Hexadecimal. El sistema de numeración hexadecimal es un sistema
de base 16. Al igual que en el sistema decimal, cada vez que se tienen 10
unidades de un determinado nivel, se obtiene una unidad del nivel superior
(diez unidades: una decena, diez decenas: una centena, etcétera) en el
hexadecimal cada vez que juntamos 16 unidades de un nivel obtenemos
una unidad del nivel superior. En un sistema hexadecimal debe haber por
tanto 16 dígitos distintos.
Estesistemadenumeraciónesmuyutilizadoeninformáticaporquesimplifica
la expresión binaria de los objetos.
• HMI. Siglas de Human Machine Interface o Interfaz Hombre Máquina.
Los sistemas HMI podemos pensarlos como la “ventana” de un proceso. Esta
ventana puede estar en dispositivos especiales como paneles de operador o
en una computadora.
• Interfaz. Puerto o circuito físico a través del cual se envían o reciben
señales de un sistema a otro.
• LED. El acrónimo de “Light Emiting Diode”, o diodo emisor de luz de
estado sólido (solid state), constituye un tipo especial de semiconductor,
cuya característica principal es convertir en luz la corriente eléctrica de bajo
voltaje que atraviesa su chip.
• Octal. El sistema numérico en base 8 se llama octal y utiliza los dígitos
del 0 al 7. En informática a veces se utiliza la numeración octal en vez de
la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos
diferentes de los dígitos.
29. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
82
• PLC. Siglas de Controlador Lógico Programable. Es una computadora
industrial diseñada para ambientes industriales que sirve para automatizar
máquinas y procesos.
• Profibus. Es un estándar de red de campo abierto e independiente
de proveedores, donde la interfaz de ellos permite amplia aplicación en
procesos, fabricación y automatización.
• RAM. SiglasdeRandom AccessMemoryoMemoriade AccesoAleatorio.
Es una memoria utilizada para escritura y lectura. Su contenido es borrado
al des energizarse.
• Sensor. Dispositivocapazdetransformarmagnitudesfísicasoquímicas,
llamadas variables de instrumentación, en magnitudes eléctricas.
• Software. Códigodeprogramaciónintangible quejuntoconelhardware
hacen que una computadora interaccione con el ser humano. Es todo el
conjunto intangible de datos y programas.
• SCADA. Supervisory Control and Data Acquisition. Control por
supervisión y adquisición de datos transductor. Es un dispositivo capaz de
transformar o convertir un determinado tipo de señal de entrada, en otra
diferente de salida. (Ejemplo. De señal eléctrica a señal de presión).