SlideShare una empresa de Scribd logo
1 de 57
Descargar para leer sin conexión
20/11/2003
1
1
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control
Dpto. de Sistemas Electrónicos y de Control
1
T3. Lenguajes de Programación
3.1.3.1. IntroducciIntroduccióónn
3.2.3.2. Norma IEC 1131Norma IEC 1131
3.3.3.3. Lista de instrucciones (IL)Lista de instrucciones (IL)
3.4.3.4. Texto estructurado (ST)Texto estructurado (ST)
3.4.3.4. Esquema básico de funciones (FBD)Esquema básico de funciones (FBD)
3.5.3.5. Esquema de contactos (LD)Esquema de contactos (LD)
3.6.3.6. Esquema secuencial de funciones (SFC)Esquema secuencial de funciones (SFC)
20/11/2003
2
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 2
Dpto. de Sistemas Electrónicos y de Control
2
Objetivos
1. Comprender la necesidad de estandarización
del software de programación de PLC
2. Conocer la norma IEC 1131
3. Conocer los lenguajes más utilizados para la
programación de PLC
4. Conocer la forma de ejecución de programas
en un AP
20/11/2003
3
3
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control
Dpto. de Sistemas Electrónicos y de Control
3
Introducción
Programación
Modos de funcionamiento
Lenguajes
20/11/2003
4
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 4
Dpto. de Sistemas Electrónicos y de Control
4
Programación
• Resolución del problema de automatización
• 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 analógicas
• Módulos o estructuras complejas de datos: contadores, temporizadores,
desplazadores,...
• Memoria, marcas o TAGS
• forma de ejecución de los programas
– Cíclica es la más habitual
– Eventos cada vez que se cambie de estado en una línea
– Periódica: por periodos definidos
– Periódica y por eventos de forma simultánea
20/11/2003
5
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 5
Dpto. de Sistemas Electrónicos y de Control
5
• PROGRAM
– Permite programar y transferir
el programa de usuario desde
el sistema de programación
hasta el AP
• RUN:
– Permite al AP controlar el
proceso
• Ejecución cíclica
Tproceso > Tciclo
• Ejecución periódica
Tproceso > Tperiodo
CONFECCIÓN
DEL PROGRAMA
DE SUSUARIO:
- LDI
- EDC...
TRANSFERENCIA
(PROGRAM)
lectura variables int/ext
ejecución programa
actualización variables
TL
TE
TA
ciclo
(RUN)
TC=TL+TE+TA
Modos de funcionamiento
20/11/2003
6
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 6
Dpto. de Sistemas Electrónicos y de Control
6
LenguajesLenguajes
LD A
ANDN B
ST C
LILI
C:= A AND NOT B
STST
AND
A C
B
FBDFBD
SFCSFC
Step 1 N FILL
Step 3
Step 2 S Empty
Transition 1
Transition 2A B C
-| |--|/|----------------( )
LDLD
• Todos ellos tienen la finalidad de generar el código objeto
para que sea ejecutado en la CPU del PLC
20/11/2003
7
7
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control
Dpto. de Sistemas Electrónicos y de Control
7
Norma IEC 1131
Estandarización
Norma IEC 1131-3
20/11/2003
8
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 8
Dpto. de Sistemas Electrónicos y de Control
8
Problema planteado a los ingenieros de Sw
* Cómo resolver la automatización de una industria
* Trabajando con diferentes PLC de fabricantes distintos
* Utilizando diferentes lenguajes de programación
* Y que sea comprendido por ingenieros eléctricos o
personal de mantenimiento de planta
• Y que el fabricante del producto sea mejor que su más
directo competidor
SOLUCIÓN NORMA IEC1131
¿Estandarización?
20/11/2003
9
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 9
Dpto. de Sistemas Electrónicos y de Control
9
Las 5 partes de la norma IEC 1131
- 1 Visión general, definiciones IS
- 2 Hardware IS
- 3 Lenguajes de programación IS
- 4 Manuales de usuarios
- 5 Especificaciones
IS = International Standard
20/11/2003
10
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 10
Dpto. de Sistemas Electrónicos y de Control
10
Lenguajes de Programación Vs
Programación de Control Industrial
El interface entre el programador
y el Sistema de control ...
...con soporte para personal
de diferente cualificación
profesional
20/11/2003
11
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 11
Dpto. de Sistemas Electrónicos y de Control
11
Educación
InstaladoresMantenimiento
Programadores
Control de
Procesos Integradores
de Sistemas
TU ??
Usuarios de la norma
20/11/2003
12
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 12
Dpto. de Sistemas Electrónicos y de Control
12
Ventajas de la norma IEC 1131
• Reduce el esfuerzo humano en entrenamiento, depuración,
mantenimiento y consultoría
– Una vez que se aprende se puede utilzar en todos los sistemas
• Posibilidad de crear Sw reutilizable, minimiza
– el tiempo de desarrollo
– el esfuerzo de codificación
– los errores de compilación y ejecución
• Técnicas de programación usados en otros entornos no
industriales
• Coordina eficazmente diferentes componentes desde
distintas localizaciones, compañías o proyectos
– Amplio campo de aplicación
• Aumenta la conectividad facilita la distribución del control
20/11/2003
13
Dpto. de Sistemas Electrónicos y de Control
Sistemas Electrónicos de Control 13
Dpto. de Sistemas Electrónicos y de Control
13
Claves de éxito de la norma
IEC 1131-3
• Sw estructurado a través de Diseño, Proyectos, Tareas,
Programas y Bloques
– Unidades de Organización de Programas (Program Organization
Units (POUs))
• Tipado fuerte de datos a través de lenguajes que poseen
operaciones a las que sólo se le puede aplicar un tipo
apropiado de datos
• Control de la ejecución a través de tareas
• Descripción del Comportamiento secuencial complejo de
un proceso a través de SFC
• Encapsulación del Sw a través de POUs, estructuras y
tipos complejos de datos
20/11/2003
14
Dpto. de Sistemas Electrónicos y de Control
Sistemas Electrónicos de Control 14
Dpto. de Sistemas Electrónicos y de Control
14
Elementos Comunes
Lenguajes de Programación
Norma IEC 1131-3
Top Down
Bottom Up
• La norma permite dos caminos de
desarrollo de un programa
• Hacia abajo: configuración de los
datos pensando en el proceso y
después elegir el Sw de
programación
• Hacia arriba: seleccionando un Sw
de programación más adecuado al
proceso y posteriormente definir
los tipos de datos
20/11/2003
15
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 15
Dpto. de Sistemas Electrónicos y de Control
15
IEC 1131-3
Elementos Comunes
Lenguajes de Programación
LD A
ANDN B
ST C
LILI
C:= A AND NOT B
STST
AND
A C
B
FBDFBD
A B C
-| |--|/|----------------( )
LDLD
• Variables, tipos de datos y declaraciones
• Diseño, proyectos y tareas
• Funciones, bloques de funciones y programas
• Sequential Function Charts
Diseño
Proyectos
Tareas
Variables Globales
Caminos de Acceso
20/11/2003
16
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 16
Dpto. de Sistemas Electrónicos y de Control
16
IEC 1131-3 vs convencional PLC
Proyecto Proyecto
Ruta de acceso
Diseño
Función de Comunicaciones
Ruta de
ejecución
Ruta de
acceso
variable
FB
Boque de
funciones
Variable
Variables Globales
Task Task Task Task
Programa Programa Programa Programa
FB FB FB FB
20/11/2003
17
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 17
Dpto. de Sistemas Electrónicos y de Control
17
Programas: diseño Jerárquico
Automation
application
Start : BOOL;
Emergency : BOOL;
Limit : INT;
PROGRAM
GLOBAL
LocalType
FUNCTION
INPUT
LocalType
FUNCTION_BLOCK
INPUT OUTPUT IN_OUT EXTERNAL
LocalType
20/11/2003
18
18
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control
Dpto. de Sistemas Electrónicos y de Control
18
Lista de Instrucciones
Instruction List (IL)
20/11/2003
19
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 19
Dpto. de Sistemas Electrónicos y de Control
19
Listado de Instrucciones
• Es un tipo de lenguaje ensamblador con un repertorio muy
reducido de instrucciones
• Los programas utilizan un estilo muy similar al empleado
por los lenguajes de ensamblador
• Este tipo de lenguaje es una trascripción elemental e
inmediata de las instrucciones del lenguaje máquina
– que están representadas por expresiones nemotécnicas
• Se suele aplicar para pequeñas aplicaciones y para
optimizar partes de una aplicación
LD A
ANDN B
ST C
LILI
20/11/2003
20
Dpto. de Sistemas Electrónicos y de Control
Sistemas Electrónicos de Control 20
Dpto. de Sistemas Electrónicos y de Control
20
Semántica y Operadores
LD Set current result equal to operand
ST Store current result to operand location
S Set Boolean operand to 1
R Reset Boolean operand to 0
&, AND Boolean AND
OR Boolean OR
XOR Boolean xclusive OR
ADD Addition
SUB Subtraction
MUL Multiplication
DIV Division
GT Comparison: >
GE Comparison: >=
EQ Comparison: =
NE Comparison: <>
LE Comparison: <=
LT Comparison: <
JMP Jump to label
CAL Call function block
RET Return from called function or function block
20/11/2003
21
Dpto. de Sistemas Electrónicos y de Control
Sistemas Electrónicos de Control 21
Dpto. de Sistemas Electrónicos y de Control
21
Ejemplos de instrucciones
START: LD %IX1 (* PUSH BUTTON *)
ANDN %MX5 (* NOT INHIBITED *)
ST %QX2 (* FAN ON *)
result := result OP operand
COMENTARIOSCOMENTARIOS
OPERANDOSOPERANDOS
OPERADORESOPERADORES
ETIQUETASETIQUETAS
MODIFICADORES DEMODIFICADORES DE
LOS OPERANDOSLOS OPERANDOS
20/11/2003
22
22
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control
Dpto. de Sistemas Electrónicos y de Control
22
Texto Estructurado
Structured Text (ST)
20/11/2003
23
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 23
Dpto. de Sistemas Electrónicos y de Control
23
Texto Estructurado
• Los lenguajes basados en texto estructurado
facilitan la programación de procesos que
requieren instrucciones complejas y cálculos
muy grandes
• Se trata de lenguajes de alto nivel
C:= A AND NOT B
STST
20/11/2003
24
Dpto. de Sistemas Electrónicos y de Control
Sistemas Electrónicos de Control 24
Dpto. de Sistemas Electrónicos y de Control
24
Operadores
Symbol Operation
(expression) Parenthesization
identifier(argument list) Function evaluation
Examples:
LN(A), MAX(X,Y), etc.
** Exponentiation
- Negation
NOT Complement
20/11/2003
25
Dpto. de Sistemas Electrónicos y de Control
Sistemas Electrónicos de Control 25
Dpto. de Sistemas Electrónicos y de Control
25
* Multiply
/ Divide
MOD Modulo
+ Add
- Subtract
< , > , <= , >= Comparison
= Equality
<> Inequality
Operadores
&, AND Boolean AND
OR Boolean OR
XOR Boolean xclusive OR
A := B; asignación
Datatype to Datatype
INT to INT
or
Analog_Channel_Configuration to
Analog_Channel_Configuration
CV := CV+1;
C := SIN(X);
IF .. THEN .. ELSE
CASE
FOR
WHILE …
REPEAT UNTIL
20/11/2003
26
26
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control
Dpto. de Sistemas Electrónicos y de Control
26
Esquema Básico de Funciones
Function Block Diagram (FBD)
20/11/2003
27
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 27
Dpto. de Sistemas Electrónicos y de Control
27
Esquema Básico de Funciones
• El diagrama de funciones (también conocido
como esquema básico de funciones EBF o
function block diagram FBD) es un lenguajelenguaje
grgrááficofico
• Los programas son bloques cableados entre sí
de forma análoga al esquema de un circuito
• Tiene una interface de E/S bien definida, y
además poseen un código interno oculto
AND
A C
B
FBDFBD
20/11/2003
28
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 28
Dpto. de Sistemas Electrónicos y de Control
28
Ventajas
• Documentación y programación en un mismo
elemento del programa
– Informes generales, comentarios, flujo de datos...
• Aplicación universal, enteros, punto flotante...
• Programación estructurada
– Definición 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
29
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 29
Dpto. de Sistemas Electrónicos y de Control
29
Elementos: Funciones, Bloques y
Variables
Functions
Functions Blocks
Input / Output Variables
horizontal, vertical
flow direction
crossing with / without contact
20/11/2003
30
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 30
Dpto. de Sistemas Electrónicos y de Control
30
Elementos - Parametrización
Negation
Duplication
Implicit edge detection
Formal Parameters
Actual Parameters
20/11/2003
31
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 31
Dpto. de Sistemas Electrónicos y de Control
31
Elementos adicionales
Jumps
ConectoresConectores
20/11/2003
32
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 32
Dpto. de Sistemas Electrónicos y de Control
32
Reglas de Ejecución
• 1. El bloque se ejecuta cuando todas sus entradas han sido evaludas
• 2. El bloque se evalúa por completo cuando se has calculado todas sus
salidas
• 3. La evaluzación de un conjunto de bloques termina cuando se
calculan todas y cada una de las salidas
20/11/2003
33
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 33
Dpto. de Sistemas Electrónicos y de Control
33
Realimentación
• No se puede valorar el orden de la ejecución
• Existen formas de resolverlo como la asignación de un
orden de ejecución
20/11/2003
34
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 34
Dpto. de Sistemas Electrónicos y de Control
34
Funciones Estándar
• Norma IEC 61131: “Si se conece
el estándar, se conoce todo"
Bloques Estándar
20/11/2003
35
35
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control
Dpto. de Sistemas Electrónicos y de Control
35
Esquema de Contactos
Ladder Diagram (LD)
20/11/2003
36
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 36
Dpto. de Sistemas Electrónicos y de Control
36
Ladder
• La lógica de escalera o ladder es el lenguaje de
programación más usado para la programación de PLCs
• Fue el primero con el que se comenzó a programar, de ahí
que presente grandes semejanzas con los diagramas
eléctricos de escalera utilizados por los técnicos
anteriormente a la aparición del autómata
• Este lenguaje está especialmente indicado para facilitar el
cambio de un sistema de control realizado con relés por
un PLC
A B C
-| |--|/|----------------( )
LDLD
20/11/2003
37
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 37
Dpto. de Sistemas Electrónicos y de Control
37
CPU
Origenes del LD
• Su origen es la representación gráfica
utilizada en el diseño de sistemas de control
eléctricos
– Las decisiones de control se hacen efectivas
activando relés
• Despues los relés se sustituyeron por
circuitos lógicos
– Las decisiones de control se hacen efectivas
en función de las salidas de la puertas lógicas
• Finalmente las CPUs sustiteyen los
complejos y amplios circuitos lógicos
– Las E/S se cablean con buffers
– Las decisiones de control son programas en
ejecución
• La representación de la lógica de relés
evolucionó para una creación y comprensión
más sencilla de los programas
– Reduce el tiempo de formación de los
programadores
OR
AND
20/11/2003
38
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 38
Dpto. de Sistemas Electrónicos y de Control
38
¿Qué es un Rung?
• Es una línea de programa
• Contiene las instrucciones de entrada y salida
– Entrada: permiten una comparación o test de las
condiciones y se obtiene el resultado de la
evaluación.
• Habitualmente aparecen el la parte izquierda del rung
– Salida (Coil): examinan el resultado de la evaluación
y si es true ejecutan alguna operación o función
• En algunos casos pueden ser el estado del rung
• Habitualmente aparecen el la parte derecha del rung
Input Instruction Output Instruction
COIL
20/11/2003
39
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 39
Dpto. de Sistemas Electrónicos y de Control
39
Operaciones en Serie y Paralelo
• Las instrucciones de entrada pueden ejecutarse
mediante relaciones lógicas AND y OR en un sencillo
formato
– Si las instrucciones están en serie se evalua una relación AND
– Si las instrucciones están en paralelo se evalua una relación OR
• Salidas en paralelo permite activar varias òperacoines o
funciones con el mismo resutado de la evaluación
IF ((A OR B) AND (NOT C) AND D) THEN E=1; F=1 END_IF
OR
AND
A
B
C D E
F
BranchesBranches
20/11/2003
40
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 40
Dpto. de Sistemas Electrónicos y de Control
40
Ejecución Lógica en Ladder
• Los Rungs se ejecutan de izquierda a
derecha y de arriba a abajo
• Los Rungs con bifurcaciones se ejecutan de
arriba izquierda a abajo derecha
P S
R
A
B
D E
F G H
I J K
Power Rail Derecho
Power Rail Izquierdo
Ladder Rung
20/11/2003
41
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 41
Dpto. de Sistemas Electrónicos y de Control
41
Contactos
• Normalmente Abierto ----| || |----
– Activa el rung hacia la derecha de la instrucción cuando el contacto
se activa
• Normalmente Cerrado ----|/||/|----
– Activa el rung hacia la derecha de la instrucción cuando el contacto
se desactiva
• Transición positiva ----|P||P|----
– Activa el rung hacia la derecha de la instrucción cuando el contacto
está desactivo en el scan anterior y activo en el scan actual
– P.e.: Allen Bradley PLC5 utiliza --[ONS]--
• Transición Negativa ----|N||N|----
– Activa el rung hacia la derecha de la instrucción cuando el contacto
está activo en el scan anterior y desactivo en el scan actual
20/11/2003
42
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 42
Dpto. de Sistemas Electrónicos y de Control
42
Acciones (Coils)
• Acción ----( )( )----
– Activa un bit cuando el rung es true y lo desactiva cuando es false
• Acción negada ----( / )( / )----
– Activa un bit cuando el rung es false y lo desactiva cuando es true
• Enclavamiento (Latch) ----(S)(S)----
– Activa un bit cuando el rung es true y no hace nada cuando es
false
• Desenclavamiento (Unlatch) ----(R)(R)----
– Desactiva un bit cuando el rung es true y no hace nada cuando es
false
• Acción activa por flanco de subida ----(P)(P)----
– Activa un bit cuando la instrucción de entrada transiciona de false a
true
• Acción activa por flanco de bajada ----(N)(N)----
– Activa un bit cuando la instrucción de entrada transiciona de true a
false
20/11/2003
43
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 43
Dpto. de Sistemas Electrónicos y de Control
43
Instrucciones IEC de
Comparación
• Si el rung de entrada está activo
(EN), la instrucción ejecuta la
operación y activa el rung de
salida (ENO) basado en la
comparación
– Ejemplo
• Cuando EN es true, EQ (=) la funcion
compara In1 y In2 y si son iguales activa
ENO
• Conjunto de instrucciones de
comparación
– EQ(=), GT (>), GE (>=), LT (<), LE
(<=), NE (<>)
EQ
EN
100.000
ENO
78.251
Tank_max
Tank1_Level
IN1
IN2
20/11/2003
44
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 44
Dpto. de Sistemas Electrónicos y de Control
44
Instrucciones IEC de
Temporización
• Tres insctrucciones básicas
– TP - Pulse timer
– TON - Timer On Delay
– TOF - Timer Off Delay
• Valores temporales enteros
– Base de tiempos de 1msec
• Dos posibles formas de uso
– 1ª necesita programación extra en
otro rung para interaccionar sobre
el estado del timer
– 2ª activa un bit que puede ser
utlilizado en otras funciones lógicas
TON
IN
T#200ms
Pump_Tmr
PT ET 178
Q
TON
T#200ms
Pump_Tmr
PT ET 178
Q
IN ENO
Pump_Tmr_DN
20/11/2003
45
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 45
Dpto. de Sistemas Electrónicos y de Control
45
Temporizador
IN
Q
ET
PT
|
0
Pulse (TP) Timing
IN
Q
ET
PT
|
0
On-Delay (TON) Timing
IN
Q
ET
PT
|
0
Off-Delay (TOF) Timing
• IN = instrucción de
entrada del Rung
• Q = Resultado de
la comparación
– Varía con el tipo de
timer
• PT = Preset Time
• ET = Elapse Time
20/11/2003
46
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 46
Dpto. de Sistemas Electrónicos y de Control
46
• Tres instrucciones básicas
– CTU - Count Up Counter
– CTD - Count Down Counter
– CTUD - Count Up/Down
Counter
• Todos cuentan transiciones
• Dos formas de uso, igual
que los temporizadores
CTU
200
Load_Cnt
PV CV 178
Q
IN ENO
Load_Cnt_DN
R
CTU
200
Load_Cnt
PV CV 178
QIN
R
Instrucciones IEC de
Contadores
20/11/2003
47
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 47
Dpto. de Sistemas Electrónicos y de Control
47
Contadores
• CU/CD = Count up/Down
• Q/QU/QD = Comparación
de salida
• R = Puesta a cero
• LD = Carga CV con PV
• PV = Preset Value
• CV = Count Value
...
...
CV
PV
|
0
CU
QU
CD
QD
LD
R
Count Up/Down (CTUD) Counter
...IN
Q
CV
PV
|
0
LD
...
Count Down (CTD) Counter
...IN
Q
CV
PV
|
0
R
Count Up (CTU) Counter
...
20/11/2003
48
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 48
Dpto. de Sistemas Electrónicos y de Control
48
CAL
RET RET
CAL
Ruptura de la secuencia de
ejecución
• Instrucciones de salto a
etiquetas
– Salta a un bloque de código
del programa
– LBL – nombre de la etiqueta
para la operación de salto
– JMP – ejecución de un salto
cuando se activa la
instrucción de entrada
• Instrucciones de salto a
subrutinas
– Salta a un bloque de código
encapsulado como una
subrutina
– CALL – pasa el control a otra
función
– RET – retorno al punto siguiente
desde donde fue llamada la
subrutina
| Skip_Calc |
|-| |-------------(JMP)--|
| ... |
| Skip_Calc |
|---[LBL]---...
20/11/2003
49
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 49
Dpto. de Sistemas Electrónicos y de Control
49
=
Rockwell Automation FIFO Load Instruction
IEC1131-3 Load FIFO Logic
1 Rung of Logic
1 Instruction
Minutes to code and debug11 Rungs of Logic
17 Instructions
Hours to code and debug
Extensiones de IEC optimiza el
código y facilita su uso
20/11/2003
50
50
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control
Dpto. de Sistemas Electrónicos y de Control
50
Esquema Secuencial de Funciones
Sequential Function Chart (SFC)
20/11/2003
51
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 51
Dpto. de Sistemas Electrónicos y de Control
51
• En sus orígenes fue GRAFCET
(GRAFico Funcional de Control Etapa
Transición)
– surge a mediados de los 70,
TELEMECANIQUE, APER, AFCET,
ADEPA.
• Eficaz técnica para describir el
comportamiento secuencial de un
proceso y de un programa
• Se usa para distribuir un problema de
control
• Permite un rápido diagnóstico
Diagrama Funcional Secuencial
SFCSFC
Step 1 N FILL
Step 3
Step 2 S Empty
Transition 1
Transition 2
20/11/2003
52
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 52
Dpto. de Sistemas Electrónicos y de Control
52
1
FIN ALIMENTACIÓN A
PRODUCTO A
COMIENZO DEL CICLO
0
2 PRODUCTO B
etapa inicial
transición
acción
3 MEZCLA
etapa
T=3
FIN ALIMENTACIÓN B
FIN TIEMPO DE MEZCLA
GrafcetGrafcet
• Las etapas o estados
implican acciones asociadas
• Las transiciones gobiernan
los cambios de estado
• Las flechas indican la
dirección del cambio
• Pueden darse esquemas
menos lineales
• The basic elements are
STEPS with ACTION
BLOCKS and
TRANSITIONS
• Support for alternative and
parallel sequences
20/11/2003
53
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 53
Dpto. de Sistemas Electrónicos y de Control
53
• SALTO CONDICIONAL DE ETAPA:
Direccionamiento específico hacia atrás y adelante
12 ACC. E
13 ACC. G
e
g
14 ACC. H
15 ACC. J
h
j
f
16 ACC. K
17 ACC. L
h
e
18 ACC. M
19 ACC. P
n
j
m
20/11/2003
54
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 54
Dpto. de Sistemas Electrónicos y de Control
54
• DIRECCIONAMIENTO CONDICIONAL:
Elección condicional entre varias secuencias posibles
8 ACC. C
5
y
11 ACC. E
c
e
9
z
10 ACC. D
w
6 ACC. A
x
7 ACC. G
a
dg
20/11/2003
55
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 55
Dpto. de Sistemas Electrónicos y de Control
55
• SECUENCIAS SIMULTÁNEAS:
Varios estados activos a la vez
8 ACC. C
5
y
11 ACC. E
e
9
ACC. D
w
6 ACC. A
7 ACC. G
a
10
g
20/11/2003
56
56
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control
Dpto. de Sistemas Electrónicos y de Control
56
Fuentes de Información
20/11/2003
57
Dpto. de Sistemas Electrónicos y de Control
20/11/2003 Sistemas Electrónicos de Control 57
Dpto. de Sistemas Electrónicos y de Control
57
Fuentes de Información
• http://www.pclopen.org: organización que vela por la
estandarización del Sw aplicado a los PLC
• http://olmo.pntic.mec.es/~jmarti50/enlaces/grafcet.ht
ml: todo sobre Grafcet
• http://isa.uniovi.es/genia/spanish/app/prog/mediss_5.
htm: demo de Grafcet para PLC de Siemens

Más contenido relacionado

La actualidad más candente

Control industrial
Control  industrialControl  industrial
Control industrial
180323675
 
Presentación1
Presentación1Presentación1
Presentación1
cgondola3
 

La actualidad más candente (18)

PROGRAMACION DE PLCs: LENGUAJE BLOQUES FUNCIONALES
PROGRAMACION DE PLCs: LENGUAJE BLOQUES FUNCIONALESPROGRAMACION DE PLCs: LENGUAJE BLOQUES FUNCIONALES
PROGRAMACION DE PLCs: LENGUAJE BLOQUES FUNCIONALES
 
PLC y Electroneumática: Instalaciones básicas programadas
PLC y Electroneumática: Instalaciones básicas programadasPLC y Electroneumática: Instalaciones básicas programadas
PLC y Electroneumática: Instalaciones básicas programadas
 
Pauta elemental para selección de un PLC
Pauta elemental para selección de un PLCPauta elemental para selección de un PLC
Pauta elemental para selección de un PLC
 
Interfaces
InterfacesInterfaces
Interfaces
 
Control industrial
Control  industrialControl  industrial
Control industrial
 
Presentación_PLC.ppt
Presentación_PLC.pptPresentación_PLC.ppt
Presentación_PLC.ppt
 
Funcionamiento de los plc
Funcionamiento de los plcFuncionamiento de los plc
Funcionamiento de los plc
 
Presentación1
Presentación1Presentación1
Presentación1
 
Lenguajes de programacion de plc
Lenguajes de programacion de plcLenguajes de programacion de plc
Lenguajes de programacion de plc
 
R
RR
R
 
Sistemas de control distribuido (dcs)
Sistemas de control distribuido (dcs)Sistemas de control distribuido (dcs)
Sistemas de control distribuido (dcs)
 
Klenner salazarsalazar
Klenner salazarsalazarKlenner salazarsalazar
Klenner salazarsalazar
 
Sniffer USB 2.0 (FULL SPEED)
Sniffer USB 2.0 (FULL SPEED)Sniffer USB 2.0 (FULL SPEED)
Sniffer USB 2.0 (FULL SPEED)
 
Resumen 2do parcial redes
Resumen 2do parcial redesResumen 2do parcial redes
Resumen 2do parcial redes
 
Variables y Direccionamiento en PLCs
Variables y Direccionamiento en PLCsVariables y Direccionamiento en PLCs
Variables y Direccionamiento en PLCs
 
Programación estructurada plc
Programación estructurada plcProgramación estructurada plc
Programación estructurada plc
 
Entrada/Salida de Sistema Operativo
Entrada/Salida de Sistema OperativoEntrada/Salida de Sistema Operativo
Entrada/Salida de Sistema Operativo
 
Capacidad de la_unidad_de_procesamiento
Capacidad de la_unidad_de_procesamientoCapacidad de la_unidad_de_procesamiento
Capacidad de la_unidad_de_procesamiento
 

Similar a Info plc net_lenguajes_programacion_v4

CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptxCURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
IngJorgeReyna
 
102108144 plc-1-v2
102108144 plc-1-v2102108144 plc-1-v2
102108144 plc-1-v2
electroing
 
Tema 3.4 icpa controladores e interfases
Tema 3.4 icpa controladores e interfasesTema 3.4 icpa controladores e interfases
Tema 3.4 icpa controladores e interfases
Eder Dueñas tenorio
 
Presentaciones plc
Presentaciones plcPresentaciones plc
Presentaciones plc
FROYLAM
 
infoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdf
infoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdfinfoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdf
infoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdf
FelipeandresLizanaBa
 
Curso Plc C.E.T,I,S 15
Curso Plc C.E.T,I,S 15Curso Plc C.E.T,I,S 15
Curso Plc C.E.T,I,S 15
wakuman
 
Factores a considerar resuelto
Factores a considerar   resueltoFactores a considerar   resuelto
Factores a considerar resuelto
Alberto Vargas
 
Electrónica digital: Tema 9 Especificación algorítmica de sistemas secuenciales
Electrónica digital: Tema 9 Especificación algorítmica de sistemas secuenciales Electrónica digital: Tema 9 Especificación algorítmica de sistemas secuenciales
Electrónica digital: Tema 9 Especificación algorítmica de sistemas secuenciales
SANTIAGO PABLO ALBERTO
 

Similar a Info plc net_lenguajes_programacion_v4 (20)

CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptxCURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
 
Lenguajes de programacion de plc
Lenguajes de programacion de plcLenguajes de programacion de plc
Lenguajes de programacion de plc
 
Programación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadoraProgramación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadora
 
Tia portal MANUAL
Tia portal MANUALTia portal MANUAL
Tia portal MANUAL
 
Introduccion a los automatas.pdf
Introduccion a los automatas.pdfIntroduccion a los automatas.pdf
Introduccion a los automatas.pdf
 
102108144 plc-1-v2
102108144 plc-1-v2102108144 plc-1-v2
102108144 plc-1-v2
 
Tema 3.4 icpa controladores e interfases
Tema 3.4 icpa controladores e interfasesTema 3.4 icpa controladores e interfases
Tema 3.4 icpa controladores e interfases
 
PLC: lenguajes de programación
PLC: lenguajes de programación PLC: lenguajes de programación
PLC: lenguajes de programación
 
Presentaciones plc
Presentaciones plcPresentaciones plc
Presentaciones plc
 
SEMANA 9 TEC. PLC LOGO 202310 .pptx
SEMANA 9 TEC. PLC LOGO 202310  .pptxSEMANA 9 TEC. PLC LOGO 202310  .pptx
SEMANA 9 TEC. PLC LOGO 202310 .pptx
 
infoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdf
infoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdfinfoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdf
infoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdf
 
Conceptos plc
Conceptos plcConceptos plc
Conceptos plc
 
Curso Plc C.E.T,I,S 15
Curso Plc C.E.T,I,S 15Curso Plc C.E.T,I,S 15
Curso Plc C.E.T,I,S 15
 
Uv tema6-cam-ici
Uv tema6-cam-iciUv tema6-cam-ici
Uv tema6-cam-ici
 
Factores a considerar resuelto
Factores a considerar   resueltoFactores a considerar   resuelto
Factores a considerar resuelto
 
Curso-de-PLC.pdf
Curso-de-PLC.pdfCurso-de-PLC.pdf
Curso-de-PLC.pdf
 
Omron02
Omron02Omron02
Omron02
 
Electrónica digital: Tema 9 Especificación algorítmica de sistemas secuenciales
Electrónica digital: Tema 9 Especificación algorítmica de sistemas secuenciales Electrónica digital: Tema 9 Especificación algorítmica de sistemas secuenciales
Electrónica digital: Tema 9 Especificación algorítmica de sistemas secuenciales
 
Ici rtu-unidad 5- tema 8
Ici rtu-unidad 5- tema 8Ici rtu-unidad 5- tema 8
Ici rtu-unidad 5- tema 8
 
AUTOMATIZACIÓN INDUSTRIAL CON PLC´S.pdf
AUTOMATIZACIÓN INDUSTRIAL CON PLC´S.pdfAUTOMATIZACIÓN INDUSTRIAL CON PLC´S.pdf
AUTOMATIZACIÓN INDUSTRIAL CON PLC´S.pdf
 

Más de Robert Andres Martinez Alzate

Más de Robert Andres Martinez Alzate (6)

Plantillas plan-negocio
Plantillas plan-negocioPlantillas plan-negocio
Plantillas plan-negocio
 
Mnual de preparación plan de negocio crecimiento rapido
Mnual de preparación plan de negocio crecimiento rapidoMnual de preparación plan de negocio crecimiento rapido
Mnual de preparación plan de negocio crecimiento rapido
 
Ejemplo plan-negocio-para-crear-una-empresa
Ejemplo plan-negocio-para-crear-una-empresaEjemplo plan-negocio-para-crear-una-empresa
Ejemplo plan-negocio-para-crear-una-empresa
 
001 plantilla-plan-de-empresa (1)
001 plantilla-plan-de-empresa (1)001 plantilla-plan-de-empresa (1)
001 plantilla-plan-de-empresa (1)
 
Estructura del plan_de_negocios
Estructura del plan_de_negociosEstructura del plan_de_negocios
Estructura del plan_de_negocios
 
Introduccion hmi
Introduccion hmiIntroduccion hmi
Introduccion hmi
 

Info plc net_lenguajes_programacion_v4

  • 1. 20/11/2003 1 1 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control Dpto. de Sistemas Electrónicos y de Control 1 T3. Lenguajes de Programación 3.1.3.1. IntroducciIntroduccióónn 3.2.3.2. Norma IEC 1131Norma IEC 1131 3.3.3.3. Lista de instrucciones (IL)Lista de instrucciones (IL) 3.4.3.4. Texto estructurado (ST)Texto estructurado (ST) 3.4.3.4. Esquema básico de funciones (FBD)Esquema básico de funciones (FBD) 3.5.3.5. Esquema de contactos (LD)Esquema de contactos (LD) 3.6.3.6. Esquema secuencial de funciones (SFC)Esquema secuencial de funciones (SFC)
  • 2. 20/11/2003 2 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 2 Dpto. de Sistemas Electrónicos y de Control 2 Objetivos 1. Comprender la necesidad de estandarización del software de programación de PLC 2. Conocer la norma IEC 1131 3. Conocer los lenguajes más utilizados para la programación de PLC 4. Conocer la forma de ejecución de programas en un AP
  • 3. 20/11/2003 3 3 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control Dpto. de Sistemas Electrónicos y de Control 3 Introducción Programación Modos de funcionamiento Lenguajes
  • 4. 20/11/2003 4 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 4 Dpto. de Sistemas Electrónicos y de Control 4 Programación • Resolución del problema de automatización • 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 analógicas • Módulos o estructuras complejas de datos: contadores, temporizadores, desplazadores,... • Memoria, marcas o TAGS • forma de ejecución de los programas – Cíclica es la más habitual – Eventos cada vez que se cambie de estado en una línea – Periódica: por periodos definidos – Periódica y por eventos de forma simultánea
  • 5. 20/11/2003 5 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 5 Dpto. de Sistemas Electrónicos y de Control 5 • PROGRAM – Permite programar y transferir el programa de usuario desde el sistema de programación hasta el AP • RUN: – Permite al AP controlar el proceso • Ejecución cíclica Tproceso > Tciclo • Ejecución periódica Tproceso > Tperiodo CONFECCIÓN DEL PROGRAMA DE SUSUARIO: - LDI - EDC... TRANSFERENCIA (PROGRAM) lectura variables int/ext ejecución programa actualización variables TL TE TA ciclo (RUN) TC=TL+TE+TA Modos de funcionamiento
  • 6. 20/11/2003 6 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 6 Dpto. de Sistemas Electrónicos y de Control 6 LenguajesLenguajes LD A ANDN B ST C LILI C:= A AND NOT B STST AND A C B FBDFBD SFCSFC Step 1 N FILL Step 3 Step 2 S Empty Transition 1 Transition 2A B C -| |--|/|----------------( ) LDLD • Todos ellos tienen la finalidad de generar el código objeto para que sea ejecutado en la CPU del PLC
  • 7. 20/11/2003 7 7 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control Dpto. de Sistemas Electrónicos y de Control 7 Norma IEC 1131 Estandarización Norma IEC 1131-3
  • 8. 20/11/2003 8 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 8 Dpto. de Sistemas Electrónicos y de Control 8 Problema planteado a los ingenieros de Sw * Cómo resolver la automatización de una industria * Trabajando con diferentes PLC de fabricantes distintos * Utilizando diferentes lenguajes de programación * Y que sea comprendido por ingenieros eléctricos o personal de mantenimiento de planta • Y que el fabricante del producto sea mejor que su más directo competidor SOLUCIÓN NORMA IEC1131 ¿Estandarización?
  • 9. 20/11/2003 9 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 9 Dpto. de Sistemas Electrónicos y de Control 9 Las 5 partes de la norma IEC 1131 - 1 Visión general, definiciones IS - 2 Hardware IS - 3 Lenguajes de programación IS - 4 Manuales de usuarios - 5 Especificaciones IS = International Standard
  • 10. 20/11/2003 10 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 10 Dpto. de Sistemas Electrónicos y de Control 10 Lenguajes de Programación Vs Programación de Control Industrial El interface entre el programador y el Sistema de control ... ...con soporte para personal de diferente cualificación profesional
  • 11. 20/11/2003 11 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 11 Dpto. de Sistemas Electrónicos y de Control 11 Educación InstaladoresMantenimiento Programadores Control de Procesos Integradores de Sistemas TU ?? Usuarios de la norma
  • 12. 20/11/2003 12 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 12 Dpto. de Sistemas Electrónicos y de Control 12 Ventajas de la norma IEC 1131 • Reduce el esfuerzo humano en entrenamiento, depuración, mantenimiento y consultoría – Una vez que se aprende se puede utilzar en todos los sistemas • Posibilidad de crear Sw reutilizable, minimiza – el tiempo de desarrollo – el esfuerzo de codificación – los errores de compilación y ejecución • Técnicas de programación usados en otros entornos no industriales • Coordina eficazmente diferentes componentes desde distintas localizaciones, compañías o proyectos – Amplio campo de aplicación • Aumenta la conectividad facilita la distribución del control
  • 13. 20/11/2003 13 Dpto. de Sistemas Electrónicos y de Control Sistemas Electrónicos de Control 13 Dpto. de Sistemas Electrónicos y de Control 13 Claves de éxito de la norma IEC 1131-3 • Sw estructurado a través de Diseño, Proyectos, Tareas, Programas y Bloques – Unidades de Organización de Programas (Program Organization Units (POUs)) • Tipado fuerte de datos a través de lenguajes que poseen operaciones a las que sólo se le puede aplicar un tipo apropiado de datos • Control de la ejecución a través de tareas • Descripción del Comportamiento secuencial complejo de un proceso a través de SFC • Encapsulación del Sw a través de POUs, estructuras y tipos complejos de datos
  • 14. 20/11/2003 14 Dpto. de Sistemas Electrónicos y de Control Sistemas Electrónicos de Control 14 Dpto. de Sistemas Electrónicos y de Control 14 Elementos Comunes Lenguajes de Programación Norma IEC 1131-3 Top Down Bottom Up • La norma permite dos caminos de desarrollo de un programa • Hacia abajo: configuración de los datos pensando en el proceso y después elegir el Sw de programación • Hacia arriba: seleccionando un Sw de programación más adecuado al proceso y posteriormente definir los tipos de datos
  • 15. 20/11/2003 15 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 15 Dpto. de Sistemas Electrónicos y de Control 15 IEC 1131-3 Elementos Comunes Lenguajes de Programación LD A ANDN B ST C LILI C:= A AND NOT B STST AND A C B FBDFBD A B C -| |--|/|----------------( ) LDLD • Variables, tipos de datos y declaraciones • Diseño, proyectos y tareas • Funciones, bloques de funciones y programas • Sequential Function Charts Diseño Proyectos Tareas Variables Globales Caminos de Acceso
  • 16. 20/11/2003 16 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 16 Dpto. de Sistemas Electrónicos y de Control 16 IEC 1131-3 vs convencional PLC Proyecto Proyecto Ruta de acceso Diseño Función de Comunicaciones Ruta de ejecución Ruta de acceso variable FB Boque de funciones Variable Variables Globales Task Task Task Task Programa Programa Programa Programa FB FB FB FB
  • 17. 20/11/2003 17 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 17 Dpto. de Sistemas Electrónicos y de Control 17 Programas: diseño Jerárquico Automation application Start : BOOL; Emergency : BOOL; Limit : INT; PROGRAM GLOBAL LocalType FUNCTION INPUT LocalType FUNCTION_BLOCK INPUT OUTPUT IN_OUT EXTERNAL LocalType
  • 18. 20/11/2003 18 18 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control Dpto. de Sistemas Electrónicos y de Control 18 Lista de Instrucciones Instruction List (IL)
  • 19. 20/11/2003 19 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 19 Dpto. de Sistemas Electrónicos y de Control 19 Listado de Instrucciones • Es un tipo de lenguaje ensamblador con un repertorio muy reducido de instrucciones • Los programas utilizan un estilo muy similar al empleado por los lenguajes de ensamblador • Este tipo de lenguaje es una trascripción elemental e inmediata de las instrucciones del lenguaje máquina – que están representadas por expresiones nemotécnicas • Se suele aplicar para pequeñas aplicaciones y para optimizar partes de una aplicación LD A ANDN B ST C LILI
  • 20. 20/11/2003 20 Dpto. de Sistemas Electrónicos y de Control Sistemas Electrónicos de Control 20 Dpto. de Sistemas Electrónicos y de Control 20 Semántica y Operadores LD Set current result equal to operand ST Store current result to operand location S Set Boolean operand to 1 R Reset Boolean operand to 0 &, AND Boolean AND OR Boolean OR XOR Boolean xclusive OR ADD Addition SUB Subtraction MUL Multiplication DIV Division GT Comparison: > GE Comparison: >= EQ Comparison: = NE Comparison: <> LE Comparison: <= LT Comparison: < JMP Jump to label CAL Call function block RET Return from called function or function block
  • 21. 20/11/2003 21 Dpto. de Sistemas Electrónicos y de Control Sistemas Electrónicos de Control 21 Dpto. de Sistemas Electrónicos y de Control 21 Ejemplos de instrucciones START: LD %IX1 (* PUSH BUTTON *) ANDN %MX5 (* NOT INHIBITED *) ST %QX2 (* FAN ON *) result := result OP operand COMENTARIOSCOMENTARIOS OPERANDOSOPERANDOS OPERADORESOPERADORES ETIQUETASETIQUETAS MODIFICADORES DEMODIFICADORES DE LOS OPERANDOSLOS OPERANDOS
  • 22. 20/11/2003 22 22 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control Dpto. de Sistemas Electrónicos y de Control 22 Texto Estructurado Structured Text (ST)
  • 23. 20/11/2003 23 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 23 Dpto. de Sistemas Electrónicos y de Control 23 Texto Estructurado • Los lenguajes basados en texto estructurado facilitan la programación de procesos que requieren instrucciones complejas y cálculos muy grandes • Se trata de lenguajes de alto nivel C:= A AND NOT B STST
  • 24. 20/11/2003 24 Dpto. de Sistemas Electrónicos y de Control Sistemas Electrónicos de Control 24 Dpto. de Sistemas Electrónicos y de Control 24 Operadores Symbol Operation (expression) Parenthesization identifier(argument list) Function evaluation Examples: LN(A), MAX(X,Y), etc. ** Exponentiation - Negation NOT Complement
  • 25. 20/11/2003 25 Dpto. de Sistemas Electrónicos y de Control Sistemas Electrónicos de Control 25 Dpto. de Sistemas Electrónicos y de Control 25 * Multiply / Divide MOD Modulo + Add - Subtract < , > , <= , >= Comparison = Equality <> Inequality Operadores &, AND Boolean AND OR Boolean OR XOR Boolean xclusive OR A := B; asignación Datatype to Datatype INT to INT or Analog_Channel_Configuration to Analog_Channel_Configuration CV := CV+1; C := SIN(X); IF .. THEN .. ELSE CASE FOR WHILE … REPEAT UNTIL
  • 26. 20/11/2003 26 26 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control Dpto. de Sistemas Electrónicos y de Control 26 Esquema Básico de Funciones Function Block Diagram (FBD)
  • 27. 20/11/2003 27 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 27 Dpto. de Sistemas Electrónicos y de Control 27 Esquema Básico de Funciones • El diagrama de funciones (también conocido como esquema básico de funciones EBF o function block diagram FBD) es un lenguajelenguaje grgrááficofico • Los programas son bloques cableados entre sí de forma análoga al esquema de un circuito • Tiene una interface de E/S bien definida, y además poseen un código interno oculto AND A C B FBDFBD
  • 28. 20/11/2003 28 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 28 Dpto. de Sistemas Electrónicos y de Control 28 Ventajas • Documentación y programación en un mismo elemento del programa – Informes generales, comentarios, flujo de datos... • Aplicación universal, enteros, punto flotante... • Programación estructurada – Definición 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
  • 29. 20/11/2003 29 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 29 Dpto. de Sistemas Electrónicos y de Control 29 Elementos: Funciones, Bloques y Variables Functions Functions Blocks Input / Output Variables horizontal, vertical flow direction crossing with / without contact
  • 30. 20/11/2003 30 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 30 Dpto. de Sistemas Electrónicos y de Control 30 Elementos - Parametrización Negation Duplication Implicit edge detection Formal Parameters Actual Parameters
  • 31. 20/11/2003 31 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 31 Dpto. de Sistemas Electrónicos y de Control 31 Elementos adicionales Jumps ConectoresConectores
  • 32. 20/11/2003 32 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 32 Dpto. de Sistemas Electrónicos y de Control 32 Reglas de Ejecución • 1. El bloque se ejecuta cuando todas sus entradas han sido evaludas • 2. El bloque se evalúa por completo cuando se has calculado todas sus salidas • 3. La evaluzación de un conjunto de bloques termina cuando se calculan todas y cada una de las salidas
  • 33. 20/11/2003 33 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 33 Dpto. de Sistemas Electrónicos y de Control 33 Realimentación • No se puede valorar el orden de la ejecución • Existen formas de resolverlo como la asignación de un orden de ejecución
  • 34. 20/11/2003 34 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 34 Dpto. de Sistemas Electrónicos y de Control 34 Funciones Estándar • Norma IEC 61131: “Si se conece el estándar, se conoce todo" Bloques Estándar
  • 35. 20/11/2003 35 35 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control Dpto. de Sistemas Electrónicos y de Control 35 Esquema de Contactos Ladder Diagram (LD)
  • 36. 20/11/2003 36 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 36 Dpto. de Sistemas Electrónicos y de Control 36 Ladder • La lógica de escalera o ladder es el lenguaje de programación más usado para la programación de PLCs • Fue el primero con el que se comenzó a programar, de ahí que presente grandes semejanzas con los diagramas eléctricos de escalera utilizados por los técnicos anteriormente a la aparición del autómata • Este lenguaje está especialmente indicado para facilitar el cambio de un sistema de control realizado con relés por un PLC A B C -| |--|/|----------------( ) LDLD
  • 37. 20/11/2003 37 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 37 Dpto. de Sistemas Electrónicos y de Control 37 CPU Origenes del LD • Su origen es la representación gráfica utilizada en el diseño de sistemas de control eléctricos – Las decisiones de control se hacen efectivas activando relés • Despues los relés se sustituyeron por circuitos lógicos – Las decisiones de control se hacen efectivas en función de las salidas de la puertas lógicas • Finalmente las CPUs sustiteyen los complejos y amplios circuitos lógicos – Las E/S se cablean con buffers – Las decisiones de control son programas en ejecución • La representación de la lógica de relés evolucionó para una creación y comprensión más sencilla de los programas – Reduce el tiempo de formación de los programadores OR AND
  • 38. 20/11/2003 38 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 38 Dpto. de Sistemas Electrónicos y de Control 38 ¿Qué es un Rung? • Es una línea de programa • Contiene las instrucciones de entrada y salida – Entrada: permiten una comparación o test de las condiciones y se obtiene el resultado de la evaluación. • Habitualmente aparecen el la parte izquierda del rung – Salida (Coil): examinan el resultado de la evaluación y si es true ejecutan alguna operación o función • En algunos casos pueden ser el estado del rung • Habitualmente aparecen el la parte derecha del rung Input Instruction Output Instruction COIL
  • 39. 20/11/2003 39 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 39 Dpto. de Sistemas Electrónicos y de Control 39 Operaciones en Serie y Paralelo • Las instrucciones de entrada pueden ejecutarse mediante relaciones lógicas AND y OR en un sencillo formato – Si las instrucciones están en serie se evalua una relación AND – Si las instrucciones están en paralelo se evalua una relación OR • Salidas en paralelo permite activar varias òperacoines o funciones con el mismo resutado de la evaluación IF ((A OR B) AND (NOT C) AND D) THEN E=1; F=1 END_IF OR AND A B C D E F BranchesBranches
  • 40. 20/11/2003 40 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 40 Dpto. de Sistemas Electrónicos y de Control 40 Ejecución Lógica en Ladder • Los Rungs se ejecutan de izquierda a derecha y de arriba a abajo • Los Rungs con bifurcaciones se ejecutan de arriba izquierda a abajo derecha P S R A B D E F G H I J K Power Rail Derecho Power Rail Izquierdo Ladder Rung
  • 41. 20/11/2003 41 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 41 Dpto. de Sistemas Electrónicos y de Control 41 Contactos • Normalmente Abierto ----| || |---- – Activa el rung hacia la derecha de la instrucción cuando el contacto se activa • Normalmente Cerrado ----|/||/|---- – Activa el rung hacia la derecha de la instrucción cuando el contacto se desactiva • Transición positiva ----|P||P|---- – Activa el rung hacia la derecha de la instrucción cuando el contacto está desactivo en el scan anterior y activo en el scan actual – P.e.: Allen Bradley PLC5 utiliza --[ONS]-- • Transición Negativa ----|N||N|---- – Activa el rung hacia la derecha de la instrucción cuando el contacto está activo en el scan anterior y desactivo en el scan actual
  • 42. 20/11/2003 42 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 42 Dpto. de Sistemas Electrónicos y de Control 42 Acciones (Coils) • Acción ----( )( )---- – Activa un bit cuando el rung es true y lo desactiva cuando es false • Acción negada ----( / )( / )---- – Activa un bit cuando el rung es false y lo desactiva cuando es true • Enclavamiento (Latch) ----(S)(S)---- – Activa un bit cuando el rung es true y no hace nada cuando es false • Desenclavamiento (Unlatch) ----(R)(R)---- – Desactiva un bit cuando el rung es true y no hace nada cuando es false • Acción activa por flanco de subida ----(P)(P)---- – Activa un bit cuando la instrucción de entrada transiciona de false a true • Acción activa por flanco de bajada ----(N)(N)---- – Activa un bit cuando la instrucción de entrada transiciona de true a false
  • 43. 20/11/2003 43 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 43 Dpto. de Sistemas Electrónicos y de Control 43 Instrucciones IEC de Comparación • Si el rung de entrada está activo (EN), la instrucción ejecuta la operación y activa el rung de salida (ENO) basado en la comparación – Ejemplo • Cuando EN es true, EQ (=) la funcion compara In1 y In2 y si son iguales activa ENO • Conjunto de instrucciones de comparación – EQ(=), GT (>), GE (>=), LT (<), LE (<=), NE (<>) EQ EN 100.000 ENO 78.251 Tank_max Tank1_Level IN1 IN2
  • 44. 20/11/2003 44 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 44 Dpto. de Sistemas Electrónicos y de Control 44 Instrucciones IEC de Temporización • Tres insctrucciones básicas – TP - Pulse timer – TON - Timer On Delay – TOF - Timer Off Delay • Valores temporales enteros – Base de tiempos de 1msec • Dos posibles formas de uso – 1ª necesita programación extra en otro rung para interaccionar sobre el estado del timer – 2ª activa un bit que puede ser utlilizado en otras funciones lógicas TON IN T#200ms Pump_Tmr PT ET 178 Q TON T#200ms Pump_Tmr PT ET 178 Q IN ENO Pump_Tmr_DN
  • 45. 20/11/2003 45 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 45 Dpto. de Sistemas Electrónicos y de Control 45 Temporizador IN Q ET PT | 0 Pulse (TP) Timing IN Q ET PT | 0 On-Delay (TON) Timing IN Q ET PT | 0 Off-Delay (TOF) Timing • IN = instrucción de entrada del Rung • Q = Resultado de la comparación – Varía con el tipo de timer • PT = Preset Time • ET = Elapse Time
  • 46. 20/11/2003 46 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 46 Dpto. de Sistemas Electrónicos y de Control 46 • Tres instrucciones básicas – CTU - Count Up Counter – CTD - Count Down Counter – CTUD - Count Up/Down Counter • Todos cuentan transiciones • Dos formas de uso, igual que los temporizadores CTU 200 Load_Cnt PV CV 178 Q IN ENO Load_Cnt_DN R CTU 200 Load_Cnt PV CV 178 QIN R Instrucciones IEC de Contadores
  • 47. 20/11/2003 47 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 47 Dpto. de Sistemas Electrónicos y de Control 47 Contadores • CU/CD = Count up/Down • Q/QU/QD = Comparación de salida • R = Puesta a cero • LD = Carga CV con PV • PV = Preset Value • CV = Count Value ... ... CV PV | 0 CU QU CD QD LD R Count Up/Down (CTUD) Counter ...IN Q CV PV | 0 LD ... Count Down (CTD) Counter ...IN Q CV PV | 0 R Count Up (CTU) Counter ...
  • 48. 20/11/2003 48 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 48 Dpto. de Sistemas Electrónicos y de Control 48 CAL RET RET CAL Ruptura de la secuencia de ejecución • Instrucciones de salto a etiquetas – Salta a un bloque de código del programa – LBL – nombre de la etiqueta para la operación de salto – JMP – ejecución de un salto cuando se activa la instrucción de entrada • Instrucciones de salto a subrutinas – Salta a un bloque de código encapsulado como una subrutina – CALL – pasa el control a otra función – RET – retorno al punto siguiente desde donde fue llamada la subrutina | Skip_Calc | |-| |-------------(JMP)--| | ... | | Skip_Calc | |---[LBL]---...
  • 49. 20/11/2003 49 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 49 Dpto. de Sistemas Electrónicos y de Control 49 = Rockwell Automation FIFO Load Instruction IEC1131-3 Load FIFO Logic 1 Rung of Logic 1 Instruction Minutes to code and debug11 Rungs of Logic 17 Instructions Hours to code and debug Extensiones de IEC optimiza el código y facilita su uso
  • 50. 20/11/2003 50 50 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control Dpto. de Sistemas Electrónicos y de Control 50 Esquema Secuencial de Funciones Sequential Function Chart (SFC)
  • 51. 20/11/2003 51 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 51 Dpto. de Sistemas Electrónicos y de Control 51 • En sus orígenes fue GRAFCET (GRAFico Funcional de Control Etapa Transición) – surge a mediados de los 70, TELEMECANIQUE, APER, AFCET, ADEPA. • Eficaz técnica para describir el comportamiento secuencial de un proceso y de un programa • Se usa para distribuir un problema de control • Permite un rápido diagnóstico Diagrama Funcional Secuencial SFCSFC Step 1 N FILL Step 3 Step 2 S Empty Transition 1 Transition 2
  • 52. 20/11/2003 52 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 52 Dpto. de Sistemas Electrónicos y de Control 52 1 FIN ALIMENTACIÓN A PRODUCTO A COMIENZO DEL CICLO 0 2 PRODUCTO B etapa inicial transición acción 3 MEZCLA etapa T=3 FIN ALIMENTACIÓN B FIN TIEMPO DE MEZCLA GrafcetGrafcet • Las etapas o estados implican acciones asociadas • Las transiciones gobiernan los cambios de estado • Las flechas indican la dirección del cambio • Pueden darse esquemas menos lineales • The basic elements are STEPS with ACTION BLOCKS and TRANSITIONS • Support for alternative and parallel sequences
  • 53. 20/11/2003 53 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 53 Dpto. de Sistemas Electrónicos y de Control 53 • SALTO CONDICIONAL DE ETAPA: Direccionamiento específico hacia atrás y adelante 12 ACC. E 13 ACC. G e g 14 ACC. H 15 ACC. J h j f 16 ACC. K 17 ACC. L h e 18 ACC. M 19 ACC. P n j m
  • 54. 20/11/2003 54 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 54 Dpto. de Sistemas Electrónicos y de Control 54 • DIRECCIONAMIENTO CONDICIONAL: Elección condicional entre varias secuencias posibles 8 ACC. C 5 y 11 ACC. E c e 9 z 10 ACC. D w 6 ACC. A x 7 ACC. G a dg
  • 55. 20/11/2003 55 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 55 Dpto. de Sistemas Electrónicos y de Control 55 • SECUENCIAS SIMULTÁNEAS: Varios estados activos a la vez 8 ACC. C 5 y 11 ACC. E e 9 ACC. D w 6 ACC. A 7 ACC. G a 10 g
  • 56. 20/11/2003 56 56 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control Dpto. de Sistemas Electrónicos y de Control 56 Fuentes de Información
  • 57. 20/11/2003 57 Dpto. de Sistemas Electrónicos y de Control 20/11/2003 Sistemas Electrónicos de Control 57 Dpto. de Sistemas Electrónicos y de Control 57 Fuentes de Información • http://www.pclopen.org: organización que vela por la estandarización del Sw aplicado a los PLC • http://olmo.pntic.mec.es/~jmarti50/enlaces/grafcet.ht ml: todo sobre Grafcet • http://isa.uniovi.es/genia/spanish/app/prog/mediss_5. htm: demo de Grafcet para PLC de Siemens