Está en la página 1de 202

REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DE EDUCACION SUPERIOR


INSTITUTO UNIVERSITARIO DE TECNOLOGIA
"ALONSO GAMERO"
CORO ESTADO FALCON.

CONTROLADORES LÓGICOS PROGRAMABLES


(PLC) Y SU APLICACIÓN EN PROCESOS
INDUSTRIALES.

Ing. VISTRIMIRO HIDALGO.


C.I: 4.886.465

CORO, ENERO DEL 2005.


CONTROLADORES LÓGICOS PROGRAMABLES
(PLC) Y SU APLICACIÓN EN PROCESOS
INDUSTRIALES.
REPUBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DE EDUCACION SUPERIOR
INSTITUTO UNIVERSITARIO DE TECNOLOGIA
"ALONSO GAMERO"
CORO ESTADO FALCON.

CONTROLADORES LÓGICOS PROGRAMABLES


(PLC) Y SU APLICACIÓN EN PROCESOS
INDUSTRIALES.

Trabajo especial elaborado


durante el ejercicio de la
licencia sabática. Presentado
ante el Consejo Directivo del
Instituto Universitario de
Tecnología "Alonso Gamero".

Ing. VISTRIMIRO HIDALGO.


C.I: 4.886.465

CORO, ENERO DEL 2005.


DEDICATORIA

A DIOS, FUENTE DE MI VIDA E INSPIRACION

A MI MADRE

A MI ESPOSA

A MIS HIJOS, MIS FAROS EN ESTE MUNDO

A MIS ALUMNOS.
RESUMEN

Hidalgo H., Vistrimiro A. CONTROLADORES LÓGICOS PROGRAMABLES


(PLC) Y SU APLICACIÓN EN PROCESOS INDUSTRIALES.

El presente trabajo representa una exhaustiva investigación bibliogràfica, que


aborda de una manera sencilla pero bastante generalizada los pormenores y
detalles de los controladores lógicos programables. Dado que estos
dispositivos son de una tecnología reciente, se han desarrollado a capricho
de los fabricantes. Solo en los últimos diez años se han hecho intentos
serios para la estandarización de ellos. El trabajo se enfoca principalmente
en el análisis de controladores programables de fabricantes influyentes en el
ámbito mundial y el estudio de la norma IEC-61131, principalmente su parte
referente a la programación de los PLC. Los ejemplos planteados siempre
están desarrollados para aplicaciones industriales.
ÍNDICE GENERAL
DEDICATORIA.

RESUMEN.

INTRODUCCIÓN. ...........................................................................................1

CAPÍTULO I: GENERALIDADES DE LOS PLC. ...........................................2


1.1.-INTRODUCCIÓN. .........................................................................3
1.2.-RESEÑA HISTÓRICA DE LOS PLC. ..............................................6
1.3.-DEFINICIÓN DE PLC. .....................................................................9
1.4.-DESCRIPCIÓN GENERAL DEL PLC. .............................................11
1.4.1.-UNIDADES DE ENTRADA. .........................................................12
1.4.2.-UNIDADES DE SALIDA. ...............................................................13
1.4.3.-UNIDAD CENTRAL DE PROCESO (CPU). ................................15
1.4.4.-UNIDADES DE MEMORIA. .........................................................15
1.4.5.-EL PROGRAMA. ........................................................................16
1.4.6.-FUENTE DE ALIMENTACIÓN. ...................................................16
1.4.7.-PERIFÉRICOS. ...........................................................................17
1.5.-PRINCIPIO DE OPERACIÓN DE UN PLC. ....................................17
1.6.-CLASIFICACIÓN DE LOS PLC. ....................................................24
1.6.1-PLC COMPACTOS. .....................................................................25
1.6.2.-PLC MODULARES. .....................................................................27
1.7.-VENTAJAS Y DESVENTAJAS DEL PLC. .......................................31

CAPÍTULO II: ARQUITECTURA DE LOS PLC. ........................................34


2.1.-INTRODUCCIÓN. ...........................................................................35
2.2.-SISTEMA LOGO! DE SIEMENS. ....................................................36
2.3.-SISTEMA SIMATIC S7-200 DE SIEMENS. ..................................47
2.4.-SISTEMA PLC-5 / 1771 DE ALLEN BRADLEY. ...........................53
2.5.-SISTEMA QUANTUM AUTOMATION DE MODICON. ....................67

CAPÍTULO III: BASES LÓGICAS DE UN AUTOMATISMO Y NORMA


INTERNACIONAL PARA LOS CONTROLADORES
PROGRAMABLES. ..............................................................81
3.1.-INTRODUCCIÓN. ..........................................................................82
3.2.-FORMULACIÓN LÓGICA DE UN PROBLEMA DE CONTROL
ELÉCTRICO. ..................................................................................83
3.2.1.-FORMULACIÓN LÓGICA PARA UN ARRANCADOR DIRECTO. 93
3.2.2.-FORMULACIÓN LÓGICA DE UN INVERSOR DE GIRO. ...........98
3.2.3.-FORMULACIÓN LÓGICA DE UN ARRANQUE DE TRES
MOTORES EN SECUENCIA. .......................................................102
3.3.-ESTÀNDAR IEC-61131 PARA PLC…………………………………. 104
CAPÍTULO IV: ELEMENTOS PARA PROGRAMACIÓN DE LOS PLC. ...107
4.1.-INTRODUCCIÓN. ..........................................................................108
4.2.-LENGUAJES ESTANDARIZADOS PARA PLC. ...........................109
4.3.-IEC-61131-3. ELEMENTOS COMUNES. ....................................109
4.4.-USO DE CARACTERES DE IMPRESIÓN. ..................................110
4.5.-REPRESENTACIÓN EXTERNA DE DATOS. ..............................111
4.6.-TIPOS DE DATOS. ........................................................................113
4.7.-VARIABLES. .................................................................................117
4.8.-UNIDADES DE ORGANIZACIÓN DE PROGRAMA (POU). .........124
4.8.1.-GENERALIDADES ACERCA DE FUNCIONES. .......................124
4.8.2.-FUNCIONES ESTÁNDAR. ........................................................135
4.8.3.-GENERALIDADES DE BLOQUES FUNCIONALES FB`s. ........144
4.8.4.-BLOQUES FUNCIONALES ESTÁNDAR. ..................................155
4.8.5.-GENERALIDADES ACERCA DE LOS PROGRAMAS. ..............160

CAPÍTULO V: DEFINICIÓN DE LOS LENGUAJES ESTÁNDAR DE LA


LA NORMA IEC-61131-3. .................................................162
5.1.-INTRODUCCIÓN. ..........................................................................163
5.2.-ELEMENTOS COMUNES DE LOS LENGUAJES TEXTUALES. ..164
5.3.-LENGUAJE DE LISTA DE INSTRUCCIONES (IL). ......................164
5.3.1.-INSTRUCCIONES EN LENGUAJE IL. ......................................165
5.3.2.-OPERADORES, MODIFICADORES Y OPERANDOS DEL
LENGUAJE IL. ..............................................................................165
5.3.3.-FUNCIONES Y BLOQUES FUNCIONALES EN EL
LENGUAJE IL. ..............................................................................168
5.4.-LENGUAJE DE TEXTO ESTRUCTURADO (ST). .........................171
5.4.1.-EXPRESIONES EN ST. ..............................................................171
5.4.2.-INSTRUCCIONES EN ST. .........................................................173
5.4.2.1.-INSTRUCCIONES DE ASIGNACIÓN. ...................................173
5.4.2.2.-INSTRUCCIONES DE CONTROL DE FUNCIONES Y
BLOQUES FUNCIONALES. .........................................................175
5.4.2.3.-INSTRUCCIONES DE SELECCIÓN. ......................................176
5.4.2.4.-INSTRUCCIONES DE ITERACIÓN. ........................................177
5.5.-ELEMENTOS COMUNES PARA LENGUAJES GRÁFICOS. ......179
5.5.1.-REPRESENTACIÓN DE BLOQUES Y LÍNEAS. ........................179
5.5.2.-DIRECCIÓN DEL FLUJO EN UNA RED. ..................................180
5.5.3.-EVALUACIONES DE REDES. ..................................................181
5.5.4.-ELEMENTOS DE CONTROL DE EJECUCIÓN. ........................184
5.6.-LENGUAJE DE DIAGRAMA DE CONTACTOS (LADDER
DIAGRAM LD). .............................................................................185
5.6.1.-REPRESENTACIÓN DE LÍNEAS DE FUERZA. ........................186
5.6.2.-ELEMENTOS DE ENLACE Y ESTADO. ....................................186
5.6.3.-CONTACTOS. ............................................................................187
5.6.4.-BOBINAS. ...................................................................................188
5.6.5.-FUNCIONES Y BLOQUES FUNCIONALES. .............................190
5.6.6.-ORDEN PARA EVALUACIÓN DE REDES EN LD. ....................190
5.7.-LENGUAJE DE BLOQUE FUNCIONALES (FUNCTION
BLOCK DIAGRAM FBD). ……………………………………………190
5.7.1.-COMBINACIÓN DE ELEMENTOS EN LENGUAJE FBD. ..........191
5.7.2.-ORDEN DE EVALUACIÓN DE REDES EN FBD. ......................191

BIBLIOGRAFÍA. .........................................................................................193
INTRODUCCIÓN

La tecnología de automatización ha experimentado profundos cambios


en los últimos treinta años, con la introducción de los avances en electrónica
y comunicaciones se ha logrado potenciar de una manera muy notable las
aplicaciones dentro de la industria, comercio, oficinas, hogar y muchas otras
áreas.
Los microprocesadores de hoy permiten crear funciones de control
bastante complejas en espacios muy reducidos, lo cual ha hecho entrar en
obsolescencia los grandes tableros de control basados en relés.
Los controladores lógicos programables (PLC) o controles
programables se han desarrollado de una manera notable desde su primera
aparición en el inicio de la década del sesenta del pasado milenio, sin
embargo, no es sino hasta principios de la década del noventa, cuando se
trata de estandarizar los esfuerzos de desarrollo de los PLC, mediante un
cuerpo de normas de la Comisión Electrotécnica Internacional (IEC).
El presente trabajo contiene importantes aportes acerca de la
tecnología de los PLC. Se utiliza como fuentes primarias de información los
manuales de equipos modernos de fabricantes importantes en el ámbito
mundial, además los fundamentos establecidos en la norma internacional
IEC-61131, así como también algunos textos relacionados con el tema.
Adicionalmente se vuelca la experiencia del autor con los automatismos, con
lo cual se logra producir un texto que permite abordar el tema de los PLC de
una manera fácil.
El trabajo se presenta en cinco grandes capítulos.
En el primer capítulo trata sobre los aspectos generales de los PLC,
se hace una reseña histórica de su evolución, su definición, componentes,
principio de operación, clasificación, ventajas y desventajas.
2

En el segundo capítulo se estudia la arquitectura de los PLC, para tal


fin se describen al detalle cuatro sistemas de PLC de fabricantes importantes
y reconocidos mundialmente.
El capítulo tres contiene las bases que permiten formular las
aplicaciones de automatismo de una manera lógica a través del álgebra de
Bool, la cual es adecuada para la estructura de un PLC. Adicionalmente en
el capítulo se hace la introducción a la norma IEC-61131.
En el capítulo cuatro se presentan los elementos de programación de
los PLC de acuerdo a la norma IEC_-61131-3. Se detallan aspectos como:
los caracteres de impresión, los tipos de datos, la variables y las unidades de
organización de programas entre otros.
En el quinto capítulo se detallan los aspectos particulares de los
lenguajes estandarizados por la norma IEC-6131-3, los cuales están
agrupados en dos tipo texto o lenguajes textuales (lista de instrucciones IL y
texto estructurado ST) y dos tipo gráfico o lenguajes gráficos (diagrama de
contactos o de escalera LD y diagrama de bloques de funciones FBD).
En cada capítulo presentan ejemplos ilustrativos de aplicaciones
orientadas al control eléctrico y automatización industrial, para ayudar a
entender los principios explicados.
El texto tiene una edición en formato Microsoft Word y en PDF. La
versión en PDF se incluye totalmente en un CD encartado con el texto. El
CD contiene adicionalmente, manuales de PLC de varios fabricantes, así
como el cuerpo de la norma IEC-61131-3.
CAPITULO I
GENERALIDADES SOBRE LOS PLC
4

CAPITULO I
GENERALIDADES SOBRE LOS PLC

1.1.-INTRODUCCIÓN.
El rápido desarrollo de la electrónica ha introducido importantes
cambios en la concepción del control eléctrico tradicional. La configuración
de enormes tableros con una gran cantidad de cables de control y de
potencia, y una configuración poco flexible, está siendo sustituida en forma
acelerada por pequeños tableros, con una versatilidad enorme, además de
una gran capacidad de adaptación a las necesidades de cambio del proceso
sujeto a control.
En el control eléctrico tradicional las aplicaciones desarrolladas
consisten en una interconexión ordenada de todos los elementos
involucrados en el circuito de mando. El desarrollo de cualquier aplicación
implica el uso de una gran cantidad de conductores que permitan enlazar
cada componente con otros y con las fuentes de alimentación; y así poder
definir una acción de control particular. Esta forma de elaborar los sistemas
eléctricos de control se ha denominado lógica cableada, ya que las funciones
lógicas presentes en el control, se han logrado uniendo a través de
conductores los diferentes contactos NA y NC de los dispositivos
componentes del mismo.
La lógica cableada exige una considerable cantidad de mano de obra
muy calificada a la hora de realizar los montajes y el mantenimiento de los
circuitos eléctricos de control. A medida que la complejidad de los
desarrollos se acentúa con las mayores exigencias de control en los
procesos, los esquemas y arreglos también se hacen mucho más complejos,
haciéndolos muchas veces no factibles o demasiados costosos dentro de los
limites del control con lógica cableada.
5

Por otra parte los circuitos eléctricos de control desarrollados con una
lógica cableada tienen una fuerte rigidez, esto significa que bajo cualquier
cambio que sea necesario abordar en el proceso, se requerirá
probablemente de una fuerte inversión para adaptar el circuito de control a
las nuevas necesidades. O en el caso más extremo el reemplazo total del
sistema de control eléctrico existente.
Con el ánimo de eliminar o atenuar las limitaciones impuestas por la
lógica cableada y como consecuencia del desarrollo de las computadoras,
surge como una alternativa para el desarrollo de sistemas eléctricos de
control; lo que se conoce como lógica programable.
En la concepción de un sistema de control bajo lógica programable las
funciones lógicas son construidas y evaluadas en la memoria de un
computador, atendiendo por supuesto a un conjunto de instrucciones
previamente cargadas o programadas y al estado de los contactos NA y NC
de los elementos del control. Una consecuencia inmediata de esto es una
reducción sustancial en la cantidad de cables de control que son usados para
el desarrollo de las aplicaciones de control. Adicionalmente se reducen la
cantidad de dispositivos tales como: relé de tiempo, contadores, relés
auxiliares, etcétera, que son incorporados dentro de los sistemas
controladores.
Naturalmente un sistema controlador programable presenta una
característica de aplicación general, esto permite un alto grado de flexibilidad
y de adaptación a los cambios en el proceso. Modificando las instrucciones
del programa y agregando algún dispositivo de control adicional, es posible
adaptar o cambiar totalmente las funciones del control original.
Los sistemas usados en el desarrollo de controles eléctricos a través
de lógica programable reciben el nombre de CONTROLADORES LÓGICOS
PROGRAMABLES (PLC, por sus siglas en inglés), AUTÓMATAS
PROGRAMABLES o simplemente CONTROLADORES PROGRAMABLES.
6

Estos son fabricados por una gran cantidad de compañías en el ámbito


mundial y cada una presenta formatos diferentes, no existiendo un nivel de
estandarización apropiado para un estudio riguroso.
En este capítulo se aborda de una manera general el tema de los
controladores lógicos programables. Se hace una breve reseña histórica del
origen y desarrollo de los aparatos, se presentan algunas definiciones de
PLC, se estudia su constitución general, su principio de funcionamiento, las
principales formas de clasificarlos y las principales ventajas y desventajas de
su uso en los automatismos.

1.2.-RESEÑA HISTÓRICA DE LOS PLC.

A mediados de la década del sesenta la empresa General Motors,


muestra su preocupación por reducir los altos costos que involucraban el
colocar y reemplazar los sistemas de control basados en relés, para el
control de las máquinas en sus líneas de ensamblaje. En conjunto con la
empresa Digital Corporation C, se propone el desarrollo de un sistema de
control que cumpliera con los siguientes requerimientos:
• Uso de electrónica estática.
• De fácil mantenimiento.
• Debe ser reutilizable.
• Debe ser programable.
• Adaptado al ambiente industrial.
El equipo de General Motors y Digital, desarrollan un sistema llamado
PDP-14, el cual era esencialmente un sistema de memoria cableada; el
programa se desarrollaba en un ordenador que suministraba el esquema de
cableado para construir la memoria.
En forma independiente la empresa Bedford Associates (Bedford, MA)
propuso algo llamado un Controlador Modular Digital (MODICON), el cual
7

trabajaba con memorias de ferrita, permitiendo una fácil programación y


reutilización. El equipo supera las exigencias de la General Motors y
rápidamente se difunde a otras industrias. El procesador de estos equipos
se componía de circuitos integrados, conectados a través de cables.
En los años setenta la tecnología de los PLC era ya dominante en la
organización de los procesos, las máquinas de estado y los programas de
control basados en CPU. En la primera mitad de la década se incorpora la
tecnología de los microprocesadores lo que permite aumentar sus
prestaciones:
• Incorporación de elementos de interconexión hombre-maquina.
• Manipulación de datos.
• Operaciones aritméticas.
• Comunicación con ordenador.
Su aplicación aumenta las prestaciones de la maquina ya que con la
capacidad de tratamiento numérico el PLC puede desarrollar acciones
correctivas en su funcionamiento.
La segunda mitad de la década del setenta se mejora en forma
constante las prestaciones y el desarrollo de elementos especializados:
• Incremento de la capacidad de memoria.
• Posibilidad de entradas/salidas remotas (E/S o I/O).
• Entradas/salidas analógicas y numéricas. Control de posición,
• Mejoras en la programación. (Instrucciones más potentes).
• Desarrollo de comunicaciones con periféricos y ordenador.
Sus aplicaciones se extienden al control de procesos, al poder
efectuar lazos de regulación trabajando con dispositivos de instrumentación.
En esta etapa el PLC desarrolla el control adaptativo, sin intervención del
operador. Otros campos de aplicación son el posicionamiento mediante
entradas lectoras para codificadores y salidas de control de motores de paso
a paso, la generación de informes de producción y, además, el empleo de
8

redes de comunicación. Por otra parte la disponibilidad de entradas/salidas


remotas aporta una considerable reducción de costos en grandes
instalaciones. Algunos de los modelos que tomaron gran relevancia en esta
década fueron los AMD 2901 y AMD 2903 de MODICON.
Para la década de los 80 se vio un intento de estandarizar las
comunicaciones con el Protocolo de Automatización de Manufactura (MAP,
por sus siglas en inglés). En esta época se incorporan en gran medida los
avances tecnológicos de los microprocesadores, aprovechando el impulso
que se tiene en los computadores personales:
• Alta velocidad de respuesta.
• Reducción de tamaño al integrarse más las unidades de
entrada / salida.
• Entrada / salida inteligentes (servo controladores, controles
PID).
• Mayor capacidad de diagnóstico de funcionamiento.
• Capacidad de almacenaje de grandes cantidades de datos.
• Mejoras en el lenguaje. (instrucciones de bloque, de cálculo
matemático etc.
• Aparecen lenguajes de programación alternativos. (De bloques,
GRAFCET, lenguajes de alto nivel).
Fue en estos años en que surgió la necesidad de reducir
considerablemente el tamaño del PLC y hacer de ellos receptores de
instrucciones de control programadas desde una computadora.
Los 90 han visto una reducción gradual en la introducción de nuevos
protocolos, y la modernización de las capas físicas de algunos de los
protocolos más populares que sobrevivían en los 1980. La última norma (IEC
61131-3) ha intentado unir los lenguajes de programación bajo una norma
internacional. Se comercializan equipos pequeños y compactos que, junto
9

con la reducción de los precios, ha hecho que el uso se extienda a todos los
sectores industriales.

1.3.-DEFINICIÓN DE PLC.

A continuación se presentan varias definiciones de lo que es un


controlador lógico programable: IES Venacio Bravo; en su obra: Curso de
Autómatas Programables (PLC), define el PLC de la siguiente manera:
“Circuito electrónico basado en microprocesador, usado en una gran
variedad de industrias, que nos permite controlar sistemas, procesos ó
máquinas. Contiene dos conjuntos, principales, de puntos de conexión
conocidos como entradas y salidas. El estado de las salidas, dependen del
estado de las entradas y la lógica del programa. La sigla PLC define sus
características principales: Controla una planta por medio de la lógica
definida en el programa de usuario, y es programable tantas veces como sea
necesario.”
Fernando Castro y otros; en su monografía titulada Introducción al
Autómata Programable, lo definen así: “Sistema Industrial de Control
Automático que trabaja bajo una secuencia almacenada en memoria, de
instrucciones lógicas”,
Cristhian Beltrán P; en su obra Controladores Lógicos Programables,
PLC, define así: “se entiende por Controlador Lógico Programable (PLC), o
Autómata Programable, a toda máquina electrónica diseñada para controlar
en tiempo real y en medio industrial procesos secuenciales”.
Albert Mayol i Badia; en su libro Autómatas Programables, aparece la
siguiente definición: “El Autómata Programable Industrial es un equipo
electrónico, programable en lenguaje no informático, diseñado para controlar,
en tiempo real y en ambiente industrial, procesos secuenciales.”
10

Andre Simon; en su obra titulada Electricidad Industrial Aplicada,


define así: “El autómata programable es un aparato electrónico cuyo
funcionamiento está definido por un programa. A diferencia de los
calculadores, su programación no requiere competencia en informática. El
autómata programable realiza mandos de tipo lógico y secuencial en las
fábricas, es decir, cerca de las máquinas en un ambiente industrial.”
En la presente obra se define el PLC de la siguiente manera: “Es un
aparato electrónico diseñado para realizar actividades de control automático
de sistemas o máquinas en ambientes industriales, su operación se basa en
microprocesadores, memorias, lenguajes especiales de programación,
etcétera, todos configurados en arreglos muy parecidos a los que poseen las
computadoras personales (PC). La interacción con el sistema o máquina a
controlar se hace principalmente aunque no exclusivamente, a través de
variables de entrada y salida lógicas.”
También se puede definir como una “caja negra” en la que existen
unos terminales de entrada a los que se conectaran pulsadores, finales de
carrera, fotocélulas, detectores, etcétera; unos terminales de salida a los que
se conectaran bobinas de contactores, electro válvulas, lámparas, de tal
forma que las actuaciones de estos últimos están en función de señales de
entrada que estén activadas en cada momento, según el programa
almacenado.
Esto quiere decir que los elementos tradicionales relés auxiliares, relés
de enclavamiento, temporizadores, contadores..., son internos. La tarea del
usuario se reduce a realizar el “programa”, que no es mas que la relación
entre las señales de entrada que se tienen que cumplir para activar cada
salida.
11

1.4.-DESCRIPCIÓN GENERAL DEL PLC.


La constitución interna de un controlador lógico programable es
fundamentalmente la misma constitución interna de un computador personal
(PC); la diferencia fundamental radica en la forma de intercambiar la
información con el mundo exterior. En el caso del PC; la información llega al
centro de proceso del computador a través de teclados, dispositivos tipo
mouse, discos magnéticos, cámaras fotográficas, scanner, etc., en el caso de
los PLC la información fluye desde el sistema o máquina industrial a través
de unidades de acceso de datos conocidas simplemente como unidades de
entrada. La información procesada por el computador personal sale de este
por medio de monitores de video, impresoras graficas, discos magnéticos,
etc., y las acciones de control o salidas del PLC se presentan en unidades
conocidas como unidades de salida. En la figura 1.1 se muestra un
esquema general de un sistema industrial controlado a través de un PLC,
donde se destacan las unidades de entrada y salida (E/S o I/O).
La información del estado del sistema llega a las unidades de entrada
del PLC a través de los sensores o captadores, las señales provenientes de
estos dispositivos son esencialmente de tipo lógico (aunque no
generalmente). La información que llega es procesada por medio de un
programa previamente cargado en el PLC y de ser necesario se ajustan las
unidades de salida, las acciones o variable de producidas por dichas
unidades, también son esencialmente del tipo lógico y actúan sobre los
actuadores que controlan el sistema.
Se pueden identificar los siguientes elementos esenciales en un
controlador lógico programable:
• Unidades de entrada.
• Unidades de salida.
• Unidad central de proceso (CPU)
• Unidades de memoria.
12

• Programa.
• Fuente de alimentación.
• Periféricos.

Figura 1.1. Esquema de sistema controlado por PLC.

A continuación se hace una breve descripción de cada uno de los


elementos mencionados.

1.4.1.-UNIDADES DE ENTRADA.
Son circuitos electrónicos que permiten ingresar y supervisar el estado
de una variable del sistema a controlar dentro del PLC. Las variables que se
introducen al PLC son fundamentalmente de tipo digital, éstas provienen por
línea general de elementos de mando, auxiliares de mando, relés, etc., son
aparatos que cierran o abren contactos de acuerdo a la situación del sistema
13

a monitorear. Los terminales del dispositivo de supervisión o de


accionamiento son conectados al PLC en los terminales de las unidades de
entrada. El controlador programable suministra una tensión a estos
dispositivos. Cada entrada puede tener dos estados: uno con tensión,
cuando el contacto está cerrado y el PLC lee un estado alto de la variable (1
lógico), cuando el contacto está abierto se lee un estado bajo (0 lógico). Esta
lógica puede también ser inversa.
Las unidades de entrada son protegidas contra posibles
perturbaciones externas en la red de suministro y que pudieran afectar los
circuitos internos del PLC. Esta protección se alcanza con circuitos
electrónicos opto-acoplados.
La cantidad de entradas del PLC es limitada de acuerdo a los
fabricantes y los modelos presentados. Se pueden conseguir en el mercado
controladores programables de cuatro entradas hasta cientos de entradas.
Existen PLC que pueden incorporar dispositivos de entrada con
señales analógicas, las cuales son convertidas a señales digitales antes de
ser procesadas.

1.4.2.-UNIDADES DE SALIDA.

Son circuitos electrónicos a través de las cuales el controlador lógico


programable ordena las acciones de control sobre el sistema. Las variables
que salen del PLC son también de tipo lógico. Internamente el PLC abre o
cierra un contacto que permite energizar (1 lógico) o desenergizar (0 lógico)
un aparato de accionamiento; por ejemplo un contactor, una válvula
solenoide, etc., que permitirán a su vez el arranque o paro de un motor
eléctrico en el caso de un contactor o abrir o cerrar el paso de un fluido en el
caso de una válvula solenoide.
14

Es importante destacar que las unidades de salida pueden ser


interpretadas como contactos eléctricos controlados, por lo tanto pueden ser
energizados con corriente continua, así como también con corriente alterna e
inclusive se pueden combinar aparatos accionados con DC y AC en un
mismo PLC.
Las unidades de salida al igual que las de entrada también están
protegidas contra perturbaciones de las redes eléctricas de alimentación,
usan circuitos opto-acoplados.
La potencia o la intensidad de corriente que puede manejar una salida
de un PLC es un parámetro muy importante a la hora de desarrollar cualquier
aplicación, adicionalmente se debe considerar la velocidad con que es
cerrado o abierto el contacto eléctrico controlado. Estos dos factores definen
tres tipos de tecnologías para las salidas de los PLC. A continuación se
hacen comparaciones de los casos.
Salidas a relé; las cuales pueden manejar cantidades relativamente
altas de corriente, (por ejemplo 10 amp) tienen como desventaja que es lenta
debido al accionamiento electromecánico. Salidas a transistores manejan
corrientes bajas (por ejemplo 2 amp) pero son muy veloces en la
conmutación. Por último están las salidas a triacs, las cuales presentan
cualidades de alta velocidad de conmutación y manejo de alta corriente (por
ejemplo 10 amp). Existen muchas ventajas y desventajas en cada una de los
tipos de tecnologías empleadas en la configuración de las salidas. Un
desarrollo completo usando PLC debe abordar con detenimiento los
problemas de la selección adecuada del tipo de salida requerido.
La cantidad de salidas en un PLC es diversa; desde cuatro en los
minicontroladores hasta cerca de mil en los grandes sistemas.
15

1.4.3.-UNIDAD CENTRAL DE PROCESO (CPU).

Este es el cerebro del PLC al igual que en el computador. Es el centro


por donde fluye y se procesa la información del sistema a controlar. Esta
dividido en dos secciones o unidades: La unidad aritmético-lógica que se
encarga de realizar las operaciones matemáticas y lógicas y la unidad de
control que se encarga de dirigir todos los procesos involucrados. Se usan
microprocesadores integrados, así como también los microcontroladores con
capacidad de operar con palabras de 8, 16, 32, 64 y más bits.

1.4.4.-UNIDADES DE MEMORIA.

Son los medios físicos que permiten almacenar la información


requerida y generada durante el desarrollo del programa de control por parte
del PLC. La conformación de la memoria del PLC es diferente a la de los
computadores personales. La memoria en los computadores personales
esta conformada por la memoria tipo ROM (read only memory) que no es
volátil y de pequeño tamaño. La memoria RAM(random acces memory) que
es volátil y de gran tamaño (varios megabytes) y los periféricos de
almacenamiento (discos duros, diskets, cintas, discos ópticos etc.).
En los PLC la memoria es más diversificada dada las características y
funciones del equipo. Posee una pequeña memoria ROM casi con funciones
similares a la de los computadores personales. También posee una memoria
RAM utilizada con fines de procesamiento intermedio, similar a la de los
computadores personales pero de un tamaño no muy grande, se podría
comparar con el tamaño de la ROM. El segmento más importante de
memoria de los PLC es la memoria EPROM (electric program read only
memory). Como su nombre le señala es una memoria programable
eléctricamente y que es sólo para lectura. Además, no es volátil. Sobre ésta
16

a se graban las instrucciones del programa que controla el proceso o


sistema. Lo no volátil asegura que las instrucciones grabadas dentro del
PLC no se perderán al ocurrir un fallo en la energía eléctrica.
El tamaño de la memoria puede ser definido ya sea en cantidad de
bytes que pueden ser almacenados o en muchos casos por la cantidad de
instrucciones de programación que pueden ser escritas.

1.4.5.-EL PROGRAMA.

El programa representa el conjunto de instrucciones grabadas en la


memoria del PLC y que constituye, el conjunto de operaciones necesarias
para gobernar o controlar el sistema. Este conjunto de instrucciones
reemplaza las conexiones lógicas eléctricas (lógica cableada) de un sistema
automático, por una secuencia de ordenes escritas en un lenguaje apropiado
(lógica programada). En el capítulo III del trabajo se profundiza en los
procedimientos y lenguajes de programación usados en el PLC.

1.4.6.-FUENTE DE ALIMENTACIÓN.

La mayoría de los controladores lógicos programables modernos


vienen adaptados para operar en AC, sin embargo, existen versiones que
operan sólo con DC como fuente de suministro. En el caso de operación en
AC; el PLC incorpora una fuente de tensión de DC que alimenta sus circuitos
internos y en muchas aplicaciones los sensores que se conectan a las
unidades de entrada.
Algunos fabricantes presentan arreglos en los cuales el PLC puede
tener su propia fuente de DC o incorporar una externa. Esta flexibilidad la
motiva la reducción de costos cuando se dispone en el sitio de aplicación de
fuentes de DC apropiadas.
17

1.4.7.-PERIFÉRICOS.

Son los diferentes equipos que pueden ser conectados al PLC a través
de interfases apropiadas. Algunos son los siguientes: computadoras,
programadores manuales, consolas especiales de programación, monitores,
accesorios para conexión en red, etcétera. Los equipos dan gran poder de
conexión al PLC, permitiendo su comunicación a través de redes industriales.

1.5.-PRINCIPIO DE OPERACIÓN DEL PLC.

Con el propósito de ilustrar la forma de operación de la mayoría de los


controladores lógicos programables, se desarrollan tres aplicaciones, usando
el sistema tradicional de control a través de conexiones eléctricas entre los
diferentes elementos, tales como: contactores, pulsadores, relés, etcétera y
usando lógica programada con un PLC.
EJEMPLO No. 1.1: En la figura 1.2 se muestra un esquema para la
inversión de giro de un motor trifásico de corriente alterna. El cableado del
circuito de potencia y mando es tal que se puede hacer la selección del
sentido de giro a voluntad de un operador y se desarrollan sistemas de
seguridad que impiden el accionamiento simultáneo de los dos contactores
de potencia, también se incorpora un relé de protección térmica contra
sobrecargas y la respectiva señalización.
Para implementar el mismo problema a través de un PLC, se debe ver
el automatismo como un sistema de entradas y salidas o excitación y
respuesta. Sobre esta forma de abordar el problema, se profundizará en el
capítulo III. Por el momento basta con decir, que las entradas del sistema
son: los tres pulsadores (S1, S2 y So) y el relé térmico, y que las salidas son:
los dos contactores (C1 y C2) y las tres lámparas piloto (h1, h2 y h3).
18

Figura 1. 2. Circuito para inversión de giro de motor de AC

Las señales de entrada se conectan a las unidades de entrada del


PLC, como se muestra en la figura 1.3. Como se puede apreciar, el PLC
envía una señal de voltaje a los elementos sensores del sistema. Se ha
usado en el ejemplo una señal de 24 voltios de DC, pero los niveles de
tensión en PLC comerciales pueden ser de otros valores. También se puede
apreciar que la señal proveniente de cada sensor se conecta a una sola
entrada del PLC, con lo que se tiene una dirección e identificación única de
cada sensor. Cuando en la entrada del PLC aparece la señal de 24 voltios,
se tiene un uno (1) lógico y cuando no está, se tiene un cero (0) lógico.
Los actuadores del sistema se conectan a las unidades de salida del
PLC, a cada actuador corresponde una unidad de salida. En este ejemplo
las salidas son contactos eléctricos que al estar abiertos presentan un cero
(0) lógico y que al cerrarse presentan un uno (1) lógico. Entonces la
energización o no de cada uno de los actuadores depende de; si la unidad de
salida asociada cierra o no su contacto.
19

Figura 1. 3. Inversor de giro con PLC.

La figura 1.4 muestra el circuito del sistema de control en forma


simplificada, ya que se ha omitido la parte de potencia. Como puede
apreciarse las conexiones requeridas son relativamente sencillas y fáciles de
implementar.

Figura 1. 4. Esquema simplificado de inversor de giro usando PLC.


20

Los sensores y los actuadores han sido conectados al PLC,


previamente se deben construir las relaciones lógicas que gobernarán el
sistema; esto es las relaciones entre variables de entrada (sensores) y
variables de salida (actuadores). Se usan los principios de la lógica
matemática para establecer en forma apropiada las relaciones del sistema.
Las relaciones lógicas del sistema son codificadas como un conjunto
de instrucciones a través de un lenguaje adecuado (lista de instrucciones,
ecuaciones lógicas, diagramas de compuertas, diagramas de escalera,
grafcet, etcétera). El usuario introduce este conjunto de instrucciones en el
PLC a través de un programador manual que puede estar incorporado al
PLC, o por otro medio, como una computadora personal. Una vez cargado el
programa en el PLC, el sistema puede ponerse en marcha y funciona
exactamente igual que el circuito de lógica cableada de la figura 1.2.
La forma de funcionamiento interno de un controlador lógico
programable depende del fabricante del PLC y hasta del modelo de una
misma marca. Sólo en aplicaciones donde se requiere operaciones de gran
velocidad es importante conocer en detalle como el PLC se comporta y como
ejecuta las operaciones necesarias para llevar a cabo su función.
La mayoría de los PLC opera sobre una memoria intermedia tipo RAM,
en la cual desarrollan las operaciones y almacenan los valores iniciales,
intermedios y finales de las variables de entrada y de salida.
Los PLC que usan memoria intermedia leen los valores de las
variables de entrada y de salida al momento de iniciar el programa, los
valores son almacenados en localidades de su memoria intermedia.
Seguidamente se van cargando y evaluando una por una las instrucciones
contenidas en el programa los resultados obtenidos se almacenan en las
memorias intermedias si se afecta o cambia el estado de una salida, dicho
cambio se refleja en la memoria pero no aun en la salida física propiamente
dicha. De esta forma todos los cambios que involucran las funciones de
21

cada instrucción son almacenados en memoria. Al finalizar el programa las


salidas físicas son ajustadas a los valores que tienen las variables de
memoria relacionadas con cada salida.
El ciclo comienza nuevamente con la lectura del estado de las
variables de entrada y salida, repitiendo todo nuevamente. La duración del
ciclo depende de la capacidad de la cpu y de la cantidad de instrucciones
que tiene el programa implementado.
EJEMPLO No. 1.2: En la figura 1.5 se muestra un esquema para
operar un motor trifásico con freno por contracorriente. Las variables de
entrada son los pulsadores So1, So2, S1 y el relé F1. Las variables de salida
son los contactores C1, C2 y los pilotos h1, h2, y h3. Como se puede
apreciar la definición de variables de entrada y de salida del problema son
idénticas a las definidas en el ejemplo 1.1, pero se ve a simple vista, que
ambos los sistemas de control, son muy diferentes.
Las conexiones de los actuadores y sensores al PLC se muestran en
la figura 1.6 y se aprecia que son exactamente iguales a las del ejemplo 1.1
mostrado en la figura 1.4. Es sistema de control incorpora un temporizador
con contactos al trabajo (C2t), pero al revisar las entradas del PLC no se
aprecia la conexión de este elemento. La razón es porque el PLC incorpora
dentro de sus instrucciones previamente grabadas temporizadores,
contadores, relés auxiliares y otros elementos comúnmente usados en
sistemas de automatización. Estos elementos se incorporan dentro de la
estructura del programa que ejecuta el controlador lógico programable para
el sistema específico.
Por lo tanto la diferencia entre los automatismos de los ejemplos 1.1 y
1.2 radica en el programa que ejecuta el PLC para cada uno de los sistemas.
El conjunto de instrucciones que se introducen al PLC, para cada sistema de
control, es radicalmente diferente.
22

Figura 1. 5. Accionamiento de un motor AC, con freno por


contracorriente

Figura 1. 6. Conexión del motor con freno al plc.


23

EJEMPLO 1.3: En la figura 1.7 se muestra un sistema automático de


inversión de giro de una máquina para el mecanizado de materiales. A
grandes rasgos el sistema funciona de la siguiente manera: Se puede iniciar
el sistema de giro a la izquierda o a la derecha. Suponiendo que se inicia
con giro a la derecha, la máquina se desplaza hasta llegar a la posición del
final de carrera S3. Se detiene y permanece en esa posición por unos
segundos, luego inicia su recorrido hacia la izquierda, hasta alcanzar la
posición del final de carrera S4. Se detiene y permanece allí por unos
segundos, luego inicia su recorrido hacia la derecha, repitiendo el ciclo
indefinidamente hasta que el operador pulse el pulsador de parada So.

Figura 1.7. Sistema automático para operar máquina de mecanizado


de materiales.

En la figura 1.8 se muestra el esquema de las conexiones del


automatismo descrito. Se puede apreciar que, auque la complejidad del
24

mecanismo es mucho que la observada en el ejemplo 1.1, las conexiones en


el PLC apenas si sufrieron cambios para incluir en las unidades de entrada
los dos sensores de proximidad o finales de carrera S3 y S4. Los
contactores auxiliares y los temporizadores requeridos por el sistema de
control formarán parte de las instrucciones de programación que se incluyen
en el PLC.

Figura 1. 8. Conexiones del sistema de mecanizado al PLC.

Al igual que en los ejemplos anteriores el cambio principal radica en


construir un programa que satisfaga las relaciones entre las variables del
sistema.

1.6.-CLASIFICACIÓN DE LOS PLC.

Se estudia a continuación dos formas generalizadas de clasificar los


controladores lógicos programables. En primer lugar se clasifican de
acuerdo a la disposición de los elementos que lo componen en: PLC
compactos y PLC modulares. La segunda forma de clasificarlos es de
acuerdo al número de entradas/salidas (I/O) que posee: Equipos pequeños,
25

hasta aproximadamente 128 entrada/salidas. Equipos medianos, hasta


aproximadamente 500 entradas/salidas. Equipos grandes con más de 500
entradas/salidas.
Los fabricantes de controladores lógicos programables, han
desarrollado y comercializados productos que van desde 10 hasta miles de
entrada/ salidas.

1.6.1.-PLC COMPACTOS.

Son dispositivos en los cuales todas las unidades o elementos que


conforman el PLC, se encuentran en una sola estructura o caja. La
programación se hace usando uno o más tipos de lenguaje y pueden ser
programados desde una computadora, programador manual o con teclas
especiales incorporadas en el mismo PLC.
Los PLC compactos son fabricados en tamaños pequeños, pero con
posibilidad de ampliación, a través de la conexión de unidades de
entrada/salida adicionales. La mayoría de los PLC compactos posee
capacidad para comunicarse con otros PLC u otros dispositivos de control a
través de una red apropiada. En la figura 1.9 se muestran algunos tipos de
PLC compactos de varios fabricantes.
Actualmente existes pequeños PLC que incorporan potentes funciones
de control, tales como: contadores, temporizadores, salidas y entradas
analógicas, puertos de comunicación, etcétera que los hacen apropiados
para el control de una gran cantidad de equipos y sistemas pequeños, tales
como: sistemas de suministro de agua, portones eléctricos, alarmas de
incendio, equipos hidroneumáticos, etcétera.
26

Sistema
MicroLogic
1000/1761 de Allen
Bradley.
Configuraciones
de 10, 16, 25 y 32

Serie
microautómatas y
Nanoautómatas
de Telemecanique

Serie EC de Hitachi
configuraciones de
20, 28, 40, y 60 E/S

Figura 1.9 Muestra de PLC compactos de comercializados por


fabricantes.
27

1.6.2.-PLC MODULARES.

Son aquellos cuyos componentes fundamentales están divididos


conformando módulos individuales, los cuales son ensamblados por el
usuario en un soporte o chasis, de acuerdo a sus necesidades y al potencial
del equipo.
La presentación de módulos tiene dos tendencias, conocidas como:
estructura americana y estructura europea.
En la estructura americana se tiene un bloque común que contiene la
CPU, la memoria de usuario y la fuente de alimentación, mientras que las
unidades de entrada/salida se encuentran en bloques o tarjetas separadas.
De esta manera se puede configurar el PLC a los requerimientos de entrada
y salida del sistema que se desea controlar.
La estructura europea presenta una mayor cantidad de módulos, ya
que la CPU, la fuente, las ampliaciones de memoria, además de las unidades
de entrada/salida, etcétera, constituyen módulos individuales conectados a
través del bus externo del PLC. Tal grado de presentación modular permite
una gran flexibilidad a la hora de desarrollar aplicaciones con los PLC.
Por lo general los PLC modulares se construyen en tamaños
medianos y grandes aunque algunos fabricantes construyen PLC modulares
pequeños.
La programación de estos PLC suele hacerse a través de
computadoras personales y en varios tipos de lenguaje. El poder de
procesamiento es elevado y se incorporan una gran cantidad de funciones de
control dentro de la configuración básica. En la figura 1.10 se muestran
algunos tipos de PLC modulares presentados por varios fabricantes.
28

Sistema MicroLogic 1500/1769 de Allen


Bradley. Maneja hasta 156 E/S.

Figura 1. 10 PLC modulares.


29

Sistema PLC-5/1771 de Allen Bradley.


(Maneja hasta 512 entradas y 3072 salidas)

Figura 1. 10. Continuación...


30

Serie H de
Hitachi.
Expansible
hasta 4096 E/S.

Autómata TSX
107 de
Telemecanique.
Expansible
hasta 256 E/S.

Figura 1. 10 Continuación...
31

1.7.-VENTAJAS Y DESVENTAJAS DEL PLC.

A continuación se hará una descripción de las principales ventajas y


desventajas que tienen los PLC, como elementos de control de máquinas y
procesos.
Entre las principales ventajas destacan las siguientes:
a.- Menor tiempo empleado en la elaboración de proyectos debido a lo
siguiente:
• No es necesario elaborar el diagrama de funcional o de contactos.
• No es requerido un proceso de análisis de las ecuaciones lógicas
para su simplificación, ya que el PLC posee por lo general
suficiente memoria.
• La lista de materiales queda sensiblemente reducida, debido a que
muchos componentes son reemplazados por software del PLC.
Por lo tanto al elaborar el presupuesto se elimina parte del
problema que significa tener diferentes proveedores y diferentes
plazos de entrega.
b.- Se pueden introducir modificaciones y agregar elementos de
control adicionales en el sistema de mando, sin que ello provoque
necesariamente modificaciones en el cableado del circuito de control. Las
modificaciones se hacen en el programa del PLC.
c.- El espacio que ocupa el PLC es muy reducido en comparación con
los grandes armarios de contactores usados en los automatismos
tradicionales a relè y contactores.
d.- Los costos de mano de obra para la instalación de los PLC son
mucho menores que en los automatismos tradicionales.
e.- Economía en el mantenimiento, además de incrementarse la
fiabilidad del sistema al ser eliminados una gran cantidad de contactos
móviles presentes en los automatismos tradicionales. Las labores de
32

mantenimiento se resumen a revisar los elementos sensores y actuadores de


campo y que la ejecución del programa dentro del PLC sea normal. Por lo
general el PLC es capaz de detectar y señalar el mal funcionamiento, tanto
de los sensores y actuadores como del mismo aparato.
f.- Es posible controlar varios equipos y procesos al mismo tiempo y
con el mismo equipo. Por ejemplo en una vivienda, se puede controlar el
sistema de suministro de agua, un portón automático, el arranque del sistema
de aire acondicionado, etcétera, todo con un solo PLC.
g.- Los tiempos de puesta en marcha de los equipos se reducen al
desaparecer prácticamente el cableado del sistema.
h.- El equipo tiene múltiples aplicaciones y si por alguna razón se debe
prescindir de una maquina controlado por un PLC, éste puede ser usado en
cualquier otra maquina o proceso productivo.
i.- La mayoría de los PLC modernos pueden ser incorporados a redes
industriales e informáticas obteniéndose un mayor grado de control y de
monitoreo de los procesos industriales, ayudando en la construcción de
bases de datos importantes para gestión acertada de toda la empresa.
Como principales desventajas se han señalado las siguientes;
aunque hoy en día la tendencia es a desaparecer tales inconvenientes:
a.- Se ha indicado que el costo de un PLC es alto; pero cada día salen
al mercado nuevos PLC, con grandes prestaciones y precios muy asequibles.
Por lo tanto se puede encontrar un PLC adecuado a un precio razonable y
comparable a una solución a través de tableros de control tradicional. La
inversión debe incorporar los costos que a futuro tiene la confiabilidad del
sistema y la reducción de los costos de mantenimiento.
b.- Como segunda desventaja se señala la necesidad de un personal
técnico con un entrenamiento adecuado en el área de programación de los
equipos. Con respecto a esto se puede señalar que en las Universidades,
los Institutos Universitarios de Tecnología, los Colegios Universitarios, INCE
33

y muchas otras instituciones educativas tecnológicas en nuestro país,


incorporan en sus pensum de estudio de las carreras relacionadas con la
electricidad, instrumentación y control, materias que estudian el PLC. Con lo
cual muchos de los profesionales nuevos que se incorporan a la industria,
cuentan con un cierto grado de entrenamiento. Por otro lado los principales
lenguajes de usados en la programación de los PLC tienen mucha afinidad
con los esquemas de control (diagramas de escalera) usados en los
automatismos tradicionales, lo cual facilita el entrenamiento del personal que
labora en la actualidad.
CAPITULO II
ARQUITECTURA DE LOS PLC
35

CAPITULO II
ARQUITECTURA DE LOS PLC

2.1.-INTRODUCCION.

Definir una arquitectura única de un PLC es prácticamente imposible,


ya que cada una de las corporaciones que fabrican controladores
programables establece sus propias normas de construcción y configura los
sistemas que ofrecen, de acuerdo a las necesidades del mercado y a la
evolución tecnológica de los componentes de sus productos. Por lo tanto sus
arquitecturas varían, a veces enormemente, de un producto a otro, auque
tratan de mantener conectividad o capacidad de comunicación entre sus
líneas de diversos modelos de PLC.
Ahora bien, si cada fabricante impone en sus productos características
que lo hacen únicos, se hace cuesta arriba entender de una manera general
los PLC. Sin embargo hay empresas lideres mundiales, cuyos productos
poseen arquitecturas que son seguidas por muchas otras empresas del ramo
y presentan cierto grado de similitud.
En el capítulo I se señaló, que los PLC pueden tener estructura
compacta o modular, sin embargo muchos PLC que se construyen hoy día
presentan características compactas y modulares a mismo tiempo.
Con el propósito de presentar una idea general de la arquitectura de
un PLC se estudiarán varios modelos de fabricantes con cierto grado de
influencia mundial. Al observarse la forma como se han diseñado y
configurado cada uno de ellos, es posible generalizar algunos elementos de
la arquitectura de un PLC.
Son estudiados los siguientes PLC: PLC LOGO y SIMATIC S7,
ambos de la empresa SIEMENS, PLC – 5; de la empresa ALLEN BRADLEY
y sistema Quantum Automation de MODICON del grupo SCHNEIDER.
36

2.2.-SISTEMA LOGO! DE SIEMENS.

El sistema Logo! De Siemens, es un pequeño PLC, la empresa lo


comercializa como un modulo lógico universal. Su estructura es modular,
partiendo de una configuración o modulo básico, el cual posee ocho entradas
y cuatro salidas. A través de la conexión de módulos analógicos y digitales
se puede expandir la configuración del sistema Logo!, y contar con un PLC
de prestaciones amplias requeridas en muchos problemas de control de
áreas residenciales, comerciales e industriales; tales como: control de
alumbrado, portones y puertas automáticas, sistemas hidroneumáticos,
compresores de aire, equipos de aire acondicionado, manejo de bombas,
etcétera.
El modulo básico Logo! se construye en dos variantes: uno con
pantalla y teclas de programación, con lo cual se puede programar
directamente el equipo. La otra versión no posee teclas ni pantalla, por lo
que la programación se realiza exclusivamente a través de un computador
personal.
En la figura 2.1 se muestra una tabla con las distintas variantes
básicas del sistema Logo!. Como se puede apreciar existen módulos básicos
que utilizan fuentes de alimentación diversas, cada nivel y tipo de tensión de
alimentación definen un modelo específico.
También se pueden apreciar que existen dos variantes para las
salidas del PLC, éstas son: a relé o a transistores.
Se incluye además en la figura 2.1, algunas orientaciones sobre los
códigos de identificación y su significado para las configuraciones o módulos
básicos del sistema Logo!.
37

Figura 2.1. módulos básicos del sistema Logo!. (Fuente:


Manual del sistema Logo! de SIEMENS)
38

Para ampliar las prestaciones del sistema Logo!, se pueden usar dos
tipos de módulos: módulos digitales (DM) y módulos analógicos (AM). En la
figura 2.2 se muestra una tabla con los diferentes tipos de módulos de
ampliación y sus características más resaltantes.

Figura 2. 2. módulos para la ampliación del sistema Logo!. (Fuente:


Manual del sistema Logo! de SIEMENS)

En la figura 2.3 se muestran las formas, dimensiones y partes de un


módulo básico y uno de ampliación del sistema Logo!. Las entradas se
identifican con la letra I (I1, I2, etc.) y las salidas con la letra Q (Q1, Q2, etc.).
Como se aprecia en la figura 2.3, las dimensiones del equipo básico y
la de los módulos de ampliación son bastante reducidas, con lo cual se
obtiene gran capacidad de control en poco espacio, aún con las
configuraciones máximas posibles permitidas para estos equipos.
39

Figura 2. 3. Formas y dimensiones de módulos Logo!. Fuente:


Manual del sistema Logo! de SIEMENS)
40

Es posible armar varias configuraciones partiendo de un módulo


básico e ir agregando módulos de ampliación. Las posibilidades de
combinaciones entre un módulo básico los módulos de ampliación así como
las combinaciones posibles de módulos de ampliación se muestran en la
figura 2.4.
Las configuraciones máximas que pueden ser desarrolladas con el
sistema Logo!, se muestran en la figura 2.5.

Figura 2. 4. Posibilidades de combinación de módulos Logo!.


(Fuente: Manual del sistema Logo! de SIEMENS)
41

Figura 2. 5. Configuraciones máximas de Logo!. (Fuente:


Manual del sistema Logo! de SIEMENS)

La forma de conectar el sistema Logo! a la fuente de alimentación es


simple, como puede apreciarse en la figura 2.6.
El sistema Logo! acepta principalmente entradas de tipo digital
proveniente de sensores on/off o pulsadores, selectores, interruptores y otros
elementos de dos posiciones, pero algunas de sus entradas pueden ser de
tipo analógico. En la figura 2.7 se muestra la forma de conectar los
elementos de entrada digitales o sensores digitales al sistema Logo!.
El sistema Logo! considera una entrada digital como un uno lógico (1)
o un cero lógico (0) de acuerdo al nivel de voltaje que presente la señal. La
figura 2.8 muestra una tabla con las referencias de voltajes considerados
como 1 o 0 por las diferentes variantes del sistema Logo!.
42

Figura 2. 6. Conexión de fuente de voltaje al sistema


Logo! (Fuente: Manual del sistema Logo! de SIEMENS)

Figura 2. 7 Conexión de sensores al sistema Logo!.


(Fuente: Manual del sistema Logo! de SIEMENS)
43

Figura 2. 8. Referencias de niveles de voltajes para entradas


digitales del sistema Logo!. (Fuente: Manual del sistema Logo! de
SIEMENS)
44

La conexión de sensores analógicos o entradas analógicas al sistema


Logo! se muestran en la figura 2.9, para un módulo de ampliación analógico.
Se puede medir corrientes de 0 a 20 mA., tensiones de 0 a 10 voltios, se
pueden colocar sensores de temperatura, etcétera. Las señales analógicas
son convertidas a valores digitales de 0 a 1000.

Figura 2. 9. Conexión de entradas analógicas al sistema Logo!.


(Fuente: Manual del sistema Logo! de SIEMENS)

Los actuadores del sistema de control se conectan a las unidades de


salida del sistema Logo!. El sistema se presenta con dos variantes o tipos de
salida: salida a relè y salida a transistores. La figura 2.10 muestra la forma
de conectar los actuadores al sistema Logo!, De acuerdo con el tipo de salida
que presente.
Los actuadores colocados en las salidas a relè pueden ser de varios
niveles de tensión y de AC o DC, mientras que las salidas a transistores
operan solo a 24 voltios DC.
La programación del sistema Logo! se pude realizar a través de las
teclas incorporadas en el módulo básico o por medio de una computadora
personal (PC). Los sistemas básicos que no poseen pantalla, se programan
45

exclusivamente a través de la PC. El software utilizado se denomina


Logo!soft Confort.

Conexión para salida a relè.

Conexión para salida a transistores.

Figura 2. 10. Conexión de salidas del sistema Logo!. (Fuente:


Manual del sistema Logo! de SIEMENS)
46

El lenguaje de programación utilizado (Logo!soft confort), se basa en


redes de compuertas y módulos funcionales que realizan funciones
específicas y que se interconectan para construir un automatismo. En la
figura 2.11 se muestra un ejemplo de una red de compuertas para un control
automático implementado en un sistema Logo!. En el capítulo III se
profundiza sobre las redes de compuertas y otras formas de lenguaje de
programación de los PLC.

Figura 2. 11 Red de compuertas para automatismo programado en


Logo!soft Confort. (Fuente: Manual del sistema Logo! de SIEMENS)

El software incorpora múltiples funciones lógicas, de tiempo, de


memoria, contadores, reloj, etcétera. Con lo cual se obtiene una gran
prestación para este pequeño PLC.
A fin de estudiar en detalle el sistema Logo! de SIEMENS, se
recomienda revisar el manual del sistema Logo! del fabricante.
47

2.3.-SISTEMA SIMATIC S7-200 DE SIEMENS.

La línea de PLC Simatic S7-200 de la empresa SIEMENS consta de


cuatro unidades básicas, cada una de ellas con diferentes cantidades de
entradas y de salidas y una variedad de elementos o módulos de ampliación.
Las unidades básicas comercializadas en la actualidad son las siguientes:
CPU 221, CPU 222, CPU 224, CPU 226 y CPU 226 XM.
La empresa SIEMENS ha comercializado anteriormente la línea
Simatic S7-200 a través de los siguientes módulos básicos: CPU 212, CPU
214, CPU 215 y CPU 216, éstas configuraciones son de 16 Bits, mientras
que las nuevas versiones son de 32 Bits. En la figura 2.12 se muestran las
CPU de la línea Simatic S7-200.
En la figura 2.13 se muestra una tabla donde se resaltan las
principales características de las CPU de la línea Simatic S7-200.
Con excepción de la CPU 221, todas las demás aceptan módulos de
expansión que incrementan las prestaciones de la serie.

Figura 2. 12 CPU del sistema Simatic (Fuente: Catàlogo del sistema


Simatic S7-200 de SIEMENS).
48

Figura 2. 13 Principales características de la línea Simatic S7-200.


(Fuente: Manual del sistema de Automatización S7-200 de Siemens)

En la figura 2.14 se muestra una tabla con los diferentes módulos de


ampliación que se ofrecen para los distintos PLC de la serie Simatic S7-200.
Como puede observarse, las ampliaciones son de dos tipos: digitales
o analógicas y es posible incrementar el número de salidas y/o de entradas
de todo el sistema. Las ampliaciones incluyen módulos de conexión a redes
industriales.
La tensión de alimentación de las CPU puede ser seleccionada en 24
voltios de corriente continua o 120 a 240 voltios en corriente alterna. En la
figura 2.15 se muestra como conectar la fuente de alimentación de corriente
alterna AC o continua CC, a las CPU del sistema.
49

Figura 2. 14 Módulos de ampliación de la serie Simatic S7-200.


(Fuente: Manual del sistema de Automatización S7-200 de Siemens)

Las diferentes CPU de la serie que se está analizando (CPU 221...


CPU 226) usan entradas opto-acopladas, alimentadas con una fuente de 24
voltios de DC para conectar los sensores, mientras que las salidas pueden
ser de 24 voltios DC (salidas a transistores) o 120 a 240 voltios AC (salidas a
relé). La figura 2.16 muestra la forma de conectar las entradas y las salidas
a la CPU de acuerdo al tipo de alimentación usado.
Algunas CPU antiguas del sistema S7-200 usan corriente alterna del
mismo nivel que la alimentación con el propósito de suministrar tensión a los
diferentes sensores y por lo tanto; como tensión de entrada a la CPU.

Figura 2. 15 Conexión de la CPU del sistema S7-200 (Fuente: Manual


del sistema de Automatización S7-200 de Siemens)
50

Los módulos de ampliación digitales del sistema pueden ser de


corriente continua o alterna. La figura 2.17 muestra la forma de conectar los
diferentes elementos de entrada y de salida para diferentes tensiones de
alimentación.

Figura 2. 16 Conexión de las entradas y salidas a la


CPU del sistema S7-200. (Fuente: Manual del sistema
de Automatización S7-200 de Siemens)

Los módulos de ampliación analógicos usan como fuente de


alimentación 24 voltios de DC. Dicho nivel de tensión, por lo general, es
suministrado por la CPU. La figura 1.18 muestra la conexión de estos
módulos a los diferentes elementos de entrada y salida del sistema de control
automático.
51

Figura 2. 17 Conexión de las entradas y salidas a los módulos


digitales de expansión del sistema S7-200. (Fuente: Manual del
sistema de Automatización S7-200 de Siemens)

La programación del sistema Simatic S7-200 se realiza usando el


software STEP 7-Micro/WIN, comercializado por Siemens. Es necesario el
uso de un computador personal y un cable de conexión entre el PC y la CPU,
con el propósito de cargar en el PLC, el programa creado en la PC. El
mencionado software permite la edición de programas de tres maneras
distintas. La edición en KOP es una estructura de programación basada en
redes de escalera. La edición AWL visualiza los programas a través de una
lista de instrucciones. Y por último la edición FUP usa los logigramas o
diagramas de compuertas para desarrollar los programas. El software
52

permite observar un mismo programa de aplicación en sus diferentes


versiones o ediciones.

Figura 2. 18 Conexión de las entradas y salidas a los módulos


analógicos de expansión del sistema S7-200. (Fuente: Manual del
sistema de Automatización S7-200 de Siemens)
El software incorpora un conjunto de funciones que hacen del sistema
Simatic S7-200 un poderoso PLC de amplias prestaciones, además se
cuenta con asistentes que facilitan la construcción de programas de
aplicación.
Con el propósito de conocer detalladamente el sistema de
automatización Simatic S7-200, se recomienda revisar el manual de dicho
sistema.
53

2.4.-SISTEMA PLC-5 / 1771 DE ALLEN BRADLEY.

El sistema PLC-5 /1771 es un PLC modular fabricado por la empresa


Allen Bradley. La configuración básica parte de un chasis de
entradas/salidas (chasis E/S 1771), especialmente diseñado para contener
los diferentes elementos que conforman el PLC.
Los diferentes módulos que conforman el sistema PLC-5 / 1771 son
los siguientes:
• El chasis.
• La fuente de poder.
• El procesador.
• Módulos de entradas/salidas digitales (E/S digitales).
• Módulos de entradas/salidas analógicas (E/S analógicas).
• Módulos de comunicación a otros chasis con E/S adicionales.
• Módulos de comunicación con redes industriales.
• E/S distribuidas.
• Software de programación.
• Accesorios de conexión.
En la figura 2.19 se pueden observar los diferentes elementos
mencionados.
La modularidad que presenta el PLC-5 / 1771 permite configurar
aplicaciones a la medida y con una gran capacidad de conectividad con otros
elementos de control compatibles con el sistema principal.
En la figura 2.20 se muestran dos posibles configuraciones del sistema
PLC-5 / 1771, la primera de ellas es una configuración sencilla donde solo se
cuenta con un chasis que contiene la fuente y el procesador, en ésta
configuración se puede alcanzar un máximo de 512 E/S.
54

Figura 2. 19. Módulos del sistema PLC-5 /1771. (Fuente:


manual del sistema PLC-5 / 1771 de Allen Bradley)
55

La segunda configuración es mucho más compleja y se pueden


direccionar hasta 3072 E/S, utilizando módulos adicionales de E/S y
comunicación a través de redes.
A continuación se estudiarán algunos detalles de los principales
componentes que conforman la arquitectura del PLC-5 / 1771.

Configuración
básica.

Configuración
compleja.

Figura 2.20. Configuraciones posibles del sistema PLC-5 / 1771.


(Fuente: Manual del PLC-5 / 1771 de Allen Bradley)
56

El chasis sirve de soporte para todos los elementos que integran el


sistema PLC-5 / 1771, este viene en versiones de 1, 2, 4, 8, 12 y 16 ranuras
para colocar los diferentes módulos, uno por cada ranura. En la figura 2.21
se muestra una tabla de selección para los diferentes modelos de chasis.

Figura 2. 21. Modelos de chasis del sistema PLC-5 / 1771. (Fuente:


Manual del PLC-5 / 1771 de Allen Bradley)
57

La fuente de poder requerida para la operación del sistema se


obtiene a través de módulos que se conectan en una o dos ranuras del
chasis. Los circuitos electrónicos del sistema operan a con una tensión de 5
voltios de corriente continua (5 VDC). Los chasis tipo 1771 PSC y AM están
diseñados especialmente para colocar fuentes de poder y conectarse al
backplane del chasis de E/S con cables conectivos especiales. En la figura
2.22 se muestra las características de las fuentes disponibles para el sistema
PLC-5 / 1771.

Módulo de Módulo de fuente de


fuente de alimentación eléctrica en un
alimentación chasis de alimentación
eléctrica eléctrica 1771-PSC
insertados en conectado a un chasis de
chasis de E/S E/S

Figura 2. 22. Fuentes de alimentación del sistema PLC-5 / 1771.


(Fuente: Manual del PLC-5 / 1771 de Allen Bradley)
58

Figura 2. 22. Continuación...

El procesador es un módulo de ranura única que se coloca en el


extremo izquierdo del chasis E/S 1771. Está disponible en una amplia gama
de configuraciones de E/S, de memoria y posibilidades de comunicación.
Cada procesador tiene incorporado un puerto de comunicación que puede
ser configurado para:
• Una red Data Highway plus.
• Una red de E/S remotas universales.
Además cada procesador posee un puerto Ethernet, adicionalmente
se pueden incorporar puertos adicionales Ethernet, DeviceNet usando
módulos apropiados. En la figura 2.23 se muestran las tres categorías de
procesadores que pueden usarse en el sistema PLC-5 / 1771.
59

Figura 2. 23. Tabla de categorías de procesadores del sistema PLC-5


/ 1771. (Fuente: Manual del PLC-5 /1771 de Allen Bradley)
Como se puede apreciar en la tabla aparecen tres categorías de
procesadores, las cuales dependen de las posibilidades de comunicación con
unidades de E/S locales, locales extendidas, universales remotas, DeviceNet
y ControlNet. Las capacidades máximas de direccionamiento de unidades
de entradas y salidas se muestran también en la tabla, para cada una de las
categorías de procesadores.
En las tablas mostradas en la figura 2.24 se muestran más detalles
relacionados con los procesadores, tales como capacidad de memoria,
combinaciones de E/S, tiempos de ejecución de instrucciones, cantidad
máxima de chasis que puede direccionar, puertos, corriente de carga del
backplane. La figura 2.23 muestra solo los procesadores estándar.
60

Figura 2. 24. Procesadores estándar del sistema PLC-5 / 1771.


(Fuente: Manual del PLC-5 / 1771 de Allen Bradley)
61

Figura 2. 24. Continuación...

Los módulos de entradas digitales son circuitos electrónicos que


permiten conectar los sensores externos, tales como: pulsadores, finales de
carrera, detectores de proximidad, contactos, etc. al circuito interno o de
procesamiento del PLC. La fuente de alimentación de los sensores es
diferente a la del circuito interno del PLC y el sistema de acoplamiento de
señal es a través de opto-acopladores presentes en las unidades de entrada.
62

En la figura 2.25 se muestra una tabla con los módulos de entradas


del sistema PLC-5 / 1771. Estos pueden ser tanto de corriente alterna (CA)
como de corriente continua (CC), algunos diseñados para aplicaciones
específicas.

Figura 2. 25. Módulos de entradas del sistema PLC-5 / 1771.


(Fuente: Manual del PLC-5 / 1771 de Allen Bradley)
63

Los módulos de salidas digitales conectan los dispositivos


accionadores tales como: bobinas de contactores, relés, electro-válvulas
neumáticas, luces pilotos, etc. Al igual que las entradas las salidas son opto-
acopladas y pueden operar a diferentes voltajes de CA y CC. Las salidas
pueden ser de relé, de transistores o de triacs. En la figura 2.26 se muestra
una tabla con las características más resaltantes de los módulos de salidas a
relé, para ver las características de los otros módulos de salida ver el manual
del sistema.

Figura 2. 26. Módulos de salidas digitales del sistema PLC-5 / 1771.


(Fuente: Manual del PLC-5 / 1771 de Allen Bradley)
64

Los módulos de E/S analógicas se utilizan para realizar las


conversiones analógico/digital (A/D) o digital/analógico (D/A) necesarias para
interconectar directamente señales a la tabla interna de señales digitales
(bits) del PLC. En la tabla 2.27 se muestra un grupo de módulos utilizados
para el sistema PLC-5 / 1771. Existen muchos módulos con aplicaciones
específicas, para profundizar sobre el tema se recomienda revisar el manual
del equipo.

Figura 2. 27 Módulos de E/S analógicas del sistema PLC-5 / 1771.


(Fuente: Manual del PLC-5 / 1771 de Allen Bradley)
65

Los módulos de comunicación permiten conectar puertos


adicionales al procesador y así conformar una red distribuida de control a
través de una planta industrial. El sistema PLC-5 / 1771 tiene posibilidades
de comunicarse a través de las siguientes redes: DeviceNet, EtherNet,
ControlNet, Data Highway Plus, RS-232-C (DF1), Red universal de E/S
remotas y Vínculos de E/S locales extendidas.
La figura 2.28 muestra los diferentes módulos utilizados para ampliar
los puertos de comunicación del PLC. La figura 2.29 muestra algunas
configuraciones típicas del sistema PLC-5 / 1771 conectado en redes
industriales.

Figura 2. 28. Módulos de comunicación del sistema PLC-5 /


1771. (Fuente: Manual del PLC-5 / 1771 de Allen Bradley)
66

Figura 2. 29. Configuraciones típicas de redes que integran el


sistema PLC-5 / 1771. (Fuente: Manual del PLC-5 / 1771 de Allen
Bradley)

La programación del sistema PLC-5 / 1771, requiere del uso del


software RSLogix 5 comercializado por Allen Bradley para el sistema en
estudio, el cual usa una PC con sistema operativo Windows 95, 98 y NT. Se
puede programar en lenguaje de escalera, texto estructurado (STX Structure
text) y gráfico de secuencia estructurada (SFC Sequential Function Chart),
también conocido como GRAFCET.
67

2.5.-SISTEMA QUANTUM AUTOMATION DE MODICON.

El sistema Quantum Automation de MODICON es un PLC modular y


escalable o ampliable, lo cual permite su adaptación a una gran cantidad de
aplicaciones en sistemas industriales.
El sistema puede manejar hasta 448 unidades de entradas/salidas
(E/S) en un solo gabinete, o se puede alcanzar a través de configuraciones
de red un máximo de 64000 E/S.
Los procesadores del sistema se basan en tecnología Intel y sus
memorias van desde 256 Kb, hasta 4 Mb.
Los elementos que componen el sistema son los siguientes:
• Chasis, bastidor o backplane.
• Procesador o CPU.
• Fuente de alimentación.
• Módulos de entrada/salida digital o discreto.
• Módulos de entrada/salida analógicos.
• Módulos de comunicación.
• Módulos especiales.
• Otros accesorios.
En la figura 2.30 se muestra un diagrama de conexión del sistema
Quantum Automation. La CPU se ubica en el módulo local y existen
estaciones distribuidas de E/S (DIO) y estaciones remotas de E/S (RIO) las
cuales se conectan con la estación local o maestra a través de redes
industriales especiales.
El sistema Quantum Automation permite la comunicación con las
siguientes redes industriales: Modbus, Modbus plus, E/S remotas, Ethernet
TCP/IP, Ethernet MMS, Interbus, LonWorks, SERCOS.
68

Figura 2. 30. Esquema básico de un sistema Quantum Automation.


(Fuente: Guía de referencia del hardware del sistema Quantum
Automation de MODICON)

A continuación se describe brevemente los principales componentes


del sistema.
El chasis o bastidor es la estructura o soporte donde se colocan
todos los componentes o módulos del sistema Quantum. El bastidor se
encarga de proveer las señales de comunicación y la distribución de energía
para los diferentes módulos conectados. Los bastidores tienen las siguientes
capacidades en lo referente a ranuras para insertar o aceptar módulos:
Chasis de 2, 3, 4, 6,10, 16 ranuras (slots).
En la figura 2.31 se muestran los diagramas de los chasis y sus
referencias. La mayoría de los módulos del sistema Quantum ocupan una
sola ranura en el chasis y se pueden ubicar en cualquier posición.
69

Figura 2. 31. BackPlane o chasis del sistema Quantum. (Fuente:


Guía de referencia del hardware del sistema Quantum Automation
de MODICON)

La fuente de alimentación son módulos que suministran la energía al


chasis y sirve además como filtro contra ruidos y parásitos del sistema
eléctrico. La fuente de poder toma el suministro de energía local y
transforma en una fuente de tensión de 5 voltios de DC requeridos por el
70

CPU, los módulos de entrada/salida y de comunicación. La energía


requerida por las señales de los sensores de campo es suministrada por
otras vías. Los módulos pueden conectarse de tres maneras diferentes para
suministrar una mayor cantidad de potencia, se colocan como fuente
independiente, en paralelo o aditivas independientes y en configuración de
respaldo o redundantes.
En la figura 2.32 se muestra un módulo típico y las referencias de
diversas fuentes compatibles con el sistema Quantum.

Figura 2. 32. Módulos de alimentación del sistema Quantum.


(Fuente: Guía de referencia del hardware del sistema Quantum
Automation de MODICON)
71

Las CPU del sistema Quantum están basadas en tecnología Intel y


poseen diversas capacidades de memoria y comunicación. Están colocadas
en el bastidor principal y sirve de controlador maestro para gobernar
unidades de entrada/salida locales, remotas y distribuidas del sistema.
En la figura 2.33 se muestra un módulo de CPU para el sistema
Quantum, se destacan los puertos de comunicación incorporados. La figura
2.34 se detallan algunas características de los módulos de CPU que pueden
ser usados en el sistema.
Los puertos de comunicación del sistema Quantum no se limitan a los
ubicados en el CPU sino que además se pueden usar módulos adicionales
que permiten ampliar las posibilidades de comunicación del sistema.

Figura 2. 33. Modulo de CPU típico del sistema Quantum. (Fuente:


Guía de referencia del hardware del sistema Quantum Automation
de MODICON)
72

Figura 2. 34. Referencias de las CPU del sistema Quantum.


(Fuente: Guía de referencia del hardware del sistema Quantum
Automation de MODICON)

Los módulos de entras/salidas (E/S) digitales permiten conectar las


señales lógicas de campo (pulsadores, selectores contactos etc.) y las
respuestas o salidas digitales, que conectan los actuadores (bobinas,
válvulas solenoides etc.) al procesador del sistema Quantum. El sistema
cuenta con una gran diversidad de éstos módulos lo cual permite ingresar al
procesador una variedad de señales provenientes de los procesos de control
e igualmente los módulos de salida conectan una gran diversidad de
elementos de accionamiento.
Todos los módulos de E/S Quantum están poseen acoplamiento
óptico entre las señales de campo y el bus del procesador, con lo cual se
resguarda el circuito electrónico interno de sistema.
La figura 2.35 muestra un módulo estándar de E/S digital. En la figura
2.36 se muestran algunos módulos de entrada digital y en la figura 2.37
módulos de salida. Como se aprecia en las tablas de muestra, las
combinaciones de cantidad de salidas y tensiones de conexión son bastante
diversas.
73

El sistema Quantum cuenta con módulos que poseen entradas y


salidas digitales combinadas en una misma estructura. En la figura 2.38 se
dan las características básicas de los mencionados módulos.
Como se puede notar en las diferentes tablas de E/S, se requiere de
una fuente independiente para alimentar los captadores y actuadores. La
fuente puede ser de AC o de DC y de varios niveles de magnitud.
Los módulos poseen diodos emisores de luz (LED) que permiten
observar en todo momento los estados de las diferentes entradas y salidas
conectadas.
El software de programación del PLC permite configurar de manera
apropiada los diferentes módulos de E/S, dándole una dirección única a cada
uno de ellos y a cada entrada o salida del sistema Quantum.

Figura 2. 35. Módulo de E/S del sistema Quantum. (Fuente: Guía


de referencia del hardware del sistema Quantum Automation de
MODICON)
74

Figura 2. 36. Módulos de entrada del sistema Quantum. (Fuente:


Guía de referencia del hardware del sistema Quantum Automation
de MODICON)
75

Figura 2.37. Módulos de salida digital del sistema Quantum.


(Fuente: Guía de referencia del hardware del sistema Quantum
Automation de MODICON)
76

Figura 2. 38. Módulos de E/S combinados del sistema Quantum.


(Fuente: Guía de referencia del hardware del sistema Quantum
Automation de MODICON)

Los módulos de entradas/salidas analógicas del sistema Quantum


permiten la conversión de señales de corriente o tensión, de magnitud
analógica en señales digitales que usa el microprocesador Quantum, así
como también el cambio de señales digitales provenientes del procesador en
señales analógicas que van a controlar dispositivos de campo. La señal
eléctrica de corriente o voltaje proviene; por lo general, de instrumentos de
medición de temperatura, presión, caudal y otras señales involucradas en los
sistemas de control. La figura 2.39 muestra un módulo de E/S típico.
Los módulos E/S analógicos presentan varias configuraciones, en la
figura 2.40 se muestra una tabla de módulos de entradas analógicos. La
figura 2.41 muestra módulos E/S de salidas analógicas. También hay
módulos que tienen, tanto entradas como salidas analógicas, los cuales se
muestran en la figura 2. 42. Todos los módulos son configurables y tienen
desde 2 hasta 16 canales de entradas.
77

1.- Número de Modelo y código de colores.

2.- Panel de diodos LED indicadores.

3.- Puerta removible y etiqueta.

4.- Regleta de conexiones.

Figura 2.39. Módulo de E/S analógico típico. (Fuente: Guía de


referencia del hardware del sistema Quantum Automation de
MODICON)

Figura 2.40. Módulos de entrada analógica del sistema Quantum.


(Fuente: Guía de referencia del hardware del sistema Quantum
Automation de MODICON)
78

Figura 2. 41. Módulos de salida analógica del sistema Quantum.


(Fuente: Guía de referencia del hardware del sistema Quantum
Automation de MODICON)

Figura 2. 42. Módulo combinado de entradas y salidas del sistema


Quantum. (Fuente: Guía de referencia del hardware del sistema
Quantum Automation de MODICON)
79

Los módulos de comunicación del sistema Quantum permiten


ampliar la cantidad de puertos de comunicación básicos que tiene el
microprocesador del sistema. En la figura 2.43 se muestra una tabla donde
se señalan los diferentes módulos para las diversas redes de comunicación
compatibles con el sistema Quantum. Se pueden utilizar combinaciones de
estas redes para proporcionar arquitecturas de comunicación sencillas y de
altas prestaciones que cumplan los exigentes requisitos de conectividad de
ordenadores y controladores.

Figura 2. 43. Módulos de comunicación del sistema Quantum.


(Fuente: Guía de referencia del hardware del sistema Quantum
Automation de MODICON)
80

Los módulos especiales del sistema Quantum son dispositivos


diseñados para realizar tareas específicas dentro de un sistema de
automatización, entre los cuales están los siguientes: módulos contadores,
módulos de interfase ASCII, módulos interruptores de alta velocidad,
módulos para el control de movimiento en un solo eje, etcétera.
La programación del sistema Quantum Automation se realiza a través
del software Concept, el cual es comercializado por el grupo Schneider. El
software trabaja en ambiente Windows y posee cinco editores compatibles
con la norma IEC 61131-3, sobre lenguajes de PLC.
CAPÍTULO III
BASES LÓGICAS DE UN AUTOMATISMO Y NORMA
INTERNACIONAL PARA LOS CONTROLADORES
PROGRAMABLES.
82

CAPÍTULO III
BASES LÓGICAS DE UN AUTOMATISMO Y NORMA
INTERNACIONAL PARA LOS CONTROLADORES
PROGRAMABLES.

3.1.-INTRODUCCIÓN.

La concepción moderna del automatismo dejó atrás los grandes


cuadros de control con infinidad de relés y otros dispositivos interconectados
a través de conductores, éstos han sido sustituidos por pequeños y
poderosos controladores programables. Esto ha conllevado a cambios
profundos en la concepción del circuito eléctrico del control, transformando
los esquemas de relés en programas que se corren en computadoras y
controladores programables, haciendo posible el desarrollo de aplicaciones
con un alto grado de complejidad.
En el presente capítulo se estudia la manera de convertir un problema
clásico de automatismo utilizando relés y contactores en un problema lógico
que pueda ser transformado en un programa que ejecute la misma función
de control y sea ejecutado en un controlador programable.
La formulación lógica del problema de control eléctrico o de un
automatismo conlleva a la presentación del problema en cuatro formas
basadas en el álgebra booleana, éstas son: las ecuaciones booleanas, la
lista de instrucciones, el diagrama de escalera y el diagrama de compuertas.
Estas cuatro formulaciones son básicas en la definición de lenguajes
estándar patrocinado por la Comisión Electrotécnica Internacional.
Se incluye en el capítulo la presentación de la norma IEC-61131, la
cual representa un importante estándar internacional para el desarrollo y
programación de los controladores programables.
83

3.2.-FORMULACIÓN LÓGICA DE UN PROBLEMA DE


CONTROL ELÉCTRICO.

Los circuitos automáticos de control eléctrico pueden ser presentados


como un problema de sistema. Mediante este enfoque, se ve el circuito de
control como un conjunto de variables de entrada o de excitación y un
conjunto de respuestas o variables de salida, todas interactuando en un
proceso a fin de construir una respuesta. El sistema puede ser representado
como se muestra en la figura 3.1.

Figura 3. 1 Esquema de un sistema.

Un sistema puede ser descrito de muchas maneras, una de ellas es


mediante un modelo matemático, el cual expresa las diferentes relaciones
que existen entre las variables de entrada y las variables de salida o
respuesta del sistema. El conjunto general de ecuaciones matemáticas que
representa el sistema se muestra a continuación.
84

Y1 = f1 ( X 1 , X 2 , X 3 ,......., Xn , Y 1 , Y 2 ,Y 3 ,......., Yn )

Y 2 = f 2 ( X 1 , X 2 , X 3 ,......., Xn , Y 1 , Y 2 , Y 3 ,......., Yn )

Y 3 = f 3 ( X 1 , X 2 , X 3 ,......., Xn , Y 1 , Y 2 , Y 3 ,......., Yn )

Y n = f n ( X 1 , X 2 , X 3 ,......., Xn , Y 1 , Y 2 , Y 3 ,......., Yn )

Para la construcción del modelo matemático se requiere observar


cuidadosamente el sistema que se desea representar, a fin de identificar las
variables que deben ser consideradas independientes o variables de entrada
o excitación (Xn), y aquellas que se deben considerar como variables
dependientes o de salida o respuestas del sistema.
Un sistema físico suele presentar innumerables variables, se pueden
seleccionar aquellas que realmente son determinantes y de interés para el
estudio realizado.
Las funciones que describen el sistema pueden ser muy complejas
dependiendo del grado de precisión que se desee obtener del modelo y lo
realista o aproximado a la realidad que este sea.
Al momento de construir el modelo matemático se deben hacer
muchas suposiciones, aproximaciones y limitar las observaciones y
resultados.
Con el propósito de ilustrar las ideas anteriores se analizará el
siguiente ejemplo: Considerar una resistencia eléctrica como sistema a
estudiar. Algunas variables de estudio del sistema son las siguientes:
• Voltaje en los terminales.
• Corriente a través de los terminales.
• Potencia eléctrica disipada.
85

• Temperatura alcanzada por la resistencia.


• Energía disipada.
• Temperatura ambiente que rodea la resistencia.
• Imperfecciones del material con que se construyó la resistencia.
• Etcétera.
Las relaciones entre algunas variables son muy bien conocidas y otras
no. De todas las variables involucradas en el sistema, solo se seleccionan
las de interés para nuestro estudio. Por ejemplo voltaje, corriente y potencia.
Se considera que las variables temperatura de la resistencia, temperatura
ambiente, imperfecciones, etcétera no influyen en forma determinante en la
respuesta del sistema.
Consideremos ahora cual de las variables estudiadas es dependiente
y cual independiente. Se asume para el ejercicio que la corriente eléctrica
es la variable independiente y el voltaje en los terminales y la potencia son
respuestas del sistema o variables dependientes. En la figura 3.2 se ilustra
el modelo del sistema.
El modelo matemático que describe el sistema es el siguiente:

V = R*I

P = V *I

En el modelo descrito las variables son continuas y pueden tomar una


infinidad de valores. En el caso de los circuitos de control eléctrico se
pueden considerar modelos en los cuales las variables solo toman dos
valores: abierto o cerrado, todo o nada, apagado o encendido, 0 o 1,
etcétera.
Cuando el sistema se reduce al estudio de variables de dos estados,
se emplea los principios de la lógica matemática para describir las relaciones
de las variables involucradas en el estudio y la construcción de modelos
lógicos.
86

Figura 3.2 Modelo sistémico de una resistencia.

Al trabajar con modelos lógicos se usa el álgebra de Bool o Booleana.


A continuación se estudiarán los principios básicos de las conjugaciones
lógicas que sirven de base para la construcción y presentación lógica de los
circuitos eléctricos de control automático.
Considérese el sistema sencillo mostrado en la figura 3.3, se
representa en la figura una salida de agua la cual es controlada por dos
llaves de paso. Como se ha dicho con anterioridad el sistema puede
contener muchas variables de estudio, tales como: caudal, presión,
temperatura, velocidad del fluido, etcétera, pero el análisis se centrará en
estudiar la presencia o ausencia de agua en la toma. Esta variable se
llamará simplemente estado de la toma, la cual será representada con una
letra S. Los posibles valores de la variable S son dos: sale agua o no sale
agua.
87

Figura 3.3 Sistema de suministro de agua.

Se considera la variable S como una variable de salida del sistema.


Como variables de entrada serán considerados el estado de la válvula 1 y el
estado de la válvula 2. Se codificarán estas dos variables como V1 y V2
respectivamente. Los valores que pueden asumir las dos variables de
entrada en nuestro sistema también son dos: válvula abierta o válvula
cerrada.
Comúnmente a los sistemas de variables de dos estados se le asignan
los valores 0 y 1, para representar los dos posibles estados de la variable.
En el cuadro 3.1 se presenta un resumen de las variables del sistema con la
codificación asumida y los valores codificados de las variables.

Estos sistemas también reciben el nombre de sistemas binarios. Las


combinaciones posibles de las variables se determinan de la siguiente
manera: Sea un sistema de n variables binarias, el número de
combinaciones posibles es 2n.
88

En el sistema que se está analizando; el número de variables de


entrada a combinar, para obtener una salida es dos (2), por lo tanto hay
cuatro (22) combinaciones posibles de las variables de entrada, dichas
combinaciones determinan los valores de la variable de salida. En el cuadro
3.2 se muestran las diferentes combinaciones de las variables de entrada y el
efecto en la variable de salida.
Cada una de las combinaciones posibles define uno de los dos
estados de la variable de salida (sale agua o no sale agua).

La forma como se combinan las dos variables de entrada para


producir la salida se denomina conjugación OR (O) o disyunción y de una
manera general se puede expresar como se muestra en el cuadro 3.3. Esta
tabla recibe el nombre de tabla de verdad.

La expresión lógica que define esta conjugación se representa de la


siguiente manera:

S = V1 + V 2

Esta ecuación recibe el nombre de ecuación Booleana de sistema.


89

Considérese ahora el sistema mostrado en la figura 3.4. Se tiene una


variante del sistema mostrado en la figura 3.3, se usarán las mismas
definiciones de variables y las consideraciones hechas en la descripción del
sistema.

Figura 3.4 Sistema de suministro de agua.

Como se aprecia las válvulas están colocadas en serie y la única


forma de que exista salida de agua es que las dos válvulas estén abiertas.
Siguiendo el mismo procedimiento de análisis descrito, la codificación de las
variables es la misma mostrada en el cuadro 3.1.
En el cuadro 3.4 se muestran las diferentes combinaciones posibles
de las variables de entrada (V1 y V2) y su efecto en la variable de salida (S).

La forma como se combinan las dos variables de entrada para


producir la salida se denomina conjugación AND (Y) o conjunción y de una
manera general se puede expresar como se muestra en el cuadro 3.5, o sea
la tabla de verdad de la conjugación AND.
90

La expresión lógica o ecuación Booleana que define esta conjugación


se expresa de la siguiente manera:

S = V1*V 2

Se analiza a continuación un sistema completamente diferente como


se puede apreciar en la figura 3.5. Este corresponde a un circuito eléctrico
sencillo en el cual se controla el encendido de una lámpara a través de los
interruptores.

Figura 3.5 Sistema de encendido de lámpara.

En este sistema se está interesado en observar el encendido o


apagado de la lámpara. Por lo tanto se considera el estado de la lámpara
91

como variable de salida, la cual presenta dos posibles valores apagada o


encendida.
Las variables de entrada son el estado que presentan los interruptores
cuyos valores son: abierto o cerrado.
La codificación de las variables se define a continuación: la variable
de salida, o sea, el estado de la lámpara es H y sus valores son 1, para
encendido y 0 para apagado. Para las variables de entrada los códigos son:
I1 e I2 y sus posibles valores son 1 cuando el interruptor está cerrado y 0
cuando está abierto. En el cuadro 3.6 se muestra un resumen de las
variables, sus códigos, sus valores y las cuatro combinaciones posibles de
las variables de entrada, así como la respuesta del sistema a cada una de las
combinaciones.

Como se puede apreciar la respuesta del sistema se describe a través


de una conjugación OR de las dos variables de entrada. De manera general
la combinación lógica de dos contactos en paralelo se describe con la
siguiente ecuación Booleana:

H = I1 + I 2

Se considerará ahora un sistema con dos interruptores en serie para


controlar la lámpara como se muestra en la figura 3.6.
92

Figura 3.6 Sistema de encendido de lámpara.

Todas las consideraciones de las variables de entrada y de salida del


sistema estudiado anteriormente son válidas para el presente sistema. Lo
que cambia es la disposición de los interruptores con lo cual cambia también
la respuesta del sistema a las diferentes combinaciones de las variables de
entrada.
En el cuadro 3.7 se muestra el resumen de las variables de entrada y
salida del sistema, con sus respectivo valores y combinaciones.

Como se observa, la única forma de que la lámpara se encienda es


que los dos interruptores estén cerrados. Para cualquier otra combinación en
el estado de los interruptores, el sistema responde con la lámpara apagada.
93

Como se puede apreciar la respuesta del sistema se describe a través


de una conjugación AND de las dos variables de entrada. De manera
general la combinación lógica de dos contactos en serie se describe con la
siguiente ecuación Booleana:

H = I1 * I 2

Existe una tercera conjugación lógica conocida como la negación o la


inversión de una variable de entrada, el nombre general asignado es
conjugación NOT. En el cuadro 3.8 se muestra su tabla de verdad.

La expresión Booleana de la conjugación NOT es la siguiente:

__
Y = X

Con estas tres conjugaciones básicas del álgebra Booleana se


estructurarán una gran cantidad de problemas de control eléctrico
automático.

3.2.1.-FORMULACIÓN LÓGICA PARA UN ARRANCADOR


DIRECTO.

Se comenzará por el planteamiento del arranque simple o directo de


un motor eléctrico tal como se muestra en la figura 3.7.
94

Al estudiar el problema como un sistema se deben definir claramente


cuales son las variables de entrada y de salida o respuesta, que son de
interés en el estudio planteado.
En primer lugar se consideran como respuestas del sistema lo
siguiente:
Estado del motor; se codifica esta variable como C1 y sus dos valores
posibles son: motor accionado o energizado ( 1 ) o motor detenido o
desenergizado ( 0 ). Al ser asumida esta variable se considera que el motor
se pone en marcha o se detiene, cuando la bobina del contactor se energiza
o se desenergiza respectivamente.

Figura 3.7 Sistema para el arranque directo de un motor.


95

Como segunda y tercera respuesta o variables de salida se considera


el estado de las lámparas h1 y h2 respectivamente. Dichas variables son
codificadas como h1 y h2, sus valores son: lámpara energizada o encendida
( 1 ) o lámpara desenergizada o apagada ( 0 ).
En segundo lugar se definen las variables de entrada o excitación del
sistema; éstas son:
Estado del relé térmico, se marca con el código F y sus valores son
abierto ( 0 ) o cerrado ( 1 ).
Estado del pulsador de parada o stop, se marca con el código So y
sus valores son abierto ( 0 ) o cerrado ( 1 ).
Estado del pulsador de marcha o start, se marca con el código S1 y
sus valores son abierto ( 0 ) o cerrado ( 1 ).
En el cuadro 3.9 se muestra una tabla resumen de las variables
definidas y sus respectivos valores.

A continuación se construirán las ecuaciones lógicas que gobiernan el


sistema, apelando por supuesto, a las definiciones básicas hechas para las
conjugaciones OR, AND y NOT. El sistema cuenta con tres variables de
96

salida por lo que se deberán definir tres ecuaciones lógicas o ecuaciones


Booleanas del sistema.

C1 = F * So * ( S1 + C1 )

__
h1 = F

h 2 = C1

Los diferentes contactos se combinan a través de conjugaciones AND


si están en serie y OR si están en paralelo.
Las ecuaciones Booleana permiten construir un diagrama de
compuertas lógicas para representar el sistema. En la figura 3.8 se muestra
un diagrama de compuertas para el sistema de arranque directo estudiado.

Figura 3.8 Diagrama de compuertas del arrancador directo.


97

El problema también se puede representar a través de un diagrama


conocido con el nombre de diagrama de escalera, donde se muestran las
relaciones lógicas de las variables del sistema y es muy parecido a los
diagramas funcionales de control eléctrico. La figura 3.9 muestra el diagrama
de escalera del arrancador directo.
A través de los diagramas de escalera se construye de manera fácil
una lista de instrucciones de carácter lógico para describir el sistema
mostrado. Esta lista, así como las representaciones descritas anteriormente
constituyen cuatro formas de representar un problema de control eléctrico en
forma lógica. Comúnmente se denominan de la siguiente manera:
• Ecuaciones Booleanas.
• Diagramas de compuertas lógicas o logigramas.
• Diagramas de escalera.
• Lista de instrucciones.

Figura 3.9 Diagrama de escalera del arrancador directo.


98

La lista de instrucciones tiene la siguiente forma general:

LD S1
OR C1
AND So
AND F
OUT C1
LD C1
OUT h1
LDI F
OUT h2
END.
Los controladores lógicos programables (PLC) usan al menos una de
las formas descritas anteriormente para desarrollar los esquemas de control
eléctrico. Constituyéndose cada forma de presentar el problema en una
estructura básica de un lenguaje de programación desarrollado por el
fabricante de PLC.
Cuando los esquemas de control eléctrico son muy complejos, se
emplean técnicas de análisis lógico de optimización, que permite obtener
reducciones en la cantidad de contactos y relés auxiliares del circuito original.
Estas técnicas requieren de estudios más detallados y profundos del álgebra
Booleana.

3.2.2.-FORMULACIÓN LÓGICA DE UN INVERSOR DE


GIRO.

Se plantea ahora el accionamiento de un motor eléctrico con


accionamiento directo y posibilidad de seleccionar el giro del mismo. En la
99

figura 3.9 se muestra el esquema eléctrico funcional correspondiente a este


automatismo.
El motor puede arrancar inicialmente en cualquier dirección, mientras
gira en una dirección puede cambiarse el giro inmediatamente al pulsar el
pulsador de giro contrario, aunque es más aconsejable, pulsar el botón de

Figura 3.9. Circuito de potencia y mando para la inversión de giro


de un motor trifásico.
parada y luego arrancarlo en otro sentido.

Las variables seleccionadas como entradas y salidas del sistema se


muestran el cuadro 3.10.
En la figura 3.9 se puede observar que los pulsadores S1 y S2 son de
conexión – desconexión con un contacto NA y otro NC. No es necesario
definir dos variables para cada pulsador, basta con seleccionar uno de los
contactos como variable y en el planteamiento lógico el otro contacto es el
100

inverso o negado. En este ejemplo se considera el contacto abierto de cada


pulsador para definir las variables S1 y S2.
De manera similar no se definen como variables los contactos
auxiliares de los contactores C1 y C2, sino que se consideran como la misma
variable en el caso de contacto abierto y variable negada o invertida cuando
el contacto es cerrado.

Las ecuaciones Booleanas que definen el sistema son las siguientes:


−− −−
C1 = F 1 * So * C 2 * S 2 * ( S1 + C1 )
101

−− −−
C2 = F 1 * So * C1 * S1* ( S 2 + C 2 )
−−
h2 = F1

h3 = C1

h4 = C2

El diagrama de escalera y el de compuertas se muestran en la figura


3.10. La lista de instrucciones se muestra en el cuadro 3.11.

Figura 3. 10. Diagrama de escalera y de compuertas del inversor de


giro de un motor de AC.
102

3.2.3.-FORMULACIÓN LÓGICA DE UN ARRANQUE DE


TRES MOTORES EN SECUENCIA.

En la figura 3.11 se muestra un circuito para el arranque directo de

Figura 3. 11. Arranque secuencial de tres motores


103

tres motores en forma secuencial y temporizado. Se usan dos


temporizadores a fin de lograr la secuencia de arranque: Primero arranca
M1, diez segundos después arranca M2, y diez segundos después arranca
M3.
Las variables de entrada y salida del sistema se muestran en el
cuadro No. 3.12.

Como se puede apreciar en la tabla no fueron consideradas los


temporizadores como variables de salida o de entrada. Los PLC contienen
rutinas o funciones internas programadas que simulan los temporizadores,
contadores, relés auxiliares y otra gran cantidad de elementos de control
eléctrico. Sin embargo en las ecuaciones Booleanas y los otros diagramas
se hace la representación de los temporizadores.
Hay nueve (9) variables de salida, por lo tanto se tienen que formular
nueve ecuaciones Booleanas para describir el sistema, sin embargo se
incluyen las ecuaciones internas de los temporizadores.

C1 = F 1 * F 5 * F 6 * SO * ( S1 + C1 )
104

C5 = F 1 * F 5 * F 6 * C1* C1t

C6 = F 1 * F 5 * F 6 * C1* C 5 * C 5t

−− −− −−
h1 = F1 h2 = F5 h3 = F6

h4 = C1 h5 = C5 h6 = C6

C1t = C1 C 5t = C5

El diagrama de escalera y el de compuertas se muestra en la figura


3.12.
Las salidas para los temporizadores aparecen reflejadas en los
diagramas como salidas externas, pero en realidad en los PLC son variables
internas y no presentan conexiones físicas al exterior del mismo.
La lista de instrucciones se muestra en el cuadro 3.13.

3.3.-ESTÁNDAR IEC – 61131 PARA PLC.

La norma internacional IEC – 61131, intenta organizar en un estándar


todo lo relacionado con los controladores programables utilizados en
automatización industrial. Dicha norma consta de ocho partes reseñadas a
continuación.
IEC – 61131 – 1. Información general: Establece las definiciones e
identifica las principales características relevantes para la selección y
aplicación de los controladores programables y sus periféricos.
105

Figura 3. 12. Diagrama de escalera y de compuertas del arracador


en secuencia de tres motores de AC.
106

IEC – 61131 – 2. Requerimientos y pruebas de equipos: Especifica


los requerimientos de equipos y pruebas relacionadas para los PLC y sus
periféricos.
IEC – 61131 – 3. Lenguajes de programación: Define para cada un
de los lenguajes de programación estandarizados por la norma, lo siguiente:
• Mejor campo de aplicación.
• Reglas de sintaxis y semántica.
• Conjunto básico pero completo de elementos simples de
programación.
• Pruebas y medios a través de los cuales, los fabricantes
pueden expandir o adaptar los conjuntos básicos a sus propios
controles programables.
IEC – 61131 – 4. Instrucciones para el usuario: Presenta al usuario
final de los PLC una visión general e instrucciones de aplicación del presente
estándar.
IEC – 61131 – 5. Comunicaciones: Define las comunicaciones entre
el PLC y otros sistemas electrónicos.
IEC – 61131 – 6. Apartado reservado para futuras revisiones o
ampliaciones del estándar.
IEC – 61131 – 7. Programación de control difuso: Define los
lenguajes de programación para control difuso.
IEC – 61131 – 8. Instrucciones para la aplicación e implementación
de lenguajes de programación para PLC, definidos en parte 3.
De todas las partes del estándar, la que ha tenido mayor aceptación
en el ámbito mundial es la parte correspondiente a los lenguajes de
programación de los PLC (IEC – 61131 – 3). A continuación se detalla el
mencionado estándar.
CAPÍTULO IV
ELEMENTOS PARA PROGRAMACIÓN DE LOS PLC.
108

CAPÍTULO IV
ELEMENTOS PARA PROGRAMACIÓN DE LOS PLC.

4.1.-INTRODUCCIÓN.

Los usuarios de PLC han manifestado la necesidad de contar con un


lenguaje de universal para la programación para sus equipos; de tal manera
que una aplicación desarrollada para un determinado PLC pueda ser
implementada sin dificultades en equipos de otros fabricantes. Como
respuesta la Comisión Electrotécnica Internacional (IEC) ha respondido
desde principios de los años noventa con el estándar IEC-61131,
particularmente su sección IEC-61131-3 referente a lenguajes de
programación. Desde la introducción del estándar éste ha ido ganando
muchos adeptos en todo el mundo, tanto en el sector empresarial que fabrica
los PLC, como en los usuarios en la industria.
En este capítulo se hace la primera referencia a los lenguajes de
programación estandarizados bajo la norma IEC-61131-3. Son definidos los
elementos comunes a los cuatro lenguajes que señala la norma, se definen
los caracteres de impresión necesarios para la escritura de los programas,
los tipos de datos que son soportados, los tipos de variables, las unidades de
organización de los programas, entre otros.
Los fundamentos desarrollados en el presente capítulo son básicos
para el desarrollo del capítulo V y en varias ocasiones se hace referencia al
capitulo V para que se comprenda con mayor claridad algunos conceptos y
visualizar algunos ejemplos.
109

4.2.-LENGUAJES ESTANDARIZADOS PARA PLC.

La norma IEC – 61131 – 3, representa el primer esfuerzo real, en


estandarizar los lenguajes de programación usados en automatización
industrial. Fue introducida por la Comisión Internacional de Electrotecnia en
1993 y desde entonces ha ganado mucha aceptación entre los fabricantes de
PLC y otros sistemas de automatización industrial.
El estándar IEC – 61131 – 3, específica la sintaxis y la semántica de
un conjunto unificado de lenguajes de programación de controladores
programables. El grupo consiste de dos lenguajes textuales conocidos
como: Lista de Instrucciones (Instruction List, IL) y Texto estructurado
(Structured Text, ST), además, dos lenguajes gráficos con los siguientes
nombres: Diagrama de Escalera o de contactos (Ladder Diagram, LD) y
Diagrama de Bloques de Función ( Funtion Block Diagram, FBD).
Adicionalmente, la norma define elementos de programación usando
la Carta de Funciones Secuenciales (Sequential Function Chart, SFC),
basados en los conceptos de GRAFCET, con el propósito de estructurar la
organización interna de los programas y bloques de funciones de los
controladores programables. Además, son definidos elementos de
configuración los cuales soportan la instalación de programas en los distintos
sistemas de PLC.
El estándar se divide en dos grandes secciones, la primera, se refiere
a los elementos comunes de todos los lenguajes y la segunda sección es
referida a los lenguajes y sus características propias.

4.3.-IEC 61131-3. ELEMENTOS COMUNES.

Se establecen como disposiciones o elementos comunes a todos los


lenguajes descritos en la norma las siguientes secciones:
110

• Uso de caracteres de impresión.


• Representación externa de datos.
• Tipos de datos.
• Tipos de variables.
• Unidades organizacionales del programa (Program organization
units, POU).
• Grafico de Funciones Secuenciales (Secuential Function Chart,
SFC).
• Configuración de elementos.

4.4.-USO DE CARACTERES DE IMPRESIÓN.

Conjunto de caracteres. Los elementos de cualquiera de los


lenguajes normalizados deben ser representado por el conjunto de
caracteres definido en la norma ISO/IEC 10646. La norma contempla
caracteres alfabéticos, numéricos y de otros tipos.
Identificadores. Un identificador es una cadena de letras, dígitos y
caracteres de subrayado, los cuales se usan para identificar elementos de
programas en cualquiera de los lenguajes estandarizados. El identificador
puede comenzar con una letra o guión de subrayado.
En el caso de identificadores con letras mayúsculas o minúsculas son
interpretados de igual forma. Por ejemplo los siguientes identificadores son
iguales: abcd, ABCD y abCD.
Cuando se usa el guión de sub-rayado se establece una diferencia
entre dos identificadores, así: A_BCD y AB_CD son identificadores
diferentes. No se permite el uso de varios caracteres de subrayado
seguidos.
111

Se permite hasta un máximo de seis caracteres de un mismo tipo


seguidos en un identificador. Por ejemplo son válidos los siguientes: IDENT,
ABCDE1, Lim_sw_5, _IW215Z.
Palabras reservadas (keywords). Son identificadores definidos por
la presente norma y que poseen una sintaxis ya definida y no pueden ser
usados como identificadores de elementos de lenguaje. En el anexo C de la
norma aparece la lista con todas las palabras reservadas.
Uso de espacios en blanco. Se permite el uso de uno o más
espacios en blanco en el texto de programas con excepción en: palabras
reservadas, literales, valores enumerados, identificadores, variables
directamente representadas o combinación de delimitadores.
Comentarios. Todos los lenguajes admiten la inclusión de
comentarios delimitados por los siguientes caracteres: “(*” y “*)”. Los
siguientes son ejemplos de comentarios:
(* Esto es un ejemplo de comentario *)
(**************)
(* variable de entrada *)

4.5.-REPRESENTACIÓN EXTERNA DE DATOS.

Los datos externos representados por varios lenguajes de


controladores programables consisten en alguno de los siguientes:
• Literales numéricos.
• Literales de cadenas de caracteres.
• Literales de tiempo.
Literales numéricos. Existen dos clases de literales numéricos:
enteros y reales. Se permite el uso de los signos + o - para preceder los
literales o sus exponentes. Se permite el uso del guión de subrayado dentro
de un literal, pero no tiene ningún significado o valor. Los literales pueden
112

ser expresados en las siguientes bases numéricas: base 2 (binaria), base


8(octal) y base 16(hexadecimal). La base se debe indicar en el literal. El
cuadro 4.1 muestra algunos ejemplos de literales.

Literales de cadenas de caracteres. Estos literales pueden ser de


dos tipos: con caracteres codificados en byte simple o en doble byte. Los de
byte simple se delimitan con un apostrofe simple (‘) al principio y al final de la
cadena, mientras que los de doble byte usan como delimitador un apostrofe
doble (“). Los siguientes ejemplos son literales de cadenas de caracteres
válidos: ‘cadena de byte simple’, “cadena de byte doble”.

Literales de tiempo. Se pueden representar dos tipos de eventos


temporales: representación de duración de eventos y representación de
fechas.
Los literales de duración de eventos van precedidos de cualquiera de
las siguientes palabras reservadas: T# y TIME#. Se pueden representar
retardos de tiempo en días, horas, minutos, segundos y milisegundos, o
113

cualquier combinación de éstos. Algunos ejemplos se muestran a


continuación:
T#14ms (14 milisegundos).
TIME#14.7s (14.7 segundos).
T#25h_15m (25 horas y 15 minutos).
TIME#5d_14h_12m_18s_3.5ms (5 días, 14 horas, 12 minutos, 18
segundos, 3.5 milisegundos)
Los literales de fecha están representados de acuerdo a la norma ISO
8601. Los prefijos utilizados son los siguientes:
DATE# o D#.
TIME_OF_DAY# o TOD#.
DATE_AND_TIME# o DT#.
Algunos ejemplos para la especificación de fechas y horas se
muestran a continuación:
DATE#1994-06-25 o D#1994-06-25.
date#1994-06-25 o d#1994-06-25.
TIME_OF_DAY#15:36:55.36 o TOD#15:36:55.36.
date_and_time#1994-06-25-15:36:55.36 o
dt#1994-06-25-15:36:55.36

4.6.-TIPOS DE DATOS.

El estándar reconoce los siguientes tipos de datos:


• Datos elementales.
• Datos genéricos.
• Datos derivados.
A continuación se detallan cada uno de ellos.
114

Datos elementales. En el cuadro 4.2 se muestran todos los datos


elementales definidos en el estándar, con sus respectivas palabras claves,
número de bits y rango de valores.

Datos genéricos. Estos datos pueden ser usados en la


especificación de entradas y salidas de las funciones y bloques estándar.
Los datos genéricos van precedidos de la palabra clave ANY y se deben
115

segur ciertas reglas definidas en el documento del estándar para su


implementación y aplicación.
Datos derivados. Estos son datos que pueden ser creados o
definidos por el usuario o fabricante de equipos. Para tal fin se usa la
siguiente declaración: TYPE ...END TYPE. Los datos creados de esta
manera pueden ser usados como datos elementales. El cuadro 4.3 muestra
algunas formas válidas para crear datos derivados.

El valor inicial de un dato derivado es; en el caso de datos numerados


y de sub-rango, el primer valor de la lista o rango que se especifique. Se
puede indicar también el valor inicial usando el operador “ := “. En el cuadro
4.4 muestran ejemplos de valores iniciales de datos elementales y datos
derivados.
116
117

4.7.-VARIABLES.

Son identificadores de datos de objetos asociados con entradas,


salidas y localidades de memoria de un PLC, cuyo contenido puede variar.
Una variable puede ser declarada como un tipo de dato elemental o derivado.
Se distinguen en la norma dos tipos de variables: las variables de simple
elemento y las variables de múltiples elementos.
Las variables de elemento simple son aquellas que representan un
solo dato de los tipos definidos anteriormente. Este tipo dato puede ser
representado en forma simbólica o de mediante una representación directa.
La representación directa implica la asociación de un dato elemental a una
localidad física o lógica en las entradas, salidas o localidades de memoria del
PLC.
Las variables se pueden identificar usando las normas para los
identificadores dadas en la sección 4.3.1. La representación directa se hace
anteponiendo el símbolo de porcentaje (%), concatenado con un prefijo de
localización y uno de longitud, ambos señalados en el cuadro 4.5,
adicionalmente uno o más enteros no asignados separados por un punto (.).
118

El signo de porcentaje y los prefijos de localización I, Q y M, siempre


estarán presentes en la representación de una variable directa. En el cuadro
4.6 se muestran algunos ejemplos de estas variables.

Cualquiera sea la forma de identificar la variable se requiere que las


variables sean completamente definidas en la sección de configuración
usando la siguiente directiva:
VAR_CONFIG...END_VAR.
Las variables de múltiples elementos que se definen en el estándar
son las variables del tipo arreglos y estructuras.
Un arreglo es una colección de datos del mismo tipo referidos con uno
o más valores suscritos dentro de un corchete y separados por coma.
Ejemplos:
% OUTARY [ %MB6, SYM ] = INARY [ 0 ] + INARR [ 7 ] – INAR [
%MB6] * IW62

% IENT [ 5, 5 ].

Las variables estructuradas se designan con datos del tipo


estructurado, es decir como una colección de nombres de elementos. Un
elemento de una variable estructurada se representa por dos o más
identificadores o arreglos de acceso, separados por un punto. El primer
identificador representa el nombre del elemento de la estructura y los
119

identificadores siguientes representa la secuencia de nombre de


componentes para ingresar al elemento de dato en particular dentro de la
estructura.
Por ejemplo si la variable MODULE_5_CONFIG, ha sido declarada
como tipo ANALOG_16_IMPUT_CONFIGURATION, como se muestra en el
cuadro 4.6. Las siguientes instrucciones en lenguaje ST causarán que el
valor SINGLE_ENDED, sea asignado al elemento SIGNAL_TYPE, de la
variable MODULE_5_CONFIG, mientras que el valor BIPOLAR_10V, será
asignado al elemento RANGE del quinto CHANNEL, del elemento
MODULE_5_CONFIG.

MODULE_5-CONFIG.SIGNAL_TYPE := SINGLE_ENDED;

MODULE_5_CONFIG.CHANNEL[ 5 ].RANGE := BIPOLAR_10V.

En la iniciación de un elemento del programa, las variables asociadas


pueden tomar alguno de los siguientes valores:
• El valor que tenía al detenerse el programa en algún momento.
• Un valor inicial definido por el usuario, usando el calificador
RETAIN.
• El valor por defecto según el tipo de variable.
El valor inicial de las variables y sus elementos de configuración
asociados deben ser como se indica a continuación:
• Si la operación es una restauración en caliente, el valor de las
variables retenidas debe ser el retenido.
• Si la operación es una restauración en frío, el valor inicial de las
variables retenidas debe ser el asignado por el usuario, o su valor
por defecto cuando no lo especifica el usuario.
120

• Las variables sin retención se iniciarán por el valor asignado por el


usuario o su valor por defecto.
• Las variables que representan entradas de PLC se inician de una
manera defina en la implementación.
Cada programa y unidad de programación debe contener una sección
declarativa donde se especifica el tipo de variable usada en la unidad
organizativa.
La sección declarativa debe ser iniciada con las palabras reservadas
señaladas en el cuadro 4.7, seguidas en el caso de VAR por alguno de los
siguientes calificadores: RETAIN, NON_RETAIN o CONSTANT.
121

En el caso de las palabras clave VAR_IMPUT o VAR_OUTPUT, los


calificadores que siguen pueden ser RETAIN o NON_RETAIN. A
continuación se contempla las declaraciones separadas por (;) y finalizada
con la palabra reservada END_VAR. Cuando existan declaraciones de
valores iniciales para las variables, se debe hacer en esta sección.
Dentro de los bloque de funciones y de los programas, se pueden
declarar variables de la siguiente manera: VAR_Temp....END_VAR. Estas
variables son llamadas e inicializadas cada vez que se invoque al programa o
bloque o sea que el valor de las variables no persiste al cada llamado.
El rango de validez de las declaraciones de variables contenidas en
cada parte del programa, está limitada a la unidad organizativa en la cual ha
sido declarada. Esto es; las variables no pueden ser llamadas por otras
unidades de programación, exceptuando los argumentos explícitos que
pasan a través de las variables cuando han sido declaradas como entradas o
salidas de la mencionada unidad. La única excepción a esta regla es el caso
en el cual una variable es definida como global. Tales variables son solo
accesibles a través de una declaración VAR_EXTERNAL en la unidad de
programa. El tipo de variable declarada en un bloque VAR_EXTERNAL debe
corresponder con los declarados en el bloque VAR_GLOBAL del programa, o
configuraciones asociadas. Un ejemplo estas declaraciones se muestra a
continuación.
DECLARACIÓN EN ELEMENTOS SUPERIORES:
VAR_GLOBAL X ...
VAR_GLOBAL Y ...
VAR_GLOBAL CONSTANT T ...
DECLARACIÓN EN ELEMENTOS CONTENIDOS
VAR_EXTERNAL X ...
VAR_EXTERNAL CONSTANT Y
VAR_EXTERNAL CONSTANT T ...
122

La asignación de una localización física o lógica de una variable


representada directamente dentro del PLC debe ser acompañada de la
palabra reservada AT.
El cuadro 4.8 y 4.9 muestran ejemplos de designación de variables.
123
124

4.8.-UNIDADES DE ORGANIZACIÓN DE PROGRAMAS


(POU).

Dentro de la norma IEC – 61131 – 3, los programas, bloques


funcionales y funciones, reciben el nombre de unidades de organización de
programa (programan organization units POU). Dichas unidades pueden ser
desarrolladas y presentadas por los fabricantes o por los usuarios de
controles programables. El estándar suministra los medios para tal fin.
Las unidades de programación no son recursivas; es decir el llamado
de una unidad de programación no debe producir el llamado de la misma
unidad de programación.
Se estudia a continuación cada una de estas unidades de
organización del programa en forma separada.

4.8.1.-GENERALIDADES ACERCA DE FUNCIONES.

Son unidades de programación que al ser ejecutadas produce


exactamente un elemento de dato, el cual es considerado como el resultado
de la función. Adicionalmente se pueden producir muchos datos los cuales
se comunican con el exterior del bloque de función a través de los bloques de
declaración de variables VAR_OUTPUT, VAR_IN_OUT. Como cualquier
elemento de dato el resultado de la función puede ser del tipo de
multivalores; es decir, un arreglo o una estructura. El llamado o invocación
de una función puede hacerse a través del uso de lenguaje textual o también
como el operando de una expresión.
La declaración de una función dentro de un programa, puede
hacerse en lenguaje textual o en lenguaje gráfico. En la figura 4.1 se
muestra un ejemplo de declaración de una función dentro de un programa.
125

(* Ejemplo de declaración de función en st *)


FUNCTION SIMPLE_FUN : REAL
VAR_IN_OUT COUNT : INT ;
END_VAR
VAR COUNT1 : INT ;
END_VAR
COUNT1 := ADD(COUNT,1); (* instrucciones de la función*)
COUNT:=COUNT1;
SIMPLE_FUN:=A*B/C;
END_FUNCTION

Figura 4. 1. Declaración de una función en lenguaje de texto.

La declaración de una función en lenguaje textual consta de los


siguientes elementos.
• La palabra reservada FUNCTION, seguido por un identificador del
nombre de la función declarada. A continuación el signo ( : ) y la
declaración del tipo de dato que devolverá la función.
• Un bloque de declaración de variables de entrada
VAR_INPUT...END_VAR, donde se especifican el nombre, tipo de
variable y valor inicial si se va a especificar.
• De ser requerido también se define un bloque de declaración de
variables de entrada y/o entrada/salida,
VAR_OUTPUT...END_VAR y/o VAR_IN_OUT...END_VAR,
especificando el nombre de la variable, su tipo y su valor inicial, si
aplica.
• Un tercer bloque de definición de variables puede ser requerido,
este es: VAR...END_VAR, en este bloque se especifican nombre y
tipo de variables internas de la función.
126

• A continuación se colocan las instrucciones de la función, cuidando


de asignar al nombre de la función como variable de salida.
• Se usa la palabra reservada END_FUNCTION para concluir con el
procedimiento de declaración de la función.
En la figura 4.2 se muestra el mismo ejemplo de declaración de
función de la figura 4.1, pero ahora en lenguaje gráfico.

Figura 4. 2. Declaracion de función utilizando lenguaje gráfico.

Los pasos a seguir para realizar una declaración de función en


lenguaje gráfico son los siguientes.
127

• Se deben usar las palabras reservadas FUNCTION y


END_FUNCTION o equivalentes gráficos, al inicio y al final de
la declaración de la función.
• Una especificación gráfica del nombre de la función y los
nombres, tipos y posibles valores iniciales de las variables tanto
del resultado de la función, como de las variables (entradas,
salidas, entradas/salidas).
• Una especificación de nombres, tipos, posibles valores iniciales
de las variables internas de la función, o sea, las usadas en la
declaración VAR...END_VAR.
• Las instrucciones que componen el cuerpo de la función
especificadas en forma gráfica.
Las variables declaradas con los bloques VAR...END_VAR son
llamadas e inicializadas cada vez que se invoque la función, o sea, que su
valor no persiste en cada llamado.
El rango de validez de las variables declaradas dentro de un
determinado bloque de definición, está limitado a la unidad de organización
donde se ha hecho la declaración. Lo anterior significa que las variables
declaradas no podrán ser llamadas por otras unidades de programas, con
excepción de los argumentos explícitos que pasan a través de las variables
declaradas de entrada y/o salida de esa unidad. También como excepción
de la regla es la definición de una variable como global (VAR_GLOBAL).
Tales variables son solo accesibles a través de un bloque VAR_EXTERNAL
en la unidad de programación.
El tipo de variable declarada en un bloque VAR_EXTERNAL debe
corresponder con los declarados en el bloque VAR_GLOBAL del programa o
configuración asociada. El cuadro 4.10 muestra varios ejemplos de
declaraciones de variables globales y su uso en unidades internas.
128

Para la invocación o llamado de una función en lenguaje textual se


deben seguir las siguientes reglas:
• La asignación de argumentos de entrada debe estar en
concordancia con lo señalado en el cuadro 4.11.
• La designación de argumentos formales VAR_OUTPUT puede ser
vacío o con variables.
• Se deben asignar variables a los argumentos VAR_IN_OUT.
• La asignación de argumentos a VAR_INPUT, puede ser: vacío,
variables, constantes o llamados a funciones. En el último caso el
resultado de la función es usado como argumento.

En el lenguaje gráfico la función se representa siguiendo las siguientes


reglas.
• La forma del bloque debe ser rectangular o cuadrada.
• Las dimensiones y proporciones del bloque pueden variar
dependiendo del número de entradas y otra información adicional
desplegada.
129

• La dirección de procesamiento del bloque es de izquierda a


derecha. (Las entradas a la izquierda y las salidas a la derecha)
• El símbolo o el nombre del bloque debe ser colocado dentro del
bloque.
• Los nombres de las variables de entrada y de salida deben
aparecer dentro del bloque, en el lado izquierdo y derecho
respectivamente. El uso esta sujeto a lo siguiente.
• Cuando no se dan los nombres a las variables de entrada en
funciones estándar, se asumen por defecto IN1,
IN2,...aplicados de arriba hacia abajo.
• Cuando una función estándar posee una sola variable de
entrada sin nombre, se asume IN como nombre por defecto.
• El nombre por defecto puede no aparecer en el lado
izquierdo de la representación gráfica.
• Se pueden usar entradas de habilitación del bloque (EN) o salidas
de finalización de operaciones del bloque (ENO). Dichas entradas
y salidas deben ser representadas en la parte superior del bloque,
en los lados izquierdo y derecho respectivamente.
• El resultado del bloque debe ser representado en la parte superior
derecha del bloque, excepto si hay una salida ENO, en cuyo caso
el resultado se muestra en la posición posterior de la salida ENO.
• Si no hay ningún valor mostrado en la parte superior derecha del
bloque, se usará el nombre de la función como salida.
• Los argumentos de conexión se muestran como líneas de flujo.
• La negación de una función Booleana debe ser mostrada con un
círculo abierto, justo en la intersección de la línea de entrada con el
bloque.
• Todas las entradas y salidas del bloque de función se representan
con una línea en lado correspondiente del bloque.
130

• Los resultados de evaluación del bloque de función


(VAR_OUTPUT), pueden conectarse a una variable de entrada de
otro bloque de función o puede permanecer desconectado.
• Se producirá un error si cualquiera de las variables VAR_IN_OUT,
en una llamada a un bloque de función o a una función dentro de
una POU, no se encuentra representada apropiadamente. Una
variable VAR_IN_OUT, se encuentra representada
apropiadamente si está conectada gráficamente a la izquierda o
asignada a través del operador “:=” en una llamada textual; a una
variable declarada (sin calificador CONSTANT) en un bloque
VAR_IN_OUT, VAR, VAR_OUT o VAR_EXTERNAL, de una POU
contenida en una POU más general o superior, o un apropiado
bloque de VAR_IN_OUT en otro bloque de función contiguo o
llamado de función.
• Una representación apropiada de una variable VAR_IN_OUT de
una instancia de bloque funcional o llamado de función, puede ser
conectada gráficamente a la derecha de un bloque o asignada
mediante el uso del operador “:=” en una llamada textual, de una
variable declarada en bloques VAR_IN_OUT o VAR_EXTERNAL,
de la POU contenida. Habrá un error si tal conexión presenta
ambigüedad en el valor de la variable a conectar.
La figura 4.3 muestra ejemplos de funciones gráficas y sus
equivalentes textuales. La función ADD incluye nombres de argumentos
formales no definidos, la función SHL nombres de argumentos formales
definidos. La función INC es definida por el usuario y contiene nombres de
argumentos definidos formalmente.
Algunas formas para el llamado de una función a través de lenguaje
textual se muestran en el cuadro 4.11. La invocación textual de una función
consiste en el nombre de la función seguido por una lista de argumentos
131

separados por una coma (,) cuando se usa lenguaje ST y por un paréntesis
cuando se usa lenguaje IL.

Figura 4.3. Ejemplos de funciones representadas en forma gráfica y


su equivalente textual.

En el ejemplo No. 1 del cuadro 4.11, la lista de argumentos tiene la


forma de un conjunto de asignaciones de valores actuales, para los nombres
de argumentos formales (lista de argumentos formales), las designaciones
son las siguientes: 1.) asignación de valores a las entradas y a las variables
in_out, usando el operador “:=” . Y 2.) asignaciones de valores a las variables
de salida usando el operador “=>”. El orden de la lista no es significativo.
Cualquier variable con valor no asignado dentro de la lista asumirá el valor
por defecto.
132

En el segundo ejemplo del cuadro 4.11 (no hay una lista de


argumentos formales) la lista de argumentos debe contener exactamente el
mismo número de argumentos, con el mismo orden y el mismo tipo de datos
dado en la definición de la función, se exceptúan los argumentos de control
de ejecución EN y ENO.
Para el control de ejecución de una función puede usarse una entrada
booleana (EN), una salida booleana (ENO) o ambas. Dichos controles
pueden ser suministrados por el fabricante o definidos por el usuario,
utilizando para tal fin la siguiente declaración:
VAR_INPUT EN : BOOL := 1; END_VAR.
VAR_OUTPUT ENO : BOOL; END_VAR.
Cuando se usan estas variables en una función, la ejecución de las
instrucciones definidas dentro de la función serán controladas de acuerdo a
las siguientes reglas.
• Si el valor de EN es falso (0) cuando la función es llamada, ninguna
operación es realizada y el valor de ENO es colocado en falso (0)
por el sistema de control del programa.
• En cualquier otro caso el valor de ENO será ajustado en verdadero
(1) por el sistema de control del programa y las operaciones
definidas en la función se ejecutan. Estas operaciones pueden
incluir asignaciones a la variable ENO.
• Si ocurre algún error durante la ejecución de una función estándar
la salida ENO de esa función es colocada en falso (0) por el
sistema de control del programa, o el fabricante debe especificar
otra disposición.
• Si la salida ENO es falsa, el valor que asumen las otras salidas de
la función (VAR_OUTPUT, VAR_IN_OUT y el resultado de la
función) se definirán como una característica de implementación
por parte del fabricante.
133

A continuación se verán tres conceptos importantes en la definición de


los tipos de variables en funciones. Estos son: tipificación, sobrecarga y
tipos de conversión.
Una función estándar, un tipo de bloque de función, un operador o una
instrucción, se dice que están sobrecargadas, cuando pueden operar varios
tipos de elementos de dato de entrada dentro de una designación de tipo de
dato genérico. Por ejemplo, una función sobrecargada con el operador
genérico ANY_NUM, puede operar con los siguientes tipos de datos:
LREAL, REAL, DINT, INT, y SINT.
Cuando un sistema de control programable soporta una función
estándar, un tipo de bloque de función, un operador o una instrucción, éstos
se aplicarán a todos los tipos de datos definidos en una definición genérica
que sea soportada por el sistema. Por ejemplo si un PLC soporta la función
ADD sobrecargada y los tipos de datos SINT, INT, y REAL, el sistema
soportará la función ADD con tipos SINT, INT y REAL.
Cuando una función esta normalmente tipificada, se debe incluir un
operador para indicar tal situación. Esto es, la salida y la entrada están
restringidas a un determinado tipo de dato. La tipificación se logra
agregando a la función el signo de subrayado y un tipo de dato determinado.
En la figura 4.4 se muestran ejemplos de funciones sobrecargadas y
tipificadas.

Figura 4.4 . Ejemplos de funciones sobrecargadas y tipificadas.


134

Cuando el tipo de resultado de una función estándar es genérico,


entonces todas las variables de entrada deben ser del mismo tipo, de no ser
así, se deben convertir al tipo apropiado en la invocación a la función.
Ejemplos de esto se muestran en la figura 4.5.

Figura 4. 5. Ejemplos de funciones con conversión de variables.


135

4.8.2.-FUNCIONES ESTÁNDAR.

La norma IEC – 61131 – 3, define un conjunto de funciones básicas


comunes o estándar para todos los lenguajes de controladores
programables. Las funciones estándar se agrupan de la siguiente manera:
• Funciones de conversión de tipos de datos.
• Funciones numéricas.
• Funciones de cadenas de bits.
• Funciones de selección y comparación.
• Funciones de cadenas de caracteres.
• Funciones con tipos de datos de tiempo.
• Funciones con tipos de datos numerales.
A continuación se detallan cada uno de los grupos de funciones
estándar señalados por la norma. Cuando se muestra una representación
gráfica de una función estándar, una declaración textual equivalente será
presentada.
Funciones de conversión de tipos de datos: Estas funciones tienen
la siguiente forma *_TO_**, donde “*” es el tipo de variable de entrada y “**”
es el tipo de variable de salida. Por ejemplo INT_TO_REAL, la cual convierte
un entero en un real. La exactitud de la conversión es un parámetro de
implementación de los sistemas de PLC. En la figura 4.6 se muestran las
funciones estándar con un ejemplo de uso y su respectivo equivalente en
lenguaje estructurado ST.
Funciones numéricas: La figura 4.7 muestra la representación
gráfica estándar, los nombres de las funciones, los tipos de variables de
entrada y salida, y la descripción de funciones de valor numérico simple.
La figura 4.8 muestra algo similar pero para funciones aritméticas de
dos o más variables. Estas funciones estarán sobrecargadas con todos los
tipos de variables numéricas.
136

Figura 4. 6. Funciones estándar de conversión de datos.


137

Figura 4. 7. Funciones aritméticas estándar de variable simple.

Figura 4. 8. Funciones aritmeticas estándar con dos o más


variables
138

Funciones de cadenas de bits: La representación gráfica estándar,


el nombre de la función y la descripción de las funciones de rotación o de
cambio de las variables de cadenas de bits, se muestran en la figura 4.9.
Estas funciones están sobrecargadas en todos los tipos de variables de
cadenas de bits.
Adicionalmente, la figura 4.10, muestra la representación estándar, el
nombre y símbolo de la función y la descripción de las funciones Booleanas
binarias. Estas funciones son extensibles, con excepción de la función NOT
y además están sobrecargadas en todos los tipos de variables de cadena de
bits.

Figura 4. 9. Funciones de cadenas de bits de una sola variable.

Funciones de selección y comparación: La figura 4.11, se muestra


la representación gráfica estándar, el nombre de la función y la descripción
de las funciones de selección. Estas funciones están sobrecargadas para
todos los tipos de datos.
Las funciones de comparación, se muestran en la figura 4.12, todas
estas funciones son extensibles con excepción de la función NE.
139

Figura 4. 10. Funciones de cadenas de bits de varias variable.

La comparación entre cadenas de bits, se hace desde el bit más


significativo hasta el menos significativo de la cadena. Si las cadenas que se
comparan son de diferente longitud, se llenan de ceros a la izquierda de la
cadena de menor tamaño.

Funciones de cadenas de caracteres: Todas las funciones


definidas para la selección y comparación, pueden ser aplicadas a las
variables de cadenas de caracteres. Cuando se comparan cadenas de
diferente longitud, la mas corta será rellenada con caracteres de valor cero,
hasta alcanzar la longitud de la cadena más larga. La comparación se
realiza desde la izquierda hacia la derecha, basándose en el valor numérico
del código del carácter. Por ejemplo; la cadena de carácter ‘Z’, será mayor
que la cadena ‘AZ’ y ‘AZ’ a su vez es mayor que ‘ABC’.
Las funciones adicionales de cadenas de caracteres, se encuentran
en la figura 4.13, donde se representa para cada función, su gráfica estándar,
el nombre y su descripción. Para estas operaciones, la posición del carácter
140

dentro de la cadena será numerado de la siguiente forma 1,2,3,...L,


comenzando con la posición de carácter más a la izquierda, siendo L la
longitud de la cadena.

Figura 4. 11. Funciones de selección


141

Figura 4. 12. Funciones de comparación.

Figura 4. 13. Funciones de cadena.


142

Figura 4. 13. ...Continuación.


143

Funciones de tiempo. Además de las funciones de selección y


comparación que se definieron anteriormente, la combinación de entradas y
salidas de datos de manejo de tiempo que se muestra en el cuadro 4.12,
pueden ser usadas con las funciones asociadas.

Funciones para tipos de datos enumerados: Las funciones de


selección y comparación que se muestran en el cuadro 4.13 y que fueron
definidas con anterioridad, pueden ser aplicadas a datos tipos numerados
definidos en la sección 4.3.3.
144

4.8.3.-GENERALIDADES DE BLOQUES FUNCIONALES (FB’s).

Para propósitos de lenguajes de PLC, un bloque funcional es una


unidad de programación que al ser ejecutada produce uno más valores.
Los bloques funcionales son los equivalentes de los circuitos
integrados, IC´s, que representan funciones de control especializadas. Los
FB´s contienen tanto datos como instrucciones, y además pueden guardar
los valores de las variables (que es una de las diferencias con las funciones).
Tienen una interfaz de entradas y salidas bien definido y un código interno
oculto, como un circuito integrado o una caja negra. De este modo,
establecen una clara separación entre los diferentes niveles de
programadores, o el personal de mantenimiento. Un lazo de control de
temperatura, PID, es un excelente ejemplo de bloque funcional. Una vez
definido, puede ser usado una y otra vez, en el mismo programa, en
diferentes programas o en distintos proyectos. Esto lo hace altamente
reutilizable.
Los bloques funcionales pueden ser escritos por el usuario en alguno
de los lenguajes de la norma IEC, pero también existen FB´s estándar
(biestables, detección de flancos, contadores, temporizadores, etc.). Existe la
posibilidad de ser llamados múltiples veces creando copias del bloque
funcional que se denominan instancias. Cada instancia llevará asociado un
145

identificador y una estructura de datos que contenga sus variables de salida


e internas.
La ejecución de las operaciones de un bloque funcional se hace de
acuerdo a reglas de cada tipo de lenguajes utilizado en su programación,
mas adelante se detalla este aspecto.
Cualquier tipo de FB que haya sido declarado, puede ser usado en la
declaración de otro FB o tipo de programa.
El alcance de un FB será local al POU en el cual se hace el llamado,
siempre y cuando no sea declarado como un bloque global a través de la
instrucción VAR_GLOBAL BLOCK, como se verá más adelante.
La representación de una instancia de un bloque funcional se muestra
en la figura 4.14. En lenguaje estructurado se realiza la declaración usando
la construcción VAR...END_VAR. En lenguaje gráfico se usa una
representación del bloque funcional, con el nombre del FB dentro del bloque
y el nombre de la instancia o copia fuera del mismo. Por lo demás se siguen
las normas de representación de funciones ya vistos.

Figura 4. 14. Representación de un bloque funcional.

Las variables y entradas de una instancia pueden ser representados


como tipos de datos estructurado. Al igual que en las funciones la negación
de la entrada o de la salida de una variable booleana, se hace con un círculo
abierto justo en la intersección de la línea de entrada con el bloque.
146

La asignación de valores a la variable de salida no está permitido


excepto dentro del bloque funcional. La asignación de valores de entrada
solo se permite en el llamado del bloque funcional. Los usos permitidos de
entradas y salidas son resumidos en el cuadro 4.14 para el ejemplo mostrado
en la figura 4.14.

Uso de las variables EN y ENO en bloques funcionales: al igual


que para las funciones, se puede disponer de una entrada booleana EN, y
una salida booleana ENO, para los bloques funcionales. Pueden ser
definidas por el fabricante del PLC o por un usuario, para tal fin se usan las
siguientes declaraciones:
VAR_INPUT EN : BOOL := 1 ; END_VAR
VAR_OUTPUT ENO : BOOL ; END_VAR.
Cuando se usan las variables la ejecución del bloque funcional se
hace de la siguiente manera:
• Si EN es falso cuando se llama a la instancia, la asignación de los
parámetros actuales del bloque funcional puede o no ser hecha,
esto dependerá de la implementación del fabricante. Las
operaciones descritas dentro del bloque funcional no se realizarán
y el valor de ENO es colocado en falso (0) por el programa de
control del sistema.
147

• En cualquier otra circunstancia el valor de ENO es colocado en


verdadero (1). Se asignan los parámetros a las entradas del
bloque funcional y se realizan las operaciones. Las operaciones
pueden incluir la asignación de valor a la variable ENO.
• Si ocurre un error en la ejecución del programa, el valor de ENO
debe ser ajustado a falso (0) por el programa de control del
sistema.
• Si el valor de ENO es falso (0) los valores de las salidas
(VAR_OUTPUT) mantienen los mismos estados que antes del
llamado del bloque funcional.
Declaración de un bloque funcional: En la figura 4.15 se muestra
un ejemplo de declaración de bloque funcional, tanto en lenguaje de texto
(ST) como en lenguaje gráfico (FDB). La forma de declaración es similar a la
usada para las funciones con algunas diferencias que se señalan a
continuación y se resumen en el cuadro 4.15.
a. Las palabras claves para la definición del bloque funcional son
FUNCTION_BLOCK...END_FUNCTION_BLOCK
b. Se puede usar el calificador RETAIN para las variables internas y
de salida del bloque funcional. Esto se muestra en los ejemplos 1,
2 y 3 del cuadro 4.15.
c. Los valores de las variables que pasan al bloque funcional a través
de la declaración VAR_EXTERNAL pueden ser modificadas dentro
del bloque como lo muestran los ejemplos 5, 6 y 7 del cuadro 4.15.
d. Los valores de salida de una instancia de un bloque funcional cuyo
nombre es pasado dentro de un bloque funcional a través de las
declaraciones VAR_EXTERNAL, VAR_INPUT o VAR_IN_OUT,
pueden ser usadas, pero no modificadas dentro del bloque
funcional. Esto se muestra en los ejemplos 5, 6, y 7 del cuadro
4.15.
148

e. Un bloque funcional cuyo nombre de instancia ha sido pasado


dentro de otro bloque funcional a través de las instrucciones
VAR_INPUT o VAR_EXTERNAL, puede ser llamado desde dentro
del bloque funcional como lo muestran los ejemplos 5, 6 y 7 del
cuadro 4.15.
f. En declaraciones textuales los calificadores R_EDGE y F_EDGE,
pueden ser usados para definir una función de detección de bordes
o detección de flancos con entradas booleanas. Esto induce la
declaración implícita de bloques funcionales estándar R_TRIG y
F_TRIG, los cuales se detallan más adelante. Ejemplos de estas
construcciones se muestran en los ejemplos 8 y 8b del cuadro
4.15.
g. En la construcción grafica de las funciones de detección de limites
se usan los caracteres mayor que (>) y menor que (<) como se
muestra en los ejemplos 9 y 9b del cuadro 4.15.
h. Si se usan datos genéricos en las declaraciones de entradas y
salidas de bloques funcionales estándar, las reglas para inferir los
tipos de datos de salida actuales de tales bloques, serán parte de
la definición de dichas funciones.
i. La notación de asterisco definida para las funciones, puede ser
usada en la declaración de variables internas de un bloque
funcional.
Como se muestra en la figura 4.16, solo variables o nombres de
instancias de bloques funcionales pueden ser pasadas dentro de un bloque
funcionas a través de la declaración VAR_IN_OUT, ni funciones, ni bloques
funcionales pueden pasarse usando dicha instrucción. Esto se hace con el
fin de impedir modificaciones de tales salidas. Se pueden construir cascadas
de declaraciones VAR_IN_OUT, tal y como se ilustra en la figura 4.16 c.
149

Figura 4. 15. Ejemplo de declaración de un bloque


funcional.
150
151

Figura 4. 16. Declaraciòn y uso de variables de entrad-salida (in-


out) en bloques funcionales.
152

Figura 4. 17. Uso del nombre de un bloque funcional como variable


de entrada (forma gràfica)
153

Figura 4. 18. Uso del nombre de un bloque funcional como variable


in-out (forma gràfica)
154

Figura 4. 19. Uso del nombre de un bloque funcional como


variable externa (forma gràfica)
155

Figura 4. 20. Representación gráfica de funciones de limites de


entrada.

4.8.4. BLOQUES FUNCIONALES ESTÁNDAR.

La norma IEC-61131-5 establece los siguientes bloques funcionales


estándar para los PLC:
• Bloques biestables.
• Bloques de detección de flancos.
• Bloques funcionales para conteo (contadores).
• Bloques funcionales para temporización (temporizadores)
• Bloques funcionales de comunicación.
Los bloques funcionales estándar pueden ser sobrecargados y
también tener entradas y salidas extensibles.
Se describen a continuación los bloques funcionales estándar.
156

Bloques biestables: La figura 4.21 muestra la representación y el


cuerpo de un elemento biestable estándar.

Figura 4. 21. Bloques funcionales estándar biestables.

Bloques de detección de flancos: En la figura 4.22 se muestran los


bloques funcionales estándar para la detección de flancos de subida y de
bajada de ondas cuadradas. El comportamiento de estos bloques debe ser
equivalente a las definiciones dadas a continuación:
a. La salida Q del bloque funcional estándar R_TRIG se ajusta al
valor booleano 1 en la primera ejecución del bloque, luego de que
se produzca el cambio de 0 a 1 de la variable CLK. Q retornara a
cero en la siguiente ejecución.
157

b. La salida Q del bloque funcional estándar F_TRIG se ajusta al valor


booleano 1 en la primera ejecución del bloque, luego de que se
produzca el cambio de 1 a 0 de la variable CLK. Q retornara a cero
en la siguiente ejecución.

Figura 4. 22. Bloques funcionales estándar para la detección de


flancos.

Contadores: La representación gráfica para bloques funcionales


estándar contadores, con sus respectivas variables de entrada y salida se
muestra en la figura 4.23. Las operaciones de dichos bloques se muestran
en los correspondientes cuerpos de la función descritos en lenguaje
estructurado (ST).
Temporizadores: En la figura 4.23 se muestra la representación de
bloques funcionales de: generadores de pulsos, temporizador al trabajo (on-
delay) y temporizador al reposo (off-delay). Se detalla también en la figura
4.23 los diagramas de tiempo correspondientes a cada uno de los bloques
funcionales representados.
158

Figura 4. 23. Bloques funcionales estandar para contadores.


159

Figura 4. 24. Bloques funcionales estándar de


temporizadores.
160

Bloques funcionales estándar de comunicación: Estos bloques


son definidos en el estándar IEC-61131-5. Aunque no son tratados en el
presente texto, permiten las siguientes funciones en la programación de las
comunicaciones: verificación de dispositivos, elegir la adquisición de un dato,
programar la adquisición de un dato, control paramétrico, control de
interfases, conexión dirección y protección.

4.8.5.-GENERALIDADES ACERCA DE PROGRAMAS.

Según la norma IEC-61131-1, un programa es: “un arreglo lógico de


todos los elementos y construcciones de un determinado lenguaje de
programación, necesarios para el manejo adecuado de las señales de
procesamiento, requeridas para el control de una máquina o proceso a través
de un sistema de control programable.
La declaración y uso de los programas es similar a las formas usadas
para declarar bloques funcionales, con las características adicionales que se
muestran en el cuadro 4.16 y las siguientes diferencias:
• Las palabras reservadas para la definición del un programa son:
PROGRAM...END_PROGRAM.
• Un programa puede contener construcciones del tipo
VAR_ACCES...END_VAR, la cual provee al programa de un medio
para especificación de variables que pueden ser llamadas por
algunos de los servicios de comunicación especificados en el
estándar IEC-61131-5. Una vía de acceso asociada con cada una
de tales variables con una entrada (input), o salida (output) o una
variable interna del programa. El formato y uso de éstas
declaraciones se muestra en el estándar IEC-61131-5.
• Los programas solo pueden ser copiados dentro de los bloques de
recursos, mientras que los bloques funcionales pueden ser
161

copiados dentro de los programas o dentro de otros bloques


funcionales.
• Un programa puede contener asignación de localidades de
variables, tal y como se describió en la sección 4.4 de declaración
de variables, para la declaración de sus variables internas y
globales.
La extensión de un programa es un parámetro de implementación del
fabricante.
CAPÍTULO V
DEFINICIÓN DE LOS LENGUAJES ESTÁNDAR DE LA NORMA
IEC-61131-3.
163

CAPÍTULO V
DEFINICIÓN DE LOS LENGUAJES ESTÁNDAR DE LA NORMA
IEC-61131-3.

5.1.-INTRODUCCIÓN.

Como ya es conocido la norma IEC-61131-3 establece cuatro


lenguajes de programación para los controladores programables; estos son
dos lenguajes textuales (el texto estructurado ST y la lista de instrucciones
IL) y dos lenguajes gráficos (los diagramas de contactos LD y los diagramas
de bloques funcionales FBD). Cualquier controlador programable cuya
programación opere bajo la norma IEC, soporta al menos uno de los
lenguajes estándar mencionado. Con el enorme desarrollo que ha tenido y
sigue teniendo el software de programación es común que algunos de los
paquetes o sistemas de programación permitan la elaboración de programas
en más de uno de los lenguajes, pudiéndose obtener de manera instantánea
los programas escritos en diferentes lenguajes.
En el presente capítulo se terminan de delinear los aspectos generales
de la semántica de cada uno de los lenguajes. La presentación se hace
agrupando primeramente los lenguajes textuales, señalando sus aspectos
comunes y luego los detalles particulares del lenguaje LD y ST. Se repite el
esquema de presentación para los lenguajes gráficos con sus aspectos
generales y comunes tanto al lenguaje LD como al FBD y posteriormente los
aspectos particulares de cada uno de ellos.
La lectura e interpretación de este capítulo requiere de haber realizado
una lectura detallada del capítulo IV ya que existen múltiples referencias a las
secciones de dicho capítulo.
164

5.2.-ELEMENTOS COMUNES DE LOS LENGUAJES


TEXTUALES.

Los elementos textuales definidos en la sección 4.3 como elementos


comunes del estándar IEC 63111-3, son aplicados a los lenguajes textuales y
en particular las siguientes construcciones.
TYPE...END_TYPE.
VAR...END_VAR.
VAR_INPUT…END_VAR.
VAR_OUTPUT…END_VAR.
VAR_IN_OUT…END_VAR.
VAR_EXTERNAL…END_VAR.
VAR_TEMP…END_VAR.
VAR_ACCESS…END_VAR.
VAR_GLOBAL…END_VAR.
VAR_CONFIG…END_VAR.
FUNCTION…END_FUNCTION.
FUNCTION_BLOCK…END_FUNCTION_BLOCK.
PROGRAM…END_ROGRAM.
STEP…END_STEP.
TRANSITION…END_TRANSITION.
ACCION…END_ACTION.
Las últimas tres construcciones corresponden a elementos de
diagramas secuencial de funciones (SFC) el cual se estudiará mas adelante.

5.3.-LENGUAJE DE LISTA DE INSTRUCCIONES (IL).

En las siguientes secciones se define la semántica del lenguaje textual


de lista de instrucciones. Este es un lenguaje básico y sencillo el cual consta
165

de instrucciones que poseen operadores, modificadores y operando, así


como también se definen funciones y bloques funcionales dentro del lenguaje
de lista de instrucciones.

5.3.1.-INSTRUCCIONES EN LENGUAJE IL.

En el cuadro 5.1, se muestra una lista de instrucciones, la cual está


compuesta por una serie de instrucciones en secuencia. Cada instrucción
comienza en una nueva línea y debe contener un operador y opcionalmente
puede tener un modificador, y si es necesario para la operación uno o más
operando separados por coma. El operando pueden ser cualquier tipo de
dato representado tal como se definió en la sección 4.5, para literales o en la
sección 4.6 para valores enumerados o una variable como se definió en la
sección 4.7.
Las instrucciones pueden ser precedidas por etiquetas o
identificadores seguidos por dos puntos (:). Se pueden dejar líneas vacías
entre las instrucciones.

5.3.2.-OPERADORES, MODIFICADORES Y OPERANDO


DEL LENGUAJE IL.

En el cuadro 5.2, se muestran los operadores estándar con sus


respectivos modificadores y operandos. La tipificación de los operadores
166

está de acuerdo con lo señalado para la tipificación de funciones en la


sección 4.8.1.
167

Mientras no se diga lo contrario en la tabla 5.2, la semántica de los


operadores será como se señala a continuación.
resultado := resultado OP operando.
Esto significa lo siguiente: el valor de la expresión inicialmente
evaluada es reemplazada por su valor actual operado mediante el operador
sobre el respectivo operando. Por ejemplo la instrucción AND %IX1, es
interpretada como:
resultado := resultado AND %IX1.
Los resultados de la comparación serán interpretados con el corriente
resultado a la izquierda y el operando a la derecha, el resultado es booleano.
Por ejemplo, la instrucción “GT %IW10”, tendrá resultado booleano 1, si el
valor actual del resultado es mayor que el valor de la palabra de entrada 10 y
será 0 en cualquier otro caso.
El modificador “N” indica un cambio o negación booleana del
operando. Por ejemplo la instrucción ANDN %IX2, es interpretada como:
resultado := resultado AND NOT %IX2.
Los paréntesis indican la evaluación de las operaciones dentro de
ellos antes de ejecutar las que están fuera. La tabla 5.3 muestra dos formas
equivalentes de usar los paréntesis en la definición de instrucciones. Ambos
ejemplos de la tabla 5.3 se deben interpretar de la siguiente manera:
resultado := resultado AND (%IX1 OR %IX2).
168

El modificador “C” señala que la instrucción asociada se ejecutará si el


valor actual del resultado es 1 booleano ( O también 0 booleano si el
operador es combinado con el modificador “N”.

5.3.3.-FUNCIONES Y BLOQUES FUNCIONALES EN EL


LENGUAJE IL.

Las funciones tal y como fueron definidas en la sección 4.8.1, pueden


ser llamadas colocando el nombre de la función en el campo del operador.
Como se muestra en los ejemplos 4 y 5 del cuadro 5.4, el llamado puede
hacerse de una de dos formas. El resultado que retorna la función, cuando
ha alcanzado la instrucción RET o cuando llega la final del grupo de
instrucciones que la componen, representa el resultado corriente para las
sucesivas evaluaciones.
La lista de argumentos de la función en el ejemplo 4 del cuadro 5.4 es
equivalente al ejemplo 1 del cuadro 4.11. Las reglas y ejemplos definidos en
la sección 4.8.1 y en la tabla 4.11, son aplicables para el llamado de
funciones.
La lista de entradas no formales de la función en el ejemplo 5 del
cuadro 5.4, es equivalente al ejemplo 2 del cuadro 4.11. En contraste con lo
señalado en el ejemplo dado en el cuadro 4.11 para lenguaje ST, el primer
argumento no está contenido en la lista de entradas no formales en lenguaje
IL, pero el resultado actual será usado como el primer argumento de la
función. Los argumentos adicionales (si son requeridos) se pondrán en el
campo de los operando de la función, separados por comas y en el orden de
su declaración.
Los bloques funcionales, como fueron declarados en la sección 4.8.3,
pueden ser invocados condicional e incondicionalmente, usando el operador
CAL. Los ejemplos 1 al 4 del cuadro 4.11, muestra la forma del llamado.
169
170

La lista de argumentos formales de un llamado a un bloque funcional


(ejemplo 1 del cuadro 5.4) es equivalente al ejemplo 1 del cuadro 4.11. El
llamado de un bloque funcional con lista de argumentos formales como en el
ejemplo 1b del cuadro 5.4, es equivalente al ejemplo 2 del cuadro 4.11. Las
reglas y ejemplos definidos en la representación de funciones (sección 4.8.2),
son aplicables siempre y cuando, se reemplace el término function por el
término function block.
Todas las asignaciones en una lista de argumentos de un llamado de
bloque funcional, solo será realizado junto con la invocación, si la condición
es verdadera.
Los operadores de entrada mostrados en el cuadro 5.5, podrán ser
usados en conjunción con los ejemplos del cuadro 5.4. El método de
llamado es equivalente al CAL con una lista de argumentos, el cual contiene
solo una variable con el nombre del operador de entrada. Los argumentos
que no están presentes son tomados de la última asignación si no están
presentes, para la inicialización. Estos ejemplos se aplican a situaciones
donde los eventos son predecibles y solo una variable cambia de una
invocación a otra siguiente.
Junto con la siguiente declaración:
VAR C10 : CTU ; END_VAR.
La secuencia de instrucciones
LD 15
PV C10.
El equivalente al siguiente resultado:
CAL C10(PV := 15).
171

5.4.-LENGUAJE DE TEXTO ESTRUCTURADO (ST).

En las siguientes secciones se define la semántica del lenguaje


estructurado ST. Es un lenguaje más completo y permite construir
aplicaciones de mayor complejidad. El lenguaje define expresiones e
instrucciones de varios tipos.

5.4.1.-EXPRESIONES EN ST.

Una expresión es una construcción que al ser evaluada toma un valor


correspondiente a un tipo de dato.
Las expresiones se componen de operandos y operadores. Un
operando será un literal como los definidos en las secciones 4.5 a la 4.6, o
una invocación de función u otra expresión.
Los operadores del lenguaje de texto estructurado son resumidos en
el cuadro 5.6. La evaluación de una expresión consiste en la aplicación de
operadores a los operandos en una secuencia definida por un procedimiento
de operación mostrado en el cuadro 5.6. El operador con mayor jerarquía se
172

aplica en primer lugar, luego los de menor jerarquía hasta completar la


evaluación de la expresión.

Los operadores de igual jerarquía se aplican como están escritos en la


expresión, o sea; de izquierda a derecha. Por ejemplo si A, B, C y D son tipo
entero con valores 1, 2, 3, y 4 respectivamente, entonces la siguiente
expresión:
A+B-C*ABS(D).
Será evaluada como –9. Y la expresión:
(A+B-C)*ABS(D).
Es evaluada como 0.
Cuando una expresión tiene dos operandos, el operando que está
más a la izquierda se evalúa primero. Por ejemplo en la siguiente expresión:
SIN(A)*COS(B)
173

La expresión SIN(A) será evaluada primero y seguidamente la


expresión COS(B), y a continuación se procede con la evaluación del
producto de las dos funciones.
Las expresiones booleanas deben ser evaluadas solo hasta la
extensión necesaria para obtener un valor resultante. Por ejemplo: si A<=B,
entonces al evaluar la siguiente expresión:
(A>B) & (C<D)
Solamente al evaluar la expresión (A>B) es suficiente para determinar
que el resultado de toda la expresión es 0 booleano.
Las funciones serán invocadas como elementos de expresiones,
consistentes en un nombre de función seguido de una lista de argumentos
entre paréntesis, como se definió en la sección 4.8.2.

5.4.2.-INSTRUCCIONES EN ST.

El lenguaje de texto estructurado (ST), contiene cuatro tipos de


instrucciones mencionadas a continuación y resumidas en el cuadro 5.7.
Instrucciones de asignación.
Instrucciones de funciones y bloques funcionales.
Instrucciones de selección.
Instrucciones de iteración.
Toda instrucción será terminada con punto y coma (;). La máxima
longitud de una instrucción es un parámetro de implementación del fabricante
o de la aplicación.

5.4.2.1.-INSTRUCCIONES DE ASIGNACIÓN.

Las instrucciones de asignación reemplazan el valor actual de una


variable simple o de múltiples valores por el resultado de la evaluación de
174

una expresión. Una instrucción de asignación consistirá de una variable de


referencia al lado izquierdo seguido por el operador de asignación “ := “,
seguido por la expresión a ser evaluada. Por ejemplo la instrucción:
A := B ;
Es utilizada para reemplazar el valor actual de la variable A por el
valor actual de la variable B, siempre y cuando ambas variables sean del
mismo tipo (entero por ejemplo). Adicionalmente si ambos tipos de variables
fueran de tipo ANALOG_CHANNEL_CONFIGURATION, tal y como se
definió en el cuadro 4.3, entonces los valores de todos los elementos de la
variable estructurada A son reemplazados por los correspondientes valores
de la variable B.
Como se muestra en la figura 4.1, la instrucción de asignación puede
ser usado para el valor que retorna la función, esto se logra colocando el
nombre de la función a la izquierda de un operador en el cuerpo de la
declaración de la función. El valor que retorna la función será el valor de la
evaluación más reciente de la asignación.
175

Cuadro No. 5.7 continuación...

5.4.2.2.-INSTRUCCIONES DE CONTROL DE FUNCIONES


Y BLOQUES FUNCIONALES.

Las instrucciones de control de las funciones y bloques funcionales,


consisten en los mecanismos para el llamado y para la devolución del control
a la entidad de invocación una vez que se ha llegado al final de la función o
del bloque funcional.
La evaluación de una función se invocará como parte de una
expresión de evaluación como se señaló en la sección 5.4.1.
Un bloque funcional es llamado a través de una instrucción que
consiste del nombre de la instancia del bloque funcional, seguido por una
176

lista de argumentos entre paréntesis, tal cual como se ilustra en el cuadro


5.7. Las reglas y ejemplos definidos en la sección 4.8.1 y el cuadro 4.11,
para el llamado de funciones se aplican correspondientemente,
reemplazando cada ocurrencia del término function por el término function
block.
La instrucción RETURN permitirá una fácil salida de una función,
bloque funcional o programa.

5.4.2.3.-INSTRUCCIONES DE SELECCIÓN.

Las instrucciones de selección son IF y CASE. Una instrucción de


selección permite escoger una (o un grupo) de sus instrucciones
componentes para su ejecución, basado en una condición específica. Por
ejemplo las instrucciones de selección dadas en el cuadro 5.7.
La instrucción IF especifica que el grupo de instrucciones, será
ejecutado, solo si la expresión booleana asociada es verdadera (1). Si la
condición es falsa las instrucciones no son ejecutadas o pueden ejecutarse el
grupo de instrucciones colocadas después de la palabra ELSE (o la palabra
ELSIF si su condición booleana asociada es verdadera).
La instrucción CASE consiste en una expresión la cual se evaluará
para un tipo de variable ANY_INT, o para un tipo de dato enumerado, y unos
grupos de instrucciones, cada grupo comienza con una etiqueta con valores
enteros o numerados. La etiqueta especifica que se ejecutará el grupo de
instrucciones que contenga el valor evaluado y señalado en la etiqueta. Si el
valor del valor evaluado no corresponde a ninguno del rango señalados por
la etiqueta, se ejecutarán las instrucciones colocadas después de la palabra
ELSE (si las hay). En cualquier otro caso no se ejecutan ninguna de las
instrucciones.
177

5.4.2.4.-INSTRUCCIONES DE ITERACIÓN.

Una instrucción especifica de iteración indica que el grupo de


instrucciones asociadas se ejecutarán repetidamente. Dentro del lenguaje de
texto estructurado se definen tres instrucciones de iteración, éstas son:
FOR...END_FOR.
WHILE…END_WHILE.
REPEAT…END_REPEAT.
La instrucción FOR se usa si en número de iteraciones pueden ser
determinadas y en avance, en otras circunstancias se usan las instrucciones
REPEAT o WHILE.
La instrucción EXIT se usará para finalizar la iteración sin que se halla
satisfecho la condición, en otras palabras, para interrumpir los ciclos.
Cuando la instrucción EXIT se encuentra localizada dentro de una
construcción iterativa, la salida es a la siguiente construcción y el control
pasa a la siguiente instrucción después del final del respectivo lazo. Por
ejemplo en la figura 5.1 se muestra un conjunto de instrucciones iterativas; el
valor de la variable SUM será 15 si el valor de la variable booleana FLAG es
0 y 6 si FLAG = 1.

Figura 5.1. Uso del EXIT en un grupo de instrucciones iterativas


178

La iteración FOR indica que la secuencia de instrucciones será


repetida hasta que la variable de control alcance el valor indicado. En cada
ciclo la variable de control es incrementada por el valor asignado en una
expresión (el valor por defecto es la una unidad. La variable de control es de
tipo entero (SINT, INT,DINT), y no debe ser alterada por las instrucciones
que se repiten. La prueba para la condición de finalización es hecha al
comienzo de cada iteración, si el valor de la variable de control excede el
valor final no se ejecuta la secuencia.
El cuadro 5.6 en su ejemplo 6, muestra otra forma de uso de la
instrucción FOR. En ese ejemplo se usa el lazo FOR para determinar el
índice J de la primera ocurrencia de la cadena “KEY” en los elementos de un
arreglo de cadenas WORDS con un rango suscrito de 1...100. Si no se
encuentra la cadena , el valor de J será 101.
La instrucción WHILE causa que el grupo de instrucciones hasta la
sentencia END_WHILE se ejecute repetidamente hasta que la expresión
booleana asociada sea falsa. Si la expresión es inicialmente falsa, entonces
no se ejecuta ninguna instrucción. Por ejemplo el ejemplo 6 del cuadro 5.6
puede ser reescrito con una instrucción WHILE...END_WHILE, como se
muestra en el ejemplo 7 del mismo cuadro.
La instrucción REPEAT causa que la secuencia de instrucciones hasta
la palabra UNTIL, sean ejecutadas de manera iterativa (al menos una vez),
hasta que la condición booleana sea verdadera. Por ejemplo el ejemplo 6 del
cuadro 5.6 puede ser reescrito con una instrucción
REPEAT...END_REPEAT, como se muestra en el ejemplo 8 del mismo
cuadro.
179

5.5.-ELEMENTOS COMUNES PARA LENGUAJES


GRÁFICOS.

Los lenguajes gráficos que define el estándar IEC-61131-3, son el


lenguaje de diagrama de contactos (Ladder Diagram, LD) y el lenguaje de
diagramas de bloques funcionales (Function Block Diagram FBD). Los
elementos de gráfico secuencial de función (SFC) se pueden usar en
conjunto con cualquiera de los lenguajes gráficos mencionados.
Los elementos definidos en esta sección se aplicarán tanto a los
lenguajes gráficos LD y FBD, como a la representación gráfica en SFC.

5.5.1.-REPRESENTACIÓN DE BLOQUES Y LÍNEAS.

Los elementos de lenguaje gráfico definidos aquí, son dibujados con


elementos de líneas usando los caracteres definidos en la sección 4.4, o
usando gráficos o elementos de gráficos que se muestran en el cuadro 5.8.
Las líneas pueden ser extendidas a través de los conectores
mostrados en el cuadro 5.8. El uso de los conectores no debe ser asociado
con elementos de datos o su almacenamiento, por lo tanto, para evitar
ambigüedades, se cometerá un error si el identificador usado como una
etiqueta de conector tiene el mismo nombre de otro nombre de elemento
dentro de la misma unidad de organización de programa.

Cualquier restricción en la topología de una red en particular, debe ser


señalada como un parámetro de implementación.
180

5.5.2.-DIRECCIÓN DEL FLUJO EN UNA RED.

Una red se define como el conjunto máximo de interconexión de


elementos gráficos, excluyendo las líneas de alimentación o fuerza en los
diagramas de contactos (LD) definidos en la sección 5.6.2. Se deben tomar
precauciones para la asociación con cada una de las redes o grupos de
redes en un lenguaje gráfico se usa una etiqueta de red delimitada a la
izquierda por dos puntos (:). Esta etiqueta tendrá la forma de un identificador
o de un entero decimal no asignado, como se define en la sección 4.5. El
181

alcance de una red y sus etiquetas será local a la unidad de organización del
programa donde se encuentre localizada la red.
Los lenguajes gráficos son usados para representar el flujo de una
cantidad conceptual a través de una o más redes que representan un plan de
control, esto es:
a. Flujo de potencia: Similar al flujo eléctrico de potencia en un
sistema de relés, se usa típicamente en diagramas de contactos.
b. Flujo de señal: Es similar al flujo de señales entre los diferentes
elementos que componen un sistema de señal de proceso, se usa
típicamente en el lenguaje de diagramas de bloques funcionales.
c. Flujo de actividad: Similar al flujo de control entre elementos de
una organización o pasos de una secuencia electromecánica, se
usa típicamente en los gráficos funcionales de secuencia.
La cantidad conceptual fluirá a lo largo de líneas entre elementos de
una red de acuerdo a las siguientes reglas:
a. El flujo de potencia en el lenguaje LD irá de izquierda a derecha.
b. El flujo de señal en el lenguaje FBD irá desde la salida (en el lado
derecho) de la función o bloque funcional a la entrada (en el lado
izquierdo) de los mismos.
c. El flujo de actividad en los elementos SFC irá desde la parte baja
del paso a través de la transición correspondiente, hasta el
principio del siguiente paso.

5.5.3.-EVALUACIÓN DE REDES.

El orden en el cual las redes y sus elementos son evaluados no es


necesariamente el mismo en el cual están las etiquetas o en el cual se
muestran las redes. De igual forma, no es necesario que todas las redes
sean evaluadas, antes de que la evaluación de una determinada red pueda
182

ser repetida. De cualquier manera cuando el cuerpo de una POU consiste de


una o más redes, el resultado de la evaluación de la red dentro del cuerpo,
será funcionalmente equivalente a las observaciones en las siguientes
reglas:
a. Ningún elemento de la red, deberá ser evaluado hasta que se
hallan evaluado los estados de todas sus entradas.
b. La evaluación de un elemento de red no estará completa hasta que
los estados de todas sus salidas hallan sido evaluadas.
c. La evaluación de una red no estará completa hasta que la salida de
todos sus elementos hayan sido evaluados, aun si la red contiene
uno de los elementos de control de ejecución que se definen en la
sección 5.5.4.
d. La forma como se evalúa la red se define en la sección 5.6.6, para
el lenguaje LD y en la sección 5.7.2, para el lenguaje FBD.
Se dice que existe una vía de realimentación en una red, cuando la
salida de una función o de un bloque funcional, se usa como entrada de una
función o bloque funciona precedente dentro de la red. La variable asociada
se denomina variable de realimentación. Por ejemplo la variable booleana
RUN es la variable de realimentación en el ejemplo mostrado en la figura 5.2.
Las vías de realimentación pueden ser utilizadas en los lenguajes
gráficos definidos en las secciones 5.6 y 5.7, sujetos a las siguientes reglas:
a. Los lazos explícitos como los mostrados en la figura 5.2a, solo
aparecen en el lenguaje FBD.
b. Debe darse posibilidad al usuario de utilizar un medio de
implementación para determinar el orden de ejecución de un lazo
explícito, por ejemplo a través de la selección de una variable de
realimentación para formar un lazo implícito como lo muestra la
figura 5.2b.
183

c. La variable de realimentación debe ser inicializada a través de


alguno de los métodos definidos en las secciones 4.4 a 4.7. El
valor inicial será usado durante la primera evaluación de la red.
d. Una vez que el elemento con variable de realimentación de salida
ha sido evaluado, el nuevo valor de la variable de realimentación
será usado hasta la próxima evaluación del elemento.

Figura 5.2. Ejemplos de caminos de realimentación.


184

5.5.4.-ELEMENTOS DE CONTROL DE EJECUCIÓN.

Los elementos de transferencia del control de programa, tanto para el


lenguaje LD como para el FBD, serán representados por los elementos
gráficos mostrados en el cuadro 5.9
185

Como puede apreciarse los saltos serán mostrados por una línea de
señal booleana que termina en una doble punta de flecha. La línea de señal
para un salto condicionado se originará en una variable booleana, en una
salida booleana de una función o bloque funcional o en la línea de potencia
en un diagrama de contactos. Una transferencia del control de programa a
una etiqueta de red designada, ocurrirá cuando el valor booleano de la
variable sea 1 (verdadero), por lo tanto, el salto incondicional es un caso
especial del salto condicional.
El destino de un salto será una etiqueta de red dentro de la unidad de
organización de programa en la cual el salto ocurre. Si el salto ocurre dentro
de una construcción ACTION...END_ACTION, el destino del salto será dentro
de la misma construcción.
Los retornos condicionales de las funciones y bloques funcionales
serán implementados usando la construcción RETURN, como lo muestra el
cuadro 5.9. La ejecución del programa será transferida de regreso a la
entidad que hizo el llamado, cuando el valor de la entrada booleana sea 1
(verdadero) y continuara su proceso normal cuando la entrada booleana sea
0 (falsa). El retorno incondicional se hará cuando se llegue al final de las
instrucciones de la función o del bloque funcional, o por el elemento
RETURN colocado en la línea de potencia izquierda en el lenguaje LD, como
se puede observar en el cuadro 5.9.

5.6.-LENGUAJE DE DIAGRAMA DE CONTACTOS


(LADDER DIAGRAM LD).

En esta sección se define el lenguaje de diagrama de contactos (LD)


para la programación de controladores programables.
Un programa en LD permite al controlador programable probar y
modificar datos a través de símbolos gráficos estandarizados. Estos
186

símbolos son colocados en redes de una manera similar a como son usados
los eslabones de un diagrama de escalera o de contactos en esquemas de
relés. Los diagramas LD están limitados a ambos lados por líneas de fuerza
o de potencia.

5.6.1.-REPRESENTACIÓN DE LÍNEAS DE FUERZA.

Como se muestra en el cuadro 5.10, las redes LD estarán limitadas en


el lado izquierdo por una línea vertical conocida como línea de fuerza
izquierda y por el lado derecho también por una línea vertical con el nombre
de línea de fuerza derecha. La línea de fuerza derecha puede ser implícita o
explicita.

5.6.2.-ELEMENTOS DE ENLACE Y ESTADOS.

El cuadro 5.11, muestra los elementos de enlace, y como se puede


apreciar éstos son horizontales o verticales. El estado de un elemento de
enlace puede denotarse ON u OFF, correspondiendo a los valores boléanos
1 y 0 respectivamente. El término estado de enlace será sinónimo del
término flujo de potencia.
El estado de la línea de fuerza izquierda será considerada en ON todo
el tiempo. No se define ningún estado para la línea de fuerza derecha.
187

Un elemento de enlace horizontal será indicado por una línea


horizontal. Un elemento de enlace horizontal transmite el estado del
elemento inmediato a la izquierda al elemento inmediato a la derecha.

El elemento de enlace vertical consistirá de una línea vertical


interceptada con una o más elementos de enlace horizontales a cada lado.
El estado del enlace vertical representará la conjugación OR del estado ON
de los enlaces horizontales en lado izquierdo, esto es, el estado del enlace
vertical será:
• OFF si los estados de todos los enlaces horizontales acoplados en
su lado izquierdo son OFF.
• ON si el estado de uno o más enlaces horizontales acoplados en
su lado izquierdo son ON.
El estado del enlace vertical debe ser copiado a todos los enlaces
horizontales colocados a la derecha. El estado del enlace vertical no debe
ser copiado a ninguno de los enlaces horizontales colocados en el lado
izquierdo.

5.6.3.-CONTACTOS.

Un contacto es un elemento el cual le imparte un estado al lado


derecho de un enlace horizontal, el cual es igual a la conjugación booleana
AND del estado del enlace horizontal y su lado izquierdo, donde debe haber
188

una función apropiada en asociación con una entrada, salida o variable de


memoria booleana. Un contacto no modifica el valor de la variable booleana
asociada. Los símbolos estándar para contactos se muestran en el cuadro
5.12.

5.6.4.-BOBINAS.

Una bobina es un elemento que copia el estado del enlace a su


izquierda a la derecha sin modificaciones y almacena una función adecuada
del estado o transición del enlace izquierdo en una variable booleana
189

asociada. Los símbolos estándar asociados a las bobinas en el lenguaje LD


se muestran en el cuadro 5.13. Transición,
190

5.6.5.-FUNCIONES Y BLOQUES FUNCIONALES.

La representación de funciones y bloques funcionales en el lenguaje


LD se hará tal y como se definió en el capítulo IV con las siguientes
excepciones:
a. Las conexiones actuales de las variables pueden ser mostradas
opcionalmente, escribiendo el dato o variable apropiado fuera del
bloque, adyacente al nombre formal de la variable en el lado
interior.
b. Al menos un uno (1) booleano de entrada y de salida se mostrará
en cada bloque para tener en cuenta el flujo de potencia a través
del bloque.

5.6.6.-ORDEN PARA LA EVALUACIÓN DE REDES EN LD.

Dentro de una unidad de organización de programa escrita en LD, las


redes serán evaluadas de arriba hacia abajo, tal y como aparecen en el
diagrama de contactos, excepto que el orden sea modificado por algún
elemento de control de ejecución, de los definidos en la sección 5.5.4.

5.7.-LENGUAJE DE BLOQUES FUNCIONALES


(FUNCTION BLOCK DIAGRAM FBD).

En esta sección el lenguaje FBD, el cual consiste en un lenguaje


gráfico para la programación de controladores lógicos programables.
Las previsiones hechas en el capítulo IV y en la sección 5.5, se
aplicarán para la construcción e interpretación de programas para
controladores programables en lenguaje FBD.
191

5.7.1.-COMBINACIÓN DE ELEMENTOS EN LENGUAJE


FBD.

Los elementos de lenguaje FBD serán interconectados por líneas de


flujo de señales siguiendo lo señalado en la sección 5.5.2.
Las salidas de bloques funcionales no deben ser conectadas juntas.
En particular el cableado OR del lenguaje LD no está permitido en el lenguaje
FBD. Se requiere de una bloque booleano OR explicito, para esta función tal
y como se muestra en el cuadro 5.14.

5.7.2.-ORDEN DE LA EVALUACIÓN DE REDES EN FBD.

Existen tres métodos para determinar el orden mediante el cual una


red de una unidad de organización de programa escrita en lenguaje FBD es
evaluada. Estos métodos son explicados en el cuadro 5.15. El método que
se use debe ser definido como un parámetro de implementación de la
aplicación.
192
193

BIBLIOGRAFÍA

Asea Brawn Boveri (ABB). Thecnical Catalogue. Editorial ABB. 1995

Asea Brawn Boveri (ABB). Catalogo de Productos. Editorial ABB. 2001.

Allen Bradley. (AB). Catalogo de Productos. Editorial AB. 2001.

Ies, Venancio . Curso de Autómatas Programables (PLC). Tijuana, B. C.


México. 2003.

Fernando Castro, Mauricio Araya, José Gòmez. Monografía: Introducción al


Autómata Programable (PLC). Documento publicado en INTERNET.
Universidad de Costa Rica. 2003.

Beltrán P., Cristhian. Controladores Lógicos Programables (PLC).


Documento publicado en INTERNET.

Mayol i Badia, Albert. Autómatas Programables. Editorial Marcombo.


España 1992.

Simón, Andrè. Electricidad Industrial Aplicada. Editorial Paraninfo. España


1992.

General Electric. (GE) Catálogo de Productos. Editorial GE. 2002.

Ibáñez, Carabantes P. y Ubieto, Artur P. Diseño Básico de Automatismos


Eléctricos. Editorial Paraninfo. 1995.
194

Siemens. Catálogo de Productos. Editorial Siemens. 2001.

Telemecanique. Catálogo General 1988 – 1989. Editorial Telemecanique.


1988.

Telemecanique. Catalogo de Productos 2000. Editorial Telemecanique.


2000.

Westinghouse. Catálogo de Productos. Editorial Westinghosue. 2002.

También podría gustarte