Curso de PLC Twido Basico 5ta Parte
Curso de PLC Twido Basico 5ta Parte
Curso de PLC Twido Basico 5ta Parte
PLC TWIDO
QUINTA PARTE:
LENGUAJES DE
PROGRAMACION
V PARTE
LENGUAJES DE PROGRAMACION 1
5.1. Estructura de un Programa
La estructura de un programa facilita la depuracin y el
mantenimiento.
Para mejorar la legibilidad, los programas son separados en mdulos
con mdulos que comprenden instrucciones asignadas a una funcin
dada.
V PARTE
LENGUAJES DE PROGRAMACION 2
5.1. Estructura de un Programa
V PARTE
LENGUAJES DE PROGRAMACION 3
5.2. Lenguajes de Programacin
Los lenguajes de programacin fueron establecidos
en la norma IEC 61131-3.
Esta estandarizacin limita el nmero de lenguajes
de programacin usados por las distintas
plataformas de PLC.
Los lenguajes estandarizados son:
Ladder (LD)
Bloques de funcin (FBD)
Literal Estructurado (ST)
Listas (IL)
Grafcet (SFC)
V PARTE
LENGUAJES DE PROGRAMACION 4
5.2. Lenguajes de Programacin
Sin embargo, para crear programas de control con Twido slo se
pueden utilizar los siguientes lenguajes de programacin:
V PARTE
LENGUAJES DE PROGRAMACION 6
5.2.1. Lenguaje Ladder (LD)
ESCALON o RUNG
R E
S
Cu
Cd ESCALON o RUNG
Barras de potencial
V PARTE
LENGUAJES DE PROGRAMACION 7
5.2.1. Lenguaje Ladder (LD)
Los diagramas Ladder Logic (lgica de escaln) son similares a los
diagramas de lgica de rel que se utilizan para representar los
circuitos de control de rel. Los elementos grficos, como bobinas,
contactos y bloques, representan las instrucciones. A continuacin
aparece un ejemplo de diagrama Ladder Logic:
V PARTE
LENGUAJES DE PROGRAMACION 8
Instrucciones bsicas en
Lenguaje Ladder
Contactos
Normalmente abiertos
Normalmente cerrados
Bobinas
Directas
Inversas
SET
RESET
Temporizadores/Timers
TON
TOF
TP
Contadores
Representacin grfica
Entradas
Salidas
V PARTE
LENGUAJES DE PROGRAMACION 9
a. Contactos
Normalmente abiertos
Normalmente
cerrados
V PARTE
LENGUAJES DE PROGRAMACION 10
b. Bobinas
Directas
Inversas
V PARTE
LENGUAJES DE PROGRAMACION 11
b. Bobinas
SET
RESET
V PARTE
LENGUAJES DE PROGRAMACION 12
5.2.1. Instrucciones bsicas con
TwidoSoft
Procesamiento booleano
Bloques de funcin bsicos
Procesamiento numrico
Instrucciones del programa
V PARTE
LENGUAJES DE PROGRAMACION 13
5.3.1. El editor de lenguaje Ladder
Un programa escrito en lenguaje Ladder est formado por redes de
elementos grficos unidos que se organizan en escalones que el
controlador ejecuta de forma secuencial. Un diagrama Ladder es una
representacin grfica de un programa Ladder similar a un diagrama
lgico de rel.
V PARTE
LENGUAJES DE PROGRAMACION 14
5.3.1. El editor de lenguaje Ladder
Escalones:
V PARTE
LENGUAJES DE PROGRAMACION 15
5.3.1. El editor de lenguaje Ladder
Elementos grficos:
Reticulado de programacin:
El reticulado de programacin de un diagrama Ladder se
divide en dos reas:
rea de prueba
Contiene las condiciones que se han de probar a fin de
realizar acciones. Est formada por las columnas 1 a 10 y
contiene contactos, bloques de funcin y bloques de
comparacin.
rea de actividad
Contiene la salida u operacin que ser realizada segn sean
los resultados de las pruebas llevadas a cabo en el rea de
prueba. Est formada por las columnas 9 a 11 y contiene
bobinas y bloques de operacin.
V PARTE
LENGUAJES DE PROGRAMACION 17
5.3.1. El editor de lenguaje Ladder
Reticulado de programacin:
V PARTE
LENGUAJES DE PROGRAMACION 18
5.3.1. El editor de lenguaje Ladder
V PARTE
LENGUAJES DE PROGRAMACION 19
EJERCICIOS
SERIE - PARALELO
V PARTE
LENGUAJES DE PROGRAMACION 20
Ejemplo Arranque de un motor
(Ladder)
PA K
PP
V PARTE
LENGUAJES DE PROGRAMACION 21
5.2.2. Lenguaje de lista de
instrucciones (IL)
V PARTE
LENGUAJES DE PROGRAMACION 22
5.2.2. Lenguaje de lista de
instrucciones (IL)
Un programa escrito en lenguaje de lista de instrucciones es
ejecutado de manera secuencial por el controlador. A continuacin
aparece un ejemplo de programa de Lista.
V PARTE
LENGUAJES DE PROGRAMACION 23
Nmero de lnea:
Los nmeros de lnea se generan automticamente al introducir una
instruccin. Las lneas vacas y las lneas de comentario no tienen
nmeros de lnea.
Cdigo de instruccin:
El cdigo de instruccin es un smbolo para un operador que
identifica la operacin que se va a realizar utilizando los operandos.
Los operadores tpicos especifican operaciones numricas y
booleanas. Por ejemplo, en el programa de ejemplo anterior, LD es
la abreviatura del cdigo de instruccin para una instruccin LOAD.
La instruccin LOAD coloca (carga) el valor del operando %I0.1 en
un registro interno llamado el acumulador. Hay dos tipos de
instrucciones bsicas:
Instrucciones de prueba
Estas instrucciones configuran o comprueban las condiciones necesarias
para realizar una accin. Por ejemplo, LOAD (LD) y AND.
Instrucciones de accin
Estas instrucciones realizan acciones como resultado de las condiciones
configuradas. Por ejemplo, instrucciones de asignacin como STORE
(ST) y RESET (R).
V PARTE
LENGUAJES DE PROGRAMACION 24
Operando:
PROCESAMIENTO BOOLEANO
V PARTE
LENGUAJES DE PROGRAMACION 26
Procesamiento booleano
Las instrucciones booleanas pueden compararse con los elementos
grficos de Ladder. En la tabla siguiente se muestran estas
instrucciones.
V PARTE
LENGUAJES DE PROGRAMACION 28
Instrucciones de carga
V PARTE
LENGUAJES DE PROGRAMACION 29
Instrucciones de carga
V PARTE
LENGUAJES DE PROGRAMACION 30
Instrucciones de almacenamiento
V PARTE
LENGUAJES DE PROGRAMACION 31
Instrucciones de almacenamiento
V PARTE
LENGUAJES DE PROGRAMACION 32
Instrucciones de almacenamiento
V PARTE
LENGUAJES DE PROGRAMACION 33
a. Resumen contactos
V PARTE
LENGUAJES DE PROGRAMACION 34
b. Resumen bobinas
V PARTE
LENGUAJES DE PROGRAMACION 35
Instrucciones lgicas - AND
V PARTE
LENGUAJES DE PROGRAMACION 36
Instrucciones Lgicas - AND
V PARTE
LENGUAJES DE PROGRAMACION 37
Instrucciones lgicas - AND
V PARTE
LENGUAJES DE PROGRAMACION 38
Instrucciones lgicas - OR
V PARTE
LENGUAJES DE PROGRAMACION 39
Instrucciones lgicas - OR
V PARTE
LENGUAJES DE PROGRAMACION 40
Instrucciones lgicas - OR
V PARTE
LENGUAJES DE PROGRAMACION 41
Instrucciones lgicas - XOR
V PARTE
LENGUAJES DE PROGRAMACION 42
Instrucciones lgicas - XOR
V PARTE
LENGUAJES DE PROGRAMACION 43
Instrucciones lgicas - XOR
V PARTE
LENGUAJES DE PROGRAMACION 44
Instruccin NOT (N)
V PARTE
LENGUAJES DE PROGRAMACION 45
Ejemplo Arranque de un motor
(IL)
PA K
PP
V PARTE
LENGUAJES DE PROGRAMACION 46
5.3.2. Editor de listas
Instrucciones bsicas para la reversibilidad
Las instrucciones que aparecen a continuacin son
necesarias para la estructura de un bloque de funcin
reversible en lenguaje de lista.
BLK : indica el comienzo del bloque y define el inicio del
escaln y de la parte de entrada al bloque.
OUT_BLK : indica el comienzo de la parte de salida del
bloque.
END_BLK : indica el final del bloque y del escaln.
El uso de las instrucciones del bloque de funcin
reversible no es obligatorio cuando el programa de lista
funciona correctamente. Es posible programar en lista
algunas instrucciones, lo cual no es reversible.
V PARTE
LENGUAJES DE PROGRAMACION 47
Principios para programar bloques de
funcin estndar
Se pueden usar cualquiera de los siguientes mtodos:
V PARTE
LENGUAJES DE PROGRAMACION 48
Programacin reversible
V PARTE
LENGUAJES DE PROGRAMACION 49
Ejemplo con salidas cableadas
V PARTE
LENGUAJES DE PROGRAMACION 50
Ejemplo sin salida cableada
V PARTE
LENGUAJES DE PROGRAMACION 51
5.3.2. Editor de listas
Instrucciones no equivalentes que se deben evitar
V PARTE
LENGUAJES DE PROGRAMACION 52
5.3.2. Bloques de funcin bsicos
V PARTE
LENGUAJES DE PROGRAMACION 55
Temporizadores/Timers
Representacin grfica:
%TM0
IN Q
TYPE TON
TB 1S
ADJ Y
%TM0.P 4
V PARTE
LENGUAJES DE PROGRAMACION 56
Programacin y configuracin de
temporizadores
Durante la configuracin, deben
introducirse los parmetros siguientes:
V PARTE
LENGUAJES DE PROGRAMACION 57
Bloque de funcin del temporizador (%TMi)
Parmetro Etiqueta Valor
Nmero de 0 a 63: TWDLCAA10DRF y TWDLCAA16DRF.
%TMi
temporizador 0 a 127 para los dems controladores.
TON Retraso durante el ajuste (predeterminado)
Tipo TOF Retraso durante el restablecimiento
TP Pulso (monoestable)
Base de tiempo TB 1 min (predeterminado), 1s, 100ms, 10ms, 1ms
Palabra que aumenta de 0 a %TMi.P cuando el temporizador est en
funcionamiento. Se puede leer y comprobar, pero no se puede escribir desde el
Valor actual %Tmi.V
programa. %TMi.V se puede modificar utilizando el editor de tablas de
animacin.
0 - 9999. Palabra que se puede leer, comprobar y escribir desde el programa.
Valor preestablecido %Tmi.P El valor predeterminado es 9999. El perodo o retardo generado es igual a
%TMi.P x
Y: S, el valor preestablecido %TMi.P se puede modificar mediante el editor de
Editor de tablas de tablas de animacin.
Y
animacin
N: No, el valor preestablecido %TMi.P no se puede modificar.
Entrada de Inicia el temporizador en flanco ascendente (tipos TON o TP) o en flanco
IN
validacin descendente (tipo TOF).
Salida del El bit asociado %TMi.Q se ajusta a 1 dependiendo de la funcin realizada:
Q
temporizador TON, TOF, o TP.
V PARTE
LENGUAJES DE PROGRAMACION 58
Temporizador tipo TON
V PARTE
LENGUAJES DE PROGRAMACION 59
Tipo de temporizador TON
V PARTE
LENGUAJES DE PROGRAMACION 61
Tipo de temporizador TOF
V PARTE
LENGUAJES DE PROGRAMACION 63
Tipo de temporizador TP
1. El temporizador se ejecuta en el
flanco ascendente de la entrada IN.
El valor actual %TMi.V se pone a 0
si el temporizador an no se ha
ejecutado.
2. El bit de salida %TMi.Q se
establece en 1 cuando se inicia el
temporizador.
3. El valor actual %TMi.V del temporizador aumenta de 0 a %TMi.P en
incrementos de una unidad por pulso de la base de tiempo TB.
4. El bit de salida %TMi.Q se establece en 0 cuando el valor actual llega a
%TMi.P.
5. El valor actual %TMi.V se establece en 0 cuando %TMi.V es igual a
%TMi.P y la entrada IN vuelve a 0.6El temporizador no se puede
restablecer en cero. Cuando %TMi.V es igual a %TMi.P y la entrada IN
se establece en 0, %TMi.V se ajusta a 0.
V PARTE
LENGUAJES DE PROGRAMACION 64
Ejercicio - Semforo
Diagrama de tiempos
t1
t2 t3
t4
V PARTE
LENGUAJES DE PROGRAMACION 65
Contadores
Los contadores son usados para conteo de pulsos ascendente o
descendente. Ellos tienen sus propios parmetros internos, entradas
y salidas para determinar como trabajan. Para un contador %Cn
estos son:
Un reset
Una entrada predeterminada
Una entrada de conteo ascendente
Una entrada de conteo descendente
Una salida de desborde de conteo regresivo: %Cn.E
Una salida de valor preseleccionado alcanzado: %Cn.D
Una salida de desborde de conteo progresivo: %Cn.F
Un valor preestablecido %Cn.P
Un valor actual: %Cn.V
V PARTE
LENGUAJES DE PROGRAMACION 66
Contadores
ENTRADAS SALIDAS
Reset Conteo regresivo
desbordado
Set
Conteo
preseleccionado
Contador Ascendente alcanzado
Contador Descendente
Conteo progresivo
desbordado
V PARTE
LENGUAJES DE PROGRAMACION 67
Bloque de funcin del contador
progresivo/regresivo (%Ci)
V PARTE
LENGUAJES DE PROGRAMACION 68
Contadores
V PARTE
LENGUAJES DE PROGRAMACION 69
5.4. Grafcet (SFC)
El lenguaje Grafcet fue desarrollado para
suministrar una descripcin grfica y
estructurada de una operacin de un sistema
automatizado.
Esta descripcin es producida usando:
Nmero de pasos, en los cuales las asignaciones
pueden ser asignadas
Nmero de transiciones, en las cuales condiciones de
receptividad son asignados.
Nmero de cada paso y transicin es asignado un
proceso para ejecutar. Este procesamiento puede ser
descrito en un lenguaje conveniente, por ejemplo LD.
V PARTE
LENGUAJES DE PROGRAMACION 70
5.4. Lenguaje Grafcet (SFC)
Grafcet es un mtodo analtico que divide cualquier sistema de control
secuencial en una serie de pasos con acciones, transiciones y condiciones
asociadas. La ilustracin que aparece a continuacin muestra ejemplos de
instrucciones Grafcet en programas Ladder Logic y Lista respectivamente.
V PARTE
LENGUAJES DE PROGRAMACION 71
Instrucciones aritmticas
V PARTE
LENGUAJES DE PROGRAMACION 72
Estructura de las operaciones
matemticas
V PARTE
LENGUAJES DE PROGRAMACION 73
Sintaxis operaciones matemticas
V PARTE
LENGUAJES DE PROGRAMACION 74
Instrucciones lgicas
Las instrucciones de lgica se utilizan para realizar
operaciones lgicas entre dos operandos de palabra o en
un operando de palabra. La siguiente tabla enumera los
tipos de instrucciones de lgica.
V PARTE
LENGUAJES DE PROGRAMACION 75
Instrucciones lgicas
V PARTE
LENGUAJES DE PROGRAMACION 76
Instrucciones de desplazamiento
V PARTE
LENGUAJES DE PROGRAMACION 77
Consejos sobre programacin
Tratamiento de los saltos de programa
Utilice los saltos de programa con precaucin para evitar bucles largos que
prolonguen el tiempo de ciclo. Evite los saltos en las instrucciones ubicadas "detrs"
(Aparece una instruccin delante antes de un salto en un programa. Sin embargo,
aparece una instruccin detrs despus de un salto en un programa).
Programacin de salidas
Los bits de salida, al igual que los bits internos, slo se deben modificar una vez en
el programa. En el caso de los bits de salida, slo se tiene en cuenta el ltimo valor
examinado cuando se actualizan las salidas.
V PARTE
LENGUAJES DE PROGRAMACION 78
Consejos sobre programacin
Tratamiento de recuperacin de la alimentacin
Se debe comprobar el estado del bit de sistema %S51, que indica los
posibles fallos del fechador.
V PARTE
LENGUAJES DE PROGRAMACION 79
5.6. Documentacin
La utilidad de la documentacin es la de
poseer un documento en papel que
describe en detalle la aplicacin. La verdad
es que cuando todo comienza a funcionar
durante un tiempo, si un error ocurre o es
necesario alguna modificacin, es muy til
tener un archivo completo que documenta
la historia del automatismo creado.
V PARTE
LENGUAJES DE PROGRAMACION 80
Principio y propsito de una copia en
papel de la documentacin
V PARTE
LENGUAJES DE PROGRAMACION 81
Impresin de la documentacin
V PARTE
LENGUAJES DE PROGRAMACION 82
Impresin de la documentacin
V PARTE
LENGUAJES DE PROGRAMACION 83