Вы находитесь на странице: 1из 6

MI CUENTA CURSOS CURSO GRATIS

Blog Contacto

Como multiplicar S5Time en Step 7

por Iñigo Gútiez · 14 comentarios


Esta semana te traigo una duda sencilla de aclarar, pero que puede que te haya pasado, o te vaya a
pasar como es cómo multiplicar S5Time en Step 7

Como supongo que sabrás, no puedes jugar con los S5time a tu antojo como si números corrientes
se tratara.

Tienen su propia idiosincrasia.

En su momento, ya tratamos un poco este tema en un post.

Hoy vamos a solucionar una duda de Jose Ignacio, que dice así:

Buenas noches Iñigo.

Te saluda Jose desde Colombia 

He estado trabajando con temporizadores de Step 7 y tengo problemas porque quiero hacer una
multiplicación y división con variables tipo tiempo.
Tengo un sistema de control PID en una caldera y la dosi cación debe estar relacionada con la acción de
control del PID que en este caso va de 0 -100%, entonces yo debería aplicar la siguiente formula:
Tiempo Máximo=20s
Tiempo Calculado=%PID*Tiempo_maximo 
Tengo alrededor de 4 compuertas que funcionan con temporizadores con retardo a la conexión SE al cual
le tengo que asignar el tiempo calculado

La cuestión es que esas operaciones de multiplicación directamente, no se pueden hacer.


El resultado de multiplicar así «a pelo» un valor numérico con un S5time dará cualquier cosa.
Para solucionarlo, vamos a usar los bloques FC33 y FC40 que tenemos en la biblioteca.
La semana que viene, te enseñaré algo más elaborado, realizando un bloque para sumar o restar tiempos
sin usar estos bloques FC33 y FC40.
Como multiplicar S5Time en Step 7
Como he comentado, así de primeras, no puedes.

Lo que tienes que hacer, previamente, es convertir el tiempo S5time en Time, operar con ello, y
luego pasarlo nuevamente a S5time.
Así por ejemplo, y teniendo en cuenta lo que quiere hacer Juan, tendríamos que para realizar la
operación:

Tiempo Calculado=%PID*Tiempo_maximo 

Lo primero que haremos será invocar al FC33 (Library>Standard Library>IEC Function Blocks)

Este FC lo que te permite es pasar este tiempo S5time a tiempo IEC.

El tiempo IEC estará dado en una doble palabra y contendrá el tiempo en milisegundos.

Posteriormente, ya puedes multiplicar normalmente obteniendo el valor en milisegundos.

Lógicamente las operaciones de multiplicación deberá ser en dobles enteros.

Si hubiera que multiplicar por un valor real (imaginemos 2,5), entonces previamente tendremos que
pasar el valor del tiempo a real, luego multiplicar, y nalmente redondear a doble entero
nuevamente.

Una vez que tengas el valor en milisegundos, multiplicado, y en formato doble entero, tan solo
tienes que pasar este tiempo de vuelta a S5time usando la función FC 40(Library>Standard
Library>IEC Function Blocks).

Y ya está.

Solucionado como ves en la captura siguiente:

Como ves, he multiplicado un S5time de 3 segundos por 20, obteniendo lógicamente 1minuto.

En cambio, si multiplicas «a pelo» la MW200 (que contiene 3s) por 20, como enteros, obtendrás
teóricamente 3h20m, lo cual, además de ser una burrada, no es posible de tener en un S5TIME ya
que el máximo de un S5time es 999 en base 10, es decir, 9990 segundos, o lo que es lo mismo, 2h
46m 30s.

Lógicamente, la función FC33 da error, ya que tal tiempo, no es posible.

¿Qué te ha parecido?
Espero que esto te haya sido útil, y si tienes que realizar alguna vez operaciones con tiempos de
S5time, no lo hagas directamente como si enteros se tratara, porque lo estarás haciendo mal.

Te dejo un aperitivo de la semana que viene:

Se trata de un bloque que suma o resta tiempos en S5time, y te da como resultado, el tiempo del
operando A en TIME, el tiempo del operando B en TIME, el resultado de la operación (1 suma, 2
resta) en TIME y en S5Time.

En la captura se ve el resultado bien en S5time. Los valores en TIME están representados en


hexadecimal, pero créeme que están bien.

Te animo a que lo intentes.

Eso sí, condición imprescindible: no puedes usar ningún FC, ni FB ni nada de nada de las librerías de
Siemens.

Nada del FC33, FC40, ni nada que haya en el catálogo. Eso es doping.

Con las operaciones normales disponibles, es su ciente para hacerlo.

¿Te animas al reto?

La semana que viene, la solución.

Iñigo Gútiez
Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí

Archivado en: blog

Deja un comentario
Comentario

Nombre*

Email*

Web
Publicar

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus
comentarios.

14 Comentarios

Alfonso dice
15 agosto, 2018 at 19:01

Oleeee

RESPONDER

jose dice
15 agosto, 2018 at 20:16

Muchas gracias iñigo. Este un problema real de una caldera de vapor el tiempo calculado es la
apertura de una compuerta de alimentación el cual depende de PID Maestro de presión,
saludos desde colombia

RESPONDER

Iñigo Gútiez dice


15 agosto, 2018 at 21:36

Un placer poder echar una mano.


Tu duda me ha dado pie a programar el bloque que os enseñaré la semana que viene.
Saludos!

RESPONDER

Duberney dice
15 agosto, 2018 at 21:37

Buen aporte, a mi tambien me gustaria poder aportar lo poco que sé.

RESPONDER

Juan Carlos dice


16 agosto, 2018 at 12:56

Hola, haciendo unos ejercicios me he encontrado con una duda, y seria esta: Realizar un
Temporizador que temporice 8 segundos. Queremos que a los 3 segundos se active la salida
4.0 y en los últimos segundos se active la salida 4.1.
A ver si pudieras echarme una mano. Gracias y muy buena ayuda con tu blog.

RESPONDER

alejandro rico dice


16 agosto, 2018 at 15:57

Como siempre tienes que llevar la cadenita del uso de registros para almacenar cierto tipo de
datos en cada operación, ya que si no llevas la pauta se pierde o te genera error en el
programa…..
Pero cada programa de Autómatas tienen ciertas instrucciones que a veces si las sabes utilizar
se di culta utilizar en un programa se minimiza y lo realizar con facilidad…

Saludos….

RESPONDER
Alvaro dice
17 agosto, 2018 at 5:48

Excelente aporte Iñigo,

Saludos !

RESPONDER

David dice
17 agosto, 2018 at 13:01

Creo que en futuro van añadir una librería Standard de Siemens «Iñigo» que será la mejor para
un automatista!!
Saludos!!!

RESPONDER

Iñigo Gútiez dice


18 agosto, 2018 at 23:12

jaja, ya lo he pensado, no creas que no.


Saludos!

RESPONDER

Zeno Martorana dice


21 agosto, 2018 at 12:31

Gracias amigo ….. eres un verdadero genio.

RESPONDER

Iñigo Gútiez dice


25 agosto, 2018 at 11:24

Jaja Gracias Zeno. Ya me gustaría serlo, pero va a ser que no.


Saludos

RESPONDER

gerardo dice
23 agosto, 2018 at 3:12

bueno!!!!!!!!!!!!!!

RESPONDER

Luis Herrera dice


23 agosto, 2018 at 5:56

Que buen aporte te agradezco Iñigo, saludos se aprecia mucho la explicación

RESPONDER

Iñigo Gútiez dice


25 agosto, 2018 at 11:24

Gracias Luis!

RESPONDER
7 pasos para programar más
ordenado y profesional
Recibirás de forma TOTALMENTE GRATUITA:
 Un PDF de 15 páginas con los pasos para programar rápido y bien
 UN MINICURSO DE 5 LECCIONES de programación básica

He leído y acepto la Política de privacidad


Email

¡Envíame el ebook!

PROGRAMACIÓN SIEMENS te informa que los datos de carácter personal que nos proporciones rellenando el presente formulario serán tratados por Iñigo Gútiez
Chagartegui como responsable de esta web. La nalidad de la recogida y tratamiento de los datos personales que te solicitamos es para enviarte nuestras publicaciones,
promociones de productos y/o servicios y recursos exclusivos. La legitimación se realiza a través del consentimiento del interesado. Te informamos que los datos que
nos facilitas estarán ubicados en los servidores de ActiveCampaign, LLC (proveedor de email marketing), ubicada en EEUU. ActiveCampaign, LLC
está acogido al acuerdo EU-US Privacy Shield. Puedes ver la política de privacidad de ActiveCampaign en https://www.activecampaign.com/privacy-policy/. El hecho de
que no introduzcas los datos de carácter personal que aparecen en el formulario como obligatorios podrá tener como consecuencia que no pueda atender tu solicitud.
Podrás ejercer tus derechos de acceso, recti cación, limitación y suprimir los datos en info@programacionsiemens.com así como el derecho a presentar una reclamación
ante una autoridad de control. Puedes consultar la información adicional y detallada sobre Protección de Datos en nuestra política de privacidad.

Aviso Legal y Política de Privacidad Condiciones de Venta Política de cookies Copyright © 2019 · Programación Siemens · Todos los derechos reservados
· ¿Quién soy? · Misión, Visión y valores

Вам также может понравиться