SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
CONTROLADORES LÓGICOS PROGRAMABLESCONTROLADORES LÓGICOS PROGRAMABLES || Unidad 4.Unidad 4. Programación de PLCProgramación de PLC
11
CONTROLADORES LÓGICOS PROGRAMABLESCONTROLADORES LÓGICOS PROGRAMABLES || Unidad 4.Unidad 4. Programación de PLCProgramación de PLC
22
ÍNDICEÍNDICE
OBJETIVOBJETIVO.....................O...........................................................................................................................................................................3....................3
INTRODUCCIÓN...............................................................................................4INTRODUCCIÓN...............................................................................................4
1. Antecedentes..............................................................................................51. Antecedentes..............................................................................................5
1.1.1.1. ProgramaciónProgramación enen PLC........................................PLC........................................................................5................................5
1.2.1.2. EstándarEstándar IECIEC 61131-3......................................................61131-3.......................................................................5.................5
1.2.1.1.2.1. ElementosElementos comunes................................................................comunes.................................................................6.6
1.2.2.1.2.2. LenguajesLenguajes dede programación.......................programación....................................................11.............................11
1.2.3.1.2.3. ListadoListado dede LenguajesLenguajes dede ProgramaciónProgramación parapara PLC....................16PLC....................16
1.3.1.3. ElementosElementos principalesprincipales parapara programarprogramar unun PLC.................................16PLC.................................16
1.3.1.1.3.1. FormasFormas dede reprerepresentarsentar unun programaprograma PLC................................20PLC................................20
1.4.1.4. ProgramaciónProgramación dede unun PLC...............................................PLC.................................................................22..................22
1.4.1.1.4.1. ¿Qué¿Qué eses unun Programa?Programa?............................................................24............................................................24
1.4.2.1.4.2. ¿Qué¿Qué eses unun Algoritmo?Algoritmo?...........................................................25...........................................................25
1.4.3.1.4.3. EjecuciónEjecución dede programas...............................programas..........................................................27...........................27
2.2. ProgramaciónProgramación LógicaLógica dede Escalera................................................Escalera...............................................................31...............31
2.1. Direccionamiento2.1. Direccionamiento dede laslas instrucciones..............................................33instrucciones..............................................33
2.1.1.2.1.1. CaracterísticasCaracterísticas deldel LenguajeLenguaje dede escalera..................................38escalera..................................38
2.2. Instrucciones2.2. Instrucciones básicasbásicas dede programación.........................programación.............................................38....................38
2.3. Ejemplos2.3. Ejemplos básicosbásicos dede programación.........................programación....................................................41...........................41
3.3. TemporizadorTemporizadoreses yy Contadores...........................Contadores...................................................................49........................................49
3.1.3.1. LATLATCHES............................................................................CHES.......................................................................................49...........49
3.2.3.2. TTemporizadoresemporizadores yy contadores.................................contadores...........................................................50..........................50
3.2.1.3.2.1. TemporizadorTemporizadores....................................................................es.....................................................................51.51
3.2.2.3.2.2. Contadores.........................Contadores............................................................................57...................................................57
3.3.3.3. RelevRelevadoresadoresinternos.........................................................internos........................................................................59...............59
3.4.3.4. EjemplosEjemplos concon temporizadorestemporizadores yy contadores........................contadores.......................................60...............60
4.4. ComparadoresComparadores yy Aritméticas.....................................................................65Aritméticas.....................................................................65
4.1.4.1. Comparadores........Comparadores.................................................................................6.........................................................................655
4.2.4.2. ProgramaciónProgramación dede PLC:PLC: OperacionesOperaciones Aritméticas...............................67Aritméticas...............................67
5.5. SimulaciónSimulación dede controlcontrol concon PLC........................................PLC.................................................................71.........................71
Conclusión.......................................................................................................75Conclusión.......................................................................................................75
Fuentes deFuentes de consulta.................................................................................consulta...........................................................................................77..........77
FuentesFuentes Sugeridas...........................................Sugeridas..............................................................................................78...................................................78
Glosario............................................................................................................80Glosario............................................................................................................80
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.
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.
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.
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.
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.
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.
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).
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.
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).
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.
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.
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.
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.
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.
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.
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).
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.
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”.
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.
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:
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
48
Figura 39. Programa.
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
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
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/
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.
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.
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).

Más contenido relacionado

La actualidad más candente (6)

69073704 implementacion-de-soluciones-tecnologicas
69073704 implementacion-de-soluciones-tecnologicas69073704 implementacion-de-soluciones-tecnologicas
69073704 implementacion-de-soluciones-tecnologicas
 
LA INGENIERÍA DE SOFTWARE Y RUP
LA INGENIERÍA DE SOFTWARE Y RUPLA INGENIERÍA DE SOFTWARE Y RUP
LA INGENIERÍA DE SOFTWARE Y RUP
 
GESTION DE PROYECTOS INFORMATICOS
GESTION  DE PROYECTOS INFORMATICOSGESTION  DE PROYECTOS INFORMATICOS
GESTION DE PROYECTOS INFORMATICOS
 
Metodologias Rup Xp
Metodologias Rup XpMetodologias Rup Xp
Metodologias Rup Xp
 
Metodologías para desarrollar(moviles )
Metodologías para desarrollar(moviles )Metodologías para desarrollar(moviles )
Metodologías para desarrollar(moviles )
 
RUP
RUPRUP
RUP
 

Similar a Dlscrib.com pdf-plc-u4-dl d98f9ad369a84a6fc96120e7edc9914f

Trabajo de analisis y diseño
Trabajo de analisis y diseñoTrabajo de analisis y diseño
Trabajo de analisis y diseño
mary taipe
 
PLC: Diseño de un sistema de control distribuido usando Factory IO y Codesys ...
PLC: Diseño de un sistema de control distribuido usando Factory IO y Codesys ...PLC: Diseño de un sistema de control distribuido usando Factory IO y Codesys ...
PLC: Diseño de un sistema de control distribuido usando Factory IO y Codesys ...
SANTIAGO PABLO ALBERTO
 

Similar a Dlscrib.com pdf-plc-u4-dl d98f9ad369a84a6fc96120e7edc9914f (20)

Introduccion a automatas programables
Introduccion a automatas programablesIntroduccion a automatas programables
Introduccion a automatas programables
 
Analisis software abner
Analisis software abnerAnalisis software abner
Analisis software abner
 
Informe tecnico-residencia-profesional
Informe tecnico-residencia-profesionalInforme tecnico-residencia-profesional
Informe tecnico-residencia-profesional
 
Keissy
Keissy Keissy
Keissy
 
Manual061 controladorlgicoprogramableplc
Manual061 controladorlgicoprogramableplcManual061 controladorlgicoprogramableplc
Manual061 controladorlgicoprogramableplc
 
Manual061 controladorlgicoprogramableplc
Manual061 controladorlgicoprogramableplcManual061 controladorlgicoprogramableplc
Manual061 controladorlgicoprogramableplc
 
Manual 061 controlador logico programable plc
Manual 061 controlador logico programable plcManual 061 controlador logico programable plc
Manual 061 controlador logico programable plc
 
Trabajo de analisis y diseño
Trabajo de analisis y diseñoTrabajo de analisis y diseño
Trabajo de analisis y diseño
 
PLC: controlador lógico programable (PLC)
PLC: controlador lógico programable (PLC)PLC: controlador lógico programable (PLC)
PLC: controlador lógico programable (PLC)
 
Método cascada
Método cascadaMétodo cascada
Método cascada
 
Método cascada
Método cascadaMétodo cascada
Método cascada
 
Automatización Industrial 4.0 IEEE
Automatización Industrial 4.0 IEEE Automatización Industrial 4.0 IEEE
Automatización Industrial 4.0 IEEE
 
So keissy
So keissySo keissy
So keissy
 
DESIGN1.PDF
DESIGN1.PDFDESIGN1.PDF
DESIGN1.PDF
 
Omar,luis,daniel
Omar,luis,danielOmar,luis,daniel
Omar,luis,daniel
 
INFORME UNIDAD III- AUTOMATIZACIÓN Y CONTROL INDUSTRIAL 2023-B.pptx
INFORME UNIDAD III- AUTOMATIZACIÓN Y CONTROL INDUSTRIAL  2023-B.pptxINFORME UNIDAD III- AUTOMATIZACIÓN Y CONTROL INDUSTRIAL  2023-B.pptx
INFORME UNIDAD III- AUTOMATIZACIÓN Y CONTROL INDUSTRIAL 2023-B.pptx
 
CONTROL Y SUPERVISION DE LLENADO DE BOTELLAS CON PLC S7-1200 Y LABVIEW (SERVI...
CONTROL Y SUPERVISION DE LLENADO DE BOTELLAS CON PLC S7-1200 Y LABVIEW (SERVI...CONTROL Y SUPERVISION DE LLENADO DE BOTELLAS CON PLC S7-1200 Y LABVIEW (SERVI...
CONTROL Y SUPERVISION DE LLENADO DE BOTELLAS CON PLC S7-1200 Y LABVIEW (SERVI...
 
PLC: Diseño de un sistema de control distribuido usando Factory IO y Codesys ...
PLC: Diseño de un sistema de control distribuido usando Factory IO y Codesys ...PLC: Diseño de un sistema de control distribuido usando Factory IO y Codesys ...
PLC: Diseño de un sistema de control distribuido usando Factory IO y Codesys ...
 
Apuntes
ApuntesApuntes
Apuntes
 
Manual parcial I
Manual parcial IManual parcial I
Manual parcial I
 

Último

tema ilustrado 9 el inicio del reinado de juan carlos I
tema ilustrado 9 el inicio del reinado de juan carlos Itema ilustrado 9 el inicio del reinado de juan carlos I
tema ilustrado 9 el inicio del reinado de juan carlos I
irenecarmona12
 
ADMINISTRACION ADECUADA DE MEDICAMENTOS.pptx
ADMINISTRACION ADECUADA DE MEDICAMENTOS.pptxADMINISTRACION ADECUADA DE MEDICAMENTOS.pptx
ADMINISTRACION ADECUADA DE MEDICAMENTOS.pptx
clinivalleu
 
S7_ Grises y quebrados. semana 07 sesión 1
S7_ Grises y quebrados. semana 07 sesión 1S7_ Grises y quebrados. semana 07 sesión 1
S7_ Grises y quebrados. semana 07 sesión 1
eje12345ja
 
7.2 -La guerra civil. Evolución de los bandos y consecuencias-Marta y Elena (...
7.2 -La guerra civil. Evolución de los bandos y consecuencias-Marta y Elena (...7.2 -La guerra civil. Evolución de los bandos y consecuencias-Marta y Elena (...
7.2 -La guerra civil. Evolución de los bandos y consecuencias-Marta y Elena (...
jose880240
 

Último (20)

tema ilustrado 9 el inicio del reinado de juan carlos I
tema ilustrado 9 el inicio del reinado de juan carlos Itema ilustrado 9 el inicio del reinado de juan carlos I
tema ilustrado 9 el inicio del reinado de juan carlos I
 
Blue_Aesthetic_Mood_Board_Brand_Inspiration_Poster.pdf
Blue_Aesthetic_Mood_Board_Brand_Inspiration_Poster.pdfBlue_Aesthetic_Mood_Board_Brand_Inspiration_Poster.pdf
Blue_Aesthetic_Mood_Board_Brand_Inspiration_Poster.pdf
 
ADMINISTRACION ADECUADA DE MEDICAMENTOS.pptx
ADMINISTRACION ADECUADA DE MEDICAMENTOS.pptxADMINISTRACION ADECUADA DE MEDICAMENTOS.pptx
ADMINISTRACION ADECUADA DE MEDICAMENTOS.pptx
 
Fundamentos de la Ergonomía y sus características principales
Fundamentos de la Ergonomía y sus características principalesFundamentos de la Ergonomía y sus características principales
Fundamentos de la Ergonomía y sus características principales
 
Curso Suoervición titulación UAP Ing Civil 2024.pptx
Curso  Suoervición titulación UAP Ing Civil 2024.pptxCurso  Suoervición titulación UAP Ing Civil 2024.pptx
Curso Suoervición titulación UAP Ing Civil 2024.pptx
 
Tríptico-en-homenaje-por-el-día-de-la-madre.pdf
Tríptico-en-homenaje-por-el-día-de-la-madre.pdfTríptico-en-homenaje-por-el-día-de-la-madre.pdf
Tríptico-en-homenaje-por-el-día-de-la-madre.pdf
 
S7_ Grises y quebrados. semana 07 sesión 1
S7_ Grises y quebrados. semana 07 sesión 1S7_ Grises y quebrados. semana 07 sesión 1
S7_ Grises y quebrados. semana 07 sesión 1
 
7.2 -La guerra civil. Evolución de los bandos y consecuencias-Marta y Elena (...
7.2 -La guerra civil. Evolución de los bandos y consecuencias-Marta y Elena (...7.2 -La guerra civil. Evolución de los bandos y consecuencias-Marta y Elena (...
7.2 -La guerra civil. Evolución de los bandos y consecuencias-Marta y Elena (...
 
que son los planos arquitectónicos y tipos
que son los planos arquitectónicos y tiposque son los planos arquitectónicos y tipos
que son los planos arquitectónicos y tipos
 
Informe de Laboratorio 08 - Capacitores e Inductores.docx
Informe de Laboratorio 08 - Capacitores e Inductores.docxInforme de Laboratorio 08 - Capacitores e Inductores.docx
Informe de Laboratorio 08 - Capacitores e Inductores.docx
 
Metodo-cuadricula-HyST para medicion con luxometro
Metodo-cuadricula-HyST para medicion con luxometroMetodo-cuadricula-HyST para medicion con luxometro
Metodo-cuadricula-HyST para medicion con luxometro
 
5-. FURRIEL.doc DOCUMENTO PARA LLEVAR EL CONTROL DE LOS SERVICIOS
5-. FURRIEL.doc DOCUMENTO PARA LLEVAR EL CONTROL DE LOS SERVICIOS5-. FURRIEL.doc DOCUMENTO PARA LLEVAR EL CONTROL DE LOS SERVICIOS
5-. FURRIEL.doc DOCUMENTO PARA LLEVAR EL CONTROL DE LOS SERVICIOS
 
DIAGNOSTICO URBANO DE DE LA ISLA DE COCHE
DIAGNOSTICO URBANO DE DE LA ISLA DE COCHEDIAGNOSTICO URBANO DE DE LA ISLA DE COCHE
DIAGNOSTICO URBANO DE DE LA ISLA DE COCHE
 
LA NEUROARQUITECTURA COMO ESTRATEGIA DE DISEŇO PARA LA SALUD MENTAL
LA NEUROARQUITECTURA COMO ESTRATEGIA DE DISEŇO PARA LA SALUD MENTALLA NEUROARQUITECTURA COMO ESTRATEGIA DE DISEŇO PARA LA SALUD MENTAL
LA NEUROARQUITECTURA COMO ESTRATEGIA DE DISEŇO PARA LA SALUD MENTAL
 
Manual de uso Avanzado para Excel 2016.pdf
Manual de uso  Avanzado para Excel 2016.pdfManual de uso  Avanzado para Excel 2016.pdf
Manual de uso Avanzado para Excel 2016.pdf
 
Presentación acerca del Design Thinking.pptx
Presentación acerca del Design Thinking.pptxPresentación acerca del Design Thinking.pptx
Presentación acerca del Design Thinking.pptx
 
CATALOGO 2024 DIA DE LA MADRE, presentación.pdf
CATALOGO 2024 DIA DE LA MADRE, presentación.pdfCATALOGO 2024 DIA DE LA MADRE, presentación.pdf
CATALOGO 2024 DIA DE LA MADRE, presentación.pdf
 
ARTE PARTE DE LA ARQUITECTURA, EN QUE INFLUYE MAS
ARTE PARTE DE LA ARQUITECTURA, EN QUE INFLUYE MASARTE PARTE DE LA ARQUITECTURA, EN QUE INFLUYE MAS
ARTE PARTE DE LA ARQUITECTURA, EN QUE INFLUYE MAS
 
La Bauhaus y la nueva tipografía en el diseño gráfico
La Bauhaus y la nueva tipografía en el diseño gráficoLa Bauhaus y la nueva tipografía en el diseño gráfico
La Bauhaus y la nueva tipografía en el diseño gráfico
 
LA DEONTOLOGIA PROFESIONAL EN DISEÑO DE INTERIORES .pptx
LA DEONTOLOGIA PROFESIONAL EN DISEÑO DE INTERIORES .pptxLA DEONTOLOGIA PROFESIONAL EN DISEÑO DE INTERIORES .pptx
LA DEONTOLOGIA PROFESIONAL EN DISEÑO DE INTERIORES .pptx
 

Dlscrib.com pdf-plc-u4-dl d98f9ad369a84a6fc96120e7edc9914f

  • 1. CONTROLADORES LÓGICOS PROGRAMABLESCONTROLADORES LÓGICOS PROGRAMABLES || Unidad 4.Unidad 4. Programación de PLCProgramación de PLC 11
  • 2. CONTROLADORES LÓGICOS PROGRAMABLESCONTROLADORES LÓGICOS PROGRAMABLES || Unidad 4.Unidad 4. Programación de PLCProgramación de PLC 22 ÍNDICEÍNDICE OBJETIVOBJETIVO.....................O...........................................................................................................................................................................3....................3 INTRODUCCIÓN...............................................................................................4INTRODUCCIÓN...............................................................................................4 1. Antecedentes..............................................................................................51. Antecedentes..............................................................................................5 1.1.1.1. ProgramaciónProgramación enen PLC........................................PLC........................................................................5................................5 1.2.1.2. EstándarEstándar IECIEC 61131-3......................................................61131-3.......................................................................5.................5 1.2.1.1.2.1. ElementosElementos comunes................................................................comunes.................................................................6.6 1.2.2.1.2.2. LenguajesLenguajes dede programación.......................programación....................................................11.............................11 1.2.3.1.2.3. ListadoListado dede LenguajesLenguajes dede ProgramaciónProgramación parapara PLC....................16PLC....................16 1.3.1.3. ElementosElementos principalesprincipales parapara programarprogramar unun PLC.................................16PLC.................................16 1.3.1.1.3.1. FormasFormas dede reprerepresentarsentar unun programaprograma PLC................................20PLC................................20 1.4.1.4. ProgramaciónProgramación dede unun PLC...............................................PLC.................................................................22..................22 1.4.1.1.4.1. ¿Qué¿Qué eses unun Programa?Programa?............................................................24............................................................24 1.4.2.1.4.2. ¿Qué¿Qué eses unun Algoritmo?Algoritmo?...........................................................25...........................................................25 1.4.3.1.4.3. EjecuciónEjecución dede programas...............................programas..........................................................27...........................27 2.2. ProgramaciónProgramación LógicaLógica dede Escalera................................................Escalera...............................................................31...............31 2.1. Direccionamiento2.1. Direccionamiento dede laslas instrucciones..............................................33instrucciones..............................................33 2.1.1.2.1.1. CaracterísticasCaracterísticas deldel LenguajeLenguaje dede escalera..................................38escalera..................................38 2.2. Instrucciones2.2. Instrucciones básicasbásicas dede programación.........................programación.............................................38....................38 2.3. Ejemplos2.3. Ejemplos básicosbásicos dede programación.........................programación....................................................41...........................41 3.3. TemporizadorTemporizadoreses yy Contadores...........................Contadores...................................................................49........................................49 3.1.3.1. LATLATCHES............................................................................CHES.......................................................................................49...........49 3.2.3.2. TTemporizadoresemporizadores yy contadores.................................contadores...........................................................50..........................50 3.2.1.3.2.1. TemporizadorTemporizadores....................................................................es.....................................................................51.51 3.2.2.3.2.2. Contadores.........................Contadores............................................................................57...................................................57 3.3.3.3. RelevRelevadoresadoresinternos.........................................................internos........................................................................59...............59 3.4.3.4. EjemplosEjemplos concon temporizadorestemporizadores yy contadores........................contadores.......................................60...............60 4.4. ComparadoresComparadores yy Aritméticas.....................................................................65Aritméticas.....................................................................65 4.1.4.1. Comparadores........Comparadores.................................................................................6.........................................................................655 4.2.4.2. ProgramaciónProgramación dede PLC:PLC: OperacionesOperaciones Aritméticas...............................67Aritméticas...............................67 5.5. SimulaciónSimulación dede controlcontrol concon PLC........................................PLC.................................................................71.........................71 Conclusión.......................................................................................................75Conclusión.......................................................................................................75 Fuentes deFuentes de consulta.................................................................................consulta...........................................................................................77..........77 FuentesFuentes Sugeridas...........................................Sugeridas..............................................................................................78...................................................78 Glosario............................................................................................................80Glosario............................................................................................................80
  • 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:
  • 23. CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC 48 Figura 39. Programa.
  • 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).