Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lenguajes de Programacion PDF
Lenguajes de Programacion PDF
1
20/11/2003
Objetivos
1. Comprender la necesidad de estandarizacin
del software de programacin de PLC
2. Conocer la norma IEC 1131
3. Conocer los lenguajes ms utilizados para la
programacin de PLC
4. Conocer la forma de ejecucin de programas
en un AP
2
20/11/2003
Introduccin
Programacin
Modos de funcionamiento
Lenguajes
3
20/11/2003
Programacin
Resolucin del problema de automatizacin
Confeccionar los programas
Programas = conjunto de instrucciones elementales
Instrucciones = conjunto de operandos y operadores
Operadores: particulares de cada lenguaje
Operandos: siempre los mismos:
entradas y salidas digitales y analgicas
Mdulos o estructuras complejas de datos: contadores, temporizadores,
desplazadores,...
Memoria, marcas o TAGS
4
20/11/2003
(PROGRAM)
Modos de funcionamiento CONFECCIN
DEL PROGRAMA
DE SUSUARIO:
- LDI
PROGRAM - EDC...
Permite programar y transferir
el programa de usuario desde
TRANSFERENCIA
el sistema de programacin
hasta el AP
RUN:
(RUN)
Permite al AP controlar el
proceso
lectura variables int/ext TL
Ejecucin peridica
actualizacin variables TA
Tproceso > Tperiodo
20/11/2003 Sistemas Electrnicos de Control
TC=TL+TE+T5A
5
20/11/2003
Lenguajes
LI ST SFC
LD A
ANDN B C:= A AND NOT B Step 1 N FILL
ST C
Transition 1
6
20/11/2003
Estandarizacin
Norma IEC 1131-3
7
20/11/2003
Estandarizacin?
Problema planteado a los ingenieros de Sw
8
20/11/2003
IS = International Standard
9
20/11/2003
Lenguajes de Programacin Vs
Programacin de Control Industrial
El interface entre el programador
y el Sistema de control ...
10
20/11/2003
Usuarios de la norma
Control de
Procesos Integradores
de Sistemas
TU ??
Educacin
Programadores
Mantenimiento Instaladores
11
20/11/2003
12
20/11/2003
13
20/11/2003
Bottom Up
Lenguajes de Programacin
Sistemas Electrnicos de Control 14
14
20/11/2003
IEC 1131-3
Elementos Comunes Diseo
Proyectos
Tareas
Variables, tipos de datos y declaraciones Variables Globales
Diseo, proyectos y tareas Caminos de Acceso
Lenguajes de Programacin
FBD
LI LD AND
LD A ST
A B C A C
ANDN B
-| |--|/|----------------( ) B C:= A AND NOT B
ST C
15
20/11/2003
FB
Programa Programa Programa Programa Boque de
FB FB FB FB funciones
Variables Globales
Variable
16
20/11/2003
Automation
application
INPUT OUTPUT IN_OUT EXTERNAL
FUNCTION_BLOCK
PROGRAM
Type Local
Type Local
GLOBAL
INPUT
FUNCTION
Type Local
17
20/11/2003
Lista de Instrucciones
Instruction List (IL)
18
20/11/2003
Listado de Instrucciones
LI
LD A
ANDN B
ST C
19
20/11/2003
Semntica y Operadores
LD Set current result equal to operand
ADD Addition
ST Store current result to operand location
SUB Subtraction
S Set Boolean operand to 1
MUL Multiplication
R Reset Boolean operand to 0
DIV Division
20
20/11/2003
Ejemplos de instrucciones
OPERADORES
ETIQUETAS OPERANDOS
COMENTARIOS
21
20/11/2003
Texto Estructurado
Structured Text (ST)
22
20/11/2003
Texto Estructurado
ST
23
20/11/2003
Operadores
Symbol Operation
(expression) Parenthesization
identifier(argument list) Function evaluation
Examples:
LN(A), MAX(X,Y), etc.
** Exponentiation
- Negation
NOT Complement
24
20/11/2003
Operadores
* Multiply &, AND Boolean AND
/ Divide OR Boolean OR
MOD Modulo XOR Boolean xclusive OR
+ Add
- Subtract A := B; asignacin
< , > , <= , >= Comparison
= Equality Datatype to Datatype
<> Inequality INT to INT
or
IF .. THEN .. ELSE Analog_Channel_Configuration to
CASE Analog_Channel_Configuration
FOR
WHILE CV := CV+1;
REPEAT UNTIL C := SIN(X);
25
20/11/2003
26
20/11/2003
27
20/11/2003
Ventajas
Documentacin y programacin en un mismo
elemento del programa
Informes generales, comentarios, flujo de datos...
Aplicacin universal, enteros, punto flotante...
Programacin estructurada
Definicin y llamada a subrutinas
Conjunto de funciones y de bloques estandarizados
Se pueden mezclar bloques de distintos fabricantes
Se pueden definir nuevos bloques
Los FBs son altmaente reutilizables
En un mismo programa
En programas diferentes
En diferentes proyectos
20/11/2003 Sistemas Electrnicos de Control 28
28
20/11/2003
horizontal, vertical
flow direction
crossing with / without contact
29
20/11/2003
Elementos - Parametrizacin
Negation
Duplication
30
20/11/2003
Elementos adicionales
Jumps
20/11/2003 Conectores
Sistemas Electrnicos de Control 31
31
20/11/2003
Reglas de Ejecucin
32
20/11/2003
Realimentacin
33
20/11/2003
34
20/11/2003
Esquema de Contactos
Ladder Diagram (LD)
35
20/11/2003
Ladder
LD
A B C
-| |--|/|----------------( )
36
20/11/2003
Origenes del LD
Su origen es la representacin grfica
utilizada en el diseo de sistemas de control
elctricos
Las decisiones de control se hacen efectivas
activando rels
OR
Despues los rels se sustituyeron por AND
circuitos lgicos
Las decisiones de control se hacen efectivas
en funcin de las salidas de la puertas lgicas
Finalmente las CPUs sustiteyen los
complejos y amplios circuitos lgicos
Las E/S se cablean con buffers CPU
Las decisiones de control son programas en
ejecucin
La representacin de la lgica de rels
evolucion para una creacin y comprensin
ms sencilla de los programas
Reduce el tiempo de formacin de los
programadores
20/11/2003 Sistemas Electrnicos de Control 37
37
20/11/2003
Qu es un Rung?
Es una lnea de programa
Contiene las instrucciones de entrada y salida
Entrada: permiten una comparacin o test de las
condiciones y se obtiene el resultado de la
evaluacin.
Habitualmente aparecen el la parte izquierda del rung
Salida (Coil): examinan el resultado de la evaluacin
y si es true ejecutan alguna operacin o funcin
En algunos casos pueden ser el estado del rung
Habitualmente aparecen el la parte derecha del rung
COIL
38
20/11/2003
A C D E
B AND F
OR Branches
39
20/11/2003
A D E
40
20/11/2003
Contactos
Normalmente Abierto --| |--
Activa el rung hacia la derecha de la instruccin cuando el contacto
se activa
41
20/11/2003
Acciones (Coils)
Accin --( )--
Activa un bit cuando el rung es true y lo desactiva cuando es false
Accin negada --( / )--
Activa un bit cuando el rung es false y lo desactiva cuando es true
Enclavamiento (Latch) --(S)--
Activa un bit cuando el rung es true y no hace nada cuando es
false
Desenclavamiento (Unlatch) --(R)--
Desactiva un bit cuando el rung es true y no hace nada cuando es
false
Accin activa por flanco de subida --(P)--
Activa un bit cuando la instruccin de entrada transiciona de false a
true
Accin activa por flanco de bajada --(N)--
Activa un bit cuando la instruccin de entrada transiciona de true a
false
20/11/2003 Sistemas Electrnicos de Control 42
42
20/11/2003
Instrucciones IEC de
Comparacin
Si el rung de entrada est activo
(EN), la instruccin ejecuta la EQ
operacin y activa el rung de EN ENO
salida (ENO) basado en la Tank1_Level
IN1
comparacin 100.000
Tank_max
Ejemplo 78.251 IN2
Cuando EN es true, EQ (=) la funcion
compara In1 y In2 y si son iguales activa
ENO
Conjunto de instrucciones de
comparacin
EQ(=), GT (>), GE (>=), LT (<), LE
(<=), NE (<>)
20/11/2003 Sistemas Electrnicos de Control 43
43
20/11/2003
Instrucciones IEC de
Temporizacin
Pump_Tmr
Tres insctrucciones bsicas
TON
TP - Pulse timer IN Q
44
20/11/2003
IN
Temporizador Q
PT
ET |
0
45
20/11/2003
Instrucciones IEC de
Contadores
Load_Cnt
46
20/11/2003
IN
... ...
Q
Contadores CV
PV
|
0
R
de salida
Count Up/Down (CTUD) Counter
R = Puesta a cero CU
...
QU
LD = Carga CV con PV CD
...
PV = Preset Value QD
PV
CV = Count Value CV |
0
R
LD
20/11/2003 Sistemas Electrnicos de Control 47
47
20/11/2003
Ruptura de la secuencia de
ejecucin
Instrucciones de salto a Instrucciones de salto a
subrutinas
etiquetas Salta a un bloque de cdigo
Salta a un bloque de cdigo encapsulado como una
del programa subrutina
LBL nombre de la etiqueta CALL pasa el control a otra
para la operacin de salto funcin
JMP ejecucin de un salto RET retorno al punto siguiente
cuando se activa la desde donde fue llamada la
instruccin de entrada subrutina
| Skip_Calc |
|-| |-------------(JMP)--| CAL
| ... | CAL
| Skip_Calc |
|---[LBL]---... RET RET
48
20/11/2003
1 Rung of Logic
1 Instruction
11 Rungs of Logic Minutes to code and debug
17 Instructions
Hours to code and debug
49
20/11/2003
50
20/11/2003
51
20/11/2003
Grafcet
Las etapas o estados
implican acciones asociadas
etapa inicial
0
Las transiciones gobiernan
los cambios de estado transicin COMIENZO DEL CICLO
52
20/11/2003
12 ACC. E 16 ACC. K
h
f e
13 ACC. G 17 ACC. L
g e
14 ACC. H 18 ACC. M
m
h n
15 ACC. J 19 ACC. P
j j
53
20/11/2003
DIRECCIONAMIENTO CONDICIONAL:
Eleccin condicional entre varias secuencias posibles
x y z
6 ACC. A 8 ACC. C 9
a c w
7 ACC. G 10 ACC. D
g d
11 ACC. E
54
20/11/2003
SECUENCIAS SIMULTNEAS:
Varios estados activos a la vez
5
y
6 ACC. A 8 ACC. C 9
a w
7 ACC. G 10 ACC. D
11 ACC. E
e
20/11/2003 Sistemas Electrnicos de Control 55
55
20/11/2003
Fuentes de Informacin
56
20/11/2003
Fuentes de Informacin
57