Cómo representar tiempos en los HMI de Siemens

Cómo representar tiempos en los HMI de Siemens

¿Has tenido la necesidad de representar tiempos en una pantalla de Siemens, y has visto que no es nada intuitivo?

Intuyo que asientes con la cabeza.

Pues vamos a ver cómo podemos representar tiempos en los HMI de Siemens, de una forma sencilla.

¿Qué problema hay para representar tiempos en los HMI de Siemens?

El problema para representar tiempos en en los HMI de Siemens es que no hay posibilidad de elegir el formato S5time ni Time de forma directa en las pantallas germanas.

Esto hace que digas.. menuda mier...

A ti lo que realmente te gustaría es poder poner, por ejemplo, un reloj de cuenta atrás del tiempo que queda hasta que una acción se desencadene, y eso, en WinCC Flexible 2008, ni en TIA Portal, existe.

No de forma directa, quiero decir.

¿Cómo solucionas entonces para representar tiempos en los HMI de Siemens?

La verdad es que es bastante fácil, si sabes cómo.

Lo primero que tienes que darte cuenta, es que existe un tipo de variable en las pantallas de Siemens que puedes usar: TOD

Las variables TOD o Time Of Day tienen el formato deseado.

Si te fijas, son del estilo hh:mm:ss lo cual es perfecto para su representación en el HMI de Siemens.

La cuestión es que cómo uso este formato con los tipos de variables de los temporizadores, que en principio, no pegan ni con cola.

Transformar tipo TIME to TOD

Si usas temporizadores IEC, ya sabes que el formato que has de usar, es TIME.

Lamentablemente el formato TIME tampoco se puede representar directamente en WinCC Flexible en versiones clásica o TIA Portal.

La forma de transformar de TIME a TOD va a diferir un poco en función de si trabajas en Step 7 o TIA Portal.

Step 7 clásico o serie 300 en TIA Portal

En Step 7 clásico pasar de formato TIME a TOD es tan simple como transferir el valor.

¡Tachán!

Ambas cosas son prácticamente la misma.

Eso sí, en TIA Portal tendrás que hacerlo en AWL.

Evidentemente, con sus diferencias en cuanto a los márgenes de ambas variables, en los 32 bits se almacenan milisegundos (si lo leyéramos como un número entero).

Por tanto, con solo transferir el valor de una variable tipo TIME a una variable de tipo TOD, será suficiente.

Luego, en WinCC Flexible, leerás esta variable TOD y lo representarás sin problemas.

TIA Portal para las series S7-1200 y S7-1500

En el caso de TIA Portal, si al usar MOVE te da error porque no permite es conversión implícita ¡no te agobies!

Es muy sencillo, usa T_CONVERT y voilà. Lo tendrás hecho.

Transformar S5Time a TOD

En cambio, puede que estés más acostumbrado a usar temporizadores S7 especialmente si usas S7 clásico.

Aquí la cosa cambia un poquito, pero no mucho.

Como en el caso anterior, necesitamos representar el valor del tiempo en TOD.

Entonces, necesitamos pasar el tiempo S5Time a Time, para luego, pasar este a TOD.

Fácil, ¿o no?

Para ello, ya sabes que vimos la forma de pasar de S5time a Time en pasados post.

Así, pasaremos de S5Time a Time y posteriormente a TOD como ya hemos indicado.

¿Lo vemos en un vídeo?

Vídeo de cómo representar tiempos en los HMI de Siemens

Ha sido fácil, ¿verdad?

¿Que te ha parecido?

Espero que te haya parecido interesante.

¿Habías representado alguna vez así el tiempo?

Te recuerdo que si quieres profundizar en el conocimiento profundo de la programación de WinCC Flexible, tienes dos alternativas:

Ni que decir tiene que lo visto en el post de hoy es una minúscula parte de lo que puedes aprender en cualquiera de los dos cursos.

Comentarios (12)
Mario Escobedo
Muchas gracias e sacado la vuelta a ese problema en varias ocasiones
Mario Piñones C.
Gracias Por todo lo que logrado aprender de Siemens a través de vuestra persona y siempre muy interesado en vuestras publicaciones.
INMA MARTIN ALVAREZ
Un buen truco. Explicado de forma muy amena y precisa. Gracias por compartirlo
Iñigo Gútiez
Muchas gracias Inma :)
Andres Suarez
Excelente me ha servido mucho!!!
Jesis
Excelente información para los que lo estamos muy metidos en programación para no quedarnos atrás
Ricardo
buen día muy útiles las enseñanzas recibidas hasta el momento, tengo que repasasr un poco pero entiendo bastante bien, espero poder seguir estudiando con sus cursos, saludos
David
Muy bueno y bien explicado. Gracias
CRISTIAN
EXCELENTE GRACIAS
percy
muchas gracias me ayudo a resolver unas dudas
Nicolas Ramos Álvarez
Hola Iñigo. Muchas gracias por tus explicaciones, siempre muy interesantes y formativas. Un detalle respecto al vídeo: Al arrastrar y soltar la variable en formato "Time_Of_Day" al HMI, se visualiza con un término "AM" que no se puede quitar. Por ejemplo, un tiempo de 15 segundos aparece como "12:00:15 AM". Alguna recomendación? Utilizo TIA V18. He tenido que volver a convertir el Time_Of_Day a un formato DTL, para luego coger cada uno de los componentes (Horas, minutos, segundos) utilizando tres variables al HMI y separándolas con dos puntos mediante un texto plano. Me parece un dolor de cabeza y exceso de recursos si tengo que representar muchos Timers o diferencias de tiempo. Escucho sugerencias, muchas gracias!!!
Cesar
Tengo el mismo problema, lo pudiste resolver?