T3. Lenguajes de Programación - · PDF filefunction block diagram FBD) es un lenguaje...

57
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. Introducci Introducción 3.2. 3.2. Norma IEC 1131 Norma 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)

Transcript of T3. Lenguajes de Programación - · PDF filefunction block diagram FBD) es un lenguaje...

Page 1: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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ón3.1. 3.1. IntroducciIntroduccióónn3.2. 3.2. Norma IEC 1131Norma IEC 11313.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)

Page 2: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 3: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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ónModos de funcionamientoLenguajes

Page 4: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 5: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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íclicaTproceso > Tciclo

• Ejecución periódicaTproceso > Tperiodo

CONFECCIÓN DEL PROGRAMADE 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

Page 6: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

ANDA 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

Page 7: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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ónNorma IEC 1131-3

Page 8: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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?

Page 9: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 10: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 11: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 deProcesos Integradores

de SistemasTU ??

Usuarios de la norma

Page 12: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 13: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 14: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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-3Top 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 Swde programación más adecuado al proceso y posteriormente definir los tipos de datos

Page 15: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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-3Elementos Comunes

Lenguajes de Programación

LD A

ANDN B

ST C

LILI

C:= A AND NOT B

STSTAND

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ñoProyectos

TareasVariables GlobalesCaminos de Acceso

Page 16: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 PLCProyecto Proyecto

Ruta de acceso

Diseño

Función de Comunicaciones

Ruta de ejecución

Ruta de acceso variable

FB

Boque de funciones

VariableVariables Globales

Task Task Task Task

Programa Programa Programa Programa

FB FB FB FB

Page 17: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 18: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 InstruccionesInstruction List (IL)

Page 19: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 20: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 OperadoresLD Set current result equal to operandST Store current result to operand locationS Set Boolean operand to 1R Reset Boolean operand to 0

&, AND Boolean ANDOR Boolean ORXOR Boolean xclusive OR

ADD AdditionSUB SubtractionMUL MultiplicationDIV Division

GT Comparison: >GE Comparison: >=EQ Comparison: =NE Comparison: <>LE Comparison: <=LT Comparison: <

JMP Jump to labelCAL Call function blockRET Return from called function or function block

Page 21: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 DE MODIFICADORES DE LOS OPERANDOSLOS OPERANDOS

Page 22: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 EstructuradoStructured Text (ST)

Page 23: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 24: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

OperadoresSymbol Operation(expression) Parenthesizationidentifier(argument list) Function evaluation

Examples:LN(A), MAX(X,Y), etc.** Exponentiation- NegationNOT Complement

Page 25: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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/ DivideMOD Modulo+ Add- Subtract< , > , <= , >= Comparison= Equality<> Inequality

Operadores&, AND Boolean ANDOR Boolean ORXOR Boolean xclusive OR

A := B; asignación

Datatype to DatatypeINT to INTorAnalog_Channel_Configuration to

Analog_Channel_Configuration

CV := CV+1;C := SIN(X);

IF .. THEN .. ELSECASEFORWHILE …REPEAT UNTIL

Page 26: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 FuncionesFunction Block Diagram (FBD)

Page 27: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 lenguaje lenguaje 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

ANDA C

B

FBDFBD

Page 28: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 29: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

FunctionsFunctions BlocksInput / Output Variables

horizontal, verticalflow directioncrossing with / without contact

Page 30: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

NegationDuplication

Implicit edge detectionFormal ParametersActual Parameters

Page 31: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 32: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 33: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 34: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 35: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 ContactosLadder Diagram (LD)

Page 36: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 37: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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áficautilizada en el diseño de sistemas de control eléctricos

– Las decisiones de control se hacen efectivasactivando relés

• Despues los relés se sustituyeron porcircuitos lógicos

– Las decisiones de control se hacen efectivasen función de las salidas de la puertas lógicas

• Finalmente las CPUs sustiteyen loscomplejos 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ónmás sencilla de los programas

– Reduce el tiempo de formación de losprogramadores

ORAND

Page 38: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 lascondiciones 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

Page 39: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 sencilloformato– 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

Page 40: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 KPower Rail Derecho

Power Rail Izquierdo

Ladder Rung

Page 41: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 contactose 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

Page 42: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 esfalse

• 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

Page 43: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 funcioncompara In1 y In2 y si son iguales activaENO

• Conjunto de instrucciones de comparación– EQ(=), GT (>), GE (>=), LT (<), LE

(<=), NE (<>)

EQEN

100.000

ENO

78.251Tank_max

Tank1_LevelIN1

IN2

Page 44: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 sobreel estado del timer

– 2ª activa un bit que puede ser utlilizado en otras funciones lógicas

TONIN

T#200ms

Pump_Tmr

PT ET 178

Q

TON

T#200ms

Pump_Tmr

PT ET 178

Q

IN ENO

Pump_Tmr_DN

Page 45: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

ETPT|0

Pulse (TP) Timing

IN

Q

ETPT|0

On-Delay (TON) Timing

IN

Q

ETPT|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

Page 46: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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_DNR

CTU

200

Load_Cnt

PV CV 178

QIN

R

Instrucciones IEC de Contadores

Page 47: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

...

...

CVPV|0

CUQUCDQD

LDR

Count Up/Down (CTUD) Counter

...INQ

CVPV|0

LD

...Count Down (CTD) Counter

...INQ

CVPV|0

R

Count Up (CTU) Counter...

Page 48: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 unasubrutina

– CALL – pasa el control a otrafunción

– RET – retorno al punto siguientedesde donde fue llamada la subrutina

| Skip_Calc ||-| |-------------(JMP)--|| ... || Skip_Calc ||---[LBL]---...

Page 49: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 Logic1 Instruction

Minutes to code and debug11 Rungs of Logic17 Instructions

Hours to code and debug

Extensiones de IEC optimiza el código y facilita su uso

Page 50: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 FuncionesSequential Function Chart (SFC)

Page 51: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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 SecuencialSFCSFC

Step 1 N FILL

Step 3

Step 2 S Empty

Transition 1

Transition 2

Page 52: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

1FIN 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

Page 53: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 54: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 55: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

5y

11 ACC. E

e

9

ACC. D

w

6 ACC. A

7 ACC. G

a

10

g

Page 56: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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

Page 57: T3. Lenguajes de Programación -  · PDF filefunction block diagram FBD) es un lenguaje gráfico • Los programas son bloques cableados entre s

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.html: todo sobre Grafcet

• http://isa.uniovi.es/genia/spanish/app/prog/mediss_5.htm: demo de Grafcet para PLC de Siemens