Programaci贸n avanzada de PLC麓s Nivel I y II
CONTACTOS y BOBINAS
Realizar ejercicio 1 Marcha-Paro apartado “a”. Realizar ejercicio 6 Control de una vagoneta.
Curso Autómatas Programables
2
SET y RSET SET.- Pone el bit correspondiente a ON cuando la condición de ejecución es cierta, y mantiene el estado de ese bit a ON aunque la condición de entrada se desactive. SET B
B = Bit
RSET.- Pone el bit correspondiente a OFF cuando la condición de ejecución es cierta y mantiene el estado de ese bit a OFF aunque la condición de entrada se desactive. RSET B
B = Bit
Realizar ejercicio 1 de Marcha-Paro con las instrucciones SET y RSET, apartado “ b”.
Curso Autómatas Programables
3
KEEP Se utiliza para mantener el estado del bit asignado a la instrucción mediante dos condiciones de ejecución (S y R). S es la entrada de SET. R es la entrada de RESET. S R
Realizar ejercicio Realizar ejercicio Realizar ejercicio
KEEP B
B = Bit
1 Marcha-Paro con la instrucción KEEP, apartado “c”. 6 Control de una vagoneta. 7 Escalera mecánica.
Curso Autómatas Programables
4
TEMPORIZADOR, ( TIM ) Un temporizador se activa cuando su condición de ejecución se pone en ON y se resetea cuando la condición de ejecución se pone a OFF. Una vez activada mide en unidades de 0.1 sg.
El rango del valor de consigna (SV) es de 000.0 a 999.9 (16 min y 39,9 sg) sin escribirse el punto decimal.El valor del temporizador debe estar en BCD, sino dará error. Los números de T van de 000 a 4095 en los PLCs CJ1M.
Curso Autómatas Programables
5
TEMPORIZADOR, ( TIM ) Diagrama de funcionamiento:
Realizar ejercicios 2 Temporizador. Realizar ejercicios 3 Temporizador con retardo a la conexión. Realizar ejercicios 4 Temporizador con retardo a la desconexión. Realizar ejercicios 5 Temporizadores.
Curso Autómatas Programables
6
DIFU y DIFD DIFU.- Se utiliza para poner a ON el bit designado durante un solo ciclo de scan. Cuando la condición de ejecución sea ON se activará el bit correspondiente en el flanco de subida de la condición de ejecución y durante un sólo ciclo de scan.
DIFD.- Se utiliza para poner a ON el bit designado durante un sólo ciclo de scan. Cuando la condición de ejecución sea ON se activará el bit correspondiente en el flanco de bajada de la condición de ejecución y durante un sólo ciclo de scan.
Realizar ejercicio 1 Marcha-Paro, apartado “d”. Realizar ejercicio 9 Control luz pasillo con tres salidas (Lámpara conmutada desde 3 puntos).
Curso Autómatas Programables
7
CONTADOR, CNT(12) Un contador se utiliza para descontar a partir de valor de consigna (SV), cuando la condición de ejecución pasa de OFF a ON. Si la condición de ejecución permanece en ON u OFF, el contador mantiene su estado. Aunque la alimentación se vaya, el contador sigue manteniendo su valor. El contador tiene dos condiciones de ejecución: - CP entrada de impulso de contaje. - R entrada de reset del contador.
Curso Autómatas Programables
8
CONTADOR REVERSIBLE, CNTR(12) CNTR(12).- Un contador reversible se utiliza para contar entre cero y un de valor de consigna (SV) de acuerdo con los cambios de dos condiciones de ejecución de entrada: La entrada de contaje hacia adelante (II). La entrada de contaje hacia atrás (DI). La entrada de reset (R).
Curso Autómatas Programables
9
CONTADOR REVERSIBLE, CNTR(12) El valor presente del contador (PV) modifica su valor en función de las siguientes condiciones: PV=PV+1Flanco de subida en la entrada II. PV=PV-1Flanco de subida en la entrada DI. Diagrama de funcionamiento
Realizar ejercicio 13, Control de entrada.
Curso Autómatas Programables
10
COMPARAR, CMP(20) CMP(20) compara S1 y S2 y envía el resultado a los indicadores EQ, LE ,GE,LT y GT en el área SR. Precauciones GE: ON si S1 ≥ S2. EQ: ON si S1 = S2. LE: ON si S1 ≤ S2.
/
GT: ON si S1 > S2
/
LT: ON si S1 < S2.
Realizar ejercicio práctico 15, Control de acceso a un garaje.
Curso Autómatas Programables
11
COMPARAR RANGO, ZCP(88) ZCP(088) compara CD con el rango definido por el límite superior UL e inferior LL y envía el resultado a los indicadores GT, EQ y LT en el área de SR. Precauciones Cuando: LL ≤ CD ≤ UL EQ a ON Realizar ejercicio 16 Control de acceso a una sala audiovisual.
Curso Autómatas Programables
12
ď&#x20AC;¸ MOVER, MOV(21) MOV(21) copia el contenido de S a D. D
Realizar ejercicio 19 Movimiento de datos.
Curso AutĂłmatas Programables
13
MOVIMIENTO DE DÍGITOS, MOVD (83) MOVD (83).- Cuando la condición de ejecución es OFF, MOVD(83) no se ejecuta. Cuando la condición de ejecución es ON, MOVD(83) copia el contenido del dígito(s) especificado(s) en S al dígito(s) especificado(s) de D. De una vez se pueden transferir hasta 4 dígitos.
Curso Autómatas Programables
14
MOVIMIENTO DE DÍGITOS, MOVD (83)
Curso Autómatas Programables
15
RELLENAR BLOQUE, BSET(71) BSET(71) copia el contenido de S a todos los canales desde St a E.
Realizar ejercicio 20 Reseteo de una zona de memoria.
Curso Autómatas Programables
16
INTERCAMBIO DE DATOS, XCHG(73) XCHG(73) intercambia el contenido de E1 y E2.
Curso Autómatas Programables
17
TRANSFERENCIA DE BLOQUE, XFER(70) XFER(70) copia los contenidos de S, S+1, ...,
Curso Autómatas Programables
18
REGISTRO DE DESPLAZAMIENTO, SFT(10) SFT(10) se controla mediante tres condiciones de ejecución I, P y R. Mientras la entrada de reset(R): Cuando se produzca flanco de subida en la entrada de desplazamiento(P)desplazar el estado I(entrada de datos) en el registro, todos los bits del registro se desplazan una posición a la izquierda, perdiéndose el bit de la izquierda.
Curso Autómatas Programables
19
REGISTRO DE DESPLAZAMIENTO, SFT(10)
-El mismo canal puede designarse para St y E para crear un registro de desplazamiento de 16 bits (es decir, un canal). -Cuando la condición de ejecución R se pone enON, todos los bits en el registro de desplazamiento se pondrán a OFF y el registro no operará hasta que R se ponga en OFF de nuevo. Realizar ejercicio 17 Control manual de un registro de desplazamiento.
Curso Autómatas Programables
20
REGISTRO DE DESPLAZAMIENTO REVERSIBLE, SFTR(84)
SFTR(84) se utiliza para crear un registro de desplazamiento de uno o varios canales que puede desplazar datos a derecha o izquierda. Para crear un registro de un canal, designar el mismo canal para St y E.
Curso Autómatas Programables
21
REGISTRO DE DESPLAZAMIENTO REVERSIBLE, SFTR(84) -El canal de control indica: La dirección de desplazamientobit 12 El estado a escribir en el registrobit 13 El impulso de desplazamientobit 14 La entrada de reset bit 15. El canal de control se desglosa como sigue:
-No se ejecuta nada si la condición de ejecución es OFF o si el bit 14 está en OFF.
Curso Autómatas Programables
22
REGISTRO DE DESPLAZAMIENTO REVERSIBLE, SFTR(84)
St 0 1 2 3
14 15
0 1 2 3
14 15
DATOS(I)
ESTE DATO SE PIERDE
E Realizar ejercicio 18 Indicación del nivel de un depósito.
Curso Autómatas Programables
23
FLAG DE ACARREO, STC(40) y CLC(41) Estas instrucciones gestionan el flag de acarreo o flag CY. El flag CY se utiliza en las operaciones matemáticas, para detectar: - Existencia de overflow en el resultado de una suma (+BC). - Existencia de resultado negativo en una substracción (-BC).
Curso Autómatas Programables
24
SUMA EN BCD, (+BC) La instrucción +BC ejecuta la suma entre dos datos de 16 bit (canales y/o constantes) en formato bcd. Al resultado se le suma el acarreo o bien se le suma 1 si CY = ON Los parámetros de la instrucción son 3:
– A1,A2 = sumandos (#, ir, sr, hr, tim, cnt) – R = resultado = A1+A2+CY
A1 A2 R
Curso Autómatas Programables
25
RESTA EN BCD, (-BC) La instrucción -BC ejecuta la substracción de dos datos de 16 bit en formato bcd. Al resultado se le resta el acarreo o bien se le suma -1 si CY = ON Los parámetros de la instrucción son 3:
– MI = minuendo (#, ir, sr, hr, tim, cnt) – SU = sustraendo (#, ir, sr, hr, tim, cnt) – R = resultado (ir, hr) = MI - SU - CY
Mi Su R
Curso Autómatas Programables
26
MULTIPLICACIÓN EN BCD, (*B) Multiplica el contenido de los datos especificados en la instrucción (en bcd) y el resultado se transfiere a un registro o canal.
*B A B
A, B = CANALES /CONSTANTES R = REGISTRO RESULTADO (2 canales consecutivos)
R
Curso Autómatas Programables
27
MULTIPLICACIÓN EN BCD, (*B) Ejemplo:
33.00
*B
0034
10 #0021
0021
=
DM100
X
CH 10
714
DM100= #0714 DM101= #0000
Curso Autómatas Programables
28
DIVISIÓN EN BCD, (/B) Divide el contenido de los datos especificados en la instrucción (en bcd) y el resultado se transfiere a dos registros (cociente y resto).
/B A B C
A=
DIVIDENDO
B= R= R+1 =
DIVISOR COCIENTE RESTO
A, B = CANAL / CONSTANTE
Curso Autómatas Programables
29
DIVISION EN BCD, (/B) Ejemplo: 133
CIO 10
3300
/B (CH 10) = (H 10) X 4 + H 11
10 #4 H 10
4 33
H 10
1
H 11
Curso Autómatas Programables
30
DIRECCIONAMIENTO INDIRECTO
Cuando para un operando se especifica el área de DM, se puede utilizar una dirección indirecta.
– Para diferenciar el direccionamiento de DM indirecto se coloca un asterisco delante de DM : *DM
Cuando se especifica una dirección indirecta de DM, el canal DM designado contendrá la dirección del canal DM que contiene el dato que se utilizará como operando de la instrucción.
Cuando se utilice direccionamiento indirecto, la dirección del canal deseado debe estar en BCD y debe especificar un canal comprendido en área de DM.
Nota: En la serie CS/CJ se dispone de otro tipo de direccionamiento indirecto en hexadecimal (operando “@”) para poder cubrir todo el rango de memoria (D00000 a D32767).
Curso Autómatas Programables
31
DIRECCIONAMIENTO INDIRECTO
Normalmente la variable especificada por una cierta instrucción es tal que la instrucción opera con el dato especificado en la variable especificada. TIM00 DM0011
#0432
DM0011
EN ESTE CASO SV = 432
El direccionamiento indirecto permite especificar un dato por la dirección de DM donde ése dato está contenido (la dirección es la variable). TIM00 *DM0011
#0432
DM0011
#1547
EN ESTE CASO SV = 1547
Curso Autómatas Programables
32
DM0432
DIRECCIONAMIENTO INDIRECTO Ejemplo:
Canal
Contenido
MOV(21)
DM 0000
4C59
*D 0001
DM 0001
1111
DM 0002
F35A
DM 1111
5555
DM 1112
2506
DM 1113
D541
H 00
Dirección indirecta
Indica DM 1111.
5555 movido a H 00.
Si se designa *DM 0001 como primer operando y H 00 como segundo operando de MOV(21), los contenidos de DM0001 son 1111 y DM 1111 contiene 5555, el valor 5555 será movido a H 00.
Curso Autómatas Programables
33
¿Alguna duda?
Curso Autómatas Programables
34
Programaci贸n avanzada de PLC麓s Nivel III y IV
INDICE AP3 – Tarjetas Analógicas – Instrucciones Matemáticas Especiales – Instrucciones de Escalado
AP4 – Secuenciación de programas – Tareas – Entradas y Salidas Especiales • Contadores Alta Velocidad • Salidas de Pulsos Curso Autómatas Programables
36
Introducción a tarjetas analógicas
Señales analógicas y digitales Tipos de tarjetas analógicas para CJ CJ1W-MAD42
– Características – Configuración – Funciones de E / S
Curso Autómatas Programables
37
Introducción a tarjetas analógicas
Señales analógicas y digitales – Diferencia entre ambas Señal analógica infinitos valores
Señal digital determinados valores definidos por la resolución de la conversión.
– Resolución: Intervalos en los que dividimos una señal
analógica para digitalizarla. Vendrá definida por el número de bits por canal que se usan 8000 puntos : 13 bits
– Tiempo de conversión: Tiempo transcurrido desde que se
aplica señal en una entrada hasta que aparece su resultado en el canal correspondiente
Curso Autómatas Programables
38
Introducción a tarjetas analógicas
Rectas de conversión Relación que existe entre las señales analógicas y las señales digitales. AnalógicoDigital: Valor hexadecimal de un canal asociado al valor analógico de entrada. DigitalAnalógico: Valor analógico de salida asociado al valor hexadecimal de un canal.
Curso Autómatas Programables
39
Introducción a tarjetas analógicas
Tipos de tarjetas analógicas para CJ – CJ1W-AD041 / 81 4 / 8 Entradas analógicas – CJ1W-DA021 / 41 2 / 4 Salidas analógicas – CJ1W-MAD42 4 Entradas y 2 salidas analógicas (utilizaremos ésta) Todas con los siguientes rangos configurables: 0a5V 0 a 10 V 4 a 20 mA 1a5V -10 a 10 V
Curso Autómatas Programables
40
CJ1W-MAD42 -> Características · 4 Entradas y 2 salidas analógicas configurables como:
1a5V 0a5V
0 a 10 V 4 a 20 mA
-10 a 10 V
· Resolución de 4000 / 8000 puntos (12 bits / 13 bits) · Tiempo de conversión de 1ms / 0`5ms máx. por canal Funciones de entrada: Valor medio (sobre n muestras) Retención del valor máximo Escalado Detección de desconexión de entradas Funciones de salida: Retención del valor de salida Escalado Conversión por proporción (analógico-analógico)
Curso Autómatas Programables
41
CJ1W-MAD42 -> Configuración Pasos a seguir para la configuración de la tarjeta analógica CJ1W-MAD42: – –
Switch entradas en tensión o corriente Nº de unidad Frontal de la tarjeta No debe coincidir con el de otra tarjeta y según el número que pongamos se mapeará en una zona de memoria u otra.
– – – –
–
Cablear las E/S que se vayan a utilizar Alimentar al PLC Crear tabla de E/S Configurar canales CIO y DM n = CIO 2000 + (10 * nº de unidad) m = D 20.000 + (100 * nº de unidad) Reiniciar la tarjeta, dos formas: Apagando y encendiendo el autómata Con los bits de reinicio de unidad: (poner a On y luego a Off) A502.00 Unidad nº 0 A502.01 Unidad nº 1 …….
Curso Autómatas Programables
42
CJ1W-MAD42
Conexionado
Curso Autómatas Programables
43
CJ1W-MAD42 -> Configuración de canales D(m) y D(m+1) Entradas y salidas utilizadas y rangos de medida.
Curso Autómatas Programables
44
CJ1W-MAD42
Modos operación / Tiempo de conversión
D(m+18) Bits 0 a 7 Modos de operación: Normal / Ajuste
Modo Normal Modo Ajuste: Sólo cuando es necesario calibrar los dispositivos conectados a las entradas o salidas analógicas. D(m+18) Bits 8 a 15 Tiempo de conversión y resolución
Realizar ejercicio 1
Curso Autómatas Programables
45
CJ1W-MAD42 -> Entradas y salidas CIO (n+1,n+2) Valores de las salidas 1 y 2 CIO (n+5…n+8) Valores de las entradas 1 a 4
*
Curso Autómatas Programables
46
CJ1W-MAD42 -> Funciones de entrada – Valor medio: nº de buffers usados para calcularlo.
Realizar ejercicio 2.
– Retención del máximo: habilitado o no para cada entrada
Realizar ejercicio 3
*
Curso Autómatas Programables
47
CJ1W-MAD42
– Escalado de entradas: Sólo posible en rango de 4000 puntos. Se configura con 2 puntos (límites).Es posible hacer escalados negativos.
Realizar ejercicio 4
– Desconexión de entradas: Sólo para entradas de 1 a 5V o 4 a 20mA Realizar ejercicio 5
*
Curso Autómatas Programables
48
CJ1W-MAD42 -> Funciones de salida – Retención de salidas: 3 posibles estados, CLEAR, HOLD, MAX CLEAR: valor mínimo del rango HOLD: valor anterior al paro MAX: valor máximo del rango
Realizar ejercicio 6
– Escalado: igual que el escalado de entradas, fijar 2 puntos
Realizar ejercicio 7
*
Curso Autómatas Programables
49
CJ1W-MAD42 – Lazos (conversión analógica-analógica): Relaciones que se pueden fijar entre entradas y salidas analógicas. Hay dos lazos Entrada 1 Salida 1 y Entrada 2 Salida 2 Dos tipos de conversión: Positiva: Salida = A x (rango de entrada) + B Negativa: Salida = F – [A x (rango de entrada) + B]
Realizar ejercicio 8
*
Curso Autómatas Programables
50
Instrucciones matemáticas especiales
APR – Procesos Aritméticos
AVG – Valor Medio
PID – Control PID
Curso Autómatas Programables
51
APR 3 funciones esenciales: Calcula el seno, coseno o una función definida por el usuario según el canal de control.
C -> Canal de control S -> Canal fuente R -> Canal resultado
Curso Autómatas Programables
52
APR – Función Seno
Canal de control #0000 Canal fuente BCD en décimas de grado, entre 0 y 90º Ej: 75,3 º 0753 Canal destino BCD de los 4 primeros decimales del resultado Ej: 0.53 5300 NOTA: Si el resultado es 1 se representará como 9999
Curso Autómatas Programables
53
APR – Función Coseno
Canal de control #0001 Canal fuente BCD en décimas de grado, entre 0 y 90º Ej: 75,3 º 0753 Canal destino BCD de los 4 primeros decimales del resultado Ej: 0.53 5300 NOTA: Si el resultado es 1 se representará como 9999
Curso Autómatas Programables
54
APR – Aproximación Lineal
Se especifica aproximación lineal cuando el canal de control C es una dirección de memoria. El canal C es el primer canal de datos de la aproximación Tabla de datos: C Formato de datos de entrada (BCD o BIN), función directa o invertida, número de coordenadas (pares de puntos x,y)
Curso Autómatas Programables
55
APR – Aproximación Lineal
C+1 Valor máximo de X C+2 Y0 ( El punto X0 siempre pasa por el origen) C+3 X1 C+4 Y1 n número de pares de puntos C(2n+1) X máximo C(2n+2) Y máximo
Realizar ejercicio 9
*
Curso Autómatas Programables
56
AVG – Valor medio Calcula el valor medio de los datos contenidos en un canal durante un determinado número de ciclos de scan.
S -> Canal fuente N -> Número de ciclos de scan (entre 1 y 40hex 64 ciclos) R -> Canal destino
Curso Autómatas Programables
57
AVG – Valor medio
AVG utiliza a partir del canal de destino un número de canales igual al número de scans. En cada nueva ejecución de AVG, el contenido del canal fuente se almacena en los canales R+2 a R+N+1 El canal R+1 es utilizado por el sistema En el último ciclo de scan AVG calcula la media de los valores.
Tabla del canal destino ( R )
R Valor medio R+1 Utilizado por el sistema R+2 S en el 1er ciclo R+3 S en el 2º ciclo …… R+N+1 S en el ciclo N Realizar ejercicio 10
*
Curso Autómatas Programables
58
PID – Control PID
Se realiza un control PID de una determinada variable de entrada y se obtiene su salida correspondiente.
S Canal fuente C 1er canal de control (7 canales) D Canal destino
Curso Autómatas Programables
59
PID – Control PID
Canal de control En estos 7 canales se fijan los parámetros PID, tiempos de muestreo y número de bits de entrada y salida.
Realizar ejercicio 11
*
Curso Autómatas Programables
60
Instrucciones de Escalado SCL – Función de Escalado, Enteros sin signo BIN a BCD
SCL2 – Función de Escalado, Enteros con signo BIN a BCD
Curso Autómatas Programables
61
SCL – Escalado BIN a BCD
Realiza una función de escalado y convierte linealmente un valor hexadecimal de 4 dígitos a un valor BCD de 4 dígitos. Convierte a datos enteros sin signo, máximo 9999 y mínimo 0.
S -> Canal fuente P1 -> Primer canal de parámetros R -> Canal destino
Curso Autómatas Programables
62
SCL – Escalado BIN a BCD Primer canal de parámetros P1
*
En este canal introduciremos 4 puntos que definirán nuestra función de escalado lineal. P1 Punto Ad en BCD (Dato 1 convertido). P1+1 Punto As en Hex (Dato 1 antes de la conversión). P1+2 Punto Bd en BCD (Dato 2 convertido). P1+3 Punto Bs en Hex (Dato 2 antes de la conversión).
Realizar ejercicio 12
Curso Autómatas Programables
63
SCL2 – Escalado BIN a BCD
Realiza una función de escalado y convierte linealmente un valor hexadecimal con signo de 4 dígitos a un valor BCD de 4 dígitos. Convierte a datos enteros con signo, máximo 9999 y mínimo -9999.
S -> Canal fuente P1 -> Primer canal de parámetros R -> Canal de resultado
Nota.- El bit de carry (P_CY) indica el signo del escalado. Curso Autómatas Programables
64
SCL2 – Escalado BIN a BCD Primer canal de parámetros P1
En este canal introduciremos el punto de intersección con el eje X y la pendiente de la recta (incrementos de x e y). P1 Intersección con el eje X en Hex con signo (OFFSET). P1+1 Incremento de X en Hex con signo (AX). P1+2 Incremento de Y en BCD (AY).
Realizar ejercicio 13
*
Curso Autómatas Programables
65
Secuenciación de Programas
Saltos – JMP, JME
Subrutinas – SBS, SBN, RET
Curso Autómatas Programables
66
JMP y JME - Saltos
Las instrucciones JMP y JME se utilizan siempre por parejas para crear saltos en el programa. JMP define el punto de inicio del salto y JME define el punto final al que se salta. Cuando se produce un salto las instrucciones que hay entre JMP y JME no se ejecutan Puede utilizarse para acortar el ciclo de scan Cuando se realiza un salto no cambia el estado de temporizadores, contadores, bits de OUT y OUT NOT de las instrucciones que hay entre JMP y JME. Cada instrucción de salto se define por un número entre 1 y 1023
Curso Autómatas Programables
67
JMP y JME - Saltos Si la condición de ejecución de JMP es ON, no se saltará y las instrucciones que queden en medio se ejecutarán normalmente.
Realizar ejercicio 14
*
Curso Autómatas Programables
68
SBS, SBN y RET - Subrutinas
Las subrutinas sirven para cambiar la secuencia de ejecución del programa. Se caracterizan cada una con un número de subrutina Entre 0 y 255 SBS(n) ejecuta la llamada a la subrutina número “n”. Las instrucciones comprendidas entre el comienzo de subrutina (SBN) y el retorno de subrutina (RET) definen el cuerpo de la subrutina. SBS necesita una condición de ejecución (algún contacto). SBN y RET no necesitan condición de ejecución.
Curso Autómatas Programables
69
SBS, SBN y RET - Subrutinas
Secuencia de ejecución de una subrutina Se ejecuta la subrutina número “n”
Realizar ejercicio 15
*
Curso Autómatas Programables
70
Tareas
Las operaciones de control se pueden dividir por funciones cada operación se puede programar de manera distinta tareas diferentes Ventajas - Paralelismo de programación, varias personas a la vez que más tarde unirán las partes del programa - Programas divididos en módulos mucho más sencillos - Revisión y depuración mucho más sencilla.
Curso Autómatas Programables
71
Tareas
Tipos
de tareas
Tareas Cíclicas Se ejecutan una vez en cada ciclo, comenzando por la tarea con el número más bajo (de 0 a 31).
Tareas de Interrupción Se ejecutan si se produce una interrupción, aunque se este ejecutando una tarea cíclica.
Tipos de tareas de interrupción: De alimentación en OFF, programadas, de E/S, externas y del CAV. Curso Autómatas Programables
72
Tareas cíclicas
Este tipo de tareas son las que se ejecutan normalmente en un ciclo de scan. Podemos tener hasta 32 tareas cíclicas, con números desde 0 hasta 31. Se ejecutan secuencialmente y por orden, de menor a mayor. Las tareas tienen un indicador (flag) asociado que nos permite hacer que una tarea se ejecute o no con las instrucciones TKON y TKOF. Siempre tiene que haber al menos una tarea cíclica activada, si no se producirá un error grave. Curso Autómatas Programables
73
Tareas cíclicas
Estados de las Tareas Cíclicas
Tarea deshabilitada: Cuando el PLC está en modo Program todas las tareas están deshabilitadas. Tarea activada: La tarea está lista pero no está ejecutándose. La tarea puede activarse mediante una instrucción (TKON) o al cambiar el modo de operación del PLC a Run o Monitor Tarea en reposo: La tarea no se ejecutará porque está a la espera de una orden de activación. Se ha desactivado esta tarea mediante la instrucción TKOF. La tarea no ocupa ciclo de scan Tarea ejecutándose.
Curso Autómatas Programables
74
Tareas cíclicas
Instrucciones de las tareas cíclicas
TKON: Activa la tarea número N y la hace ejecutable.
TKOF: Desactiva la tarea número N y la pone en reposo.
Curso Autómatas Programables
75
Tareas cíclicas
Cómo introducir una tarea cíclica – – – –
Botón derecho sobre Programa Insertar programa Botón derecho sobre nuestro nuevo programa Propiedades Nombre de la tarea y tipo de tarea: cíclica, interrupción… Inicio de operación: flag activado para que se ejecute o no.
Realizar ejercicio 15
*
Curso Autómatas Programables
76
Tareas de interrupción
Estas tareas se ejecutan al producirse una interrupción y en cualquier momento del ciclo de scan.
Tipos de interrupciones: E/S en CPU 4 en los CJ1M-CPU 22 / 23 (IN 0…IN 4) Del CAV Externas : con tarjetas de interrupción Programadas: nºs 2 y 3. Se ejecutan cada cierto tiempo. Establecidas con la instrucción MSKS. De alimentación en OFF: Cuando la CPU detecta que se va a cortar la alimentación ejecuta una pequeña tarea (nº 1)
Curso Autómatas Programables
77
Tareas de interrupción - E/S Interrupciones de E/S de la CPU CJ1M-CPU22/23 tiene integradas 4 entradas de interrupción IN 0…IN 4. Configuración: En selecciones selección de entrada incorporada Apagar y encender el autómata después de efectuar cambios
Curso Autómatas Programables
78
Tareas de interrupción - E/S
Para utilizar las interrupciones de E/S utilizaremos la instrucción MSKS para hacer una máscara y activar/desactivar interrupciones. N Número de interrupción 6 : IN 0, tarea 140 7 : IN 1, tarea 141 8 : IN 2, tarea 142 9 : IN 3, tarea 143 S Máscara de interrupción 0: Habilita interrupción 1: Deshabilita interrupción Realizar ejercicio 17
*
Curso Autómatas Programables
79
Tareas de interrupción - CAV
Tareas de interrupción del CAV (2 CAV integrados) Se ejecutará una tarea de interrupción si el CAV está asociado con una instrucción CTBL (explicada más adelante) a una tabla de valores donde se especifica a que número de tarea de interrupción se debe saltar.
Curso Autómatas Programables
80
Entradas y Salidas Especiales
Tipos de Encoders
Entradas Especiales Entrada del Contador de Alta Velocidad (CAV)
Instrucciones del CAV
Salidas Especiales Instrucciones de salida de pulsos Curso Autómatas Programables
81
E/S Especiales - Encoders
Definición Encoder Transductor mecánico-eléctrico Convierte magnitudes físicas (rotación de un eje) en magnitudes eléctricas (pulsos).
Tipos de Encoders a) Fase Diferencial b) Incremental c) Pulso y dirección d) Ascendente / Descendente
Curso Autómatas Programables
82
ď&#x20AC;¸ E/S Especiales - Encoders a) Fase Diferencial Una fase va adelantada a la otra Si la fase A llega antes que la B incrementa, en caso contrario decrementa. b) Incremental Siempre incrementa (1 fase solo)
Solo se utiliza una fase Para contaje totalizador.
Curso AutĂłmatas Programables
83
E/S Especiales - Encoders c) Pulso y dirección Una fase para sentido y otra para pulsos Fase A Sentido Increm. / Decrem. Fase B Pulsos
d) Ascendente / Descendente Una fase incrementa la cuenta y la otra fase la decrementa
Fase A Incrementa Fase B Decrementa
Curso Autómatas Programables
84
E/S Especiales - Encoders
Modo de operación al final de cuenta Lineal Circular
Al llegar al máximo/mínimo no sigue más Pasa del máximo al mínimo o viceversa
Tipos de Reset Reset por Software Activando un bit interno del CAV A531.00 para el CAV 0 A531.01 para el CAV 1
Reset por Software + Fase Z La fase Z sincroniza el reset del CAV
Curso Autómatas Programables
85
E/S Especiales - CAV
Configuración de contadores Dos CAV incorporados en las entradas del CJ1M Configuración: En selecciones Entrada incorporada
*
Curso Autómatas Programables
86
E/S Especiales - CAV
Instrucciones del CAV CTBL
Tabla de comparación
PRV
Lectura del CAV
INI
Modo de control del CAV
Curso Autómatas Programables
87
CTBL – Comparación con tabla Se realiza una comparación entre el valor actual del CAV y una tabla de valores definida en memoria.
P
Especificador de puerto (nº del CAV #0 ó #1) C Canal de control TB 1er canal de tabla de comparación
Curso Autómatas Programables
88
CTBL – Comparación con tabla
Canal de Control 0000 Comparación de valor objeto e inicia comparación 0001 Comparación de rango e inicia comparación 0002 Comparación de valor objeto, inicia la comparación con INI 0003 Comparación de rango, inicia la comparación con INI
Comparación de valor objeto Cuando el valor del CAV coincide con un valor de la tabla se ejecuta la correspondiente tarea de interrupción. Comparación por rango Cuando el valor del CAV está dentro de un rango establecido se ejecuta la correspondiente tarea de interrupción.
Curso Autómatas Programables
89
CTBL – Comparación con tabla
Tabla de comparación por valor objeto TB Número de valores de la tabla TB + 1 Parte de menor peso del valor 1 TB + 2 Parte de mayor peso del valor 1 TB + 3 Número de interrupción del valor 1 TB + 4 Parte de menor peso del valor 2 ……
Tabla de rango de comparación ( 8 rangos ) TB Límite inferior 1, parte de menor peso TB + 1 Límite inferior 1, parte de mayor peso TB + 2 Límite superior 1, parte de menor peso TB + 3 Límite superior 1, parte de mayor peso TB + 4 Número de interrupción del rango 1 ….. TB + 39 Número de interrupción del rango 8
Realizar ejercicio 18
Curso Autómatas Programables
90
PRV – Lectura del CAV
PRV lee el valor actual del CAV o el estado de la salida de pulsos
P Especificador de puerto ( CAV o salida de pulsos )
C Canal de control D 1er canal de destino
Curso Autómatas Programables
91
PRV – Lectura del CAV
Canal de control de PRV 0000 Obtener el valor actual (PV) del CAV o salida de pulsos. Se lleva a 2 canales: D y D+1 (D+1 mayor peso) 0001 Estado del CAV o salida de pulsos. Se lleva al canal D En el canal D se reflejan en determinados bits si el CAV está comparando o parado, si la salida de pulsos está activa… 0002 Resultado de comparación por rangos Se realiza una comparación con los rangos definidos mediante CTBL y se escriben los datos en el canal D. Cada bit activo indicará si el CAV se encuentra en dicho rango
*
Curso Autómatas Programables
92
INI – Modo de control
INI controla la operación del CAV y la salida de pulsos.
P Especificador de puerto (CAV o salida de pulsos 0 ó 1 )
C Canal de control NV 1er canal del nuevo PV del contador
Curso Autómatas Programables
93
INI – Modo de control
Canal de control de INI 0000 Inicia la comparación de tabla de CTBL 0001 Detiene la comparación de tabla de CTBL 0002 Cambia el valor actual del CAV a los valores de los canales NV y NV+1 (NV+1 mayor peso) 0003 Detiene la salida de pulsos
*
Curso Autómatas Programables
94
Salida de Pulsos
El CJ1M-CPU21/22/23 tiene integradas 6 salidas, 2 se pueden utilizar como salidas de pulsos (OUT0 - OUT3) Por las salidas integradas de la CPU se pueden generar pulsos con ciclo de trabajo del 50%.
Curso Autómatas Programables
95
Salidas de Pulsos Instrucciones de salida de pulsos
SPED – Frecuencia de salida de pulsos PULS – Número de pulsos PLS2 – Frecuencia y nº de pulsos
Curso Autómatas Programables
96
SPED – Frecuencia de pulsos
SPED establece la frecuencia de pulsos de salida. P Especificador de puerto ( salida 0 ó 1 ) M Modo de salida
F Frecuencia de pulsos (F y F+1) Modo Continuo: La salida de pulsos se detendrá cuando se ejecute una instrucción SPED (con velocidad 0) o INI. Modo Independiente: La salida de pulsos se detendrá cuando se llegue al número especificado por PULS.
*
Curso Autómatas Programables
97
SPED – Frecuencia de pulsos
P (puerto) Palabra
Valor
P
0000 0001
Salida de pulsos 0 (SP 0) Salida de pulsos 1 (SP 1)
M (modo de salida)
Palabra
Bits 12 a 15
M
8 a 11
4a7
0a3
0 MODO: 0 (modo contínuo) / 1 (modo independiente) DIRECCIÓN: 0 (CW) / 1 (CCW) MÉTODO: 0 (Adelante/atrás) / 1 (Pulso/dirección)
F (frecuencia de salida) Palabra F F+1
Rango:
*
Valor Parte baja de la frecuencia del tren de pulsos de salida (hexadecimal) Parte alta de la frecuencia del tren de pulsos de salida (hexadecimal)
0 a 100000Hz
(0000 0000 a 0001 86A0)
Curso Autómatas Programables
98
PULS – Número de pulsos
Establece el número de pulsos que se envían a la salida.
P Especificador de puerto (0 ó 1) T Tipo de pulsos (relativo o absoluto) N Número de pulsos
Pulsos relativos: El nº de pulsos de salida es el especificado en el canal N ( Entre 0 y 7FFF FFFF )
Pulsos absolutos: El nº de pulsos de salida es el resultado de restar al canal N el valor del contador pulsos = N – PV ( Entre 8000 0000 y 7FFF FFFF )
*
Curso Autómatas Programables
99
PULS – Número de pulsos
P (puerto)
Palabr a P
0000 0001
Salida de pulsos 0 (SP 0) Salida de pulsos 1 (SP 1)
T (tipo de pulsos) Palabr a T
Valor
Valor 0000 0001
Coordenadas relativas (respecto a la posición actual) Coordenadas absolutas (respecto a la posición de origen)
N (número de pulsos) Palabr a N
Valor Parte baja del número de pulsos (hexadecimal)
N+1 Rango:
*
Parte alta del número de pulsos (hexadecimal) Relativas Absolutas
0 a 2147483647 (0000 0000 a 7FFF FFFF) -2147483648 a 2147483647 (8000 0000 a 7FFF FFFF)
Curso Autómatas Programables
100
PLS2 – Frecuencia y nº de pulsos
Frecuencia y número de pulsos Establece el número de pulsos que se envían a la salida y la frecuencia a alcanzar con una determinada aceleración y deceleración. P Especificador de puerto (0 ó 1) M Modo de salida
S Tabla de configuración F y F+1 Frecuencia de comienzo(hex)
Curso Autómatas Programables
101
PLS2 – Frecuencia y nº de pulsos
P (puerto) Palabr a P
Valor 0000 0001
Salida de pulsos 0 (SP 0) Salida de pulsos 1 (SP 1)
M (modo de salida)
Palabra
Bits 12 a 15
M
8 a 11
4a7
0
0a3 TIPO: 0 (coordenadas relativas) / 1 (coordenadas absolutas) DIRECCIÓN: 0 (CW) / 1 (CCW) MÉTODO: 0 (Adelante/atrás) / 1 (Pulso/dirección)
Coordenadas RELATIVAS: Coordenadas ABSOLUTAS:
*
Referenciadas a la posición actual Referenciadas a la posición de origen
Curso Autómatas Programables
102
PLS2 – Frecuencia y nº de pulsos
D (Primera palabra de datos) Palabra
Valor
D
Rampa ACEL
Rampa de aceleración
D+1
Rampa DECEL
Rampa de deceleración
D+2 D+3 D+4 D+5 Rango:
Nº pulsos Rampas Frecuencia Nºpulsos (relativas) Nºpulsos (absolutas)
Parte baja de la frecuencia del tren de pulsos de salida (hexadecimal) Parte alta de la frecuencia del tren de pulsos de salida (hexadecimal) Parte baja del número de pulsos de salida (hexadecimal) Parte alta del número de pulsos de salida (hexadecimal) 1 a 2000 Hz (cada 4ms) 0 a 1000000 Hz 0 a 2147483647 pulsos -2147483648 a 2147483647
(0001 a 07D0) (0000 0000 a 0001 86A0) (0000 0000 a 7FFF FFFF) (8000 0000 a 7FFF FFFF)
F (Frecuencia de salida) Palabra F F+1 Rango:
*
Frecuencia
Valor Parte baja de la frecuencia inicial del tren de pulsos de salida (hexadecimal) Parte alta de la frecuencia inicial del tren de pulsos de salida (hexadecimal) 0 a 100000Hz
(0000 0000 a 0001 86A0)
Curso Autómatas Programables
103
¿Alguna duda?
Curso Autómatas Programables
104