CDS-10

85
Festo Didactic México Ing. Diego Hoyos Robles Introducción a CoDeSys Clave: CDS-10

Transcript of CDS-10

Page 1: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Introducción a CoDeSys Clave: CDS-10

Page 2: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Presentación

• Nombre

• Empresa o institución educativa

• Giro

• Puesto

• Conocimientos sobre PLC

• Experiencia con lenguajes de programación

Page 3: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Objetivos

• Comprender la función y las posibles aplicaciones de un PLC en la industria.

• Instalar, conectar y poner en marcha sistemas controlados por PLC.

• Optimizar procesos productivos aplicando las herramientas que ofrece CoDeSys.

• Reducir tiempos de paro en maquinaria con mando por PLC detectando y corrigiendo fallas de manera eficaz.

• Aumentar la productividad seleccionando la herramienta de CoDeSys más adecuada para su proceso industrial.

• Conocer los cinco lenguajes de programación según la norma IEC-61131-3.

Page 4: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Contenido

• Introducción e instalación de CoDeSys.

• Conceptos y bases de la norma IEC 61131-3.

• Lenguajes y operadores en el estándar IEC.

• Definición y declaración de variables.

• Librerías y Targets.

• La estructura de un proyecto.

• Programación de funciones lógicas.

• La sintaxis y la semántica de los cinco diferentes lenguajes de programación según el estándar: IL, FBD, LD, ST y SFC.

• Visualización, simulación y graficador de señales.

• Solución de ejercicios prácticos en el entorno de programación CoDeSys.

• Puesta en marcha de sistemas controlados por PLC.

Page 5: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Horario

• Inicio: 10:00 a.m.

• Receso: 11:30 a.m.

• Comida: p.m.

• Salida: p.m.

Page 6: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Introducción

Page 7: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

¿Qué es un PLC?

• Controlador Lógico Programable (Programmable Logic Controller)

• Inicios en la década de los 70’s en la industria automotriz

• Alternativa a los sistemas de control basados en relevadores

Page 8: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

PLC vs. otros sistemas de control

• Diseñados específicamente para tareas de automatización

• Fácil modificación de operación

• Bajo costo en comparación a un diseño específico

Page 9: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles 9

Page 10: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Estándar internacional IEC 61131

1. Información general y definiciones (61131-1)

2. Hardware (61131-2)

3. Lenguajes de programación (61131-3)

4. Lineamientos de usuario (61131-4)

5. Comunicación (61131-5)

10

Page 11: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

• Da las definiciones e identifica las caracteristicas básicas que son relevantes para la selección y uso de controladores programables y periféricos.

• Esta parte no indica nada sobre seguridad de funcionamiento.

• En esta parte, los términos usados en este estándar son definidos.

• Aquí es donde las características básicas y los principios de un controlador programable son definidos.

11

IEC 61131-1

Información General

Page 12: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

• Requerimientos eléctricos, mecánicos y funcionales de Controladores Lógicos Programables (PLCs) y periféricos relacionados.

• Condiciones de servicio, almacenamiento y transporte.

• Información técnica a ser suministrada por el fabricante.

• Métodos de prueba y procedimientos necesarios para trabajar con el PLC y periféricos relacionados.

12

IEC 61131-2

Hardware

Page 13: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Elementos en común

• Tipos de dato y variables como Boolean, Integer, Real, Date, Time, etc.

• Configuración de comunicación y PLC.

• Componentes de programación:

o Funciones o Bloques de función o Programas o Tareas

13

IEC 61131-3

Lenguajes de programación

Page 14: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

IL (Instruction List)

FBD (Function Block Diagram) LD (Ladder Diagram)

LD Push-button_a AND Push-button_b OR(Push-button_b AND Push-button_c ) OR(Push-button_c AND Push-button_a ) ST Press_P

A_plus := start AND a0 AND b0; A_min := b1; B_plus := a1 AND b0; B_min := b1;

ST (Structured Text) SFC (Sequential Function Chart)

14

IEC 61131-3 Lenguajes de programación

1 INIT

Start . a0 . b0

2 A_plus

a1

3 A_min; B_plus

a0

4 B_min

b0

in_0

in_1

out_0

AND

in_0 in_1 out_0

in_2 in_3

Page 15: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

IEC 61131-3: IL (Instruction list)

• Lenguaje de programación creado para permitir que un programa sea cargado al PLC usando un dispositivo de programación manual. Programación complicada y sin soporte gráfico.

• Una sola operación, como cargar un valor a un registro acumulador, es permitida por línea de código.

15

LD Push-button_a AND Push-button_b OR(Push-button_b AND Push-button_c ) OR(Push-button_c AND Push-button_a ) ST Press_P

Page 16: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

IEC 61131-3: ST (Structured text)

• Lenguaje de programación de alto nivel, estructurado en bloques con sintaxis similar a PASCAL.

• Soporte para:

-Ciclos (REPEAT-UNTIL; WHILE-DO)

-Ejecución condicional (IF THEN-ELSE; CASE)

-Funciones matemáticas (SQRT( ), SIN( ))

16

A_plus := start AND a0 AND b0; A_min := b1; B_plus := a1 AND b0; B_min := b1;

Page 17: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

IEC 61131-3: SFC (Sequential Function Chart)

• Poderosa técnica gráfica que representa el comportamiento sucesivo de un controlador.

• Agrega estructura cuando se trabaja con múltiples lenguajes de programación.

• Permite ‚dar un vistazo‛, muy útil para un diagnóstico rápido cuando se busca detectar errores.

1 INIT

Start . a0 . b0

2 A_plus

a1

3 A_min; B_plus

a0

4 B_min

b0

Page 18: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

IEC 61131-3: FBD (Function Block Diagram)

• Lenguaje gráfico, muy utilizado en Europa. Permite que incluso elementos complejos de programa, representados por bloques, sean unidos en un diagrama simple y claro.

• Comunmente utilizado en aplicaciones en las que se tiene que lidiar con el flujo de información o datos de controladores.

18

AND

in_0

in_1

out_0

Page 19: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

IEC 61131-3: LD (Ladder Diagram)

• Lenguaje gráfico en que la programación se realiza usando símbolos estandarizados.

• Basado en el estilo de programación muy familiar en Norteamérica, que es similar a la norma de diagramas de circuitos eléctricos estadounidense.

19

in_0 in_1 out_0

in_2 in_3

Page 20: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

IEC 61131-3: Lenguajes de programación

20

Aplicación

SFC

IL LD

Page 21: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

• Cada lenguaje de programación puede ser combinado con cualquier otro.

• Estándar aceptado internacionalmente. Poco a poco, todos los fabricantes lo usarán en el futuro.

• Permite el uso del mejor lenguaje de programación para cada situación particular

• Funciones y bloques de función estándar

• Ahorra tiempo, al haber menos malentendidos y errores, y mediante la reutilización de programas

• Aprender a programar es una inversión de esfuerzo única

21

Ventajas de IEC 61131

Page 22: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

CoDeSys V2.3 3S-Software

Tu licencia al éxito

Page 23: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

CoDeSys V2.3

¿Qué significa CoDeSys?

Controller Development System (Sistema de Desarrollo para Controladores) ¿Qué es CoDeSys? • Software de programación • Herramienta de prueba • Herramienta de depuración • Herramienta de simulación • Herramienta de documentación • Ambiente de desarrollo de visualización

CoDeSys es un ambiente completo de desarrollo

23

Page 24: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

CoDeSys V2.3

CoDeSys consiste de dos partes importantes: • El ambiente de desarrollo

• Editor, compilador y depurador para proyectos IEC • Soporta los cinco lenguajes de programación IEC • Genera código nativo para una amplia gama de tipos de CPU

• El sistema de ejecución

• Ejecuta el ciclo con la actualización de E/S • Se comunica con el ambiente de desarrollo • Arranca la aplicación cuando la fuente de alimentación se enciende

24

Page 25: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Fundamentos de CoDeSys

25

Proyecto abierto

Editor de programa

Editor de

visualización

Status

Mensajes

Organización de

proyecto

Page 26: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Ayuda en línea

La ayuda en línea siempre está disponible. • El contenido está agrupado por tema. • El índice es alfabético. • Búsqueda puede ser utilizado para buscar en

todo el texto de ayuda.

26

Fundamentos de CoDeSys

F1

Page 27: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Proyecto

Data types POUs Resources

Declaraciones

Código

Variables globales

Librerías

Visualisations

27

CoDeSys V2.3: Estructura de un proyecto

Page 28: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

CoDeSys V2.3: Tipos de dato Estándar

Tipo Rango Ejemplo

BOOL FALSE, TRUE, 0, 1

-128 … 127, -32768 … 32767, -2147483648 … 2147483647

0 … 1

SINT, INT, DIN 0, 24453, -38099887

USINT, UINT, UDINT 0 … 255, 0 …65535, 0 … 4294967295 200, 47453, 138099887

BYTE, WORD, DWORD 0 … 255, 0 … 65535, 0 … 4294967295 8450, 16#EA3F, 2#11_0011_0101

REAL, LREAL -1.2 x 10-38 … 3.4 x 1038

-2.3 x 10-308 … 1.7 x 10308 1.34996 2.8377E-15

TIME, TOD, DATE, DT 0ms … 1193h2m47s295ms

00:00:00 … 23:59:59 01.01.1970 a aprox. 06.02.2106

T#1d8h12m8s125ms TOD#12:34:17 D#2001-03-15 DT#2001-03-15-12:17:03

STRING 1 … 255 caracteres ‘Paro de emergencia’

28

Page 29: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

CoDeSys V2.3: Proyecto

¿Cómo está compuesto un proyecto de CoDeSys?

• Está contenido en un solo archivo (nombre.pro)

• Es ejecutado cíclicamente

• Consiste de Unidades de Organización de Programa (Program Organisation Units). A las Funciones, bloques de función y programas se les conoce como POUs.

La POU con el nombre reservado PLC_PRG es llamada automáticamente por el sistema.

En IEC 61131-3, están definidos tres tipos de POUs.

• Programas <PROGRAM> • Bloques de función <FUNCTION_BLOCK> • Funciones <FUNCTION>

29

Page 30: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Programa

• Un programa es una POU que regresa varios valores durante su operación. Los programas son reconocidos globalmente en todo el proyecto. Todos sus valores son retenidos desde la última vez que se ejecutó el programa hasta la siguiente.

• Los programas pueden ser llamados. Una llamada a un programa desde una función no está permitida. No existen instancias de programas.

• Si una POU llama a un programa, y sus valores son cambiados, estos cambios permanecen hasta la siguiente vez que sea llamado, aun cuando el programa sea llamado por otra POU.

30

Page 31: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Bloque de función

• Un bloque de función es una POU que entrega uno o más valores durante su ejecución.

• Contrario a una función, un bloque de función no regresa valores con return.

• El llamado a un bloque de función se realiza mediante una instancia de dicho bloque de función.

31

Page 32: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

¿Qué es una instancia?

• Una instancia es una ‚copia‛ de un bloque de función o estructura. Cuando uno agrega un bloque de función o una estructura a un programa, en realidad está creando una estructura de datos que contiene las entradas, salidas y variables internas de dicho objeto con un identificador propio. Dicha instancia ‚heredará‛ las propiedades del objeto original.

• Una instancia es declarada como una variable local o global con un tipo de dato correspondiente al nombre del objeto que ‚copiará‛, lo que permite tener varias instancias de un mismo objeto trabajando independientemente, cada uno con sus parámetros propios.

32

Page 33: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Ejemplo de instancia

Crearemos una estructura de tipo ‚Futbolista‛, que contará con las siguientes propiedades:

• Equipo : string

• Nombre: string

• Número: usint

• Pierna dominante: bool

• Récord (partidos ganados – partidos perdidos): int

• goles anotados / tiros a gol: real

• …

33

Page 34: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Ejemplo de instancia

Futbolista sería el ‚molde‛, del que podemos crear a Cuauthémoc, chicharito, Gio, Rafa, etc.

Cada uno de ellos sería una instancia de Futbolista, con sus características heredadas de dicha estructura, pero con valores propios para cada uno de ellos.

34

Page 35: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Función

• Una función es una POU, que regresa exactamente un dato (el cual puede consistir de varios elementos, como campos o estructuras) cuando es procesado, y que su llamado en lenguajes textuales puede ocurrir como operador en expresiones.

• Cuando se declara una función, ésta debe de recibir un tipo de dato.

35

Page 36: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

CoDeSys V2.3: Procesamiento de la aplicación

El programa principal PLC_PRG es llamado por el sistema de ejecución cada 10 ms.

Lectura de entradas

Procesamiento de valores forzados

Procesamiento de valores forzados

Eje

c. d

e P

LC_

PR

G

Ejecuta la aplicación de CoDeSys

Llama a los sig.

programas, funciones, bloques de función, …

Funciones del Sistema de ejecución de CoDeSys

Programas del usuario Aplicación de CoDeSys

36

Escritura de salidas

Page 37: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

CoDeSys V2.3: Variables (local y global)

Variables locales

• Una variable local sólo puede ser usada en la POU en que fue declarada

• Las vabiables locales son declaradas en dicha POU

Variables globales

• Una variable global puede ser usada en cualquier POU

• Las variables globales deben ser declaradas por separado en la pestaña resources bajo Global Variables

Las variables de E/S de hardware que son declaradas mediante un identificador vía el configurador de PLC son visibles como variables de sistema.

37

Page 38: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

CoDeSys V2.3: Reglas para nombrar un identificador

• Debe comenzar con letra

• Letras y números

• Solo guión bajo sencillo

• Sin espacios

• No palabras u operandos reservados de IEC

• Mayúsculas/minúsculas son indistintas

Examples

Llave, llave, LLAVE Valvula1, valvula1, VALVULA1 Un_nombre_largo

38

Page 39: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

CoDeSys V2.3: Palabras reservadas

PROGRAM VarExample VAR StartNumber: REAL; END_VAR VAR_INPUT Start: BOOL; END_VAR VAR_OUTPUT Lamp: BOOL; END_VAR

Palabras reservadas PROGRAM VAR VAR_INPUT VAR_OUTPUT VAR_IN_OUT REAL BOOL END_VAR

Las variables locales se declaran entre VAR y END_VAR. Las variables locales que pueden ser usadas en otros programas como entradas o salidas de dichos programas aparecen entre VAR_INPUT y END_VAR o VAR_OUTPUT y END VAR.

39

Page 40: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

ABS CAL ELSE FALSE LD NE R S TAN VAR

ACOS CALC ELSIF FOR LDN NOT READ_ONLY SEL THEN VAR_ACCESS

ACTION CALCN END_ACTION FUNCTION LE READ_WRITE SHL TIME VAR_CONFIG

ADD CASE END_CASE FUNCTION_BLOCK LINT OF REAL SHR TO VAR_EXTERNAL

ADR CONSTANT END_FOR LN OR REPEAT SIN TOD VAR_GLOBAL

ADRINST COS END_FUNCTION GE LOG ORN RET SINT TRUE VAR_IN_OUT

AND END_FUNCTION_BLOCK GT LREAL RETAIN SIZEOF TRUNC VAR_INPUT

ANDN DATE END_IF LT PERSISTENT RETC SQRT TYPE VAR_OUTPUT

ARRAY DINT END_PROGRAM IF LWORD POINTER RETCN ST

ASIN DIV END_REPEAT INDEXOF PROGRAM RETURN STN UDINT WHILE

AT DO END_STRUCT INI MAX ROL STRING UINT WORD

ATAN DT END_TYPE INT MIN ROR STRUCT ULINT WSTRING

DWORD END_VAR MOD SUB UNTIL XOR

BITADR END_WHILE JMP MOVE USINT XORN

BOOL EQ JMPC MUL

BY EXIT JMPCN MUX

BYTE EXP

EXPT

CoDeSys V2.3: Palabras reservadas

40

Page 41: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Configuración de E/S e identificadores

Direccionamiento directo

Ejemplo: %QX0.7 := ( %IX0.3 AND %IX3.7 ) OR %IX3.0;

Asignamiento de identificadores

Ejemplo: xInput AT %IX0.7 : BOOL;

Modificando la configuración del PLC

Ejemplo: MyByte0 AT %IB0: BYTE; MyI0 AT %IX0.0: BOOL; MyI1 AT %IX0.1: BOOL; MyI2 AT %IX0.2: BOOL;

Este método es importante porque cuando la configuración es

modificada también la E/S absoluta es modificada.

41

Page 42: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

CoDeSys V2.3: Los lenguajes de programación de IEC 61131-3

• Instruction List (IL)

• Structured Text (ST)

• Sequential Function Chart (SFC)

• Function Block Diagram (FBD)

• Ladder Diagram (LD)

42

Page 43: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

¿Qué es un target?

• CoDeSys tiene la capacidad de crear código nativo para cientos de controladores de más de 250 distintos fabricantes.

• Por ésto, es necesario que CoDeSys cuente con información del controlador en específico que se va a programar.

• Toda esta información, viene contenida en una carpeta comprimida, que es necesario instalar antes de poder utilizar CoDeSys para programar un controlador dado.

43

Page 44: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Instalación de un target

• El target para programar un controlador es proporcionado por el fabricante, y viene englobado en un archivo comprimido.

• Es necesario descomprimir dicho archivo en el disco duro de la computadora.

• En nuestro caso, el archivo se llama CPX-CEC.zip, el cual se les proporcionará a continuación.

44

CPX-CEC.zip

Page 45: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Instalación de un target

45

Page 46: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Instalación de un target

• Para instalar un target, es necesario ejecutar la aplicación ‚InstallTarget‛, que se encuentra en la misma carpeta que el ejecutable de CoDeSys.

• Danco clic en ‚Open…‛, se abre la carpeta que se descomprimió anteriormente, y se selecciona el archivo con extensión ‚.tnf‛ que se encuentra dentro de ésta.

46

Page 47: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

CPX

47

Page 48: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Procesador CoDeSys

48

Visualización de

estado del PLC

Conector handheld

Puerto de comunicación

Conector de

alimentación

Conector Ethernet

Switch de

arranque/paro

Page 49: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Entradas analógicas

• 2 entradas analógicas

• 12 bits de resolución

• Configurable a voltaje (0-10V) o a corriente (0-20mA y 4-20mA)

• Selección por DIP-switch o por software

49

Page 50: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Salidas analógicas

• 2 salidas analógicas

• 12 bits de resolución

• Configurable a voltaje (0-10V) o a corriente (0-20mA y 4-20mA)

• Selección por DIP-switch o por software

50

Page 51: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Entradas/salidas digitales

• 8 entradas digitales

• 8 salidas digitales

• Salidas a transistor

51

Page 52: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

1er ejercicio

Lenguaje: Ladder Diagram (LD)

• Al presionar un botón pulsador B1, se activará una lámpara L1, y permanecerá encendida mientras dicho botón se encuentre presionado.

52

Page 53: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Selección de target

• Al realizar un proyecto nuevo, se debe seleccionar el equipo sobre el que se cargará el programa. Para el primer ejercicio, seleccionaremos ‚None‛.

53

Page 54: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Configuración de POU

• En esta ventana, se selecciona el nombre, tipo y lenguaje del POU que se va a diseñar. Es importante recordar que nuestro proyecto debe contener un programa con el nombre PLC_PRG, que es la que se cargará al energizar el PLC.

54

Page 55: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Programación

• Una vez seleccionado el target y configurado el POU, el sistema está listo para empezar a programar.

55

Page 56: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Visualización

• Las visualizaciones son herramientas muy útiles para depurar un programa, ya que nos permiten simular tanto entradas como salidas sin necesidad de realizar conexiones físicas, y probarlas en un entorno gráfico, lo que facilita su comprensión.

56

Page 57: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Ejercicio

Lenguaje: CFC y LD

• Realice un programa con el que pueda realizar las funciones lógicas NOT, AND y OR, y una visualización en la que pueda probarlo.

57

Page 58: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Ejercicio

• Crear un programa en IL, ST o LDR que permita controlar una lámpara desde cualquiera de los dos extremos de una escalera. S_1 y S_2 son botones con enclavamiento mecánico, y cuando uno de ellos cambie su estado, la lámpara también deberá de hacerlo. Se cuenta además con un switch principal F_1, el cuál tiene que estar encendido para que la lámpara pueda funcionar. Realizar una visualización similar a la que se muestra que permita comprobar el funcionamiento correcto del programa.

4

F_1

S_2

L_1

S_1

Page 59: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Ejercicio

• Realizar un programa que cuente con tres entradas B1, B2 y B3, y 3 salidas L1, L2 y L3, y que cumpla con las siguientes características:

• Al presionar B1, B2 ó B3 (un solo pulsador) se encenderá L1.

• Al presionar cualquier combinación de dos pulsadores a la vez, se encenderá L2.

• Al presionar los tres pulsadores, se encenderá L3.

• Sólo una lámpara puede estar activa a la vez.

• Cargar el programa en el PLC y realizar las conexiones físicas necesarias.

59

Page 60: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles 60

Page 61: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Selección del target

• Al realizar un proyecto nuevo, se debe

seleccionar el equipo sobre el que

se cargará el programa.

61

Festo CPX-CEC / CPX-CEC-C1

Page 62: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Configuración del equipo

• Posteriormente, se realizan las configuraciones del equipo en la opción ‚PLC Configuration‛, que se encuentra en la pestaña ‚Resources‛

62

Page 63: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Configuración del equipo

• Primero se debe buscar el PLC en la red, asegurándonos que nos encontramos en la misma subred de éste, y posteriormente se selecciona con la opción Set as active PLC.

63

Page 64: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Configuración del equipo

• Es importante agregar los módulos que se encuentran conectados físicamente al PLC. Esto se puede hacer de forma manual o automática.

64

Page 65: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Configuración del equipo

• Cada módulo puede configurarse de forma independiente, lo que nos permite activar o desactivar mensajes de error, agregar un identificador a una entrada o salida, entre muchas otras opciones.

65

Page 66: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Ejercicio

• Diseñar un programa para distribuir la piezas que llegan a cuatro transportadores por medio de una sección móvil.

• La posición requerida deberá ser seleccionada por 4 botones pulsadores, y podrá ser seleccionada en cualquier orden.

• El cilindro A y B son de doble efecto

66

Page 67: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Carrera corta Carrera larga

1 2 3 4 Corta Larga

Retraer Retraer

Extender Retraer

Retraer Extender

Extender Extender

Page 68: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles 68

1

2

3 5

4

1

2

3 5

4

Page 69: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Temporizadores

• En el estándar IEC, existen 3 tipos de temporizadores, diseñados para cumplir diferentes tareas en las que es necesario un retardo de una señal. Estos son:

• Temporizador de impulso (TP)

• Temporizador con retardo a la conexión (TON)

• Temporizador con retardo a la desconexión (TOF)

• Las señales de las que consta un temporizador son las siguientes:

69

TP IN

PT

Q

ET

timer1

entrada (bool)

tiempo (time)

salida (bool)

tiempo en ms (time)

nombre de la instancia

Page 70: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Temporizador de impulso (TP)

70

Tiempo programado (PT)

TP IN

PT

Q

ET

timer1

IN

Q

Page 71: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Temporizador de impulso (TP)

71

Tiempo programado (PT)

TP IN

PT

Q

ET

timer1

IN

Q

Page 72: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Temporizador con retardo a la conexión (TON)

72

Tiempo programado (PT)

IN

Q

TON IN

PT

Q

ET

timer1

Page 73: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Temporizador con retardo a la desconexión (TOF)

73

Tiempo programado (PT)

IN

Q

TOF IN

PT

Q

ET

timer1

Page 74: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Ejercicio

• El encendido de un motor requiere que esté presente la señal del alimentador principal y la del botón de arranque, y que no esté presente la señal de paro. Para lograr un arranque óptimo, el motor se va alimentando progresivamente, de la sig. manera:

• En cuanto se cumplen las condiciones de marcha, un alimentador entrega corriente.

• 3 segundos después, se activa un segundo alimentador para incrementar la corriente del motor.

• 4.55 segundos después, se activa un último alimentador, con lo que el motor correrá a máxima potencia.

74

M

+24V

0V

K1

K2 K3

R1 R2

Page 75: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Ejercicio

• Una vez se han vertido las pinturas líquidas con los correspondientes colores en un bote, se mezclan en la máquina vibradora. Al accionar un pulsador, el cilindro que se halla avanzado retrocede completamente y ejecuta un movimiento alternativo de vaivén en la zona posterior de la carrera. El vaivén está limitado por los sensores que se encuentran en la posición final retraida, y en el centro de la carrera. Después de un tiempo determinado, la vibración se desconecta. El cilindro de doble efecto avanza completamente y acciona un tercer sensor. Tiempo de vibración t=5 segundos.

Page 76: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles 76

1

2

3 5

4

Page 77: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Contadores

• En el estándar IEC, existen 3 tipos de contadores, diseñados para cumplir diferentes tareas en las que es necesario contar la cantidad de veces que ocurre un evento. Estos son:

• Contador incremental (CTU)

• Contador decremental (CTD)

• Contador incremental/decremental (CTUD)

• Las señales de las que consta el contador incremental son las siguientes:

77

CTU CU RESET PV

Q CV

counter1

incrementar contador (bool)

restablecer contador (bool)

valor programado (word)

salida (bool)

valor actual (word)

nombre de la instancia

Page 78: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Ejercicio

• Con la información brindada en la diapositiva anterior, descifre el funcionamiento de los otros dos contadores (decremental e incremental/decremental), y haga un programa en el que pruebe la diferencia entre los tres.

78

CTUD

CD

LOAD PV

QD CV

CU

RESET

QU

CTD CD LOAD PV

Q CV

Page 79: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Ejercicio

• Realice el ejercicio anterior, en ST, de tal forma que al presionar el botón pulsador B1 se realicen 10 ciclos de vaivén, al presionar B2 se realicen 20 ciclos, y al presionar B3 se realicen 30 ciclos.

Page 80: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Ejercicio

• Un sistema automático deberá contar la cantidad de personas que entran a un salón de eventos con capacidad para 150 personas. El salón cuenta con dos puertas giratorias, una para entrar y otra para salir. Al haber alguien presente dentro del salón, las luces deberán encenderse automáticamente. Si el salón se encuentra a más del 90% de su capacidad, una luz de advertencia deberá de parpadear continuamente, y si se llega a las 150 personas, una traba activada neumáticamente deberá bloquear la puerta de entrada. Cuando el número de personas disminuya por debajo del 90%, la traba se desactivará. Al no haber nadie presente, las luces se apagarán automáticamente.

80

Page 81: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles 81

3 1

2

Page 82: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Bloques de función (Function blocks)

• Permite agrupar funciones complejas en una caja negra con entradas y salidas, cuyo funcionamiento será transparente para el programador.

• Se trabaja con ellos a través de instancias, lo que nos permite tener varias copias de un mismo elemento trabajando independientemente.

Nombre

Nombre de la instancia

Entrada 1

Entrada 2

Entrada 3

Salida 1

Salida 2

Page 83: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Bloques de función

• Para crear un bloque de función, en la ventana de nuevo POU, se selecciona la opción ‚Function Block‛ en Type of POU, además del lenguaje de programación y el nombre que se le dará.

83

Page 84: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Bloques de función

• Las variables que entran al bloque de función, se dan de alta en VAR_INPUT, las variables de salida en VAR_OUTPUT, y las variables internas del bloque de función (las que no se escriben ni se leen desde fuera de él), se dan de alta en VAR.

• Una vez dadas de alta las variables, se procede con la programación de forma normal.

84

Page 85: CDS-10

Festo Didactic México Ing. Diego Hoyos Robles

Sistemas secuenciales

• Variables locales y globales y tasks

85