Está en la página 1de 83

ndice II

ndice
Introduccin 1
Capitulo 1 Descripcin de los PLCs 3
1.1 Introduccin 3
1.2 FEC Compacto 4
1.3 FEC Standard 5
1.4 IPC 7
Capitulo 2 Operando de los PLCs de Festo 11
2.1 Introduccin 11
2.2 Operndos de bit vs. Operndos de multibit 11
2.3 Entradas 12
2.4 Salidas 13
2.5 Banderas 14
2.6 Registros 15
2.7 Temporizadores 15
2.7.1 Temporizador de impulso 16
2.7.2 Temporizador de retrazo a la conexin 18
2.7.3 Temporizador de retrazo a la desconexin 20
2.8 Contadores 22
2.9 Constantes 24
2.10 Bandera de ejecucin inicial 25
Capitulo 3 Estructura de programacin en LDR 26
3.1 Introduccin 26
3.2 Que es un escaln 26
ndice III
3.3 Parte ejecutiva y condicional 27
3.4 Como se procesan los escalones 27
Capitulo 4 Referencia de instrucciones en LDR 29
4.1 Funciones lgicas 29
4.1.1 Funcin NOT 29
4.1.2 Funcin OR 30
4.1.3 Funcin AND 31
4.1.4 Funcin OR exclusiva 31
4.2 Funciones aritmticas 32
4.2.1 Adicin 33
4.2.2 Substraccin 33
4.2.3 Multiplicacin 33
4.2.4 Divisin 34
4.3 Funciones de rotacin 34
4.3.1 Rotacin a la izquierda 34
4.3.2 Rotacin a la derecha 35
4.4 Funciones de Corrimientos 36
4.4.1 Corrimiento a la izquierda 36
4.4.2 Corrimiento a la derecha 36
4.5 Saltando a una etiqueta 37
4.6 Bobinas 38
4.6.1 Set 38
4.6.2 Reset 38
4.6.3 Asignacin 39
ndice IV
4.6.4 Asignacin negada 39
4.7 Funciones de comparacin 40
4.7.1 Igual que... 40
4.7.2 Mayor que... 40
4.7.3 Menor que... 41
4.7.4 Mayor o igual que... 41
4.7.5 Menor o igual que... 42
4.7.6 Diferente que... 42
4.8 Nmeros 43
4.8.1 Conversin BCD a binario 43
4.8.2 Conversin binario a BCD 44
4.9 Contadores 44
4.10 Temporizadores 45
Capitulo 5 Programando entradas y salidas digitales, y banderas 47
5.1 Programando entradas y salidas 47
5.2 Programando banderas 50
Capitulo 6 Programando temporizadores 52
Capitulo 7 Programando contadores y registros 55
Capitulo 8 Llamando a programas, CMP y CFM 58
8.1 Programas 58
8.2 Mdulos de programa 59
8.3 Mdulos de funcin 60
8.4 Importando mdulos 61
Conclusiones 64
ndice V
Apndice A Principales mdulos de programa 65
A.1 F10 65
A.2 F11 65
A.3 F30 66
A.4 F31 67
A.5 F9 67
A.6 GETCOM 68
A.7 PUTCOM 68
A.8 PRINTCOM 68
A.9 READCOM 68
Apndice B Creando proyectos 70
Bibliografa 76
ndice de Figuras
Figura 2.1 Operandos simblicos y absolutos 11
Figura 2.2 Temporizador de impulso 17
Figura 2.3 Temporizador de retrazo a la conexin 19
Figura 2.4 Temporizador de retrazo a la desconexin 21
Figura 3.1 Escaln 26
Figura 3.2 Cajas 26
Figura 3.3 Ramas paralelas y bobinas paralelas 27
Figura 4.1 Funcin NOT de entrada 29
Figura 4.2 Funcin NOT de salida 29
Figura 4.3 Funcin INV 30
Figura 4.4 Funcin OR 30
ndice VI
Figura 4.5 Funcin OR multibit 31
Figura 4.6 Funcin AND 31
Figura 4.7 Funcin AND multibit 31
Figura 4.8 Funcin OR exclusiva con 2 operandos 32
Figura 4.9 Funcin OR exclusiva con 3 operandos 32
Figura 4.10 Funcin EXOR 33
Figura 4.11 Funcin + 33
Figura 4.12 Funcin - 33
Figura 4.13 Funcin * 34
Figura 4.14 Funcin / 34
Figura 4.15 Rotacin a la izquierda 35
Figura 4.16 Rotacin a la derecha 35
Figura 4.17 Funcin ROL y ROR 35
Figura 4.18 Corrimiento a la izquierda 36
Figura 4.19 Corrimiento a la derecha 36
Figura 4.20 Funcin SHR y SHL 37
Figura 4.21 Funcin de salto 37
Figura 4.22 Instruccin de SET 38
Figura 4.23 Instruccin de RESET 38
Figura 4.24 Arranque y paro de motor con SET y RESET 39
Figura 4.25 Asignacin 39
Figura 4.26 Asignacin negada 40
Figura 4.27 Funcin igual que 40
Figura 4.28 Funcin mayor que 41
ndice VII
Figura 4.29 Funcin menor que 41
Figura 4.30 Funcin mayor o igual que 42
Figura 4.31 Funcin menor o igual que 42
Figura 4.32 Funcin diferente que 43
Figura 4.33 Conversin de BCD a binario 43
Figura 4.34 Comando DEB 44
Figura 4.35 Conversin de binario a BCD 44
Figura 4.36 Comando BID 44
Figura 4.37 Inicializacin del contador 45
Figura 4.38 Inicializacin de temporizadores 46
Figura 5.1 Configuracin de entradas y salidas 47
Figura 5.2 Palabras de entradas 48
Figura 5.3 Lista de localidades 48
Figura 5.4 Arranque y paro de un motor 49
Figura 5.5 Motor apagado 49
Figura 5.6 Motor encendido con el pulsador de arranque presente 49
Figura 5.7 Motor encendido memorizado 50
Figura 5.8 Banderas como detectores de flanco 50
Figura 5.9 Bandera de ejecucin inicial 51
Figura 6.1 Solucin con TON 52
Figura 6.2 Solucin con TOFF 53
Figura 6.3 Solucin con T 53
Figura 6.4 Solucin con T y comparacin 54
Figura 7.1 Solucin con contador 55
ndice VIII
Figura 7.2 Solucin con registro 56
Figura 7.3 Temporizador con preseleccin desde registro 57
Figura 8.1 Llamando programas 58
Figura 8.2 Llamado de mdulo de programa 60

ndice de Tablas
Tabla 2.1 Direccionamiento de entradas 12
Tabla 2.2 Direccionamiento de salidas 13
Tabla 2.3 Direccionamiento de banderas 14
Tabla 2.4 Direccionamiento de registros 15
Tabla 2.5 Direccionamiento de temporizador de impulsos 18
Tabla 2.6 Direccionamiento de temporizador de retrazo a la conexin 20
Tabla 2.7 Direccionamiento de temporizador de retrazo a la desconexin 22
Tabla 2.8 Direccionamiento de contadores 25
Tabla 2.10 Direccionamiento de bandera de ejecucin inicial 25
Introduccin 1
INTRODUCCIN.

Desde finales de los aos sesenta, los PLCs han tenido gran aceptacin en el sector
industrial para realizar las tareas de automatizacin. Los PLCs sin duda han simplificado en
gran medida a los tableros de control, antes de la existencia de los PLCs, estos tableros eran
de grandes dimensiones, donde los relevadores electromagnticos eran la base para ejecutar
las operaciones lgicas que los controles necesitaban. Sin duda, las personas que han trabajado
con estos tipos de controles, se han encontrado con las grandes dificultades que representa en
algunas ocasiones localizar fallas o implementar modificaciones por requerimientos de
produccin. Es aqu donde los PLCs tienen su mayor ventaja sobre los controles
electromecnicos.
Existen muchas marcas comerciales de PLCs, tales como Festo, Siemens, Allen
Bradley, Modicon, Moeller, etc. Todos con sus caractersticas muy especiales segn su
arquitectura y filosofa de diseo, pero hay algo que los hace muy semejantes, su
programacin.
Bsicamente existen tres lenguajes de programacin de PLCs, Diagrama de escalera,
Lista de instrucciones y Diagrama de funciones, aunque algunos fabricantes fabrican PLCs
que pueden ser programados en lenguajes de computadoras como Pascal, C o Basic.
En este trabajo se pretende dar una referencia de la programacin en el lenguaje de
diagrama de escalera utilizado por los PLCs de la marca Festo.
En esta monografa se dar una explicacin de los diferentes PLCs que Festo fabrica,
de tal manera que el lector pueda tomar la decisin de que PLC es adecuado para determinada
aplicacin.
Introduccin 2
Posteriormente se dar la descripcin de los operandos de los PLCs, aqu es donde
empezaremos a comprender el funcionamiento de las entradas, salidas, banderas,
temporizadores, contadores, registros, etc.
Luego empezaremos a entrar en materia de programacin, es aqu donde se expondrn
la estructura de programacin, las instrucciones y la manera de usar cada uno de los
operandos. En cada tema se dar un pequeo ejemplo para mejorar la comprensin.

Capitulo 1 3
CAPITULO 1
DESCRIPCIN DE LOS PLCS
1.1 Introduccin.
El trmino PLC de amplia difusin en el medio significa en ingles, Controlador Lgico
Programable. Originalmente se denominaban PCs (Programable Controllers), pero, con la
llegada de las IBM PCs, para evitar confusiones, se emplearon definitivamente las siglas
PLC.
En Europa, el mismo concepto es llamado Autmata Programable.
Segn la norma IEC-1131 el PLC se define como: Un sistema electrnico de funcionamiento
digital, diseado para ser utilizado en un entorno industrial, que utiliza una memoria
programable para el almacenamiento interno de instrucciones orientadas al usuario, para la
realizacin de funciones de: enlaces lgicos, secuenciacin, temporizacin, recuento y clculo,
para controlar a travs de entradas y salidas digitales o analgicas, diversos tipos de mquinas
o procesos.
En 1969 la divisin Hydramatic de la General Motors instal el primer PLC para reemplazar
los sistemas inflexibles alambrados usados entonces en sus lneas de produccin.
En 1971, los PLCs se extendan a otras industrias y, en los ochentas, ya los componentes
electrnicos permitieron un conjunto de operaciones de 16 bits en un pequeo volumen, lo que
los populariz en todo el mundo.
En los primeros aos de los noventas, aparecieron los microprocesadores de 32 bits con
posibilidades de operaciones matemticas complejas, y de comunicaciones entre PLCs de
diferentes marcas y PCs, los que abrieron la posibilidad de fbricas completamente
automatizadas y con comunicacin directamente a la gerencia en tiempo real.

Capitulo 1 4
1.2 FEC Compacto.
El FEC Compacto es ms que una unidad de control sencilla y econmica de la marca
Festo. El FEC Compacto demuestra que una solucin econmica se puede combinar
perfectamente con tecnologa avanzada y gran funcionalidad.
Las caractersticas bsicas son tpicas para un control sencillo y pequeo:
12 entradas a 24 Vdc.
8 salidas a 24 Vdc o relevador.
2 interfaces serie.
Contador rpido para uso de tareas de posicionamiento sencillas.
Las versiones de 110/230 Vac permiten prescindir de alimentacin de 24 Vdc. Las entradas
pueden estar conectadas a positivo o negativo y los relevadores de salida a corriente alterna o
continua.
Una unidad de control pequea no solamente debe tener dimensiones compactas, sino
tambin debe integrarse apropiadamente en el sistema. Para conseguirlo, se puede recurrir al
FEC Compacto con conexin a red Ethernet.
Mecnica. El FEC Compacto tiene una ranura para montaje en riel DIN. O tambin la
opcin de montaje con tornillos, ya que cuenta con orificios para montaje en placa.
Alimentacin de tensin. El FEC Compacto es verstil con sus versiones de 24 Vdc y de
110/230 Vac. Las seales de entrada siempre estn conectadas a 24 Vdc; en el caso de las
versiones de corriente alterna, la alimentacin de la tensin para los sensores est integrada en
la unidad de mando.
Entradas. Las entradas pueden ser PNP o NPN. Basta con conectar a 0 Vdc o +24 Vdc los
bornes marcados con S0 y S1.
Capitulo 1 5
Salidas. Todos los FEC Compacto tienen salidas de relevador conectables a mximo 230
Vac. Los controles FC2X disponen de 8 salidas de relevadores. Los controles FC3X tienen 2
salidas a relevadores y 6 de transistores.
Interfaces serie. Todos los FEC Compacto disponen de 2 interfaces serie (COM y EXT). La
interface COM se utiliza para la programacin, mientras que la EXT puede aprovecharse para
una unidad de indicacin y control HMI, una ampliacin, un mdem o para otros equipos
provistos de interface serie.
Interface Ethernet. Las versiones del FEC Compacto con interface Ethernet incluyen una
interface Ethernet 10 BaseT con conexin RJ 45 para una velocidad de transmisin de
10Mbits/s. Este controlador permite la transmisin de datos, la programacin y la localizacin
de fallos a travs de la interface Ethernet.
Programacin. El FEC Compacto puede programarse con FST o Multiprog.
FST es el nico lenguaje de programacin ampliamente difundido y sencillo que permite
programar tal como se piensa.
Adems, FST acepta el comando STEP (paso) para la programacin de secuencias. Con FST
se puede programar a travs de Ethernet, adems de poderle integrar una pgina WEB al
controlador utilizando su WEB Server.
Multiprog es un sistema de programacin segn la norma IEC 6 1131-3 que incluye los 5
lenguajes de programacin normalizados. MWT facilita la programacin en concordancia con
la norma mediante ayudas integradas para las operaciones y los mdulos, as como para la
administracin de variables.
1.3 FEC Standard.
El FEC Standard no es tan slo un mini control. Demuestra que an es posible la in
novacin en mini controles , en los albores del siglo 21.
Capitulo 1 6
Con su robusto cuerpo de aluminio anodizado, demuestra que el diseo compacto y la
resistencia pueden ser compatibles.
Las caractersticas bsicas son muy similares al FEC Compacto.
16 o 32 entradas a 24 Vdc.
8 o 16 salidas a 24 Vdc.
2 interfaces serie.
Contador rpido para uso de tareas de posicionamiento sencillas.
El FEC standard al igual que el FEC compacto puede integrarse apropiadamente en el
sistema. Para conseguirlo, se puede recurrir al FEC Standard con conexin a red Ethernet.
Mecnica. El FEC Standard tiene un clip para montaje en riel DIN y agujeros en las
esquinas para fijacin atornillada, utilizando una placa de montaje. Todas las conexiones son
accesibles desde la parte frontal, no hay necesidad de espacio adicional para conexiones desde
abajo o desde arriba
Alimentacin de tensin. El FEC Standard siempre se alimenta con 24 Vdc al igual que sus
entradas y salidas..
Entradas. Las entradas digitales son a 24 Vdc PNP y las analgicas son de 0 a 20 mA con
12 bits de resolucin.
Salidas. Las salidas digitales son de 24 Vdc a 400 mA, a prueba de corto circuito y para
cargas de baja resistencia. Las salidas analgicas son de 0 a 20 mA con 12 bits de resolucin.
Interfaces serie. Todos los FEC Standard disponen de 2 interfaces serie (COM y EXT)
universales TTL con una velocidad mxima de transmisin de 115 kbits/s. La interface COM
se utiliza para la programacin, mientras que la EXT puede aprovecharse para una unidad de
indicacin y control HMI, una ampliacin, un mdem o para otros equipos provistos de
interface serie.
Capitulo 1 7
Interface Ethernet. Las versiones del FEC Standard con interface Ethernet incluyen una
interface Ethernet 10 BaseT con conexin RJ 45 para una velocidad de transmisin de
10Mbits/s. Este controlador permite la transmisin de datos, la programacin y la localizacin
de fallos a travs de la interface Ethernet.
Programacin. El FEC Standard puede programarse con FST o Multiprog.
FST es el nico lenguaje de programacin ampliamente difundido y sencillo que permite
programar tal como se piensa.
Adems, FST acepta el comando STEP (paso) para la programacin de secuencias. Con FST
se puede programar a travs de Ethernet, adems de poderle integrar una pgina WEB al
controlador utilizando su WEB Server.
Multiprog es un sistema de programacin segn la norma IEC 6 1131-3 que incluye los 5
lenguajes de programacin normalizados. MWT facilita la programacin en concordancia con
la norma mediante ayudas integradas para las operaciones y los mdulos, as como para la
administracin de variables.
1.3 IPC.
El PC IPC PS1 es todo en una sola unidad: un PC de alto rendimiento y un PLC. Es
capaz de adaptarse a la estructura de una red y superar los limites establecidos por la tcnica
convencional de la automatizacin, ya que es capaz de administrar y capturar datos y, a la vez,
controlar un cilindro neumtico o contactor elctrico.
Se sobreentiende que es diagnosticable por la lnea telefnica. El IPC PS1 conjuga de modo
consecuente el mundo de los PLC con el mundo de los PC. Conoce todos los mdulos
digitales de los PLC, necesarios para la conexin de detectores y actuadores. Pero tambin
conoce los mdulos de posicionamiento para ejes paso a paso, servopilotados y neumticos.
Capitulo 1 8
Y, por supuesto, conoce el mundo completo de los bus de campo, incluyendo el bus de Festo,
CP-CAN, Profibus-DP, InterBus, AS-Interface y otros. Del mundo de los PC, el IPC PS1
conoce todos los tipos de memorias masivas de datos, conexiones de tarjetas grficas, PC-
Card y tambin USB. Asi usted podr elegir siempre el mdulo preciso que necesite para su
aplicacin concreta.

Sistemticamente Modular.
El IPC PS1 Profesional est constituido por mdulos y permite ms de 200
combinaciones. Su Hardware y Software estn preparados para el futuro. Hardware por
mdulos significa conectar el mdulo en el Busboard y atornillarlo.As de sencillo! Con el
sistema modular el sistema operativo y el lenguaje de programacin se adaptan a la aplicacin
del cliente, pudindose hacer los cambios necesarios sobre el terreno. La comunicacin
modular permite acceder a todos los bus de campo modernos y a Ethernet, el estndar mundial
en el mundo de los PC.
Mecnica. Debido a que la IPC es modular, es necesario disponer de un busboard para
insertar en los slots la CPU y los mdulos de entrada y salida. El busboard puede ser de 3, 5, 8,
14 o 20 slots. En los busboard de 3 y 5 slots la alimentacin de backplane viene integrada,
para los restantes es necesario instalar en uno de los slots la fuente de backplane.
Alimentacin de tensin. La IPC siempre se alimenta a 24 Vdc, y la fuente de backplane se
encarga de realizar la alimentacin necesaria para los circuitos lgicos, esta se alimenta con 24
Vdc.
Entradas. Existen diversos mdulos de entradas, tanto analgicos como digitales. Los
mdulos de entradas digitales siempre van a ser de 24 Vdc, la cantidad de entradas por modulo
Capitulo 1 9
pueden ser de 8, 16 o 32. Los mdulos de entradas analgicos pueden ser de 0 a 20 mA, 4 a 20
mA o 0 a 10 Vdc, los cuales son los estandares ms conocidos.
Salidas. Existen diversos mdulos de salidas, tanto analgicos como digitales. Los mdulos
de salidas digitales pueden ser de 24 Vdc o a relevadores, la cantidad de entradas por modulo
pueden ser de 8, 16 o 32. Los mdulos de salidas analgicos pueden ser de 0 a 20 mA, 4 a 20
mA o 0 a 10 Vdc, los cuales son los estandares ms conocidos.
Unidad Central de Proceso. La unidad central de proceso o CPU es la que se encarga de
realizar todas las tareas de operacin del PLC, en si, se encarga de leer el estado de las
entradas, salidas y de memoria, y segn el programa modificar el estado de las salidas y/o
memorias.
a) CPU HC01. La CPU HC01 se basa en el microprocesador AM186, el sistema
operativo es DOS, ampliable para multitarea o Kernel para PLC. Posee al igual que el
FEC Standard dos interfaces serie con las mismas caractersticas. Adems tiene 8
puntos configurables como entradas o como salidas.
b) CPU HC02. La CPU HC02 tiene las mismas caractersticas que la HC01, la unica
diferencia es que la HC02 posee una interface Ethernet 10 Base T con las mismas
caractersticas de la interface Ethernet del FEC Standard.
c) CPU HC2X. Las CPU de la familia HC2X se basan en el microprocesador de 32 bits
486 0 586, con mdulos intercambiables mediante tarjetas para PC de Epson. El
sistema operativo puede ser DOS, Windows, Windows NT, Linux entre otros.
d) CPU HC50. La CPU HC50 ofrece rendimiento Pentium. Ampliable para la periferia
de PC mediante dos interfaces USB, ampliable para la periferia PC-Card mediante dos
slots integrados, ampliable para la tcnica de automatizacin mediante el clsico ISA-
Bus.
Capitulo 1 10
Programacin. Para comunicarse con la IPC puede prescindir de interprete, ya que entiende
todos los lenguajes de programacin ms difundidos en el mundo. La IPC es programada igual
que una PC, por ejemplo en lenguaje C/C++ o Pascal, o igual que un PLC mediante
herramientas de software estandarizadas segn IEC 61131-3 o con otros programas conocidos
y de probada eficiencia, tales como el software FST.
Capitulo 2 11
CAPITULO 2
OPERANDOS DE LOS PLCS DE FESTO
2.1 Introduccin.
Este capitulo introduce a los identificadores usados en los PLCs de Festo para
referirse a los diferentes elementos del sistema, ya sea software o hardware.
Estos identificadores del sistema (ejemplo: entradas, salidas, banderas) sern referenciados
como Operndos. Los operndos son elementos contenidos en el controlador y que pueden ser
interrogados o manipulados usando instrucciones de programa.
El software de Festo, de ahora en adelante llamado FST, permite que los programas puedan
ser escritos utilizando operandos absolutos y/o operandos simblicos. Un operando absoluto es
la descripcin especfica del operando del PLC, independientemente de la aplicacin (ejemplo:
I0.0, F3.1, R3, etc.). El operando simblico se especifica de acuerdo a la aplicacin y va
referenciado al operando absoluto (ejemplo: Start, Stop, Motor1, etc.).


Figura 2.1 Operandos simblicos y absolutos.

2.2 Operndos de bit vs. Operndos de multibit.
Una distincin debe hacerse entre Operndos de bit y Operndos de multibit. Un
operando de bit puede ser evaluado como falso o verdadero en la parte condicional de las
Capitulo 2 12
instrucciones del programa y puede ser puesto a 0 o a 1 en la parte ejecutiva. Durante al
interrogacin y operaciones de carga, el operando de bit es guardado en el acumulador de bit.
Los Operndos de multibit pueden ser verificados por valor utilizando instrucciones de
comparacin o bien comparado a otro operando multibit en la parte condicional. En la parte
ejecutiva los Operndos multibit pueden ser cargados con un valor, decerementados y
incrementados va operaciones aritmticas o lgicas. Durante la interrogacin y operacin de
carga, los Operndos multibit son cargados en el acumulador de multibit.
2.3 Entradas.
Los PLC de Festo poseen 256 palabras de entradas (0 a 255), cada una de 16 bits (0 a
15), pueden ser direccionados como bits o como palabras. Las entradas son el medio por el
cual el PLC recibe las seales del sistema, dichas seales pueden ser sensores, retro avisos de
magneto trmicos, botoneras, etc.

Operando Identificador Sintaxis Parte Ejemplo
Entrada bit I Iw.b Condicional

Entrada multibit I IW Condicional

Tabla 2.1 Direccionamiento de entradas.

Capitulo 2 13
En la tabla 2.1 podemos apreciar las caractersticas del direccionamiento de las entradas,
donde w es el nmero de la palabra y b es el nmero de bit.
2.4 Salidas.
Los PLC de Festo poseen 256 palabras de salidas (0 a 255), cada una de 16 bits (0 a
15), pueden ser direccionados como bits o como palabras. Las salidas son el medio por el cual
el PLC comanda a los diferentes elementos que van a realizar un trabajo en la mquina, por
ejemplo, la bobina de un contactor, la bobina de una Electrovlvula neumtico o hidrulica o
un piloto luminoso.

Operando Identificador Sintaxis Parte Ejemplo
Salida bit O Ow.b Condicional


Ejecutiva


Salida multibit O Oww Condicional



Ejecutiva

Tabla 2.2 Direccionamiento de salidas.
Capitulo 2 14

En la tabla 2.2 podemos apreciar las caractersticas del direccionamiento de las salidas, donde
w es el nmero de la palabra y b es el nmero de bit.
2.5 Banderas.
Los PLC de Festo poseen 10000 palabras de banderas (0 a 9999), cada una de 16 bits
(0 a 15), pueden ser direccionados como bits o como palabras. Las banderas son localidades
de memoria del PLC en las cuales se pueden almacenar informacin.

Operando Identificador Sintaxis Parte Ejemplo
Bandera bit F Fw.b Condicional


Ejecutiva


Bandera multibit F FWw Condicional



Ejecutiva

Tabla 2.3 Direccionamiento de banderas.

Capitulo 2 15
En la tabla 2.3 podemos apreciar las caractersticas del direccionamiento de las banderas,
donde w es el nmero de la palabra y b es el nmero de bit.
2.6 Registros.
Los registros son localidades de memoria de 16 bits, estos registros solo pueden ser
direccionados como palabras, el total de los registros de los PLC de Festo es 256 (0 a 255).

Operando Identificador Sintaxis Parte Ejemplo
Registro multibit R Rw Condicional



Ejecutiva

Tabla 2.4 Direccionamiento de registros.

En la tabla 2.4 podemos apreciar las caractersticas del direccionamiento de los registros,
donde w es el nmero de la palabra.
2.7 Temporizadores.
Los temporizadores son parte esencial de un programa, ya que con ellos logramos
poner en sincronia los diferentes movimientos que ejecuta una mquina, bien es cierto que
podemos prescindir el uso de temporizadores, pero esto incrementa el uso de sensores. Los
PLCs de Festo manejan tres tipos de temporizadores, el temporizador de impulso, el
temporizador de retraso a la conexin y el temporizador de retraso a la desconexin. Podemos
Capitulo 2 16
manejar hasta 256 temporizadores (0 a 255), cada contador ofrece los siguientes operandos
para permitir una programacin flexible.
a) La palabra de temporizador (Timer Word-TWnn-) es el operando en el cual el valor
actual es guardado y este es cambiado continuamente en la operacin del
temporizador. La palabra de temporizador se carga con el valor de la palabra de
preseleccin al inicio de la operacin del temporizador.
b) La palabra de preseleccin (Timer Preselect-CPnn-) es el operando en elcual el valor
nominal es guardado.
c) Bobina del temporizador (Tnn, TONnn, TOFFnn ) es el operando en el cual se realizan
las operaciones de inicio o fin del temporizador.
d) Contacto del temporizador (Tnn, TONnn, TOFFnn ) es el operando en el cual es
guardado el estado del temporizador.
2.7.1 Temporizadores de Impulso.
El temporizador de impulso reacciona al flanco de subida, en el instante en que la
condicin se hace verdadera el temporizador se hace uno y el registro de tiempo predefinido
(TPnn) se carga en el regisro de tiempo actual o palabra de cuenta (TWnn) y este empieza a
decrecer, cuando el TWnn se hace cero, en ese instante el temporizador se hace cero, nn es el
nmero del temporizador. En la figura 2.2 se puede apreciar el funcionamiento de este
temporizador.
Capitulo 2 17

Figura 2.2 Temporizador de impulso



Operando Identificador Sintaxis Parte Ejemplo
Temporizador
de impulso bit
T Tnn Condicional


Ejecutiva

Temporizador
de impulso
multibit
TW


TWnn


Condicional



Capitulo 2 18


TP


TPnn
Ejecutiva

Condicional



Ejecutiva



Tabla 2.5 Direccionamiento de temporizador de impulso.
2.7.2 Temporizador de retrazo a la conexin.
En el instante en que la condicin se hace verdadera el registro de tiempo predefinido
(TPnn) se carga en el regisro de tiempo actual o palabra de cuenta (TWnn) y este empieza a
decrecer, cuando el TWnn se hace cero, en ese instante el temporizador se hace uno, el
temporizador se hace cero cuando la condicin se hace falsa, si por alguna circunstancia la
condicin se hace falsa antes de haber transcurrido el tiempo predefinido, entonces el
temporizador no se har uno, nn es el nmero del temporizador. En la figura 2.3 se puede
apreciar el funcionamiento de este temporizador.
Capitulo 2 19

Figura 2.3 Temporizador de retrazo a la conexin


Operando Identificador Sintaxis Parte Ejemplo
Temporizador
de retrazo a la
conexin bit
TON TONnn



Condicional


Ejecutiva

Temporizador
de retrazo a la
conexin
multibit
TW



TWnn



Condicional




Capitulo 2 20


TP


TPnn
Ejecutiva

Condicional



Ejecutiva




Tabla 2.6 Direccionamiento de temporizador de retrazo a la conexin

2.7.3 Temporizador de retrazo a la desconexin.
En el instante en que la condicin se hace verdadera el temporizador se hace
verdadero, el registro de tiempo predefinido (TPnn) se carga en el regisro de tiempo actual o
palabra de cuenta (TWnn), en el momento que la condicin se haga falsa TWnn empieza a
decrecer y al llegar ste a cero el temporizador se hace cero, si por alguna circunstancia la
condicin se hace verdadera antes de haber transcurrido el tiempo predefinido, entonces el
temporizador no se har cero. En la figura 2.4 se puede apreciar el funcionamiento de este
temporizador.
Capitulo 2 21

Figura 2.3 Temporizador de retrazo a la desconexin


Operando Identificador Sintaxis Parte Ejemplo
Temporizador
de retrazo a la
desconexin
bit
TOFF TOFFnn Condicional


Ejecutiva

Temporizador
de retrazo a la
desconexin
multibit
TW



TWnn



Condicional




Capitulo 2 22


TP


TPnn
Ejecutiva

Condicional



Ejecutiva



Tabla 2.7 Direccionamiento de temporizador de retrazo a la desconexin


2.8 Contadores.
Todos los PLCs de Festo ofrecen la posibilidad de ser programados como contadores
incrementales o decrementales en diagrama de escalera. Adems, cada elemento del contador
puede ser accesado directamente. Similarmente, todas las palabras de los operandos pueden
ser utilizados para contar a excepcin de las palabra de entradas y las palabras de tiempo
actual.
Para permitir flexibilidad en la programacin de contadores, el diagrama de escalera de
Festo ofrece los siguientes operandos para contadores:
a) La palabra de cuenta (Counter Word-CWnn-) es el operando en el cual el valor actual
es guardado y este es cambiado con cada pulso de cuenta. La palabra de cuenta debe
reiniciarse al inicio de la operacin de cuenta.
b) La palabra de preseleccin (Counter Preselect-CPnn-) es el operando en elcual el valor
nominal es guardado.
Capitulo 2 23
c) Bobina del contador (Cnn) es el operando en el cual se realizan las operaciones de
cuenta hacia arriba o hacia abajo por medio de flancos de subida.
d) Contacto del contador (Cnn) es el operando en el cual es guardado el estado del
contador, si el valor de CWnn es menor al valor de TPnn el contacto del contador es
verdadero.
Operando Identificador Sintaxis Parte Ejemplo
Contador bit C Cnn Condicional


Ejecutiva


Contador
multibit
CW





CP
CWnn





CPnn
Condicional



Ejecutiva

Condicional


Ejecutiva



Capitulo 2 24
Tabla 2.8 Direccionamiento de contador

2.9 Constantes.
Las contantes en los PLCs de Festo son de 16 bits, por lo que estos valores pueden
oscilar entre 0 a 65535 para enteros sin signo y entre 32767 y 32767 para enteros con signo,
asimismo es posible representar a las contantes en hexadecimal.
Operando Identificador Sintaxis Parte Ejemplo
Constante sin
signo
V Vnnnnn Condicional



Ejecutiva


Constante con
signo
V- V-nnnnn Condicional



Ejecutiva

Constante
hexadecimal
V$

V$nnnn Condicional




Capitulo 2 25
Ejecutiva
Tabla 2.9 Direccionamiento de constante

2.10 Bandera de ejecucin inicial.
La bandera de ejecucin inicial es una bandera nica por cada uno de los programas
que existan en el proyecto, esta bandera siempre es igual a cero, a excepcin del primer ciclo
de operacin del programa en que es igual a uno.

Operando Identificador Sintaxis Parte Ejemplo
Bandera de
ejecucin inicial
FI FI Condicional


Tabla 2.10 Direccionamiento de bandera de ejecucin inicial

Capitulo 3 26
CAPITULO 3
ESTRUCTURA DE PROGRAMACIN EN LDR
3.1 Introduccin
En este capitulo veremos cual es la estructura de programacin en diagrama de
escalera, esto con el fin de tener las bases suficientes para poder explicar en el siguiente
capitulo la referencia de instrucciones.

3.2 Que es un escaln
Un escaln o rung es la parte ms simple del diagrama de escalera, el diagrama de
escalera es un imagen del diagrama de circuito alemn, pero se lee siempre de izquierda a
derecha.

Figura 3.1 Escaln
El diagrama de escalera se compone de escalones, ramas paralelas, contactos, cajas,
bobinas y bobinas paralelas. Una caja puede ser usada para reemplazar un contacto o una
bobina. Las cajas son usadas por funciones que son difciles o imposibles de representar en el
diagrama de escalera, por ejemplo una operacin aritmtica.

Figura 3.2 Cajas
Capitulo 3 27
Las ramas paralelas pueden ser insertadas en cualquier lugar del escaln y las bobinas
paralelas se insertan a la derecha del escaln.

Figura 3.2 Ramas paralelas y bobinas paralelas
Los escalones contienen operaciones y no son mas que uniones lgicas de elementos
binarios. Cada operacin que es cada contacto, cajas y/o bobina requiere de un operando. Si el
operando no se encuentra, el WinFST rechaza el programa, marca los errores y no carga el
programa en el PLC. El WinFST es el software de Festo para editar, compilar y cargar los
programas de PLC. Cada operacin tiene un lugar asignado para los operandos.

3.3 Parte ejecutiva y condicional
Como todas las operaciones lgicas o booleanas, los escalones pueden ser divididos en
una parte condicional y una parte ejecutiva. La parte condicional contiene las condiciones para
que la accin sea dada; la parte ejecutiva contiene la accin que se llevar a cabo si la parte
condicional es verdadera.
Esto es lo mismo que un circuito de diagrama elctrico. Una carga elctrica representa
la parte ejecutiva. Los contactos en serie y en paralelo representa la parte condicional.

3.4 Como se procesan los escalones
Capitulo 3 28
Los escalones estn numerados. La numeracin se lleva acabo en forma automtica.
Por esta razn es clara la secuencia de los escalones. Antes de la carga del programa en
diagrama de escalera en el PLC, el programa es trasladado al cdigo de mquina usado por el
PLC. Los escalanes son trasladados consecutivamente en su nmero de secuencia. Incluso
dentro del escaln el cdigo de mquina usa la secuencia programada por el usuario. Es por
eso que una segunda bobina en un escaln aparecer en segundo sitio en el cdigo de mquina.
Como vimos anteriormente, el programa es ejecutado estrictamente en secuencia.
Cuando se enciende el PLC o se inicia el programa con el switch de RUN, el programa inicia
con las operaciones del primer escaln. Es por esto que el programador sabe siempre que
instrucciones se ejecutarn primero.
Capitulo 4 29
CAPITULO 4
REFERENCIA DE INSTRUCCIONES EN LDR
4.1 Funciones lgicas
Las funciones lgicas son sin lugar a duda la parte bsica para realizar un programa, en
gran medida el conocimiento de ellas representa la diferencia entre hacer un programa
eficiente y hacer un programa largo e intil. En este capitulo veremos la manera de representar
las diferentes funciones lgicas desde el lenguaje de PLC de diagrama de escalera, ms no se
pretende hacer un repaso de la tabla de verdad de cada funcin porque se entiende que estas ya
se conocen.
4.1.1 Funcin NOT
La funcin NOT puede ser asignada para seales de entrada o seales de salida, en el
caso de seales de entrada, la funcin NOT es similar a utilizar un contacto normalmente
cerrado de un relevador elctrico.

Figura 4.1 Funcin NOT de entrada


Figura 4.2 Funcin NOT de salida

Capitulo 4 30
En la figura 4.1 vemos que cuando la seal de la entrada I0.0 es cero, entonces la salida
O0.0 es uno. En la figura 4.2 vemos que cuando la seal de la entrada I0.0 es uno, entonces la
salida es cero.
Para el caso de la funcin NOT multibit, existe una caja que realiza la funcin en
operandos de 16 bits llamada INV, la funcin NOT es aplicada bit a bit y el resultado puede
ser guardado en el mismo operando o en otro.

Figura 4.3 Funcin INV
4.1.2 Funcin OR
La funcin OR no es mas que tener contactos en paralelo, en esta funcin con que uno
de los operandos sea igual a uno la funcin se hace uno. Para que la funcin sea igual a cero,
todos los operandos debern ser igual a cero.

Figura 4.4 Funcin OR
Para el caso de la funcin OR multibit existe una caja llamada de la misma manera, la
funcin OR para este caso se realiza bit a bit entre dos operandos de 16 bits y el resultado es
guardado en un tercero.
Capitulo 4 31

Figura 4.5 Funcin OR multibit


4.1.3 Funcin AND
La funcin AND no es mas que tener contactos en serie, en esta funcin todos los
operandos deben ser igual a uno para que la funcin sea igual a uno. Para que la funcin sea
igual cero, solo basta con que un o de los operandos sea igual a cero.

Figura 4.6 Funcin AND
Para el caso de la funcin AND multibit existe una caja llamada de la misma manera,
la funcin AND para este caso se realiza bit a bit entre dos operandos de 16 bits y el resultado
es guardado en un tercero.

Figura 4.7 Funcin AND multibit

4.1.4 Funcin OR exclusiva
Capitulo 4 32
La funcin OR exclusiva es mas elaborada que las funciones anteriores, sin embrago
sigue siendo una combinacin de contactos abiertos y cerrados utilizando las funciones NOT,
OR y AND. La funcin OR exclusiva es verdadera cuando uno y solo uno de los operandos es
uno. En el caso que dos o ms operandos sea igual a uno la funcin es igual a cero.

Figura 4.8 Funcin OR Exclusiva con 2 operandos

Figura 4.9 Funcin OR Exclusiva con 3 operandos
Para el caso de la funcin OR exclusiva multibit existe una caja llamada EXOR, la
funcin EXOR para este caso se realiza bit a bit entre dos operandos de 16 bits y el resultado
es guardado en un tercero.

Figura 4.10 Funcin EXOR
4.2 Funciones aritmticas
Capitulo 4 33
Las funciones aritmticas en un PLC no son muy utilizadas, sin embargo la mayoria de
los PLCs las poseen y los de Festo no son la excepcin.
4.2.1 Adicin
La adicin se realiza entre dos operandos de 16 bits y es guardado en un tercero
utilizando la caja que lleva por nombre +, cabe sealar que la operacin se realiza entre
operandos enteros, no es posible usar operandos de punto flotante.

Figura 4.11 Funcin +
4.2.2 Substraccin
La substraccin se realiza entre dos operandos de 16 bits y es guardado en un tercero
utilizando la caja que lleva por nombre -, cabe sealar que la operacin se realiza entre
operandos enteros, no es posible usar operandos de punto flotante.

Figura 4.12 Funcin -
4.2.3 Multiplicacin
La multiplicacin se realiza entre dos operandos de 16 bits y es guardado en un tercero
utilizando la caja que lleva por nombre *, cabe sealar que la operacin se realiza entre
operandos enteros, no es posible usar operandos de punto flotante.
Capitulo 4 34

Figura 4.13 Funcin *
4.2.4 Divisin
La divisin se realiza entre dos operandos de 16 bits y es guardado en un tercero
utilizando la caja que lleva por nombre /, cabe sealar que la operacin se realiza entre
operandos enteros, no es posible usar operandos de punto flotante.

Figura 4.14 Funcin /
4.3 Funciones de rotacin
Las funciones de rotacin son comandos que corren los bits individual de una palabra.
Si una palabra es rotada 16 veces se obtiene el valor origina.
4.3.1 Rotacin a la izquierda
Para este caso los bits de la palabra son corridos un lugar hacia la izquierda, el bit ms
significativo se inserta en el extremo derecho como el bit menos significativo como se muestra
en la figura 4.15.

Capitulo 4 35

Figura 4.15 Rotacin a la izquierda
4.3.2 Rotacin a la derecha
Para el caso de la rotacin a la derecha los bits de la palabra son corridos un lugar hacia
la derecha, el bit menos significativo se inserta en el extremo izquierdo como el bit ms
significativo como se muestra en la figura 4.16.

Figura 4.16 Rotacin a la derecha
Para ambos casos existen cajas llamadas ROL y ROR, en la figura 4.17 vemos un
ejemplo de cmo se utilizan estas.

Figura 4.17 Funcin ROL y ROR
Como se puede apreciar las funciones de rotacin se realiza en una palabra y el
resultado se guarda en una segunda, pero esta segunda palabra puede ser la primera.
Capitulo 4 36
4.4 Funciones de Corrimientos
Las funciones de corrimientos son muy similares a las funciones de rotacin, con la
diferencia de que en el caso de del corrimiento a la izquierda el bit ms significativo y en el
corrimiento a la derecha el bit menos significativo se pierden.
4.4.1 Corrimiento a la izquierda
Para el caso del corrimiento a la izquierda los bits de la palabra son corridos un lugar
hacia la izquierda, el bit menos significativo se carga con un cero y el bit ms significativo se
pierde como se muestra en la figura 4.18.

Figura 4.18 Corrimiento a la izquierda.
4.4.2 Corrimiento a la derecha
Para el caso del corrimiento a la derecha los bits de la palabra son corridos un lugar
hacia la derecha, el bit ms significativo se carga con un cero y el bit menos significativo se
pierde como se muestra en la figura 4.19

Figura 4.19 Corrimiento a la derecha
Para ambos casos existen cajas llamadas SHR y SHL, en la figura 4.20 vemos un
ejemplo de cmo se utilizan estas.
Capitulo 4 37

Figura 4.20 Funcin SHR y SHL
Como se puede apreciar las funciones de rotacin se realiza en una palabra y el
resultado se guarda en una segunda, pero esta segunda palabra puede ser la primera.
4.5 Saltando a una etiqueta
La funcin de salto es una posibilidad para modificar el flujo natural del programa, la
funcin de salto tiene una etiqueta como destino, no un nmero de escaln. Cuando se
programe un salto ser necesario colocar la etiqueta a la que se deba hacer el salto, de lo
contrario el compilador marcar error de sintaxis. La instruccin de salto es insertada en la
parte ejecutiva del escaln. En la figura 4.21 se ve un ejemplo sencillo de utilizacin de salto,
como se puede apreciar, si la entrada I0.0 es igual a uno, se ejecuta el salto hacia la etiqueta
Destino sin ejecutar el escaln 9. Si la entrada I0.0 es igual a cero, el programa sigue su
flujo normal.

Figura 4.21 Funcin de salto
Capitulo 4 38
4.6 Bobinas
Las bobinas son utilizadas para modificar el estado de los operandos de bit en la parte
ejecutiva del escaln. Existen cuatro instrucciones de bobina, el SET, el RESET, la asignacin
y la asignacin negada.
4.6.1 Set
La instruccin de SET energiza retentivamente a una bobina, en el momento que el
escaln se hace igual a uno la instruccin de SET coloca en valor uno a la bobina y aunque
posteriormente el escaln tome el valor de cero la bobina queda con el valor de uno. La
manera de colocar a cero la bobina es utilizando la instruccin de RESET.

Figura 4.22 Instruccin de SET
4.6.2 Reset
Cuando previamente una bobina fue puesta en valor uno mediante la instruccin de
SET, la funcin de RESET es necesaria para lograr poner en cero a dicha bobina. Si no se
utiliza la instruccin de RESET la bobina quedar siempre con el valor de uno.

Figura 4.23 Instruccin de RESET
Las instrucciones de SET y RESET son utilizadas cuando es necesario memorizar el
estado momentneo del escaln, por ejemplo cuando se quiere arrancar y parar un motor con
un solo botn pulsador como se muestra en la figura 4.24.
Capitulo 4 39

Figura 4.24 Arranque y paro de motor con SET y RESET
4.6.3 Asignacin
A diferencia del SET que memoriza el estado del escaln cuando este se hizo
verdadero, la asignacin contiuamente sigue al estado actual del escaln, es decir, si el escaln
es igual a uno la bobina asignada es igual a uno, si el escaln es cero la bobina es cero. Como
regla general solo debe existir una asignacin por bobina en todo el programa y si se tiene
asignacin no se debe tener SET, RESET o asignacin negada de la misma bobina en todo el
programa.

Figura 4.25 Asignacin.
4.6.4 Asignacin negada
La asignacin negada es similar a la asignacin, con la nica diferencia de que cuando
el escaln es uno la bobina es cero y cuando el escaln es cero la bobina es uno. La regla
general de asignacin es aplicada tambin para la asignacin negada, por lo que si existe una
asignacin negada de una bobina ya no debe existir una asignacin, un SET o un RESET.

Capitulo 4 40

Figura 4.26 Asignacin negada

4.7 Funciones de comparacin
Las operaciones de comparacin son bsicas en cualquier PLC. Las comparaciones
permiten procesar valores analgicos, realizar mltiples comparaciones de contadores y
temporizadores y tomar decisiones en base a valor, etc.
4.7.1 Igual que...
Esta funcin se realiza entre dos palabras de 16 bits o constantes. Se inserta en la parte
condicional y es verdadera cuando ambas palabras son iguales en valor.

Figura 4.27 Funcin igual que
4.7.2 Mayor que...
Esta funcin se realiza entre dos palabras de 16 bits o constantes. Se inserta en la parte
condicional y es verdadera cuando la primera palabra es mayor a la segunda.
Capitulo 4 41

Figura 4.28 Funcin mayor que
4.7.3 Menor que...
Esta funcin se realiP0 ..
Capitulo 4 42

Figura 4.30 Funcin mayor o igual que
4.7.5 Menor o igual que...
Esta funcin se realiza entre dos palabras de 16 bits o constantes. Se inserta en la parte
condicional y es verdadera cuando la primera palabra es menor o igual a la segunda.

Figura 4.31 Funcin menor o igual que
4.7.6 Diferente que...
Esta funcin se realiza entre dos palabras de 16 bits o constantes. Se inserta en la parte
condicional y es verdadera cuando ambas palabras son diferentes entre si.
Capitulo 4 43

Figura 4.32 Funcin diferente que
4.8 Nmeros
Cuando se utilizan interruptores en las entradas para codificar nmeros o cuando se
utilizan displays de 7 segmentos es necesario realizar conversiones entre cdigo BCD y
decimal. Es por esto que los PLCs de Festo poseen dos instrucciones para realizar estas
conversiones.
4.8.1 Conversin BCD a binario
El comando DEB realiza la conversin de BCD a binario en palabras de 16 bits. En la
figura 4.33 vemos un ejemplo donde se demuestra como se realiza la conversin, en la figura
4.34 vemos un ejemplo de programacin utilizando el comando DEB.

Figura 4.33 Conversin de BCD a binario

Capitulo 4 44

Figura 4.34 Comando DEB
4.8.2 Conversin binario a BCD
El comando B ID realiza la conversin de binario a BCD en palabras de 16 bits. En la
figura 4.35 vemos un ejemplo donde se demuestra como se realiza la conversin, en la figura
4.36 vemos un ejemplo de programacin utilizando el comando BID.

Figura 4.35 Conversin de binario a BCD

Figura 4.36 Comando BID

4.9 Contadores
Capitulo 4 45
Como vimos en el capitulo 2, los contadores poseen dos palabras de 16 bits, el counter
word (CW) y el counter preset (CP). La manera de inicializar el contador es utilizando la caja
de contador en la parte ejecutiva del escaln.

Figura 4.37 Inicializacin del contador
En la figura 4.37 se puede apreciar la inicializacin del contador C4, cuando la entrada
I0.0 es uno, el valor constante 10 se carga en CP4, CW4 se carga con cero y el estado del
contador C4 es uno. Cada ves que la entrada I0.1 tenga un flanco de subida el contador C4 se
incrementara en uno y cada ves que la entrada I0.2 tenga un flanco de subida el contador C4 se
decrementara en uno. La manera de inspeccionar el estado del contador es utilizando el
contacto C4 en la parte condicional. Cuando CW4 llegue a ser igual a CP4 mediante pulsos de
incrementos, el estado del contador se har igual a cero. Cuando CW4 llegue a ser igual a cero
mediante pulsos de decrementos, el estado del contador se har igual a cero.
4.10 Temporizadores
Capitulo 4 46
Para inicializar los temporizadores es necesario utilizar la caja ya predefinida para
dicho fin. Como vimos en el capitulo 2 existen tres tipos de temporizadores, el temporizador
de impulso, el temporizador de retrazo a la conexin y el temporizador de retrazo a la
desconexin.

Figura 4.38 Inicializacin de temporizadores.
En la figura 4.38 se puede apreciar el mtodo de inicializacin e inspeccin de un
temporizador. La caja del temporizador siempre se colocar en la parte ejecutiva y el contacto
en la parte condicional. Es muy importante tener cuidado en no repetir un nmero de
temporizador aunque sean de diferentes tipos y que el contacto corresponda al tipo y nmero
del temporizador en cuestin. La preseleccin del temporizador se encuentra en la parte
izquierda del temporizador y es necesario lleve al final la s de segundos. El dato numrico
puede estar entre 0 y 655.35.
Capitulo 5 47
CAPITULO 5
PROGRAMANDO ENTRADAS Y SALIDAS DIGITALES, Y BANDERAS
5.1 Programando entradas y salidas
El nmero de entradas y salidas disponibles depende del tamao del PLC. Para poder
usar las entradas y las salidas es necesario configurar en el WinFST que entradas y que salidas
tenemos en el PLC.

Figura 5.1 Configuracin de entradas y salidas
En la figura 5.1 vemos la pantalla de IO Configuration que se desplega al hacer
doble clic sobre el mismo nombre en la ventana de FST Project. Debajo de la etiqueta IW
tenemos el valor 0, esto quiere decir que la primera palabra de entradas del PLC ser la
IW0. En el capitulo 1 vimos que el FEC Compacto posee 12 entradas, por lo que las
entradas toman las direcciones desde I0.0 hasta I0.7 y desde I1.0 hasta I1.3. Si debajo de la
etiqueta IW estuviera el valor de 1, entonces las direcciones de entrada serian de I1.0 hasta
I1.7 y desde I2.0 hasta I2.3. Las mismas consideraciones son vlidas para las direcciones de
salidas.
El PLC internamente tiene un total de 256 palabras de entradas y 256 palabras de
salidas de 16 bits. Las entradas y salidas que no se encuentren ligadas a Hardware pueden ser
utilizadas como memorias internas.
Capitulo 5 48

Figura 5.2 Palabras de entradas
Veamos un pequeo problema donde es necesario arrancar y parar un motor con dos
botones pulsadores normalmente abiertos. La lista de localidades es como se muestra en la
figura 5.3.

Figura 5.3 Lista de localidades
Al editar el programa se pueden utilizar los operandos absolutos o los operandos
simblicos, es conveniente utilizar los simblicos, ya que si se cambian las direcciones en que
se colocaran los elementos elctricos, solo bastar realizar los cambios en la lista de
localidades y el programa seguir igual.
Capitulo 5 49

Figura 5.4 Arranque y paro de un motor
En la figura 5.4 vemos la solucin del problema, aqu se puede notar que para
memorizar el estado del escaln utilizamos un contacto de la salida O0.0 en la parte
condicional del escaln en funcin OR con la entrada I0.0. Debido a que la entrada I0.1
corresponde a un contacto normalmente abierto, en el programa se coloca un contacto cerrado
para que siempre conduzca energa y el arranque del motor se haga con el pulsador de
arranque. Cuando se presione el pulsador de paro, se abrir el contacto cerrado y dejar de
pasar energa hacia la bobina, provocando el paro del motor. En las figuras 5.5, 5.6 y 5.7
vemos los estados con el motor encendido y con el motor apagado respectivamente.

Figura 5.5 Motor apagado

Figura 5.6 Motor encendido con el pulsador de arranque presente
Capitulo 5 50

Figura 5.7 Motor encendido memorizado
En las tres figuras anteriores, los objetos en azul significan que circula energa por
ellos o se encuentran en estado lgico 1.
5.2 Programando banderas
Las banderas pueden utilizarse como detectores de flancos, recordadores de pasos,
como memorias de estados operativos del proceso y en donde se requiera memorizar ciertos
eventos. En la figura 5.8 vemos un programa en que se utiliza un botn pulsador para arrancar
y parar un motor. En este caso, las banderas son utilizadas como detectores de flanco, ya que
cada ves que se pulse el botn de arranque se realizar un cambio de estado en la salida O0.0

Capitulo 5 51
Figura 5.8 Banderas como detectores de flanco
Es conveniente utilizar en este programa el escaln 1 con una instruccin de puesta en
cero de las dos banderas, con el fin de asegurarse que siempre que arranque el PLC, estas
banderas sean igual a cero. Para realizarlo se utiliza la bandera FI como se muestra en la figura
5.9.

Figura 5.9 Bandera de ejecucin inicial
Cabe recordar que la bandera FI es igual a uno solamente en el primer ciclo de
operacin del PLC.
Capitulo 6 52
CAPITULO 6
PROGRAMANDO TEMPORIZADORES
Para estudiar la programacin de temporizadores, veremos un ejemplo con tres
soluciones, con temporizador de pulso, con temporizador de retrazo a la conexin y con
temporizador de retrazo a la desconexin.
Problema: Una lmpara se enciende y apaga a intervalos de un segundo cuando un selector de
arranque se energiza.

Figura 6.1 Solucin con TON
Capitulo 6 53


Figura 6.2 Solucin con TOFF

Figura 6.3 Solucin con T
Una cuarta solucin a este problema es utilizar las funciones de comparacin,
dividiendo el tiempo total de ciclo en dos partes iguales y encender la salida en una de las
partes y en la otra mantenerla apagada.
Capitulo 6 54

Figura 6.4 Solucin con T y comparacin

Capitulo 7 55
CAPITULO 7
PROGRAMANDO CONTADORES Y REGISTROS
En un estacionamiento se cuenta con 10 lugares para estacionar automviles. En frente
del estacionamiento se encuentran colocadas dos lmparas de trfico, cuando la luz verde est
encendida existen lugares vacos, cuando la luz roja se enciende el estacionamiento esta lleno.

Figura 7.1 Solucin con contador

Capitulo 7 56

Figura 7.2 Solucin con registro
Como se puede apreciar en la figura 7.1 y 7.2 las soluciones son prcticamente iguales,
sin embargo la solucin con contadores utiliza 831 bytes y la solucin con registro utiliza 791
bytes, esto por el hecho de que los contadores utilizan mas memoria. De ah que muchos
programadores prefieren utilizar registros para realizar cuentas.
Los registros pueden utilizarse para muchas aplicaciones en donde sea necesario
intercambiar o guardar datos. Por ejemplo, en la figura 7.3 se utiliza el registro R0 para
especificar el tiempo que correr el temporizador con ayuda de un selector.
Capitulo 7 57

Figura 7.3 temporizador con preseleccin desde registro
Capitulo 8 58
CAPITULO 8
LLAMANDO A PROGRAMAS, CMP Y CFM
8.1 Programas
Los programas son las rutinas en la cual el usuario desarrolla la lgica de
comportamiento del PLC ante los diferentes eventos que suceden en la operacin del sistema
de control.
El primer programa que se debe realizar es el programa 0, ya que el PLC siempre
buscar a este programa cuando arranque, si no existe este programa el PLC se pondr en
modo de fallo.
Desde los programas se pueden llamar a otros programas, a mdulos de programa o
mdulos de funciones. El total de programas que se pueden realizar son 64 (P0 a P63).
Para habilitar a un programa se utiliza la instruccin SET, para detenerlo se utiliza la
instruccin RESET.

Figura 8.1 Llamado de programas
En la figura 8.1 vemos la manera de habilitar a dos programas P1 y P2 desde el
programa de organizacin P0. Cuando se encuentre en estado lgico 1 la entrada I0.0, se
Capitulo 8 59
activa el programa P1 que es el programa de secuencia en automtico y se detiene el programa
P2 que es el programa de secuencia en manual. Cuando la entrada I0.0 tiene estado lgico 0
sucede lo contrario.
Es interesante comprender que la idea de tener varios programas funcionando es
permitir dividir las diferentes tareas y mantener legibles nuestro programas. Los PLC trabajan
en modo de multitareas o multitaskin, permitiendo que diferentes programas estn trabajando
en conjunto al mismo tiempo.

8.2 Mdulos de Programa
Los mdulos de programa pueden ser considerados como subrutinas. Los mdulos de
programa pueden ser escritos en diagrama de escalera, lista de instrucciones o C. Algunos
mdulos de programa pueden usar unidades de funcin (FU) para pasar informacin desde
programas hacia mdulos de programa y viceversa. La instruccin para llamar a los mdulos
de programa es CMP.
Los CMP pueden poseer la instruccin STEP, propia del lenguaje de lista de
instrucciones, que permite detener el flujo de un programa hasta que la ultima condicin antes
del siguiente STEP sea verdadera y permita continuar en el siguiente STEP. Los CMP
permiten cambiar la tarea que se este ejecutando, por tal motivo, al ejecutarse una instruccin
CMP el PLC sigue trabajando en modo de multitarea.
Desde un mdulo de programa no se puede llamar a otro mdulo de programa. El total
de mdulos de programa que se pueden tener es 100 (CMP0 a CMP99).

Capitulo 8 60

Figura 8.2 Llamado de mdulo de programa
En la figura 8.2 vemos como se llama a un mdulo de programa. En este caso cuando
la entrada I0.2 es igual a 1, el mdulo de programa CMP10 se activa. Aqu el CMP10 est
utilizando el cdigo de la rutina F10 de la librera de Festo que se encarga de fijar la hora del
PLC en 8:25:00:00 horas segn los datos puestos por el programador en los parmetros a la
izquierda de la caja del CMP.

8.3 Mdulos de funcin
Los mdulos de funcin pueden ser considerados similar a llamadas de funciones
especiales. Mdulos de funcin pueden ser escritos en diagrama de escalera, lista de
instrucciones o C. Algunos mdulos de funcin pueden usar unidades de funcin (FU) para
pasar informacin desde programas hacia mdulos de funcin y viceversa. La instruccin para
llamar a los mdulos de funcin es CFM.
Los CFM no poseen la instruccin STEP, propia del lenguaje de lista de instrucciones,
que permite detener el flujo de un programa hasta que la ultima condicin antes del siguiente
STEP sea verdadera y permita continuar en el siguiente STEP. Los CFM no permiten cambiar
la tarea que se este ejecutando, por tal motivo, al ejecutarse una instruccin CFM el PLC deja
de trabajar en modo de multitarea. El total de mdulos de funcin que se pueden tener es 100
(CFM0 a CFM99).
Los CFM se llaman de la misma manera que los CMP.
Capitulo 8 61

8.4 Importando mdulos
Existen una amplia variedad de mdulos ya realizados y probados por Festo. Estos
mdulos se encuentran en el WinFST como una librera y estn ah esperando ser utilizados.
Para utilizar un mdulo de Festo hay que importarlos siguiendo los siguientes pasos:
a) En el Program Window hacer clic derecho sobre CMP o CFM para que aparezca el
men de New CMP/CFM o Import.

b) Seleccionar importar

c) Seleccionar el mdulo a importar y hacer clic en OK
Capitulo 8 62

d) Escoger el tipo entre Program, CMP o CFM. Escoger el nmero, versin y hacer un
comentario. Hacer clic en OK.

e) Queda listo el mdulo para ser utilizado. En la parte ejecutiva de un escaln del
programa puede hacer clic en el icono de Module Call o en el men Insert para insertar
un mdulo.

Capitulo 8 63

f) Seleccionar el mdulo. Observe que desde esta pantalla tambin se pueden importar
mdulos.

g) El mdulo queda insertado en el escaln. Es necesario escribir los datos de
configuracin del mdulo. Si no se conocen, puede apretar F1 teniendo seleccionada la
caja del mdulo para que aparezca la ayuda en lnea.

Conclusiones 64
CONCLUSIONES

En las visitas que he realizado a las empresas del sureste de la republica Mexicana, he
visto muchos ingenieros en electrnica que no saben programar PLCs. Siendo que, en la
actualidad para realizar la automatizacin de una mquina es indispensable el uso de los
PLCs. Al no existir ingenieros que programen PLCs las empresas pequeas se tienen que
conformar con tener mquinas que operen en forma semiautomtica o totalmente manuales y
las empresas grandes tienen que invertir fuertes sumas de dinero para tener mquinas
automticas.
Un ingeniero en electrnica que sabe programar PLCs tiene mayores oportunidades de
obtener un empleo mejor remunerado. Bien es cierto que una mquina podra ser automatizada
con un sistema mnimo a base de microcontroladores o PICs, pero tambin es cierto que esto
llevara a tener muchas horas de diseo y programacin, con los PLCs la programacin es
ms sencilla y el diseo es mucho mas rpido. El costo no es limitativo para proyectos con
PLCs, ya que existen PLCs en el mercado tan baratos que comparndolos con el costo de
desarrollo de un sistema mnimo con microcontrolador, la opcin del PLC es ms barato.
Sin duda como hemos visto a trabes del desarrollo de la monografa, la programacin
de los PLCs de Festo es muy sencilla y muy poderosa para realizar automatizaciones, y si a
eso le sumamos que se pueden tener comunicaciones a trabes del puerto Ethernet y se tienen
mdulos de Web Server, entonces los PLCs se pueden utilizar para realizar adquisicin de
datos.
ANEXO A 65
ANEXO A
PRINCIPALES MODULOS DE PROGRAMA
Para pasar parmetros hacia y desde un mdulo de programa es necesario hacer uso de
las unidades de funcin FU32 a FU38, los cuales son palabras de 16 bits. En las cajas de los
mdulos de programa, las unidades de funcin que necesita el mdulo como parmetros de
entrada se colocan a la izquierda, siendo el de la parte superior el FU32, el inmediato de abajo
el FU33 y as consecutivamente. Las unidades de funcin que regresa el mdulo de salida se
colocan a la derecha de la caja del mdulo ordenados de la misma manera que los parmetros
de entrada.
A.1 F10
El mdulo F10 establece la hora del reloj interno del PLC.
Parmetros de entrada
FU32 Hora (0 a 23)
FU33 Minutos (0 a 59)
FU34 Segundos (0 a 59)
FU35 Centsimas de segundo (0 a 99)
FU36
FU37
FU38
Parmetros de salida
Ninguno

A.2 F11
El mdulo F11 establece la fecha del PLC
Parmetros de entrada
FU32 Ao (1980 a 2099)
FU33 Mes (1 a 12)
FU34 Da (1 a 31)
FU35
FU36
FU37
FU38
ANEXO A 66
Parmetros de salida
Ninguno

A.2 F30
El mdulo F30 configura los puertos seriales, la mayora de los PLCs de Festo poseen
dos puertos seriales, el COM que es por donde se realiza la descarga de los programas y el
EXT utilizados para establecer comunicacin con dispositivos seriales. El COM se identifica
como 255 y el EXT como 0.
Parmetros de entrada
FU32 Interface Serial (COM=255, EXT=0)
FU33 Parmetros de la Interface
FU34
FU35
FU36
FU37
FU38
Parmetros de salida
Ninguno

Parmetros de la Interface
Baud Rate Carcter Paridad
Bit 7 6 5 4 3 2 1 0

Baud Rate
Bit 7 6 5 4 Baud
1 0 0 0 19200
1 0 0 1 9600
1 0 1 0 4800
1 0 1 1 2400
1 1 0 0 1200
1 1 0 1 600
1 1 1 0 300

1 1 1 1 110

Longitud del carcter
Bit 3 2Bits por carcter
0 0 5

0 1 6
ANEXO A 67
1 0 7
1 1 8

Paridad
Bit 1 0 Paridad
0 0 Ninguna
0 1 ODD
1 0 Ninguna

1 1 EVEN

A.4 F31
El mdulo F31 activa el CI, el CI es una aplicacin que siempre est corriendo en el
PLC y permite acceder para leer o escribir en los parmetros del PLC mediante una lnea de
comandos por el puerto serial COM, sin embargo es posible configurar el puerto EXT para
que en el pueda correr el CI.
Parmetros de entrada
FU32 Interface Serial (COM=255, EXT=0)
FU33 0 =Desabilita el CI
1 =Habilita el CI
Parmetros de salida
Ninguno


A.5 F9
El mdulo F9 borra los operandos de la memoria del PLC, este mdulo es muy
necesario para asegurarse de borrar toda la basura que pueda trae el PLC de fbrica.
Parmetros de entrada
FU32
0 =Borra todos los registros, contadores,
temporizadores y banderas
1 =Borra todos los registros
2=Borra todos los contadores
3 =Borra todos los temporizadores
4 =Borra todas las banderas
Parmetros de salida
ANEXO A 68
Ninguno
A.6 GETCOM
El mdulo GETCOM lee un carcter desde el puerto serial.
Parmetros de entrada
FU32 Interface Serial (COM=255, EXT=0)
Parmetros de salida
FU32 0 =Listo
1 =Error
-1 =Nada recibido
FU33 Si FU32 =0 entonces FU33 =carcter
Recibido

A.7 PUTCOM
El mdulo PUTCOM enva un carcter por el puerto serial.
Parmetros de entrada
FU32 Interface Serial (COM =255, EXT =0)
FU33 Carcter que se enviar
Parmetros de salida
FU32 0 =Listo
1 =Error

A.8 PRINTCOM
El mdulo PRINTCOM enva un string FST por el puerto serial.

Parmetros de entrada
FU32 Interface Serial (COM =255, EXT =0)
FU33 Nmero del string FST
Parmetros de salida
FU32 0 =Listo
1 =Error

A.9 READCOM
ANEXO A 69
El mdulo READCOM lee una cadena de caracteres desde el puerto serial y los grava
en un string FST.
Parmetros de entrada
FU32 Interface Serial (COM =255, EXT =0)
FU33 Nmero del string FST
FU34 Mxima longitud
FU35 Delimitador de datos (0 a 255)
Parmetros de salida
FU32 0 =Listo
1 =Error

ANEXO B 70
ANEXO B
CREANDO PROYECTOS
Antes de crear los programas para ser cargados en el PLC es necesario crear un
proyecto. Cada proyecto se compone de uno o ms programas (mnimo el programa 0) y de
otros archivos como son los mdulos de programas, los string, el alocation list, etc.
Para crear un proyecto es necesario seguir los siguientes pasos.
a) Hacer click en New del menu Project.

b) Ponerle nombre al nuevo proyecto, el nombre no debe ser mayor de 8 caracteres.
ANEXO B 71


c) Definir el tipo de PLC que se va a utilizar.


d) Seleccionar Alocation List para definir los operandos.
ANEXO B 72


e) Seleccionar IO Configuration para definir las palabras de entradas y salidas.


f) Seleccionar Driver Configuration segn sea necesario de acuerdo a los mdulos de
programa que se vayan a utilizar.
ANEXO B 73


g) Para crear un nuevo programa hacer clic derecho en Programs y seleccionar New
Program.


h) Seleccionar Ladder Diagram.
ANEXO B 74

i) Seleccionar el nmero de programa, recuerde que el PLC siempre busca el programa 0
al arranque, por lo que se recomienda que el primer programa sea el programa 0.

j) Ya que se encuentre editado el programa es necesario compilarlo.
ANEXO B 75

k) Si al compilarlo no marco errores, se procede hacer la descarga del proyecto al PLC.

l) Ahora solo basta poner en RUN el PLC de acuerdo al hardware de cada modelo.

Bibliografa 76
BIBLIOGRAFA
Libros
B. Plagemann
Ladder diagram for Festo controllers
Edicin 02/97
Festo KG

E. V. Terzi, H. Regber, C. Loffler, F. Ebel
Controles lgicos programables
Edicin 03/1999
Festo Didactic KG

Manuales
Info 804 Controlador FEC estndar
Festo AG & Co

Productos 2000 parte 2, Vlvulas / tcnica de mando
Festo AG & Co

Software
FST 4.10.50
Festo AG & Co

También podría gustarte