Leer hora Simatic 1200

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 a 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 aquí 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 parámetros 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 parámetro de salida tenemos Salida, valga la redundancia y Resultado_RDT, esta variable es el resultado de haber ejecutado la función 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á, automáticamente 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

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

A su vez, también podemos observar, el DB asociado al FB de instancia

8 de Abril del 2013