el reloj de tiempo real del plc s7-200

Anuncio
Facultad de Ciencias UASLP
AUTÓMATAS PROGRAMABLES
EL RELOJ DE TIEMPO
REAL DEL PLC S7-200
Carlos Canto Q
.
Facultad de Ciencias UASLP
AUTÓMATAS PROGRAMABLES
EL RELOJ DE TIEMPO REAL
OPERACIÓN LEER RELOJ DE TIEMPO REAL READ_RTC
•
La operación Leer reloj de tiempo real lee la hora y fecha actuales
del reloj y carga ambas en un búfer de 8 bytes (que comienza en la
dirección T).
RTC
READ_RTC
EN
ENO
BUFFER “T”
T
Carlos Canto Q
.
VB400 aaaa
VB401 mm
mm
VB402 dd
dd
VB403 hh
hh
VB404 min
min
VB405 ssss
VB406 0000
VB407 nd
nd
año
mes
día
hora.
min
segs
Num. de día
Facultad de Ciencias UASLP
AUTÓMATAS PROGRAMABLES
EL RELOJ DE TIEMPO REAL
OPERACIÓN AJUSTAR RELOJ DE TIEMPO REAL SET_RTC
SET_RTC
EN
La operación Ajustar reloj de tiempo real
escribe en el reloj la hora y fecha actuales
que están cargadas en un búfer de 8 bytes
(que comienza en la dirección T).
ENO
T
Buffer T
RTC
Carlos Canto Q
SET_RTC
SET_RTC
VB400 aaaa
VB401 mm
mm
VB402 dd
dd
VB403 hh
hh
VB404 min
min
VB405 ss
ss
VB406 0000
VB407 nd
nd
.
Facultad de Ciencias UASLP
AUTÓMATAS PROGRAMABLES
EL RELOJ DE TIEMPO REAL
Todos los valores de la fecha y la hora se deben codificar en BCD (p.ej., 16#97
para el año 1997). Utilice los siguientes formatos de datos:
Año/mes
aamm
aa: 0 a 99
mm: 1 a 12
Día/hora
ddhh
dd: 1 a 31
hh: 0 a 23
Minutos/segundos
mmss
mm: 0 a 59
ss: 0 a 59
Día de la semana
dd: 0 a 7
1 = Domingo
0 = desactiva el día de la
semana (permanece 0)
El reloj de tiempo real se inicializa con la siguiente fecha y hora tras un corte de
alimentación prolongado o una pérdida de memoria:
Carlos Canto Q
.
Fecha:
01-Ene-90
Hora:
00:00:00
Día de la semana:
Domingo
Facultad de Ciencias UASLP
AUTÓMATAS PROGRAMABLES
INSTRUCCIONES DE COMPARACIÓN
La operación Comparar byte se utiliza para comparar dos valores: IN1 e
IN2. Las comparaciones incluyen: IN1 = IN2, IN1 >= IN2, IN1 <= IN2,
IN1 > IN2, IN1 < IN2, o IN1 <> IN2.
Las comparaciones de bytes no llevan signo.En KOP, el
contacto se activa si la comparación es verdadera.
IN1
==B
IN2
Carlos Canto Q
.
Facultad de Ciencias UASLP
AUTÓMATAS PROGRAMABLES
INSTRUCCIONES DE CONVERSION BCD-ENTERO-BCD
BCD_I
EN
ENO
IN
OUT
I_BCD
EN
ENO
IN
OUT
Carlos Canto Q
.
La operación Convertir de BCD a entero
convierte el valor BCD de entrada (IN) en
un valor de entero y carga el resultado en
la variable indicada por OUT. El margen
válido de IN está comprendido entre 0 y
9999 BCD.
La operación Convertir de entero a
BCD convierte el valor entero de
entrada (IN) en un valor BCD y carga
el resultado en la variable indicada
por OUT. El margen válido de IN está
comprendido entre 0 y 9999 enteros.
Facultad de Ciencias UASLP
Ejemplo1:
AUTÓMATAS PROGRAMABLES
Se desea implementar un programa que realice lo siguiente:
Al accionarse la entrada I0.0
Si el año es 2005 se activará la
salida Q0.0
si estamos en el mes de abril se
accionará Q0.1
Si es el día lunes (2), se acciona
la salida Q0.2
Si es el día lunes (2), y son las
12:50 se acciona la salida Q0.3.
1)
2)
3)
4)
El buffer T
VB400
Año
VB401
Mes
VB402
Día
VB403
Hora
VB404
Minuto
VB405
Segundo
VB406
Milisegundo
VB407
Día de la semana
Network1
I0.0
Leer Reloj
READ_RTC
EN
ENO
T
VB400
Network 2
Compara año 2004
VB400
Q0.0
>=B
4
Network 3 Compara mes de Abril
VB401
Q0.1
>=B
4
Network 4 Compara día 1
VB407
Q0.2
>=B
2
Network 5 Compara día 1 a las 12:50
VB407
>=B
2
VB403
>=B
16#12
VB404
>=B
16#50
Q0.3
Todos los valores de la fecha y hora se deben de codificar en BCD.
Carlos Canto Q
.
Facultad de Ciencias UASLP
AUTÓMATAS PROGRAMABLES
Eejemplo2: Se desea corregir el año del reloj de tiempo real
I2.1
READ_RTC
EN
VB400
T
Carga byte del año al Acumulador 0
MOV_B
EN
VB400
IN
OUT
AC0
BUFFER “T”
INC_W
EN
AC0
IN
OUT
AC0
IN
OUT
READ_RTC
EN
VB400
Carlos Canto Q
.
T
VB400
VB401
VB402
VB403
VB404
VB405
VB406
VB407
0404
0505
0202
1010
3030
0202
0000
0404
año 2004
mes mayo
día 02
10 hrs.
AC0
30 min
20 segs
miercoles
AC0
0404
+1
Incrementa año +1
0505
Regresa byte de AC0 al buffer
MOV_B
EN
AC0
Pasa el RTC al Buffer que empieza en VB400
RTC
VB400
RTC
Actualiza
ActualizaRTC
RTC
VB400
VB401
VB402
VB403
VB404
VB405
VB406
VB407
0505
0505
0202
1010
3030
2020
0000
0404
Facultad de Ciencias UASLP
Ejemplo3:
I2.1
READ_RTC
EN
T
VB400
AUTÓMATAS PROGRAMABLES
se requiere que un motor conectado en la salida Q0.0
se prenda todos los domingos del año en curso a las
2 pm, que se mantenga prendido por 35 minutos y
después se apague.
MOV_B
; Cargar la hora enBCD al AC0
EN
VB403
IN
AC0
EN
IN
VB404
EN
IN
OUT
AC0
; Convertir valor de la hora en BCD a
entero (16 bits) y dejar en AC0
BCD_I
OUT
AC0
MOV_B
EN
IN
AC1
OUT
AC1
; Convertir los minutos de BCD a entero
(16 bits) y dejar en AC1
BCD_I
OUT
AC1
>=B
35
AC1
; si ya han transcurrido 35 minutos
apagar motor
M0.1
AC0
VB407
==B
14
==B
1
Carlos Canto Q
; Cargar los minutos en BCD a AC1
.
Q0.0
M0.1
; si es domingo y son las 14 horas prender motor en
Q0.0 y mantener prendido .
Descargar