Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Redes de Comunicaciones Industriales
Elementos de un PLC. Principios de programación. Programación del PLC. REDES DE COMUNICACIONES INDUSTRIALES
2
REDES DE COMUNICACIONES INDUSTRIALES
ELEMENTOS DE UN PLC REDES DE COMUNICACIONES INDUSTRIALES
3
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
4
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
5
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
6
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
7
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
8
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
9
Redes de Comunicaciones Industriales
Montaje de los módulos en el perfil Fuente de alimentación. CPU Módulos de datos UPV REDES DE COMUNICACIONES INDUSTRIALES
10
Redes de Comunicaciones Industriales
Borrado total UPV REDES DE COMUNICACIONES INDUSTRIALES
11
PRINCIPIOS DE PROGRAMACIÓN
REDES DE COMUNICACIONES INDUSTRIALES PRINCIPIOS DE PROGRAMACIÓN REDES DE COMUNICACIONES INDUSTRIALES
12
PRINCIPIOS DE PROGRAMACIÓN
REDES DE COMUNICACIONES INDUSTRIALES PRINCIPIOS DE PROGRAMACIÓN ÍNDICE Bloques de programa: Programación estructurada. Bloques de organización. FCs. Módulos de Función. Llamada a módulos. Tipos de datos. Direccionamiento. Sistemas de numeración. Acumuladores. UPV REDES DE COMUNICACIONES INDUSTRIALES
13
Principios de programación
REDES DE COMUNICACIONES INDUSTRIALES Principios de programación Bloques de programa: Programación estructurada. REDES DE COMUNICACIONES INDUSTRIALES
14
Redes de Comunicaciones Industriales
BLOQUES DE PROGRAMA OB (Bloques de organización) OB Programa principal. OB Condiciones de arranque. FC (Funciones) Con o sin parámetros. FB (Bloques de función) Los valores de los parámetros los toman de una tabla. Almacenan los resultados. Se le asigna un DB. UPV REDES DE COMUNICACIONES INDUSTRIALES
15
Redes de Comunicaciones Industriales
BLOQUES DE PROGRAMA. DB (Bloques de datos) UDT (Definición de tipos de datos) SFC (Bloques de función del Sistema) SDB (Datos del sistema) Llamadas a módulos. UPV REDES DE COMUNICACIONES INDUSTRIALES
16
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
17
Redes de Comunicaciones Industriales
Programación Estructurada Sistema Operativo OB1 FC FB SFC SFB Otros OBs UPV REDES DE COMUNICACIONES INDUSTRIALES
18
Principios de programación
REDES DE COMUNICACIONES INDUSTRIALES Principios de programación Bloques de programa: módulos de organización. REDES DE COMUNICACIONES INDUSTRIALES
19
Redes de Comunicaciones Industriales
OB1 Es un módulo de código que trabaja cíclicamente, el OB1 se ejecuta en cada ciclo. Puede almacenar y ejecutar su programa completo en el OB1, o bien puede almacenar su programa en diferentes módulos lógicos y utilizar el OB1 para llamarlos cuando sea necesario. Además del OB1, el sistema operativo puede llamar a otros OBs en respuesta a ciertos eventos. Los OBs sólo pueden ser llamados por el sistema operativo, no por otros módulo lógicos. El sistema operativo procesa los OBs de acuerdo a su prioridad. El OB1 (prioridad clase 1) tiene la prioridad más baja de todos los OBs. Esto significa que todos los otros OBs pueden interrumpir la ejecución cíclica del OB1 si es necesario. Los diferentes tipos de OB realizan distintas funciones: OB1 Programa principal Ejecución en ciclos continuos OB10 Interrupción Horaria Empieza en un momento programado OB20 Interrupción de Retardo Corre después de una demora programada OB35 Interrupción Cíclica Se repite en intervalos programados OB40 Interrupción Hardware Corre al detectarse un error en un módulo OB Error Asíncrono Se ejecuta si hay errores asíncronos OB121,122 Error Síncrono Se ejecuta si hay errores síncronos OB100 Rearranque Completo Se ejecuta al pasar la CPU de STOP a RUN OB101 Rearranque Se ejecuta si hay un rearranque de la CPU UPV REDES DE COMUNICACIONES INDUSTRIALES
20
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
21
Principios de programación
REDES DE COMUNICACIONES INDUSTRIALES Principios de programación Bloques de programa: funciones (FC´s). REDES DE COMUNICACIONES INDUSTRIALES
22
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
23
Principios de programación
REDES DE COMUNICACIONES INDUSTRIALES Principios de programación Bloques de programa: módulos de función. REDES DE COMUNICACIONES INDUSTRIALES
24
Principios de programación
REDES DE COMUNICACIONES INDUSTRIALES Principios de programación Bloques de programa: llamada a módulos. REDES DE COMUNICACIONES INDUSTRIALES
25
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
26
Principios de programación
REDES DE COMUNICACIONES INDUSTRIALES Principios de programación Tipos de datos. REDES DE COMUNICACIONES INDUSTRIALES
27
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
28
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
29
Principios de programación
REDES DE COMUNICACIONES INDUSTRIALES Principios de programación Direccionamiento. REDES DE COMUNICACIONES INDUSTRIALES
30
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
31
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
32
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
33
Redes de Comunicaciones Industriales
Dirección Palabra: Si combinamos dos direcciones de byte, obtenemos una Dirección de Palabra. Por ejemplo, dos bytes de palabra de entrada, constituyen una palabra de entrada (EW). La palabra de entrada 2 (EW 2) está compuesta de los bytes de entrada 2 y 3 (EB 2 y EB 3). En una palabra, la dirección de la palabra coincide con la dirección del byte con dirección más baja. Dirección Doble: La Dirección de doble palabra está compuesta por 2 palabras (4 bytes). Una dirección doble palabra contiene 32 señales consecutivas. Hablaremos igualmente de doble palabra de entrada (ED) ó doble palabra de salida (AD) La doble palabra de entrada 0 (ED 0) está compuesta de los bytes de entrada:EB 0, EB 1, EB 2 y EB 3. Ejemplo EB 0 EW 0 EB0 EB1 ED EW EW 2 UPV REDES DE COMUNICACIONES INDUSTRIALES
34
Redes de Comunicaciones Industriales
EB0 E 0.7 E 0.6 E 0.5 E 0.4 E 0.3 E 0.2 E 0.1 E 0.0 EW0 EB1 E 1.7 E 1.6 E 1.5 E 1.4 E 1.3 E 1.2 E 1.1 E 1.0 EW1 ED0 EB2 E 2.7 E 2.6 E 2.5 E 2.4 E 2.3 E 2.2 E 2.1 E 2.0 EW2 ED1 EB3 E 3.7 E 3.6 E 3.5 E 3.4 E 3.3 E 3.2 E 3.1 E 3.0 EW3 EB4 E 0.7 E 4.6 E 4.5 E 4.4 E 4.3 E 4.2 E 4.1 E 4.0 UPV REDES DE COMUNICACIONES INDUSTRIALES
35
Principios de programación
REDES DE COMUNICACIONES INDUSTRIALES Principios de programación Sistemas de numeración. REDES DE COMUNICACIONES INDUSTRIALES
36
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
37
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
38
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
39
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
40
Principios de programación
REDES DE COMUNICACIONES INDUSTRIALES Principios de programación Acumuladores. REDES DE COMUNICACIONES INDUSTRIALES
41
Redes de Comunicaciones Industriales
L (carga) y T (transferencia) Las instrucciones de carga y transferencia hacen posible el intercambio de datos entre áreas de memoria. La carga y transferencia tiene lugar incondicionalmente independientemente del RLO. El intercambio de datos tiene lugar a través del acumulador. La instrucción de carga escribe el valor que haya en la dirección origen en el Acumulador 1, y la instrucción de transferencia copia el contenido del acumulador al destino especificado. Al realizar la operación de carga, el valor actual del ACCU1 pasa, automáticamente, al ACCU 2. UPV REDES DE COMUNICACIONES INDUSTRIALES
42
Redes de Comunicaciones Industriales
General Los acumuladores son registros auxiliares en la CPU que se utilizan en el intercambio de datos y para operaciones de comparación y matemáticas. Las operaciones L y T pueden trabajar con octetos, “words” o “double words”. El S7-300 tiene dos acumuladores de 32 bits cada uno y el S7-400 cuatro. Operación de Carga La operación de carga siempre afecta al ACCU 1. Las posiciones no utilizadas se ponen a 0. El valor actual del ACCU 1 pasa al ACCU 2 durante la carga. Operación de Transferencia Durante una transferencia, el contenido de ACCU 1 se retiene y se usa para transferir la información a varias áreas de memoria. Si sólo se transfiere un byte se usan los ocho bits de la derecha. RLO Las instrucciones de carga y transferencia son independientes del RLO y por esto se ejecutan siempre. Para cargar y transferir de forma condicional en AWL es necesario utilizar saltos condicionales a etiquetas. UPV REDES DE COMUNICACIONES INDUSTRIALES
43
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
44
Redes de Comunicaciones Industriales
7 (EB10) 0 7 (AB10) 0 7 (MB10) 0 Carga de octetos L EB10 L AB10 L MB10 31 “0” 24 23 “0” 16 15 “0” 8 ACU1 Carga de palabras 7 (EB10) 0 7 (EB11) 0 7 (AB10) 0 7 (AB11) 0 7 (MB10) 0 7 (MB11) 0 L EW10 L AW10 L MW10 31 “0” 24 23 “0” 16 ACU1 Carga de dobles palabras 7 (EB10) 0 7 (EB11) 0 7 (EB12) 0 7 (EB13) 0 7 (AB10) 0 7 (AB11) 0 7 (AB12) 0 7 (AB13) 0 7 (MB10) 0 7 (MB12) 0 7 (MB13) 0 L EE10 L AD10 L MD10 ACU1 UPV REDES DE COMUNICACIONES INDUSTRIALES
45
Redes de Comunicaciones Industriales
31 “W” 24 23 “X” 16 15 “Y” 8 7 “Z” 0 ACU1 Transferencia de octetos T AB10 7 “Z” 0 AB10 31 “W” 24 23 “X” 16 15 “Y” 8 7 “Z” 0 ACU1 (La transferencia no modifica ACU1) 31 “W” 24 23 “X” 16 15 “Y” 8 7 “Z” 0 ACU1 Transferencia de palabras T MW14 15 “Y” 8 7 “Z” 0 MW14 31 “W” 24 23 “X” 16 15 “Y” 8 7 “Z” 0 ACU1 31 “W” 24 23 “X” 16 15 “Y” 8 7 “Z” 0 ACU1 Transferencia de dobles palabras T DBD2 31 “W” 24 23 “X” 16 15 “Y” 8 7 “Z” 0 DBD2 31 “W” 24 23 “X” 16 15 “Y” 8 7 “Z” 0 ACU1 UPV REDES DE COMUNICACIONES INDUSTRIALES
46
Redes de Comunicaciones Industriales
Indicar como quedará ACU1, ACU2 y MB5 tras ejecutar las operaciones. A) B) L L 10 L L 12 -I I T MB5 T MB5 UPV REDES DE COMUNICACIONES INDUSTRIALES
47
REDES DE COMUNICACIONES INDUSTRIALES
PROGRAMACIÓN REDES DE COMUNICACIONES INDUSTRIALES
48
REDES DE COMUNICACIONES INDUSTRIALES
PROGRAMACIÓN ÍNDICE Sistemas de representación. Operaciones de asignación. Operaciones lógicas. Funciones de control de programa. Temporizadores. Contadores y comparación. Generador de impulsos. Bloques de datos. Funciones. Punteros. UPV REDES DE COMUNICACIONES INDUSTRIALES
49
REDES DE COMUNICACIONES INDUSTRIALES Sistemas de representación
PROGRAMACIÓN Sistemas de representación REDES DE COMUNICACIONES INDUSTRIALES
50
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
51
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
52
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
53
REDES DE COMUNICACIONES INDUSTRIALES Operaciones de asignación
PROGRAMACIÓN Operaciones de asignación REDES DE COMUNICACIONES INDUSTRIALES
54
Redes de Comunicaciones Industriales
OPERACIONES DE ASIGNACIÓN S “Activar”. Asignar a un operando un “1” R “Desactivar”. Asignar a un operando un “0” = “Asignar”. Asignar a un operando un “0” ó “1” U E 0.0 // Condición S A 4.0 // Se asigna un “1” U E 0.1 // Condición R A 4.0 // Domina la última operación. UPV REDES DE COMUNICACIONES INDUSTRIALES
55
REDES DE COMUNICACIONES INDUSTRIALES Operaciones lógicas
PROGRAMACIÓN Operaciones lógicas REDES DE COMUNICACIONES INDUSTRIALES
56
Redes de Comunicaciones Industriales
OPERACIONES COMBINACIONALES U (Y) UN (Y-No) O (O) Trabajan con operandos ON (O-No) binarios E, A, M. U( O( ) El resultado de una combinación puede ser asignado al final de las operaciones de consulta de varios operandos -> = U E O E 1.2 U E 1.3 “SERIE” O E 1.3 “PARALELO” = A = A 2.0 UPV REDES DE COMUNICACIONES INDUSTRIALES
57
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
58
REDES DE COMUNICACIONES INDUSTRIALES Ejercicios de operaciones lógicas
PROGRAMACIÓN Ejercicios de operaciones lógicas REDES DE COMUNICACIONES INDUSTRIALES
59
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
60
Redes de Comunicaciones Industriales
124.0 124.1 124.2 124.3 124.4 EJERCICIO 4 A 124.0 124.5 A 124.1 A 124.2 E 124.6 UPV REDES DE COMUNICACIONES INDUSTRIALES
61
REDES DE COMUNICACIONES INDUSTRIALES Funciones de control
PROGRAMACIÓN Funciones de control REDES DE COMUNICACIONES INDUSTRIALES
62
Redes de Comunicaciones Industriales
FUNCIONES DE CONTROL DE PROGRAMA Saltos a final de módulo BEB (Condicional) BEA (Incondicional) Distribuidor de saltos (SPL) Saltos a una Meta SPB (Condicional) SPA (Incondicional) META: Etiqueta de hasta 4 caracteres seguida de “:” UPV REDES DE COMUNICACIONES INDUSTRIALES
63
Redes de Comunicaciones Industriales
SPA. Las operaciones de salto incondicional (SPA) interrumpen el desarrollo normal del programa haciendo que el mismo salte a una meta determinada. La meta define el punto en que deberá continuar el programa. El salto se efectúa independientemente de las condiciones. SPL. Es un distribuidor de saltos seguido de una serie de saltos incondicionales a metas determinadas (lista de saltos). El salto de la lista se escoge según el valor del contenido en el ACU1, es decir si el ACU1 vale 0 se escogerá el primer salto incondicional (SPA), si vale 1 se saltará al segundo salto… Si el valor se encuentra fuera de la lista se salta a lameta especificada en SPL. UPV REDES DE COMUNICACIONES INDUSTRIALES
64
Redes de Comunicaciones Industriales
Ejemplo de salto SPA U E 1.0 // Cargamos en el RLO el valor de la entrada 1.0 SPA AQUI // saltamos de forma incondicional a la meta AQUÍ L EB0 // esta línea no se ejecuta (es saltada) AQUI: U E 2.0 //aquí continua la ejecución del programa = A 3.0 //introducimos el resultado en la salida 3.0 BE UPV REDES DE COMUNICACIONES INDUSTRIALES
65
REDES DE COMUNICACIONES INDUSTRIALES Ejercicios funciones de control
PROGRAMACIÓN Ejercicios funciones de control REDES DE COMUNICACIONES INDUSTRIALES
66
Redes de Comunicaciones Industriales
Ejercicio: Ejecutar 4 programas distintos utilizando únicamente dos entradas, y que cada uno de ellos active una salida distinta. UPV REDES DE COMUNICACIONES INDUSTRIALES
67
REDES DE COMUNICACIONES INDUSTRIALES Temporizadores
PROGRAMACIÓN Temporizadores REDES DE COMUNICACIONES INDUSTRIALES
68
Redes de Comunicaciones Industriales
TEMPORIZADORES SE, SI, SA, SS, SV Estructura de Programa U E //Condición L S5T# 1H_3M_5S_10MS //Carga tiempo SE T1 //Modo y temporizador U T1 //Consulta estado T1 = A 4.0 La carga de un temporizador es condicional. UPV REDES DE COMUNICACIONES INDUSTRIALES
69
Redes de Comunicaciones Industriales
SE (Retardo a la conexión). La señal de salida cambia de “0” a “1” solamente si el tiempo programado ha transcurrido y la señal de entrada aún está a “1”. U E 0.0 L S5T#7s SE T0 U T0 = A 4.0 E 0.0 A 4.0 <7 7 SA (Retardo a la desconexión) La señal de salida es “1” cuando la señal de entrada es “1” o cuando el temporizador está en marcha (la señal de salida permanece a “1” durante el tiempo programado). El temporizador arranca cuando la señal de entrada cambia de “1” a “0”. U E 0.0 LS5T#5s SA T0 U T0 = A 4.0 E 0.0 A 4.0 5 5 UPV REDES DE COMUNICACIONES INDUSTRIALES
70
Redes de Comunicaciones Industriales
SI (Impulso). El tiempo máximo durante el cual la señal de salida permanece a “1” es idéntico al tiempo programado t. La señal de salida permanece a “1” por un periodo más breve si la señal de entrada cambia a “0”. U E 0.0 L S5T#6s SI T0 U T0 = A 4.0 E 0.0 A 4.0 6 <6 6 SV (Impulso prolongado) La señal de salida permanece a “1” durante el tiempo programado, independientemente del tiempo en que la señal de entrada esté a “1”. U E 0.0 LS5T#3s SV T0 U T0 = A 4.0 E 0.0 A 4.0 3 3 UPV REDES DE COMUNICACIONES INDUSTRIALES
71
Redes de Comunicaciones Industriales
SS (Retardo a la conexión con memoria) La señal de salida cambia de “0” a “1” solamente si el tiempo programado ha transcurrido, independientemente del tiempo en el que la señal de entrada esté a “1”. La señal de salida se mantendrá conectada hasta que se borre el temporizador con la operación RT. U E 0.0 LS5T#3s SS T0 U E 1.0 R T0 U T0 = A 4.0 E 0.0 E 1.0 A 4.0 3 3 UPV REDES DE COMUNICACIONES INDUSTRIALES
72
REDES DE COMUNICACIONES INDUSTRIALES Ejercicios de temporizadores
PROGRAMACIÓN Ejercicios de temporizadores REDES DE COMUNICACIONES INDUSTRIALES
73
Redes de Comunicaciones Industriales
Ejercicio (semáforo 1, pag. 61): Programar un semáforo con tres luces (verde, amarillo y rojo). Se considerará que se dispone de dos pulsadores de mando, uno de marcha y otro de paro. Con el pulsador de marcha se desea que comience el ciclo. El ciclo de funcionamiento es el siguiente: 1º verde durante 5 segundos. 2º verde y amarillo durante 2 segundos. 3º rojo durante 6 segundos. El ciclo deberá repetirse hasta que se pulse el pulsador de paro. En ese momento se apaga todo. También se desea que siempre que se le de al pulsador de marcha el ciclo empiece por el verde. A 124.0 M P A 124.1 E 0.0 E 0.1 A 124.2 UPV REDES DE COMUNICACIONES INDUSTRIALES
74
REDES DE COMUNICACIONES INDUSTRIALES
PROGRAMACIÓN Ejercicios adicionales de temporizadores REDES DE COMUNICACIONES INDUSTRIALES
75
Redes de Comunicaciones Industriales
Ejercicio (escalera automática): Tenemos una escalera automática cuyo funcionamiento es el siguiente. Cuando le demos al pulsador de marcha queremos que esté activa. Esto no significa que se ponga en marcha, lo hará cuando llegue una persona. Cuando esté en marcha el funcionamiento debe ser el siguiente: a partir de cuando la persona suba al primer escalón queremos que esté en marcha 5 s que es lo que tarda en subir. Si antes de acabar el ciclo llega otra persona queremos que llegue al final del trayecto, en resumen, la escalera debe estar en marcha 5 s desde la última persona que pisó el primer escalón. Cuando le demos al pulsador de paro si hay alguna persona que esté subiendo debe llegar al final del trayecto, pero si llega otra persona ya no puede subir. UPV REDES DE COMUNICACIONES INDUSTRIALES
76
Redes de Comunicaciones Industriales
. A 4.0 E 1.0 . M P E 0.0 E 0.1 UPV REDES DE COMUNICACIONES INDUSTRIALES
77
REDES DE COMUNICACIONES INDUSTRIALES Contadores y comparación
PROGRAMACIÓN Contadores y comparación REDES DE COMUNICACIONES INDUSTRIALES
78
Redes de Comunicaciones Industriales
CONTADORES (Z0 –Z127) Contadores ZV (Incrementar) ZR (Decrementar) S (Set == fijar) R (Reset) Ejemplo: incremento y decremento de un contador U E // Condición ZV Z0 // Incrementa una unidad el contador Z0 U E // Condición ZR Z5 // Decrementa en una unidad el contador Z5 UPV REDES DE COMUNICACIONES INDUSTRIALES
79
Redes de Comunicaciones Industriales
CONTADORES Ejemplo: cargar un valor en el contador. U E // Condición L 50 // Carga el valor 50 S Z10 // En el contador Z10 carga el 50 Ejemplo: resetear un contador. U E // Condición R Z10 // Pone a CERO el contador U Z10 // Si Z10 ≠ 0 = A 0.0 UPV REDES DE COMUNICACIONES INDUSTRIALES
80
Redes de Comunicaciones Industriales
COMPARACIÓN > < >= <= == <> Ejemplo: Cargamos dos contadores y los comparamos L Z0 // Carga el contador Z0 L Z10 // Carga el contador Z10 < I // Si Z0 < Z10 = A 5.3 UPV REDES DE COMUNICACIONES INDUSTRIALES
81
Redes de Comunicaciones Industriales
Ejemplo: Cargamos y comparamos dos enteros. L 2 // Carga el valor 2. L 3 // Carga el valor 3. < I // Si 2 < 3. = A 5.3 Ejemplo: Cargamos y comparamos dos reales. L 2.0 // Carga el valor real 2.0 L 3.0 // Carga el valor real 3.0. <R // Si 2.0 < 3.0. UPV REDES DE COMUNICACIONES INDUSTRIALES
82
Redes de Comunicaciones Industriales
Ejemplo: L MW10 // Carga la palabra de marca 10 L 1 // Carga el valor 1 +I // Sumamos uno al valor de la palabra de marca 10 T MW10 // Transfiere el resultado Es equivalente a: +1 // Suma 1 T MW10 // Transfiere el resultado de la suma UPV REDES DE COMUNICACIONES INDUSTRIALES
83
REDES DE COMUNICACIONES INDUSTRIALES
PROGRAMACIÓN Ejercicios con contadores y comparaciones REDES DE COMUNICACIONES INDUSTRIALES
84
Redes de Comunicaciones Industriales
Ejercicio (parking 1, pag. 64): Se pretende automatizar el funcionamiento de los indicadores de la capacidad de un parking en un determinado momento. El funcionamiento que se quiere que siga es el siguiente: Cuando llega un coche y está libre se desea que se abra la barrera automáticamente activando una salida. La forma de saber si ha llegado un coche es mediante un sensor conectado a una entrada. A la salida no hay ninguna barrera, simplemente hay otro sensor conectado a otra entrada que indica cuando un coche ha salido. En el parking caben un máximo de 10 coches. Cuando el parking tenga menos de 10 coches se quiere que esté encendida la luz de libre (activación de una salida). Cuando en el parking haya 10 coches se quiere que esté encendida la luz de ocupado. Además, si el parking está ocupado y llega un coche, no se le debe abrir la barrera de entrada. UPV REDES DE COMUNICACIONES INDUSTRIALES
85
Redes de Comunicaciones Industriales
Entra coche en parking E 0.0 Sale coche de parking E 0.1 Barrera A 4.0 LIBRE (A 1.0) 10 COCHES OCUPADO (A 1.1) UPV REDES DE COMUNICACIONES INDUSTRIALES
86
REDES DE COMUNICACIONES INDUSTRIALES Generador de impulsos
PROGRAMACIÓN Generador de impulsos REDES DE COMUNICACIONES INDUSTRIALES
87
Redes de Comunicaciones Industriales
GENERADOR DE IMPULSOS U E 0.0 UN M 2.0 L S5T# 1S SE T0 U T0 = M 2.0 Activación E 0.0 T T T T0 Tc M 2.0 1 segundo 1 segundo 1 segundo UPV REDES DE COMUNICACIONES INDUSTRIALES
88
REDES DE COMUNICACIONES INDUSTRIALES Ejercicios generador de impulsos
PROGRAMACIÓN Ejercicios generador de impulsos REDES DE COMUNICACIONES INDUSTRIALES
89
Redes de Comunicaciones Industriales
Ejercicio (pag. 87): Se pretende hacer un contador que a partir de que le demos al pulsador de marcha, comience a contar una unidad cada segundo hasta llegar a 60. Cuando llegue a 60 queremos que siga contando una unidad cada segundo pero en sentido descendente. La secuencia debe ser la siguiente: 0, 1, 2, …, 58, 59, 60, 59, 58, …, 2, 1, 0, 1, 2 …. Cuando le demos al pulsador de paro queremos que deje de contar. Cuando le demos de nuevo al pulsador de marcha queremos que: Siga contando por donde iba. Empiece a contar otra vez desde cero. UPV REDES DE COMUNICACIONES INDUSTRIALES
90
Redes de Comunicaciones Industriales
Ejercicio (reloj digital): Realizar un programa utilizando cuatro contadores (días, horas, minutos y segundos) y un generador de impulsos que simula un reloj digital. Transferir los minutos y segundos a una palabra de salida. UPV REDES DE COMUNICACIONES INDUSTRIALES
91
REDES DE COMUNICACIONES INDUSTRIALES Bloques de datos (DBs)
PROGRAMACIÓN Bloques de datos (DBs) REDES DE COMUNICACIONES INDUSTRIALES
92
Redes de Comunicaciones Industriales
DB´s (Bloques de datos) Qué es. Tabla de memoria. Zona donde se almacenan datos. Dos formas de crear un DB Manual. Automático (SFC 22). Acceso Instrucción AUF. Modo comprimido. UPV REDES DE COMUNICACIONES INDUSTRIALES
93
Redes de Comunicaciones Industriales
Los Módulos de Datos (DBs) son zonas de la memoria de la CPU en las cuales se almacenan datos de programa. Cada vez que se ejecuta un módulo cualquiera, éste puede abrir un área de memoria en forma de DB. Los datos de un DB, al contrario que los datos locales, no se borran cuando se cierra el DB ni cuando el módulo que lo abrió termina de ejecutarse. Los módulos de datos globales se pueden usar desde todos los módulos globales de operación lógicos del programa. Cualquier FB, FC, y OB puede leer y escribir datos en un DBs globales. Antes de poder acceder a los datos, es necesario abrir el módulo. UPV REDES DE COMUNICACIONES INDUSTRIALES
94
Redes de Comunicaciones Industriales
DB´s (Bloque de datos) Creación manual “Administrador Simatic” -> “Insertar nuevo objeto” -> “Bloques de datos” -> Rellenar tabla. Dirección: Se rellena de forma automática. Es el área de memoria asignada a cada variable. Nombre: Es una etiqueta para el dato. Tipo: El tipo del dato (Int, bool, word, etc.) Valor inicial: Para la inicialización del dato. UPV REDES DE COMUNICACIONES INDUSTRIALES
95
Redes de Comunicaciones Industriales
UPV REDES DE COMUNICACIONES INDUSTRIALES
96
Redes de Comunicaciones Industriales
DB´s (Bloque de datos) Creación Automática Utilizando la SFC 22. Esta llamada se realiza en el OB100. Se puede crear en tiempo de ejecución. CALL SFC 22: Low Limit: El menor nº del margen que se puede asignar al bloque de datos. Up Limit: El mayor nº del margen que se puede asignar al bloque de datos. Count: Cantidad de bytes de datos a asignar al bloque. Ret_val: Si se produce un error se guarda en esta posición de memoria indicada. DB_Number: En esta variable se guardará el nº asignado al DB. UPV REDES DE COMUNICACIONES INDUSTRIALES
97
Redes de Comunicaciones Industriales
DB´s (Bloque de datos) Creación Automática Se creará un DB con un número asignado dentro del margen indicado entre “Low limit” y “Up limit” con el tamaño indicado en “Count”. No hay definidos ni nombres, ni tipos de datos y no se les puede dar valores iniciales. Para crear un DB determinado se debe asignar el mismo valor al límite inferior y al superior. UPV REDES DE COMUNICACIONES INDUSTRIALES
98
Redes de Comunicaciones Industriales
DB´s (Bloque de datos) Acceso. Instrucción AUF. AUF DB 0 // Se abre el DB L DBW0 // Se carga el contenido de la palabra 0 T MW 10 // Se transfiere ese contenido a la // marca de palabra 10 BE Acceso. Modo comprimido. L DBX.DBY Ejemplo: L DB0.DBW0 // DB y datos a acceder T MW 10 // Transferencia UPV REDES DE COMUNICACIONES INDUSTRIALES
99
Redes de Comunicaciones Industriales
DB´s (Bloque de datos) BIT -> DB? BYTE (8 bits) -> DBB WORD ( 2 bytes = 16 bits) -> DBW DOUBLE WORD (4 bytes) -> DBD Ejemplos: L DB1.DBB0 // Cargamos el byte 0 del DB1 L DB2.DBW0 // Cargamos la palabra 0 del DB2 L DB3.DBD0 // Cargamos la doble palabra 0 del DB3 T DB3.DBD0 // Transferimos la doble palabra 0 del DB3 UPV REDES DE COMUNICACIONES INDUSTRIALES
100
REDES DE COMUNICACIONES INDUSTRIALES
PROGRAMACIÓN Ejercicios con bloques de datos (DBs) REDES DE COMUNICACIONES INDUSTRIALES
101
Redes de Comunicaciones Industriales
Ejercicio 1: Crear un DB por ejemplo (DB5) de 100 octetos con SFC 22. Hacerlo en el OB100. Ejercicio 2: Crear 10 DB´s con SFC 22 que estén comprendidos entre (DB2 – DB20). Cada DB debe tener 100 octetos. Nota1: Estos ejercicios deben realizarse con el PLC y no con el simulador. Nota2: Pasar a Online para ver la creación de los DBs correspondientes en el PLC. UPV REDES DE COMUNICACIONES INDUSTRIALES
102
Redes de Comunicaciones Industriales
Ejercicio (Cinta transportadora, pag 73): Una cinta transportadora lleva unos determinados productos. Se pretende que los productos que se salgan del peso estipulado tanto por arriba como por abajo, se desechen. Para ello se tendrá en un bloque de datos los límites de peso tanto superior como inferior. Con una de las palabras de entrada se simularán los pesos de las piezas que circulan por la cinta. Cuando la pieza tenga un peso comprendido entre los límites correctos se encienda una luz que indique que la pieza es correcta (una sola salida). Cuando una pieza se salga de los límites una luz debe indicar que la pieza es mala y a la vez debe abrirse una trampilla para que la pieza salga de la cinta (dos salidas). Solucionar el problema de dos formas, la primera creando manualmente el DB, la segunda creando el DB mediante la SFC 22 en tiempo de ejecución. UPV REDES DE COMUNICACIONES INDUSTRIALES
103
Redes de Comunicaciones Industriales
Peso correcto A 124.1 A 124.0 Peso incorrecto A 124.2 Trampilla A 124.3 Cinta transportadora E 0.2 Balanza M P E 0.0 E 0.1 UPV REDES DE COMUNICACIONES INDUSTRIALES
104
REDES DE COMUNICACIONES INDUSTRIALES Funciones (FC´s)
PROGRAMACIÓN Funciones (FC´s) REDES DE COMUNICACIONES INDUSTRIALES
105
Redes de Comunicaciones Industriales
FUNCIONES (FC´s) Bloque programable para organizar los programas. Bloque lógico sin memoria. Las variables temporales se memorizan en la pila de datos local una vez ejecutada la FC desaparecen. TIPOS Con parámetros. Sin parámetros. UPV REDES DE COMUNICACIONES INDUSTRIALES
106
Redes de Comunicaciones Industriales
FUNCIONES (FC´s) Incondicional (siempre se produce) CALL + nombre función (CALL FC1) UC + nombre función (UC FC1) Condicional CC + nombre función (CC FC1) Ejemplo: U E // Condición CC FC1 // Llamada a la función FC1 Nota: para las funciones con parámetros se debe utilizar CALL. UPV REDES DE COMUNICACIONES INDUSTRIALES
107
Redes de Comunicaciones Industriales
FUNCIONES (FC´s) Sin parámetros Con parámetros 1024 parámetros como máximo. Se utiliza “#” para invocar al parámetro definido en la cabecera. Ejemplo: L #VALOR_A. CABECERA PARA LA FUNCIÓN CON PARÁMETROS Dirección: se rellena automáticamente. Declaración: IN (datos de entrada), OUT (datos de salida de la función), IN/OUT (pueden ser una de las dos cosas), TEMP (temporales). Nombre: etiqueta del parámetro. Tipo: int, bool, word, byte, etc. Valor inicial: inicialización del parámetro. Comentario: explicación breve de cómo se va a utilizar el parámetro UPV REDES DE COMUNICACIONES INDUSTRIALES
108
REDES DE COMUNICACIONES INDUSTRIALES Ejercicios con funciones
PROGRAMACIÓN Ejercicios con funciones REDES DE COMUNICACIONES INDUSTRIALES
109
Redes de Comunicaciones Industriales
Ejercicio (página 78): Deberá crear un programa que sume dos números enteros. La suma de dichos números deberá realizarse en un FC, y deberá hacer esto de dos formas. Sin parámetros, es decir, la FC siempre sumará los mismos números, por ejemplo 2 y 3. Con paso de parámetros, en la que podrá especificar desde el programa principal que números desea que sume la FC. UPV REDES DE COMUNICACIONES INDUSTRIALES
110
Redes de Comunicaciones Industriales
Ejercicio (operaciones): Realizar diversas operaciones utilizando distintas FCs con paso de parámetros. Realizar la división de dos números reales (/R). Realizar la suma y posteriormente calcular el cuadrado del resultado anterior (instrucción SQR). Ampliar la segunda FC redondeando por arriba (instrucción RND+) el resultado del cuadrado anterior. UPV REDES DE COMUNICACIONES INDUSTRIALES
111
Redes de Comunicaciones Industriales
Ejercicio (bomba de agua, pag 85): Se tiene un depósito de agua, para manejarlo se tiene un selector de mando. Se puede seleccionar el modo manual o el modo automático. Si se selecciona el modo manual, se quiere que mientras esté conectada la bomba esté conectada y cuando se desconecte la bomba se pare. Este modo no debe hacer caso a las boyas de nivel. Si está en modo automático, el nivel debe mantenerse entre las dos boyas. Cuando el agua llegue al nivel de abajo se debe poner en marcha la bomba, y cuando el agua llegue al nivel de arriba se debe parar la bomba. Además también se tiene un relé térmico que actúa tanto cuando tenemos la bomba en funcionamiento manual como cundo la tenemos en automático. Cuando salta el relé, la bomba debe pararse y avisar con un indicador luminoso. Por último se desea tener una luz de marcha que indique cuando está en marcha la bomba. NOTA: Ejecutar el modo manual en un FC y el modo automático en otro FC. UPV REDES DE COMUNICACIONES INDUSTRIALES
112
Redes de Comunicaciones Industriales
E 0.3 nivel máximo E 0.4 nivel mínimo E 2.0 Relé térmico Bomba A 2.0 A 2.1 Luz funcionamiento A 2.2 Luz disparo relé térmico UPV REDES DE COMUNICACIONES INDUSTRIALES
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.