Programación avanzada de PLC´sProgramación avanzada de PLC´sNivel I y II
04/25/23 Curso Autómatas Programables 2
CONTACTOS y BOBINASCONTACTOS y BOBINAS
Realizar ejercicioRealizar ejercicio 1 1 Marcha-Paro apartado “ Marcha-Paro apartado “aa”.”.Realizar ejercicio Realizar ejercicio 66 Control de una vagoneta. Control de una vagoneta.
04/25/23 Curso Autómatas Programables 3
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
SET y RSETSET y RSET
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 ejercicioRealizar ejercicio 1 1 de Marcha-Paro con las instrucciones SET y RSET, apartado “ de Marcha-Paro con las instrucciones SET y RSET, apartado “bb”.”.
04/25/23 Curso Autómatas Programables 4
KEEPKEEP
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.
KEEP B
B = Bit
S
R
Realizar ejercicio Realizar ejercicio 11 Marcha-Paro con la instrucción KEEP, apartado “ Marcha-Paro con la instrucción KEEP, apartado “cc”.”.Realizar ejercicio Realizar ejercicio 66 Control de una vagoneta. Control de una vagoneta.Realizar ejercicio Realizar ejercicio 77 Escalera mecánica. Escalera mecánica.
04/25/23 Curso Autómatas Programables 5
TEMPORIZADOR, ( TIM )TEMPORIZADOR, ( TIM )
Un temporizador se activa cuando su condición de ejecución se pone 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. 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.Una vez activada mide en unidades de 0.1 sg.
Los números de T van de 000 a 4095 en los PLCs CJ1M.
El rango del valor de consigna (SV) es de 000.0 a 999.9 (16 min y 39,9 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 sg) sin escribirse el punto decimal.El valor del temporizador debe estar en BCD, sino dará error.en BCD, sino dará error.
04/25/23 Curso Autómatas Programables 6
TEMPORIZADOR, ( TIM )TEMPORIZADOR, ( TIM )
Realizar ejercicios Realizar ejercicios 22 Temporizador. Temporizador.Realizar ejercicios Realizar ejercicios 33 Temporizador con retardo a la conexión. Temporizador con retardo a la conexión.Realizar ejercicios Realizar ejercicios 44 Temporizador con retardo a la desconexión. Temporizador con retardo a la desconexión. Realizar ejercicios Realizar ejercicios 55 Temporizadores. Temporizadores.
Diagrama de funcionamiento:
04/25/23 Curso Autómatas Programables 7
DIFU y DIFDDIFU y DIFDDIFU.-DIFU.- Se utiliza para poner a ON el bit designado durante un solo 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 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 bit correspondiente en el flanco de subida de la condición de ejecución y durante un sólo ciclo de scan.durante un sólo ciclo de scan.
DIFD.-DIFD.- Se utiliza para poner a ON el bit designado durante un sólo ciclo 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 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 correspondiente en el flanco de bajada de la condición de ejecución y durante un sólo ciclo de scan.durante un sólo ciclo de scan.
Realizar ejercicio Realizar ejercicio 11 Marcha-Paro, apartado “d”. Marcha-Paro, apartado “d”.Realizar ejercicio Realizar ejercicio 9 9 Control luz pasillo con tres salidas (Lámpara conmutada desde 3 puntos).Control luz pasillo con tres salidas (Lámpara conmutada desde 3 puntos).
04/25/23 Curso Autómatas Programables 8
CONTADOR, CNT(12)CONTADOR, CNT(12)
Un contador se utiliza para descontar a partir de valor de consigna 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 (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 condición de ejecución permanece en ON u OFF, el contador mantiene su estado. Aunque la alimentación se vaya, el contador sigue su estado. Aunque la alimentación se vaya, el contador sigue manteniendo su valor.manteniendo su valor. El contador tiene dos condiciones de ejecución:El contador tiene dos condiciones de ejecución:
- CP entrada de impulso de contaje.- CP entrada de impulso de contaje.- R entrada de reset del contador. - R entrada de reset del contador.
04/25/23 Curso Autómatas Programables 9
CONTADOR REVERSIBLE, CNTR(12)CONTADOR REVERSIBLE, CNTR(12)CNTR(12).- CNTR(12).- Un contador reversible se utiliza para contar entre cero Un contador reversible se utiliza para contar entre cero y un de valor de consigna (SV) de acuerdo con los cambios de dos y un de valor de consigna (SV) de acuerdo con los cambios de dos condiciones de ejecución de entrada:condiciones de ejecución de entrada:La entrada de contaje hacia adelante (II).La entrada de contaje hacia adelante (II).La entrada de contaje hacia atrás (DI).La entrada de contaje hacia atrás (DI).La entrada de reset (R).La entrada de reset (R).
04/25/23 Curso Autómatas Programables 10
Diagrama de funcionamiento
El valor presente del contador (PV) modifica su valor en función de El valor presente del contador (PV) modifica su valor en función de las siguientes condiciones:las siguientes condiciones:PV=PV+1PV=PV+1Flanco de subida en la entrada II.Flanco de subida en la entrada II.PV=PV-1PV=PV-1Flanco de subida en la entrada DI.Flanco de subida en la entrada DI.
CONTADOR REVERSIBLE, CNTR(12)CONTADOR REVERSIBLE, CNTR(12)
Realizar ejercicio Realizar ejercicio 1313, Control de entrada., Control de entrada.
04/25/23 Curso Autómatas Programables 11
CMP(20) CMP(20) compara Scompara S11 y S y S22 y envía el resultado a los y envía el resultado a los indicadores EQ, indicadores EQ, LE ,GE,LT y GT en el LE ,GE,LT y GT en el área SR.área SR.
PrecaucionesPrecaucionesGEGE: ON si S: ON si S11 ≥ S ≥ S22.. // GTGT: ON si S: ON si S11 > S > S22
EQEQ: ON si S: ON si S11 = S = S22. . LELE: ON si S: ON si S11 ≤ S ≤ S22.. // LTLT: ON si S: ON si S11 < S < S22..
COMPARAR, CMP(20)COMPARAR, CMP(20)
Realizar ejercicio práctico Realizar ejercicio práctico 1515, Control de acceso a un garaje., Control de acceso a un garaje.
04/25/23 Curso Autómatas Programables 12
ZCP(088) ZCP(088) compara CD con compara CD con el rango definido por el límite el rango definido por el límite superior UL e inferior LL y superior UL e inferior LL y envía el resultado a los envía el resultado a los indicadores GT, EQ y LT en indicadores GT, EQ y LT en el área de SR. el área de SR.
PrecaucionesPrecaucionesCuando: LL ≤ CD ≤ UL Cuando: LL ≤ CD ≤ UL EQ a ON EQ a ON
COMPARAR RANGO, ZCP(88)COMPARAR RANGO, ZCP(88)
Realizar ejercicio Realizar ejercicio 1616 Control de acceso a una sala audiovisual. Control de acceso a una sala audiovisual.
04/25/23 Curso Autómatas Programables 13
MOV(21)MOV(21) copia el contenido de S a Dcopia el contenido de S a D.
MOVER, MOV(21)MOVER, MOV(21)
Realizar ejercicio Realizar ejercicio 1919 Movimiento de datos. Movimiento de datos.
04/25/23 Curso Autómatas Programables 14
MOVD (83).-MOVD (83).- Cuando la condición de ejecución es OFF, 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) 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) 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 especificado(s) de D. De una vez se pueden transferir hasta 4 dígitos.
MOVIMIENTO DE DÍGITOS, MOVD (83)MOVIMIENTO DE DÍGITOS, MOVD (83)
04/25/23 Curso Autómatas Programables 15
MOVIMIENTO DE DÍGITOS, MOVD (83)MOVIMIENTO DE DÍGITOS, MOVD (83)
04/25/23 Curso Autómatas Programables 16
BSET(71)BSET(71) copia el contenido de S a copia el contenido de S a todos los canales desde St a E.todos los canales desde St a E.
RELLENAR BLOQUE, BSET(71)RELLENAR BLOQUE, BSET(71)
Realizar ejercicio Realizar ejercicio 2020 Reseteo de una zona de memoria. Reseteo de una zona de memoria.
04/25/23 Curso Autómatas Programables 17
XCHG(73) XCHG(73) intercambia el contenido intercambia el contenido de E1 y E2.de E1 y E2.
INTERCAMBIO DE DATOS, XCHG(73)INTERCAMBIO DE DATOS, XCHG(73)
04/25/23 Curso Autómatas Programables 18
XFER(70)XFER(70) copia los contenidos de copia los contenidos de S, S+1, ...,S, S+1, ...,
TRANSFERENCIA DE BLOQUE, XFER(70)TRANSFERENCIA DE BLOQUE, XFER(70)
04/25/23 Curso Autómatas Programables 19
SFT(10)SFT(10) se controla mediante tres condiciones de ejecución I, P y R. se controla mediante tres condiciones de ejecución I, P y R.Mientras la entrada de reset(R):Mientras la entrada de reset(R):Cuando se produzca flanco de subida en la entrada de Cuando se produzca flanco de subida en la entrada de desplazamiento(P)desplazamiento(P)desplazar el estado I(entrada de datos) en el desplazar el estado I(entrada de datos) en el registro, todos los bits del registro se desplazan una posición a la registro, todos los bits del registro se desplazan una posición a la izquierda, perdiéndose el bit de la izquierda.izquierda, perdiéndose el bit de la izquierda.
REGISTRO DE DESPLAZAMIENTO, SFT(10)REGISTRO DE DESPLAZAMIENTO, SFT(10)
04/25/23 Curso Autómatas Programables 20
-El mismo canal puede designarse para St y E para crear un -El mismo canal puede designarse para St y E para crear un registro de desplazamiento de 16 bits (es decir, un canal).registro de desplazamiento de 16 bits (es decir, un canal).-Cuando la condición de ejecución R se pone enON, todos los bits -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 en el registro de desplazamiento se pondrán a OFF y el registro no operará hasta que R se ponga en OFF de nuevo.operará hasta que R se ponga en OFF de nuevo.
REGISTRO DE DESPLAZAMIENTO, SFT(10)REGISTRO DE DESPLAZAMIENTO, SFT(10)
Realizar ejercicio Realizar ejercicio 1717 Control manual de un registro de desplazamiento. Control manual de un registro de desplazamiento.
04/25/23 Curso Autómatas Programables 21
SFTR(84) SFTR(84) se utiliza para crear un registro de desplazamiento se utiliza para crear un registro de desplazamiento de uno o varios canales que puede desplazar datos a derecha de uno o varios canales que puede desplazar datos a derecha o izquierda. o izquierda. Para crear un registro de un canal, designar el mismo canal Para crear un registro de un canal, designar el mismo canal para St y E. para St y E.
REGISTRO DE DESPLAZAMIENTO REVERSIBLE, SFTR(84)REGISTRO DE DESPLAZAMIENTO REVERSIBLE, SFTR(84)
04/25/23 Curso Autómatas Programables 22
-No se ejecuta nada si la condición de ejecución es OFF o si el bit 14 está -No se ejecuta nada si la condición de ejecución es OFF o si el bit 14 está en OFF.en OFF.
--El canal de control indica:El canal de control indica: La dirección de desplazamientoLa dirección de desplazamientobit 12bit 12 El estado a escribir en el registroEl estado a escribir en el registrobit 13bit 13 El impulso de desplazamientoEl impulso de desplazamientobit 14bit 14 La entrada de reset La entrada de reset bit 15bit 15.. El canal de control se desglosa como sigue:El canal de control se desglosa como sigue:
REGISTRO DE DESPLAZAMIENTO REVERSIBLE, SFTR(84)REGISTRO DE DESPLAZAMIENTO REVERSIBLE, SFTR(84)
04/25/23 Curso Autómatas Programables 23
DATOS(I)
ESTE DATO SE PIERDE
0 1 2 3 14 15
0 1 2 3 14 15
StSt
E
REGISTRO DE DESPLAZAMIENTO REVERSIBLE, SFTR(84)REGISTRO DE DESPLAZAMIENTO REVERSIBLE, SFTR(84)
Realizar ejercicio Realizar ejercicio 1818 Indicación del nivel de un depósito. Indicación del nivel de un depósito.
04/25/23 Curso Autómatas Programables 24
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).
FLAG DE ACARREO, STC(40) y CLC(41)FLAG DE ACARREO, STC(40) y CLC(41)
04/25/23 Curso Autómatas Programables 25
La instrucción +BC ejecuta la suma entre dos datos de 16 bit (canales y/o constantes) en formato bcd.
– A1,A2 = sumandos (#, ir, sr, hr, tim, cnt)– R = resultado = A1+A2+CY A1
A2
R
SUMA EN BCD, (+BC)SUMA EN BCD, (+BC)
Los parámetros de la instrucción son 3:
Al resultado se le suma el acarreo o bien se le suma 1 si CY = ON
04/25/23 Curso Autómatas Programables 26
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
RESTA EN BCD, (-BC)RESTA EN BCD, (-BC)
04/25/23 Curso Autómatas Programables 27
Multiplica el contenido de los datos especificados en la instrucción (en bcd) y el resultado se transfiere a un registro o canal.
*BA
B
R
A, B = CANALES /CONSTANTES
R = REGISTRO RESULTADO (2 canales consecutivos)
MULTIPLICACIÓN EN BCD, (*B)MULTIPLICACIÓN EN BCD, (*B)
04/25/23 Curso Autómatas Programables 28
*B10
#0021
DM100
33.00
0034
X0021=714
CH 10
DM100= #0714
DM101= #0000
MULTIPLICACIÓN EN BCD, (*B)MULTIPLICACIÓN EN BCD, (*B)
Ejemplo:
04/25/23 Curso Autómatas Programables 29
Divide el contenido de los datos especificados en la instrucción (en bcd) y el resultado se transfiere a dos registros (cociente y resto).
/BA
B
C
A = DIVIDENDO
R = COCIENTEB = DIVISOR
R+1 = RESTOA, B = CANAL / CONSTANTE
DIVISIÓN EN BCD, (/B)DIVISIÓN EN BCD, (/B)
04/25/23 Curso Autómatas Programables 30
/B10
#4
H 10
3300133 CIO 10
33
1
H 10
H 11
4
(CH 10) = (H 10) X 4 + H 11
DIVISION EN BCD, (/B)DIVISION EN BCD, (/B)
Ejemplo:
04/25/23 Curso Autómatas Programables 31
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).
DIRECCIONAMIENTO INDIRECTODIRECCIONAMIENTO INDIRECTO
04/25/23 Curso Autómatas Programables 32
Normalmente la variable especificada por una cierta instrucción es tal que la instrucción opera con el dato especificado en la variable especificada.
TIM00DM0011 #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
EN ESTE CASO SV = 1547
#1547 DM0432
DIRECCIONAMIENTO INDIRECTODIRECCIONAMIENTO INDIRECTO
04/25/23 Curso Autómatas Programables 33
Ejemplo:
MOV(21)
*D 0001
H 00
DM 0000
DM 0001
DM 0002
DM 1111
DM 1112
DM 1113
4C59
1111
F35A
5555
2506
D541
Canal Contenido
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.
DIRECCIONAMIENTO INDIRECTODIRECCIONAMIENTO INDIRECTO
04/25/23 Curso Autómatas Programables 34
¿Alguna duda?¿Alguna duda?
Programación avanzada de PLC´sProgramación avanzada de PLC´sNivel III y IV
04/25/23 Curso Autómatas Programables 36
INDICEINDICE 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
04/25/23 Curso Autómatas Programables 37
Introducción a tarjetas analógicasIntroducció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
04/25/23 Curso Autómatas Programables 38
Introducción a tarjetas analógicasIntroducción a tarjetas analógicas Señales analógicas y digitales
– Diferencia entre ambasSeñ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
04/25/23 Curso Autómatas Programables 39
Introducción a tarjetas analógicasIntroducció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.
04/25/23 Curso Autómatas Programables 40
Introducción a tarjetas analógicasIntroducció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:0 a 5 V0 a 10 V 4 a 20 mA1 a 5 V-10 a 10 V
04/25/23 Curso Autómatas Programables 41
CJ1W-MAD42 -> CaracterísticasCJ1W-MAD42 -> Características
· 4 Entradas y 2 salidas analógicas configurables como:1 a 5 V 0 a 10 V -10 a 10 V0 a 5 V 4 a 20 mA
· 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áximoEscaladoDetección de desconexión de entradas
Funciones de salida:Retención del valor de salidaEscaladoConversión por proporción (analógico-analógico)
04/25/23 Curso Autómatas Programables 42
– 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ómataCon los bits de reinicio de unidad: (poner a On y luego a Off)
A502.00 Unidad nº 0A502.01 Unidad nº 1…….
CJ1W-MAD42 -> ConfiguraciónCJ1W-MAD42 -> ConfiguraciónPasos a seguir para la configuración de la tarjeta analógica CJ1W-MAD42:
04/25/23 Curso Autómatas Programables 43
CJ1W-MAD42CJ1W-MAD42
Conexionado
04/25/23 Curso Autómatas Programables 44
CJ1W-MAD42 -> Configuración de canalesCJ1W-MAD42 -> Configuración de canales
D(m) y D(m+1) Entradas y salidas utilizadas y rangos de medida.
04/25/23 Curso Autómatas Programables 45
CJ1W-MAD42CJ1W-MAD42 Modos operación / Tiempo de conversión
D(m+18) Bits 0 a 7 Modos de operación: Normal / AjusteModo NormalModo 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
04/25/23 Curso Autómatas Programables 46
CJ1W-MAD42 -> Entradas y salidasCJ1W-MAD42 -> Entradas y salidasCIO (n+1,n+2) Valores de las salidas 1 y 2CIO (n+5…n+8) Valores de las entradas 1 a 4
*
04/25/23 Curso Autómatas Programables 47
CJ1W-MAD42 -> Funciones de entradaCJ1W-MAD42 -> Funciones de entrada– Valor medio: nº de buffers usados para calcularlo.
– Retención del máximo: habilitado o no para cada entrada
*
Realizar ejercicio 2.
Realizar ejercicio 3
04/25/23 Curso Autómatas Programables 48
CJ1W-MAD42CJ1W-MAD42– Escalado de entradas: Sólo posible en rango de 4000 puntos.Se configura con 2 puntos (límites).Es posible hacer escalados
negativos.
– Desconexión de entradas: Sólo para entradas de 1 a 5V o 4 a 20mA
*
Realizar ejercicio 4
Realizar ejercicio 5
04/25/23 Curso Autómatas Programables 49
CJ1W-MAD42 -> Funciones de salidaCJ1W-MAD42 -> Funciones de salida– Retención de salidas: 3 posibles estados, CLEAR, HOLD, MAXCLEAR: valor mínimo del rangoHOLD: valor anterior al paroMAX: valor máximo del rango
– Escalado: igual que el escalado de entradas, fijar 2 puntos
*
Realizar ejercicio 6
Realizar ejercicio 7
04/25/23 Curso Autómatas Programables 50
CJ1W-MAD42CJ1W-MAD42– Lazos (conversión analógica-analógica): Relaciones quese pueden fijar entre entradas y salidas analógicas. Hay dos lazosEntrada 1 Salida 1 y Entrada 2 Salida 2 Dos tipos de conversión:
Positiva: Salida = A x (rango de entrada) + BNegativa: Salida = F – [A x (rango de entrada) + B]
*
Realizar ejercicio 8
04/25/23 Curso Autómatas Programables 51
Instrucciones matemáticas especialesInstrucciones matemáticas especiales
APR – Procesos Aritméticos
AVG – Valor Medio
PID – Control PID
04/25/23 Curso Autómatas Programables 52
APRAPR
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
04/25/23 Curso Autómatas Programables 53
APR – Función SenoAPR – 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
04/25/23 Curso Autómatas Programables 54
APR – Función CosenoAPR – 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
04/25/23 Curso Autómatas Programables 55
APR – Aproximación LinealAPR – 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)
04/25/23 Curso Autómatas Programables 56
APR – Aproximación LinealAPR – 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 C(2n+1) X máximo C(2n+2) Y máximo
n número de pares de puntos
*Realizar ejercicio 9
04/25/23 Curso Autómatas Programables 57
AVG – Valor medioAVG – 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
04/25/23 Curso Autómatas Programables 58
AVG – Valor medioAVG – 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
04/25/23 Curso Autómatas Programables 59
PID – Control PIDPID – 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
04/25/23 Curso Autómatas Programables 60
PID – Control PIDPID – 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
04/25/23 Curso Autómatas Programables 61
Instrucciones de EscaladoInstrucciones de Escalado SCL – Función de Escalado, Enteros sin
signo BIN a BCD
SCL2 – Función de Escalado, Enteroscon signo BIN a BCD
04/25/23 Curso Autómatas Programables 62
SCL – Escalado BIN a BCDSCL – 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
04/25/23 Curso Autómatas Programables 63
SCL – Escalado BIN a BCDSCL – Escalado BIN a BCDPrimer 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
04/25/23 Curso Autómatas Programables 64
SCL2 – Escalado BIN a BCDSCL2 – 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.
04/25/23 Curso Autómatas Programables 65
SCL2 – Escalado BIN a BCDSCL2 – Escalado BIN a BCDPrimer 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
04/25/23 Curso Autómatas Programables 66
Secuenciación de ProgramasSecuenciación de Programas Saltos – JMP, JME
Subrutinas – SBS, SBN, RET
04/25/23 Curso Autómatas Programables 67
JMP y JME - SaltosJMP 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
04/25/23 Curso Autómatas Programables 68
JMP y JME - SaltosJMP y JME - SaltosSi 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
04/25/23 Curso Autómatas Programables 69
SBS, SBN y RET - SubrutinasSBS, 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.
04/25/23 Curso Autómatas Programables 70
SBS, SBN y RET - SubrutinasSBS, SBN y RET - Subrutinas Secuencia de ejecución de una subrutina
Se ejecuta la subrutina número “n”
*
Realizar ejercicio 15
04/25/23 Curso Autómatas Programables 71
TareasTareas 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.
04/25/23 Curso Autómatas Programables 72
TareasTareas 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ónSe 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.
04/25/23 Curso Autómatas Programables 73
Tareas cíclicasTareas 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.
04/25/23 Curso Autómatas Programables 74
Tareas cíclicasTareas 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.
04/25/23 Curso Autómatas Programables 75
Tareas cíclicasTareas 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.
04/25/23 Curso Autómatas Programables 76
Tareas cíclicasTareas 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
04/25/23 Curso Autómatas Programables 77
Tareas de interrupciónTareas 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 CAVExternas : con tarjetas de interrupciónProgramadas: 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)
04/25/23 Curso Autómatas Programables 78
Tareas de interrupción - E/STareas de interrupción - E/S Interrupciones de E/S de la CPUCJ1M-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
04/25/23 Curso Autómatas Programables 79
Tareas de interrupción - E/STareas 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 1407 : IN 1, tarea 1418 : IN 2, tarea 1429 : IN 3, tarea 143
S Máscara de interrupción0: Habilita interrupción1: Deshabilita
interrupción
*
Realizar ejercicio 17
04/25/23 Curso Autómatas Programables 80
Tareas de interrupción - CAVTareas 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.
04/25/23 Curso Autómatas Programables 81
Entradas y Salidas EspecialesEntradas y Salidas Especiales Tipos de Encoders
Entradas EspecialesEntrada del Contador de Alta Velocidad (CAV)Instrucciones del CAV
Salidas EspecialesInstrucciones de salida de pulsos
04/25/23 Curso Autómatas Programables 82
E/S Especiales - EncodersE/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 Diferencialb) Incrementalc) Pulso y direcciónd) Ascendente / Descendente
04/25/23 Curso Autómatas Programables 83
E/S Especiales - EncodersE/S Especiales - Encodersa) Fase Diferencial
Una fase va adelantada a la otra
Si la fase A llega antes que
la B incrementa, en caso
contrario decrementa.
b) IncrementalSiempre incrementa (1 fase solo)
Solo se utiliza una fasePara contaje totalizador.
04/25/23 Curso Autómatas Programables 84
E/S Especiales - EncodersE/S Especiales - Encodersc) Pulso y dirección
Una fase para sentido y otra para pulsos
Fase A Sentido Increm. / Decrem.
Fase B Pulsos
d) Ascendente / DescendenteUna fase incrementa la cuenta y la otra fase la decrementa
Fase A Incrementa
Fase B Decrementa
04/25/23 Curso Autómatas Programables 85
E/S Especiales - EncodersE/S Especiales - Encoders Modo de operación al final de cuenta
Lineal Al llegar al máximo/mínimo no sigue másCircular Pasa del máximo al mínimo o viceversa
Tipos de Reset
Reset por Software Activando un bit interno del CAVA531.00 para el CAV 0A531.01 para el CAV 1
Reset por Software + Fase Z La fase Z sincroniza el reset del CAV
04/25/23 Curso Autómatas Programables 86
E/S Especiales - CAVE/S Especiales - CAV Configuración de contadores
Dos CAV incorporados en las entradas del CJ1MConfiguración: En selecciones Entrada incorporada
*
04/25/23 Curso Autómatas Programables 87
E/S Especiales - CAVE/S Especiales - CAV Instrucciones del CAV
CTBL Tabla de comparación
PRV Lectura del CAV
INI Modo de control del CAV
04/25/23 Curso Autómatas Programables 88
CTBL – Comparación con tablaCTBL – 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 controlTB 1er canal de tabla de comparación
04/25/23 Curso Autómatas Programables 89
CTBL – Comparación con tablaCTBL – Comparación con tabla Canal de Control
0000 Comparación de valor objeto e inicia comparación0001 Comparación de rango e inicia comparación0002 Comparación de valor objeto, inicia la comparación con INI0003 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.
04/25/23 Curso Autómatas Programables 90
CTBL – Comparación con tablaCTBL – Comparación con tabla
Tabla de comparación por valor objeto
TB Número de valores de la tablaTB + 1 Parte de menor peso del valor 1TB + 2 Parte de mayor peso del valor 1TB + 3 Número de interrupción del valor 1TB + 4 Parte de menor peso del valor 2……
Tabla de rango de comparación( 8 rangos )
TB Límite inferior 1, parte de menor pesoTB + 1 Límite inferior 1, parte de mayor pesoTB + 2 Límite superior 1, parte de menor pesoTB + 3 Límite superior 1, parte de mayor pesoTB + 4 Número de interrupción del rango 1…..TB + 39 Número de interrupción del rango 8
Realizar ejercicio 18
04/25/23 Curso Autómatas Programables 91
PRV – Lectura del CAVPRV – 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 controlD 1er canal de destino
04/25/23 Curso Autómatas Programables 92
PRV – Lectura del CAVPRV – 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
*
04/25/23 Curso Autómatas Programables 93
INI – Modo de controlINI – 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 controlNV 1er canal del nuevo PV del contador
04/25/23 Curso Autómatas Programables 94
INI – Modo de controlINI – Modo de control Canal de control de INI
0000 Inicia la comparación de tabla de CTBL0001 Detiene la comparación de tabla de CTBL0002 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
*
04/25/23 Curso Autómatas Programables 95
Salida de PulsosSalida 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%.
04/25/23 Curso Autómatas Programables 96
Salidas de PulsosSalidas de Pulsos
Instrucciones de salida de pulsos
SPED – Frecuencia de salida de pulsos PULS – Número de pulsos PLS2 – Frecuencia y nº de pulsos
04/25/23 Curso Autómatas Programables 97
SPED – Frecuencia de pulsosSPED – 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.
*
04/25/23 Curso Autómatas Programables 98
SPED – Frecuencia de pulsosSPED – Frecuencia de pulsos
*
Palabra Valor
P 00000001
Salida de pulsos 0 (SP 0)Salida de pulsos 1 (SP 1)
Palabra Bits
12 a 15 8 a 11 4 a 7 0 a 3
M 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)
Palabra Valor F
Parte baja de la frecuencia del tren de pulsos de salida (hexadecimal)F+1
Parte alta de la frecuencia del tren de pulsos de salida (hexadecimal)
P (puerto)
M (modo de salida)
F (frecuencia de salida)
Rango: 0 a 100000Hz (0000 0000 a 0001 86A0)
04/25/23 Curso Autómatas Programables 99
PULS – Número de pulsosPULS – 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 )
*
04/25/23 Curso Autómatas Programables 100
PULS – Número de pulsosPULS – Número de pulsos P (puerto)
T (tipo de pulsos)
N (número de pulsos)
*
Palabra
Valor
P 00000001
Salida de pulsos 0 (SP 0)Salida de pulsos 1 (SP 1)
Palabra
Valor
T 00000001
Coordenadas relativas (respecto a la posición actual)Coordenadas absolutas (respecto a la posición de origen)
Palabra
Valor
N Parte baja del número de pulsos (hexadecimal)
N+1 Parte alta del número de pulsos (hexadecimal)
Rango: Relativas 0 a 2147483647 (0000 0000 a 7FFF FFFF)Absolutas -2147483648 a 2147483647 (8000 0000 a 7FFF FFFF)
04/25/23 Curso Autómatas Programables 101
PLS2 – Frecuencia y nº de pulsosPLS2 – 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ónF y F+1 Frecuencia de comienzo(hex)
04/25/23 Curso Autómatas Programables 102
PLS2 – Frecuencia y nº de pulsosPLS2 – Frecuencia y nº de pulsos
*
P (puerto)
M (modo de salida)
Palabra
Valor
P 00000001
Salida de pulsos 0 (SP 0)Salida de pulsos 1 (SP 1)
Palabra Bits
12 a 15 8 a 11 4 a 7 0 a 3
M 0
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: Referenciadas a la posición actualCoordenadas ABSOLUTAS: Referenciadas a la posición de origen
04/25/23 Curso Autómatas Programables 103
PLS2 – Frecuencia y nº de pulsosPLS2 – Frecuencia y nº de pulsos
*
D (Primera palabra de datos)
F (Frecuencia de salida)
Rango: 0 a 100000Hz (0000 0000 a 0001 86A0)
Palabra Valor
D Rampa ACEL Rampa de aceleración
D+1 Rampa DECEL Rampa de deceleración
D+2Frecuencia
Parte baja de la frecuencia del tren de pulsos de salida (hexadecimal)
D+3 Parte alta de la frecuencia del tren de pulsos de salida (hexadecimal)
D+4Nº pulsos
Parte baja del número de pulsos de salida (hexadecimal)
D+5 Parte alta del número de pulsos de salida (hexadecimal)Rango: Rampas 1 a 2000 Hz (cada 4ms) (0001 a 07D0)
Frecuencia 0 a 1000000 Hz (0000 0000 a 0001 86A0)Nºpulsos (relativas) 0 a 2147483647 pulsos (0000 0000 a 7FFF FFFF)Nºpulsos (absolutas) -2147483648 a 2147483647 (8000 0000 a 7FFF FFFF)
Palabra Valor F
Parte baja de la frecuencia inicial del tren de pulsos de salida (hexadecimal)
F+1
Parte alta de la frecuencia inicial del tren de pulsos de salida (hexadecimal)
04/25/23 Curso Autómatas Programables 104
¿Alguna duda?¿Alguna duda?