soporte técnico programaciÓn avanzada de plcs. soporte técnico mov, fun(21) la instrucciÓn mov...
TRANSCRIPT
Soporte Técnico
PROGRAMACIÓN AVANZADA DE PLC’s
Soporte Técnico
MOV, FUN(21)
LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL A OTRO.
EL CONTENIDO DEL CANAL FUENTE S SE TRANSFIERE AL CANAL DESTINO D.
LAS ÁREAS DE DATOS UTILIZABLES EN LA TRANSFERENCIA SON :
— S:#, IR, SR, HR, TIM, CNT
— D: IR, HR
Soporte Técnico
EJEMPLO. EMBOTELLADORA
EL MOTOR M1 ESTARÁ EN MARCHA HASTA QUE LA FOTOCÉLULA F1 DETECTE
CUANDO F1 DETECTE, COMENZARÁ A LLENARSE LA BOTELLA AL ACTIVARSE LA ELECTROVÁLVULA E1
CUANDO LA BOTELLA PESE LO DESEADO, SE ACTIVARÁ E1 Y DESPUÉS DE 3 SEGUNDOS, LA CINTA SE PONDRÁ EN MARCHA HASTA QUE LA FOTOCÉLULA F1 VUELVA A DETECTAR.M1 4 / 20 mA
F1E1
ENTRADAS
F1 : 0000 CÉLULA DA CARGA: ENTRADA ANALÓGICA SALIDAS
M1 : 1000E1 : 1001
Soporte Técnico
SFT, FUN(10) /1
LA INSTRUCCIÓN SFT REALIZA LA FUNCIÓN DE REGISTRO DE DESPLAZAMIENTO EN SERIE
EL DESPLAZAMIENTO AFECTA A LOS BITS, EN SENTIDO DEL MENOS SIGNIFICATIVO AL MÁS SIGNIFICATIVO
– IN= ENTRADA DE DATOS. EL ESTADO DE ESTA ENTRADA SE INTRODUCE EN EL REGISTRO DE DESPLAZAMIENTO CON EL FLANCO ASCENDENTE DEL IMPULSO DE RELOJ.
– SP= IMPULSO DEL RELOJ. EL FLANCO ASCENDENTE CREA EL DESPLAZAMIENTO DE LOS DATOS, SI RT 0
– RT= RESET. SU FLANCO ASCENDENTE DETERMINA EL RESET DEL CANAL (O CANALES) SOBRE LOS QUE SE PRODUCE EL DESPLAZAMIENTO
– B , E= PRIMER Y ÚLTIMO CANAL DEL ÁREA DE DATOS SOBRE LA QUE SE PRODUCE EL DESPLAZAMIENTO
Soporte Técnico
SFT, FUN(10) /2
SI COMO CANALES DE DESPLAZAMIENTO SE UTILIZAN LOS DEL ÁREA HR, EN CASO DE FALLO DE ALIMENTACIÓN LOS DATOS SE MANTIENEN
0000
0001
0002
IN
CP
R
SFT
05
06
LD 0000LD 0001LD 0002SFT (10) 05
06
DATOS
ESTE DATO SE PIERDE
0 1 2 3 14 15
0 1 2 3 14 15
CH 05
CH 06
Soporte Técnico
EJEMPLO. APLICACIÓN FUNCIÓN SFT
SE TIENE UNA LÍNEA DE SUMINISTRO DE BOTELLAS.
SOBRE LA LÍNEA EXISTEN 10 PUESTOS QUE PUEDEN EN UN MOMENTO DADO CONTENER BOTELLA.
LA PRESENCIA DE BOTELLA EN UN PUESTO SE DETECTA CON UN SENSOR. CON OTRO SENSOR SE DETERMINA SI LA BOTELLA ES BUENA O MALA.
SEGÚN LA NATURALEZA DE CADA BOTELLA ÉSTA ES RECHAZADA O NO.
Soporte Técnico
EJEMPLO. APLICACIÓN FUNCIÓN SFT
LA LÍNEA ACCIONADA POR UN MOTOR, ES CONTROLADA CON UN PULSADOR DE START, UNO DE STOP Y UNO DE EMERGENCIA.
ANTE UNA FALTA DE ALIMENTACIÓN, LA MÁQUINA DEBE PODER CONTINUAR CORRECTAMENTE CON EL PROCESO CUANDO LA ALIMENTACIÓN VUELVE, PREVIO START.
UN PULSADOR ACTÚA DE RESET DE LA LÍNEA:
(MOTOR OFF, NINGUNA BOTELLA BUENA SOBRE LA LÍNEA).
ENTRADAS
RESET 0007PRESENCIA 0001BUENA/MALA 0002START 0003STOP 0004EMERGENCIA 0005
SALIDAS
START MOTOR 1000RECHAZADOR 1001
AUX 1002CLOCK HR0000
Soporte Técnico
EJEMPLO. APLICACIÓN FUNCIÓN SFT
SENSOR DE PRESENCIA EN PUESTO
SENSOR “BUENA / MALA”
RECHAZADOR
0 1 2 3 4 5 6 7 8 9
1 1 0 0 0 1 0 1 0 1
Soporte Técnico
EJEMPLO. BRAZO ROBOT
START 0000
LS1 0001
LS2 0002
LS3 0003
LS4 0004
LS5 0005
PS1 0006
RTRANSPORTADORA 1000
GIRO DERECHA 1001
GIRO IZQUIERDA 1002
SUBIR 1003
BAJAR 1004
COGER 1005
SOLTAR 10060 1 2 3 4 5 6 7 8
CICLO DE TRABAJO
LS1
LS2
LS3
LS4
LS5
B
A
PS1
IZQ
DCHA
Soporte Técnico
RELLENAR BLOQUE, FUN(71) @FUN(71)
FUNCIÓN: TRANSFIERE EL DATO CONTENIDO EN UN CANAL (O CONSTANTE) A UN GRUPO DE CANALES ESPECIFICADOS.
BSET
D
I
F
D= DATO
I= CANAL INICIAL
F= CANAL FINAL
Soporte Técnico
RELLENAR BLOQUE, FUN(71) @FUN(71)
BSET
#2345
DM10
DM20
3200
#2345
DM10
DM11
DM20
#2345
#2345
#2345
Soporte Técnico
MOVER BLOQUE, FUN(70) @FUN(70)
FUNCIÓN: TRANSFIERE DATOS DE VARIOS CANALES CONSECUTIVOS A OTROS CANALES TAMBIÉN CONSECUTIVOS
XFER
N
O
D
N= Nº CANALES
O= CANAL ORIGEN
D= CANAL DESTINO
Soporte Técnico
MOVER BLOQUE, FUN(70) @FUN(70)
XFER
#4
LR00
HR04
3300
LR 0000 3456
LR 0001 5629
LR 0002 5894
LR 0003 8974
HR 0400 3456
HR 0401 5629
HR 0402 5894
HR 0403 8974
Soporte Técnico
MENSAJE, FUN(46) @FUN(46)
FUNCIÓN: LEE LOS DATOS ASCII CONTENIDOS EN OCHO CANALES (16 CARACTERES) Y LOS VISUALIZA EN EL DYSPLAY DEL DISPOSITIVO DE PROGRAMACIÓN
MSG
NN= CANAL DE COMIENZO
NOTA: EL ÚLTIMO CARÁCTER DEBE SER OD
Soporte Técnico
MENSAJE DE LONGITUD DOBLE, FUN(47) @FUN(47)
FUNCIÓN: LEE LOS DATOS ASCII CONTENIDOS EN DIECISEIS CANALES (32 CARACTERES) Y LOS VISUALIZA EN EL DYSPLAY DEL DISPOSITIVO DE PROGRAMACIÓN (CONSOLA O INTERFACE RS232)
LMSG
N
D
N= CANAL DE COMIENZO
D= CANAL DE DESTINO
NOTA: EL ÚLTIMO CARÁCTER DEBE SER OD
Soporte Técnico
CONTADOR REVERSIBLE, FUN(12)
FUNCIÓN: CONTADOR REVERSIBLE. CUENTA ENTRE CERO Y SV DE ACUERDO CON LOS CAMBIOS EN DOS CONDICIONES DE EJECUCIÓN, LA ENTRADA DE CON TAJE ADELANTE (II) Y LA DE CONTAJE ATRÁS (DI)
II
DI
R
CNTR12
N
SV
N= Nº CANAL DE COMIENZO
SV= VALOR SELECCIONADO
# (000 A 511)
IR, SR, AR, DM, HR, LR, #
Soporte Técnico
EJEMPLO. SECUENCIA DE MENSAJE EN CONSOLA DE PROGRAMACIÓN
APLICACIÓN: Utilizar la instrucción MSG para mostrar mensajes en la consola de programación PRO-27.
La instrucción MSG permite mostrar un mensaje de hasta 16 caracteres sobre el display de la consola de programación. En este caso el programa deberá hacer posible el desplazamiento de un mensaje de 32 caracteres por el display, a izquierda o a derecha según voluntad del usuario e incluso poder detenerlo.
Soporte Técnico
EJEMPLO. SECUENCIA DE MENSAJE EN CONSOLA DE PROGRAMACIÓN
El mensaje estará contenido en los DM’s del 10 al 25 en formato ASCII de la siguiente forma:
ORDEN DE PARADA DE MENSAJE: Entrada 0000.
SENTIDO DE DESPLAZAMIENTO DEL MENSAJE: Entrada 1
FRECUENCIA DE DESPLAZAMIENTO: Base de tiempo constante.
CANAL HEX ASCII
DM10 4F4D OMDM11 524F RODM12 4E20 NDM13 454C ELDM14 4543 ECDM15 5452 TRDM16 4F4E ONDM17 4943 ICDM18 5320 SDM19 4C45 LEDM20 2053 SDM21 414C ALDM22 5544 UDDM23 4120 ADM24 484F HODM25 4C41 LA
Soporte Técnico
DIRECCIONAMIENTO INDIRECTO
Cuando para un operando se especifica el área dde 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.
Soporte Técnico
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
EN ESTE CASO SV = 1547
#0432 DM0432
Soporte Técnico
DIRECCIONAMIENTO INDIRECTO
Ejemplo:
MOV(21)
*DM 0001
LR 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 LR 00.
Si se designa *DM 0001 como primer operando y LR 00 como segundo operando de MOV(21), los contenidos de DM0001 son 1111 y DM 1111 contiene 5555, el valor 5555 será movido a LR 00.
Soporte Técnico
DIRECCIONAMIENTO INDIRECTO
EJEMPLO
ALMACENAR LA TEMPERATURA EN UN HORNO CADA 15 SEG. Y DURANTE 2 HRS., TIEMPO DE DURACIÓN DEL PROCESO.
DATOS
Tº ENTRADA ANALÓGICA: CANAL 101 INICIO DATOS: DM 0001
Soporte Técnico
STC / CLC, FUN 40 / 41
FUNCIÓN: 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 (ADD)
– EXISTENCIA DE RESULTADO NEGATIVO EN UNA SUBSTRACCIÓN (SUB)
LD 0000
STC(40)
LD NOT 0000
CLC(41)
LD 1904
OUT 1000
Soporte Técnico
ADD, FUN(30) /1
LA INSTRUCCIÓN ADD EJECUTA LA SUMA ENTRE DOS DATOS DE 16 BIT (CANALES Y/O CONSTANTES) EN FORMATO BCD
AL RESULTADO SE LE SUMA EL ACARREO SUMANDO 1 SI CY= ON
LOS PARÁMETROS DE LAS INSTRUCCIONES SON 3:
– A1,A2 = SUMANDOS (#, IR, SR, HR, TIM, CNT)
– R = RESULTADO (IR, HR) = A1+A2+CY
A1
A2
R
LD 0000
STC(40)
ADD(30)
HR00
#0001
HR00
Soporte Técnico
ADD, FUN(30) /2
EN EL CASO DE ACARREO (CY = 1), LA SUMA DE LOS DOS SUMANDOS HA SUPERADO EL LÍMITE 9999. EL RESULTADO EFECTIVO ES ENTONCES 10000+R
EN EL CASO DE SUMA CON 8 O MÁS CIFRAS BCD, (SUMA COMBINADA) SE DEBERÁ RESETEAR CY SÓLO PARA LA PRIMERA SUMA.
SI EL RESULTADO DE LA OPERACIÓN SUMA ES = 0, ENTONCES EL FLAG
EQ = 1
SI LOS SUMANDOS NO ESTÁN EN FORMATO BCD, LA OPERACIÓN NO SE EJECUTA Y ENTONCES ER = 1
Soporte Técnico
SUB, FUN(31) /1
LA INSTRUCCIÓN SUB 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
LD 0000
STC(40)
SUB(31)
#0100
00
05
Soporte Técnico
SUB, FUN(31) /2
SEGÚN LOS VALORES QUE TENGAN Mi Y Su, SE TIENEN LOS SIGUIENTES CASOS:
RESULTADO CY EQDATOS
Mi > Su
Mi = Su
Mi < Su
R= Mi - Su
R= 0
R= Mi + (10000-Su)
0
0
1
0
1
0
SI Mi Y Su NO ESTÁN EN EL FORMATO BCD, LA OPERACIÓN NO SE EJECUTA, Y ER = 1
Soporte Técnico
MULTIPLICACIÓN BCD, FUN(32) @FUN(32)
FUNCIÓN: MULTIPLICA EL CONTENIDO DE LOS DATOS ESPECIFICADOS EN LA INSTRUCCIÓN (EN BCD) Y EL RESULTADO SE TRANSFIERE A UN REGISTRO.
MUL
A
B
C
A, B = CANALES /CONSTANTES
R = REGISTRO RESULTADO
Soporte Técnico
MULTIPLICACIÓN BCD, FUN(32) @FUN(32)
MUL
10
#0021
DM100
3300
0034
X0021
=
714
CH 10
DM100= (CH 10) X 21
Soporte Técnico
DIVISIÓN BCD, FUN(33) @FUN(33)
FUNCIÓN: DIVIDE EL CONTENIDO DE LOS DATOS ESPECIFICADOS EN LA INSTRUCCIÓN (EN BCD) Y EL RESULTADO SE TRANSFIERE A DOS REGISTROS (COCIENTE Y RESTO).
DIV
A
B
C
A = DIVIDENDO
R = COCIENTE
B = DIVISOR
R+1 = RESTO
A, B = CANAL / CONSTANTE
Soporte Técnico
DIVISIÓN BCD, FUN(33) @FUN(33)
DIV
10
#4
LR10
3300
133 CH 10
33
1
LR 10
LR 11
4
(CH 10) = (LR 10) X 4 + LR 11
Soporte Técnico
EJEMPLO DE PROGRAMACIÓN
SUMA DE DATOS DE HASTA 8 DÍGITOS APLICACIÓN: SE TRATA DE SUMAR DOS DATOS QUE PUEDEN TENER UNA LONGITUD DE HASTA 8 DÍGITOS.
ESTE PROGRAMA PUEDE LLEVARSE A CABO UTILIZANDO DIRECTAMENTE LA INSTRUCCIÓN DE SUMA DE DOBLE LONGITUD PERO LO HAREMOS USANDO LA INSTRUCCIÓN ADD NORMAL.
LOS DATOS A SUMAR SON LOS SIGUIENTES:
– DATO A: 4 DÍGITOS MAYORES
4 DÍGITOS MENORES
– DATO B: 4 DÍGITOS MAYORES
4 DÍGITOS MENORES
DM1
DM0
DM3
DM2
EL RESULTADO SE GUARDARÁ EN :
– DÍGITO NUM 9
– 4 DÍGITOS MAYORES
– 4 DÍGITOS MENORES
DM6
DM5
DM4 El programa debe poder detectar si alguno de los datos A o B no está en formato BCD. Utilizar el CARRY en las instrucciones suma.