curso: controladores inteligentes industriales módulo 1 – controladores lógicos programables...

45
Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación. Petrov, PU – Departamento ECIT Traducción al ingles realizada por Mariana Ilieva

Upload: tonia-estrada

Post on 29-Jan-2016

258 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Curso: Controladores inteligentes industriales

Módulo 1 – Controladores Lógicos Programables (PLCs)

Tarea 1.2: PLC – Software y lenguajes de programación.

Petrov, PU – Departamento ECITTraducción al ingles realizada por Mariana Ilieva

Page 2: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

2

1.1.Composición del software de los PLCsComposición del software de los PLCs

2.2. Sistema operativo (ОS) – funcionesSistema operativo (ОS) – funciones

3.3. Lenguajes de programación – tipos:Lenguajes de programación – tipos:

• Diagrama de funciones secuenciales (SFC) – lenguaje de bloques de Diagrama de funciones secuenciales (SFC) – lenguaje de bloques de

funciones secuenciales;funciones secuenciales;

• Diagrama de bloques de funciones (FBD) – lenguaje de diagrama de Diagrama de bloques de funciones (FBD) – lenguaje de diagrama de

bloques secuenciales;bloques secuenciales;

• Diagramas de tipo escalera (LАD) – lenguaje de diagramas de escalera;Diagramas de tipo escalera (LАD) – lenguaje de diagramas de escalera;

• Texto estructurado (ST) – lenguaje de tipo texto estructurado a alto nivel Texto estructurado (ST) – lenguaje de tipo texto estructurado a alto nivel

(parecido a Pascal);(parecido a Pascal);

• Lista de instrucciones (IL/STL) – ensamblador con un tipo de lenguaje Lista de instrucciones (IL/STL) – ensamblador con un tipo de lenguaje

basado en instrucciones.basado en instrucciones.

4.4. Entorno de programación CoDeSys (Sistema de desarrollo controlado)Entorno de programación CoDeSys (Sistema de desarrollo controlado)

5.5. Ejemplos de diagramas de escaleraEjemplos de diagramas de escalera

Puntos principalesPuntos principales

Page 3: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

3

Composición del software para los PLCs Composición del software para los PLCs

El software para los PLCs se compone, principalmente, de un sistema operativo y un entorno de programación, capaz de soportar uno o mas lenguajes de programación, utilizados en la programación de los PLCs.

Los componentes adicionales del software para PLCs pueden ser: programas para diagnosticar y encontrar fallos, programas de visualización, programas de comunicación etc. Muy a menudo, estos programas son parte del sistema operativo.

El sistema operativo puede ser de tipo convencional (en el caso de un PLC basado en un PLC) tales como Windows, Linux, Mac OS etc. o de tipo especializado por una empresa, ej. STEP 7-Micro/WIN por la empresa Siemens para los controladores programables que fabrica Siemens.

Los sistemas operacionales de tipo especializado tienen más a menudo interfaces de usuario gráficas, similares a Windows.

Los PLCs contienen a menudo librerías con módulos de programación suplementarios en su memoria.

Page 4: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

4

Principales funciones del sistema operativo Principales funciones del sistema operativo

Las funciones principales del sistema operativo (OS) de los PLCs son:

Inicialización de los PLC;

Escaneo (lectura) de las entradas digitales y actualización de las tablas PII (ver Tarea 1 para las tablas PII y PIO);

Escaneo de las entradas y salidas analógicas;

Ejecución del programa del usuario;

Mantenimiento de los temporizadores, contadores, etc.;

Actualización de las salidas de control por medio de las tablas PIO;

Mantenimiento de los programas en caso de que se encienda;

Auto-diagnostico del sistema;

Comunicación en el entorno de red;

Gestión de las tareas cuando los PLCs se controlan por multitareas del OS en tiempo real.

Page 5: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

5

Ejecución del ciclo operativo de un PLC (1)Ejecución del ciclo operativo de un PLC (1)

Un programa es una secuencia de instrucciones, que terminan con una orden de finalización del proceso, devolviendo así el control al operador o al monitor del OS. El programa se puede ejecutar de manera asíncrona, cuando se producen ciertos eventos, o síncrona, cuando la CPU ejecuta de forma secuencial todas las instrucciones desde la primera hasta la ultima y vuelve de nuevo a la primera.

El ciclo está compuesto de dos fases - una fase entrada-salida y una fase de usuario, relacionada con el procesamiento de los datos. Sus duraciones dependen del número de entradas y salidas, la extensión del programa y de la velocidad de operación del PLC. La estructura del ciclo, ej., el ratio entre dos fases, se define por la forma en la que direcciona las entradas y salidas, el número de transferencias incondicionales y la duración de los cálculos.

Page 6: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

6

Ejecución del ciclo de operación de un PLC (2)Ejecución del ciclo de operación de un PLC (2)

La organización del ciclo puede estar fijada de manera rígida o elegirse entre las siguientes opciones: Todas las entradas se visitan al comienzo del ciclo, y

las salidas se actualizan después de resolver todas las ecuaciones;

Todas las entradas se visitan al comienzo del ciclo, y las salidas se actualizan después de resolver cada ecuación;

Todas las entradas se visitan cada n ms, mientras que las salidas se actualizan cuando existen ciertas condiciones;

Un ciclo de escaneo típico puede observarse en las Figuras 1 y 2

Los principales intervalos de tiempo son: Tiempo de escaneo del programa - Tscan; Tiempo total de ciclo - Tcycle; Tiempo de respuesta - Tresponse – un intervalo de

tiempo entre el cambio de una señal de entrada y el cambio de la salida, relacionado a ella. Depende de la

estructura y de la lógica del programa.

Fig.1

Page 7: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

7

Ciclo operativo de un PLCCiclo operativo de un PLC

Fig.2

Page 8: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

8

Ciclo de operación de un PLC S7- 300 y S7- 400 Ciclo de operación de un PLC S7- 300 y S7- 400 fabricados por Siemensfabricados por Siemens

Fig.3. Para el PLC S7-300 y el S7-400 y STEP 7 el proceso cíclico de programación se controla por OB1 (OB – Bloque de organización – ver más adelante). Después de encender la fuente de alimentación y de poner la CPU en el modo RUN, OB 1 es llamado y se produce el procesado de cada ciclo del PLC hasta que la CPU se para o se apaga la fuente de alimentación. Mientras OB 1 este continuamente procesando, la mayoría de los cloques tienen que ser llamados por él.

Fig.3

Page 9: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

9

Lenguajes de programación de los PLCsLenguajes de programación de los PLCs Los lenguajes de programación para los PLCs surgieron junto a la aparición del primer

PLC en 1968, esto explica porque no fueron utilizados los lenguajes de alto nivel como Pascal y C y, en su lugar, se emplearon otros lenguajes más simples y fáciles de entender, como podremos ver a continuación.

Los lenguajes para la programación de los PLCs han sido considerados en la tercera parte del estándar IEC 61131, designado como IEC 61131-3 (solía ser designado como IEC 1131, antes de que el sistema de numeración cambiase por la comisión internacional electro-técnica). Se definieron los siguientes cinco lenguajes: Diagrama de Funciones Secuenciales (SFC) – un lenguaje de bloques de funciones

secuenciales;

Diagrama de Bloques de Funciones (FBD) – un lenguaje de diagramas de bloques secuenciales;

Diagramas de Tipo Escalera (LАD) – un lenguaje de diagramas de relés (denominado de tipo escalera);

Texto Estructurado (ST) – un lenguaje de alto nivel como el del tipo de texto estructurado (similar a C y, sobre todo a Pascal);

Lista de instrucciones (IL o STL) – lenguaje de tipo ensamblador con uso de acumuladores.

Estos lenguajes se describen brevemente en las siguientes transparencias.

Page 10: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Lenguaje de programación ST:Lenguaje de programación ST:

Basado en texto, alto nivel. Similar a PASCAL, BASIC y C No es muy popular aun (es el nuevo lenguaje – requiere el conocimiento de la programación) Ventajas en comparación con IL: incluye la formulación de las tareas del programa, una clara construcción de los programas en bloques con reglas (instrucciones) y una potente construcción para el control; Es el más apropiada para la ejecución condicional y para formar ciclos (IF, WHILE, FOR, CASE) En STEP 7 este lenguaje se denomina SCL (Lenguaje de Control Estructurado). En la parte derecha se muestra un extracto de programa en este lenguaje.

Q 4.0 := I 0.0 AND I 1.1 OR NOT I 0.1

IF Q 4.0 == 1 THEN GOTO M001

ELSE Q 1.0 = NOT Q 4.0;

END_IF;

M001 MW 2= 1+MW 2;

10

Page 11: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Lenguaje de programación IL (o STL)Lenguaje de programación IL (o STL)

Lenguaje de texto, similar a un ensamblador Mucho más utilizado en Europa Todos los operadores trabajan con un registro especial, denominado acumulador (LD, ST) Es conveniente para los programas pequeños En el ОS STEP 7, desarrollado por Siemens, este lenguaje se denomina STL (Lista de Instrucciones – una lista de reglas e instrucciones). En la parte inferior se muestra esta estructura y en la parte derecha puede verse un extracto de un programa.

11

Page 12: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Lenguaje de programación FBD:Lenguaje de programación FBD:

Lenguaje gráfico Es conveniente cuando no hay ciclos y varias ramas en el programa Consiste en un aritmética gráficamente conectada, Booleana y otros tipos de elementos funcionales y bloques de funciones. FBD proviene del campo del procesamiento de señal. Es muy popular actualmente

Fig.4. Ejemplo del lenguaje FBD del STEP 7

12

Page 13: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Lenguaje de programación SFC:Lenguaje de programación SFC:

Lenguaje gráfico

Programa bien estructurado

Consiste en pasos y transiciones

Los pasos contienen programas en cada lenguaje estándar

No tiene ningún lenguaje análogo

El primer nivel de la estructura en el SFC es la red de trabajo, compuesta por elementos llamados pasos y transiciones. Un paso puede ser bien activo o inactivo. Cuando esta activo, las instrucciones asociadas se ejecutan hasta que el paso se vuelve inactivo.

En STEP 7 este lenguaje se denomina lenguaje gráfico de programación (S7-GRAPH) – ver la figura.

13 Fig.5

Page 14: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Lenguaje de programación LD

Lenguaje gráfico, que pueden soportar casi todos los PLCs LD es una conexión gráfica entre variables Booleanas, comparable a los antiguos controles de tipo relé y representa el flujo de energía en los diagramas de circuitos eléctricos. Este lenguaje de programación se utiliza para la mayoría de las señales Booleanas. Los denominados buses o relés rodean una red LD por la izquierda y por la derecha. Para el bus de la izquierda, suministrado con la señal lógica “1”, “la energía” llega a todos los elementos conectados. Dependiendo de su condición, los elementos dejan ir la energía hasta los siguientes elementos o interrumpen el flujo. Prácticamente no se utiliza para trabajar con variables analógicas. En STEP 7 este lenguaje se conoce como LAD (Ladder Logic). La Fig.6 inferior muestra un ejemplo de un programa LAD, y más adelante se muestran también otros ejemplos.

14

Fig.6

Page 15: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Sistema de programación CoDeSysSistema de programación CoDeSys

CoDeSys (SIStema de DЕsarrollo COntrolado) es un entrono de desarrollo de programas de PLC, creado por la empresa Alemana 3S GmbH (1994 г.). Desde 2012 se ha escrito como CODESYS (http://en.wikipedia.org/wiki/CoDeSys )

CODESYS permite el funcionamiento de los PLC producidos por las empresas

como IFM, OVEN y otras muchas. Se instala por medio de un PC, con la ayuda de

interfaces en serie normales (RS232), interfaz CAN-PC (ej. EC2070). Soporta tres

funciones básicas:

1.Establecer todos los parámetros del PLC en cuestión.

2.Programar un PLC en uno de los lenguajes estándar, definido por la IEC 61131-

3: Lista de instrucciones (IL), diagrama de función secuencial (SFC), diagrama de

funciones por bloques (FBD) diagrama de lógica en escalera (LD) o texto

estructurado (ST); Testeando y ajustando los programas creados.

3.Diagnostico/visualización de los datos recibidos en el controlador.

4.Contiene una librería de funciones integrada: El sistema se descarga de manera gratuita.

15

Page 16: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Relación entre CODESYS y un PLCRelación entre CODESYS y un PLC

PLC Fábrica

CODESYS

Respuesta Pregunta

E/S s

16 Fig.7

Page 17: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

17

Reglas para la programación en PLCsReglas para la programación en PLCs

Retorno a la función de llamada Llamar la atención utilizando ciclos (para tener en cuenta el tiempo de ejecución) Incrementar el interés hacia el uso de índices para los matrices y punteros

ProgramaPLC

Entrada Salida

17 Fig.8

Page 18: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Estructura de un programa de un PLCEstructura de un programa de un PLC

Projecto

POUs Variables globales Estructuras

Declaraciones Código

18Fig. 9

Page 19: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

19

¿Qué es POU?¿Qué es POU?

En la IEC 61131-3 los bloques, que constituyen los programas y los proyectos, se denominan Unidades Organizativas de los Programas, POU.

Los tres tipos de POU, declarados por el estándar, son Función (FUN), Bloque funcional (FB) y Programa (PROG).

La función es POU, y puede tener parámetros fijados (argumentos) pero no tiene variables estáticas, ej. no tiene memoria – siempre se proporcionan los mismos valores de salida con los mismos parámetros de entrada.

El bloque funcional tiene variables estáticas (memoria). Sus salidas siempre dependen de la condición de sus variables tanto internas como externas, cuyos valores permanecen iguales entre las ejecuciones individuales del bloque funcional. Estos son también los bloques principales para generar un programa de PLC.

El programa es de tipo POU, como el programa principal. Un elevado número de programas principales puede ejecutarse simultáneamente en los PLCs multitareas.

19

Page 20: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Datos y direccionesDatos y direcciones

CoDeSys suporta tres métodos de declaraciones:

Validez:

local (1 POU) o global (todas POU)

texto, tabular y automática

Tipos de variables, fijadas a su dirección:

A un área de entrada, a un área de salida, a marcadores de área

20

Page 21: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Sintaxis de las variables, fijadas a las direcciones

Se designan con ‘%’

Prefijos para el area:

I – entrada

Q – salida

M – marcador

Tamaño:

X – un solo bit

B – un byte (8 bits)

W – una palabra (16 bits)

D – una palabra doble (32 bits)

Ejemplos:

%IW215

%QX1.1

%MD48

21

Page 22: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Tipos de datos estándar (1)Tipos de datos estándar (1)

El estándar IEC 61131-3 define una multitud de tipos de datos estandarizados, denominados tipos de datos elementales. Se caracterizan por tener muchos bits, y un rango de valores admisible. Además, el usuario define los tipos de datos que pueden crearse y utilizarse analógicamente. Son muy similares a los lenguajes utilizados en niveles elevados como C/C++ y PASCAL:

BOOL – una variable Booleana (8 bits, valores: VERDADERO, FALSO); SINT – ENTero CORto (8 bits, valores: -128 ÷ 127); INT – ENTero (16 bits, valores: -32768 ÷ 32767); DINT – ENTero DOble (32 bits, valores: -2147483648 ÷ 2147483647); USINT – ENTero CORto Sin designar (8 bits, valores: 0 ÷ 255); UINT – ENTero Sin designar (16 bits, valores: 0 ÷ 65535); UDINT – ENTero Doble Sin designar (32 bits, valores: 0 ÷ 4294967295); BYTE – un byte (8 bits, bit-direccionables, valores: 0 ÷ 255); WORD – una palabra (16 bits, bit-direccionables, valores: 0 ÷ 65535); DWORD – una palabra doble (32 bits, bit-direccionables, valores : 0 ÷ 4294967295);

22

Page 23: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

23

Tipos de datos estándarTipos de datos estándar(2)(2)

• REAL- numeros con punto flotante (32 bits, valores: 1.175494351e-38 ÷ 3.402823466e+38;• LREAL – REAL Largo, números con punto flotante (64 bits, valores: 2.2250738585072014e-308 ÷ 1.7976931348623158e+308);• STRING – variables de texto (sin tamaño límite);

Ejemplo: strText: STRING(35):= ‘Hola mundo!’;• TIME – variables de tiempo (tamaño y valores como para los de tipo DWORD);

Ejemplo: tTime: TIME:= t#14mstTime1: TIME:= t#12h34m15s

• TOD – Tiempo De Día (tamaño y valores como para los de tipo DWORD);• DATE – variables de fechas (tamaño y valores como para los de tipo DWORD);

Ejemplo:dDate: DATE:= d#1972-03-29;• DT – Fecha y Tiempo (tamaño y valores como para los de tipo DWORD).

23

Page 24: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

24

Operaciones en CoDeSysOperaciones en CoDeSys

• asignación;

• operaciones de tipo Booleano;

• operaciones analógicas;

• comparaciones;

• selección;

• conversión de tipo;

• operaciones con números reales;

• desplazamientos de bits;

• operaciones especiales.

• En las siguientes diapositivas se proporcionan ejemplos de algunas operaciones en ciertos lenguajes de PLC estándar.

Page 25: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Operación de asignación Operación de asignación

IL: LD, LDN, ST, STN, S, RST: A := B;FBD: A B

A CA D

LD:

S

( )

(/)

SALIDA 1

SALIDA 2

(S)SALIDA 3

(R)SALIDA 4

IN

Page 26: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Operaciones BooleanasOperaciones Booleanas

AND, OR, XOR y NOT

Las operaciones AND, OR y XOR pueden ser ejecutadas para un número ilimitado de entradas.

Cuando se aplican a datos de tipo BOOL, el resultado puede ser o VERDADERO o FALSO.

Cuando se aplican a datos del tipo BYTE, WORD, DWORD, el resultado se obtiene tras una ejecución bit a bit de la operación correspondiente.

Ejemplo en IL:Var1: BYTE;LD 2#10010011AND 2#10001010ST Var1 (* El resultado es 2#10000010 *)

Page 27: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Operaciones analógicas:Operaciones analógicas:

IL,FBD,LD ST ADD + SUB - MUL * DIV / MOD MOD

Estas operaciones pueden realizarse con cualquier tipo de datos, excepto los Booleanos.

Page 28: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

28

ComparaciónComparación

IL,FBD,LD ST EQ = NE <> GE >= GT > LE <= LT <

Estas operaciones pueden realizarse con cualquier tipo de datos, excepto los Booleanos.

Page 29: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

29

Operaciones con números reales:Operaciones con números reales:

ABS – valor absoluto

SQRT – raíz cuadrada

LN – logaritmo neperiano

LOG – logaritmo decimal

EXP – función exponencial (eX)

SIN, COS, TAN, ASIN, ACOS, ATAN – funciones trigonométricas

EXPT – función exponencial de una variable, relacionada con otra variable (XY)

Page 30: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

30

Desplazamiento de bitsDesplazamiento de bits

SHL (DESplazamiento a la Izquierda)

SHR (DESplazamiento a la Derecha)

ROL (Rotación a la Izquierda)

ROR (Rotación a la Derecha)

a dcb e hgfb edc f 0hga

a dcb e hgfb edc f ahg

a dcb e hgf0 cba d gfe h

a dcb e hgfh cba d gfe

Page 31: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

31

Llamada a varios tipos de POULlamada a varios tipos de POU

Función Bloque Funcional ProgramaEjemplo Funcción Fun1:INT

3 Entradas (INT): A, B, C

Bloque_Funcional FunBlck1

3 Entradas (INT): A, B, C

2 Salidas (INT): D, E

Caso: Instance1

Programa Prgr1

3 Entradas (INT): A, B, C

2 Salidas (INT): D, E

IL LD 5

Fun1 3,2

ST Resultado

CAL Instance1(A:=5, B:=3, C:=2)

...

LD Instance1.D

ST Resultado1

LD Instance1.E

ST Resultado2

CAL Prgr1(a := 5, b := 3, c := 2)

...

LD Prgr1.D

ST Resultado1

LD Prgr1.E

ST Result2

ST Resultado:=Fun1(5,3,2); Instance1(A:=5, B:=3, C:=2);

...

Resultado1:=Instance1.D;

Resultado2:=Instance1.E;

Prgr1(a := 5, b := 3, c := 2);

...

Resultado1:= Prgr1.D;

Resultado1:= Prgr1.E;

FBD / LD

Page 32: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Creación de un programa PLCCreación de un programa PLC

El proceso de creación de un programa PLC (fase de modelo) consiste en las siguientes fases (Fig.10): Especificación: descripción de la tarea; Diseño: descripción de la solución; Realización: ejecución de la solución; Integración/revisión: integración en el medio y testeo de la solución.

32 Fig.10

Page 33: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Direccionamiento de los módulos del PLCDireccionamiento de los módulos del PLC

Las direcciones de las ranuras, módulos y las correspondientes entradas y salidas se tienen en cuanta en el proceso de direcionamiento. La Fig. 11 ofrece un ejemplo del direccionamiento de los módulos del PLC Siemens S7-300

(http://www.automatic-project.eu/Modules_bg/Module%204,%20Chapter%203.pdf )

33

Fig.11

Page 34: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Ejemplos de diagramas de tipo escalera (1) Ejemplos de diagramas de tipo escalera (1)

“Un programa de tipo escalera" consiste en cierta secuencia lógica de instrucciones (“contacto”), por medio de la cual el estado de cada uno de los elementos (los contactos) de los sistemas electro-mecánicos (contacto-relé) se utilizan para identificar el control de las máquinas (y/o un proceso) .La condición real de los contactos del sistema electro-mecánico es reemplazado por una secuencia lógica. Como un elemento separado del control del sistema (contacto) pueden utilizarse todos los bits de las áreas de datos direccionables de un determinado PLC, de acuerdo con el sistema de direccionamiento empleado. Las siguientes diapositivas muestran ejemplos de contactos y diagramas lógicos con sus escaleras equivalentes (peldaños)

http://www.plc-course.com/PLC-Basics/introduction-to-ladder-diograms-course.html

34

Page 35: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Ejemplos de diagramas de tipo escalera Ejemplos de diagramas de tipo escalera (2)(2)

35

Page 36: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Ejemplos de diagramas de tipo escalera Ejemplos de diagramas de tipo escalera (3)(3)

36

Page 37: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Instrucciones de salidaInstrucciones de salida

37

Page 38: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Funciones lógicas básicas (OR, AND)Funciones lógicas básicas (OR, AND)

38

Page 39: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Funciones lógicas básicas (NOR, NAND)Funciones lógicas básicas (NOR, NAND)

39

Page 40: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Funciones lógicas básicas Funciones lógicas básicas ((EXOR, EXNOR)EXOR, EXNOR)

40

Page 41: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

LD: ejemplo – representación de la expresión LD: ejemplo – representación de la expresión

41

Diagrama de tipo escalera

Diagrama equivalente LD

Equivalente en lenguaje Booleano

Page 42: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Instrucciones para temporizadores y contadores (1)Instrucciones para temporizadores y contadores (1)

42

Page 43: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

Instrucciones para temporizadores y contadores Instrucciones para temporizadores y contadores (2)(2)

43

Page 44: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

44

Preguntas de controlPreguntas de control

1. Cuáles son los principales lenguajes para la programación de un PLC de acuerdo al estándar IEC 61131-(3)? Realiza una comparación entre ellos (ventajas y desventajas).

2. Qué opciones ofrece la el sistema de programación CODESYS?

3. Da ejemplos de diagramas de escalera, representando ciertos circuitos eléctricos y lógicos (no utilizar aquellos que se han descrito en la teoría).

Page 45: Curso: Controladores inteligentes industriales Módulo 1 – Controladores Lógicos Programables (PLCs) Tarea 1.2: PLC – Software y lenguajes de programación

45

Referencias: Referencias:

1. http://81.161.248.42/ntt/aep/readings/aep_u4.pdf

2. http://en.wikipedia.org/wiki/Programmable_logic_controller

3. http://www.idc-online.com/technical_references/pdfs/instrumentation/introtoplcs.pdf

4. http://2k9meduettaxila.files.wordpress.com/2012/12/plc-lecture.pdf

5. http://www.ormec.com/portals/0/library/documents/software/smlcsoftware/tutorials/smlc_opc_tutorial.pdf

6. http://me.emu.edu.tr/majid/IENG447/PLC%20examples.pdf

7. http://www.automatic-project.eu/Modules_bg/Module%204,%20Chapter%203.pdf

8. http://gendocs.ru/v4285/?download2=11

9. http://www.consys.ru/sites/default/files/documents/prog-rus.pdf