Sunteți pe pagina 1din 10

EL RELOJ DE TIEMPO

REAL DEL PLC S7-200


EL RELOJ DE TIEMPO REAL

OPERACIN LEER RELOJ DE TIEMPO REAL READ_RTC

La operacin leer reloj de tiempo real, nos lee la hora y fecha actuales y carga ambas en un
bfer de 8 bytes (que comienza en la direccin T ).

RTC
VB40
aa Ao
0
VB40
mm Mes
1
VB40
dd Da
2
VB40
hh Hora
3
VB40
min Minuto
4
Buffer T
VB40
ss Segundo
5
VB40
00 ---------
6
VB40
nd Nmero de da
7

OPERACIN AJUSTAR RELOJ A TIEMPO REAL SET_RTC

La operacin ajustar reloj de tiempo real escribe en el reloj la hora y fecha actuales que estn
cargadas en un bfer de 8 bytes (que comienza en la direccin T ).

BUFFER T

VB40
aa
0
VB40
mm
1
VB40
dd
2
VB40
hh
3
VB40
min
4
VB40 ss
5
VB40
00
6
VB40
nd
7

RCT SET_RTC
Todos los valores de la fecha y la hora se deben codificar en BCD (p.ej., 16#97 para el ao
1997). Utilice los siguientes formatos de datos:

Ao/mes aamm aa: 0 a 99 mm: 1 a 12


Da/hora ddhh dd: 1 a 31 hh: 0 a 23
Minutos/segundos mmss mm: 0 a ss: 0 a 59
59
Da de la semana dd: 0 a 7 -------------- 1 = Domingo
- 0 = desactiva el
da de la semana
(permanece 0)

El reloj de tiempo real se inicializa con la siguiente fecha y hora tras un corte de alimentacin
prolongado o una prdida de memoria:

Fecha: 01-Ene-90
Hora: 00:00:00
Da de la semana: Domingo

INSTRUCCIONES DE COMPARACIN

La operacin comparar byte se utiliza para comparar dos valores: IN1 e IN2 . Las
comparaciones incluyen:

IN1 = IN2 ,
IN1 >= IN2 ,
IN1 <= IN2 ,
IN1 > IN2 ,
IN1 < IN2 ,
IN1 <> IN2 .

Las comparaciones de bytes no llevan signo. En KOP, el contacto se activa si la comparacin es


verdadera.
INSTRUCCIONES DE CONVERSION BCD-ENTERO-BCD

La operacin 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 vlido
de IN est comprendido entre 0 y 9999 BCD .

La operacin 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 vlido
de IN est comprendido entre 0 y 9999 enteros.
Ejemplo 1: Se desea implementar un programa que realice lo siguiente:
(Todos los valores de la fecha y hora se deben de codificar en BCD).

Al accionarse la entrada I0.0:


Si el ao es 2005 se activar la salida Q0.0
Si estamos en el mes de abril se activar Q0.1
Si es el da lunes 2, se activar la salida Q0.2
Si es el da lunes 2, y son las 12:50 se activar la salida Q0.3.

BUFFER T
VB400 Ao
VB401 Mes
VB402 Da
VB403 Hora
VB404 Minuto
VB405 Segundo
VB406 Milisegundo
Da de la
VB407
semana
Ejemplo 2: Se desea corregir el ao del reloj de tiempo real:

Pasa el RTC al Buffer, que empieza en VB400

Carga byte del ao al acumulador 0

04
Incrementa 1+

05

Regresa byte de AC0 al buffer


Actualizar RTC
Ejemplo3: Se requiere que un motor conectado a la salida Q0.0, se ponga en marcha
todos los domingos del ao en curso, y a las 2 de la tarde, y se mantenga encendido durante 35
minutos y a continuacin se apague. NOTA: la salida Q0.0 o la que corresponda.

Carga la hora actual en BCD al AC0

Converte valor de la hora actual en BCD a entero (16 bits) y


deja en AC0

Carga los minutos en BCD a AC1

Converte los minutos de BCD a entero (16 bits) y deja en AC1

Si ya han transcurrido 35 minutos se apaga motor

Si es domingo y son las 2 de la tarde, arranca motor mediante la salida Q0.0,


quedando en marcha.

S-ar putea să vă placă și