Extraer Horas/Minutos/Segundos del Formato S5TIME

La siguiente práctica vamos a ver una de las formas de observar el tiempo transcurrido de nuestro temporizador, con el formato de S5Time y en nuestra Pantalla, voy a plantear dos situaciones diferentes, la primera de ellas es la siguiente:

Tenemos en nuestro PLC S7-300 y una versión antigua, osea programado con Step 7 un temporizador T1, el tiempo transcurrido se almacenara en la variable asignada a DEZ, que tiene formato BCD.

La condicion que vamos a utilizar es converitir el valor de BDC a Integer, y esta sera la variable que nosotros tenemos en nuestra pantalla, un valor entero que posteriormente descompondremos.

El ejemplo es el siguiente:

Lo primero de todo es refrescar la memoria y ver la información sobre el tipo de datos S5Time, para entender como vamos a descomponer su valor

La información mas revelante es que el valor va desde 0-999 y un Byte se emplea para la base de tiempos, un buen ejemplo es que el valor 9990 segundos equivale a 2 Horas 46 minutos 30 Segundos, con esto comprobaremos que nos funciona corrrectamente nuestra función, y para ello vamos a hacer uso de VBscript, vamos a crear una nueva funcion, en este caso procedimiento, ya que no vamos a retornar ningun valor.

El Script que nos descompone un número entero en Horas, Minutos y Segundos es como se muestra, y lo que voy a hacer es primero de todo multiplicar por 10, ya que 999 del ejemplo equivale a 9990 segundos.

Una vez multiplicado voy a subdividir con el condicional if, voy a saber si es menor a 1 hora, mayor a 1 hora y menor a 2, o mayor a dos horas y dentro de ese condicional, vamos a repetir los mismos pasos, los comentarios muestran que hace cada linea de código.

26 de Enero del 2014

Y para visualizarlo, tenemos una variable declarada como cadena de Caracteres y es donde hemos concatenado nuestros resultados para mostrar la información.

Como se puede apreciar el funcionamiento es correcto