Leer Reloj TIA Portal 1200 "RD_SYS_T"

Ya habiamos visto como leer y escribir la hora en un PLC S7-200, en este caso vamos a verlo con su sucesor 1200, pero el objetivo es ejecutar periodicamente una acción a una hora determinada, para ello usaremos la función de leer la fecha y hora del sistema.

Lo primero que vamos ha hacer una vez que estamos online con el PLC, va a ser Ajustar hora en el PLC, esta opción no estaba disponible en todos los 200, sin embargo aqui si que es posible, si observamos en online y diagnostico -> Funciones ->Ajustar Hora, por defecto tiene establecida 01-1-1970, como voy a sincronizarlo con el PC/PG, seleccionamos el controlBox y pulsamos aplicar, con ello ya tenemos el reloj del PLC ajustado

Una vez relaizado el primer paso, vamos a crear una nueva FB, donde donde los parametros de entrada van a ser la hora de inicio y los minutos al igual que la hora de finalización y los minutos, como va a ser una acción diaria, no nos hace falta saber el dia, en caso necesario habria que adaptar el código.

Como parametro de salida tenemos Salida, valga la redundancia y Resultado_RDT, esta variable es el resultado de haber ejecutado la funcion RD_SYS_T, como se verá posteriormente.

Como variable estaticas, declaramos una del tipo DTL que nos hace el trabajo de saber,año,mes,dia,hora,minutos,segundos

En este caso tenemos las variables temporales, que su función va a ser pasar las horas a minutos y a su vez sumar los minutos correspondientes, esto nos va a facilitar hacer las comparaciones, ya que solo usaremos esa variable para saber si estamos dentro del rango (horario) que nos interesa.

El código es el siguiente, donde se ha contemplado una observación realizada por parte de un compañero, que pasa si antes de ejecutarse se va la tensión y vuelve a los 5 minutos cuando ya ha pasado la hora de inicio, pues en el segundo ELSIF del código se contempla esta opción y en caso de que pasará, automaticamente se activaria si es el caso.

Una vez compilada la función ya podemos insertarla en nuestro FC,OB, etc ... y así es como quedaria, y dado por supuesto que las horas y minutos se van ha introducir en su rango, es decir 00:00-23:59

A su vez, tambien podemos observar, el DB asociado al FB de instancia

Una vez que se ejecuta en Online podemos observar la FB y los valores que se obtienen de las diferentes funciones

8 de Abril del 2013