• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar al pie de página

Programación Siemens

Cursos online de TIA Portal y PLC Siemens.

  • Cursos
  • Blog
  • Mi cuenta
    • Mi cuenta
    • Foros
    • Curso de TIA Portal para CPU 1200
    • Curso Express de TIA Portal
    • Curso de AWL
    • HMI con OPC UA en Python y QT-Designer
    • Curso HMI con Python y Qt-Designer
    • Curso de iniciación a la Industria 4.0
    • Curso de comunicaciones IE y Profinet
    • Curso de WinCC Flexible 2008
    • Crear HMI con OPC y VB.NET
    • Crear HMI con Snap7 y VB.NET
    • Curso ViSnap7
    • Curso de Step 7 V5.x
  • Contacto & Faq
Home | blog | Cómo sumar y restar tiempos S5time en Step 7

Cómo sumar y restar tiempos S5time en Step 7

Cómo sumar y restar tiempos S5time en Step 7

por Iñigo Gútiez · 11 comentarios

La semana pasada te proponía el reto de realizar un bloque sin apoyarse en los bloque existentes de la librería para sumar y restar tiempos S5time en Step 7.

Espero que hayas aprovechado el tiempo de esta semana para darle duro y llegar a la solución, que por otra parte, no es excesivamente compleja.

Ojo, no es excesivamente compleja, pero no es trivial tampoco.

Tiene su aquél.

Para empezar, porque el tiempo S5time no es un número normal como puede ser un entero o un real.

S5time tiene una estructura muy concreta que hay que saber manipular para poder jugar con él.

El formato de S5time es el siguiente:

sumar y restar tiempos s5time

Sí, efectivamente, esto no es para personas que acaben de empezar en step 7.

Pero este ejemplo nos sirve para conocer un poquito mejor este formato de variable.

Contenido

  • 1 El formato S5time
    • 1.1 El valor del tiempo en S5time
    • 1.2 La base de tiempos de S5time
    • 1.3 Rango de tiempos en S5time
  • 2 Sumar y restar tiempos S5time en Step 7.
    • 2.1 Usando las funciones de Siemens
  • 3 Cómo sumar y restar tiempos S5time en Step 7
    • 3.1 El vídeo
  • 4 ¿Qué te ha parecido el reto de sumar y restar tiempos S5time en Step 7?

El formato S5time

Para empezar, debemos saber que el formato s5time tiene dos partes bien diferenciadas:

  • El valor del tiempo
  • La base de tiempos

El valor del tiempo en S5time

El valor del tiempo, como ves en la imagen ocupa 12 bits en formato BCD.

Esto, como bien indica la propia infografía nos da unos valores entre 0 y 999, ya que en BCD, cada dígito ocupa 4 bits.

Si no conoces el formato BCD, échale un vistazo a esta entrada de la Wiki, que seguro que te saca de alguna duda.

La base de tiempos de S5time

Por otro lado, tenemos los últimos 4 bits de los cuales solo usamos los 2 más bajos obteniendo la base de tiempos en función de su valor:

  • 0 para base 0,01 s
  • 1 para base 0,1 s
  • 2 para base 1 s
  • 3 para base 10s

Rango de tiempos en S5time

Esto de por sí tiene varias consecuencias para el tamaño que puede albergar un tiempo S5time:

  • El valor más pequeño no nulo es de 10ms.
  • La resolución es de 10ms, por lo que no podremos cargar 125ms (por ejemplo). Tendrá que ser, bien 120 o bien 130ms ya que la base son 10ms.
  • No podemos seleccionar valores superiores a los 9990 segundos (2h 46m 30s)

Sumar y restar tiempos S5time en Step 7.

De todo lo anterior, se desprende fácilmente que no podemos sumar y restar tiempos tan fácilmente como lo haríamos con formatos simples como enteros o reales.

Por tanto, para sumar o restar tiempos S5time en Step 7 tenemos que hacer pasos intermedios para obtener el resultado deseado.

Usando las funciones de Siemens

Como ya vimos en el pasado post, podemos usar la funciones de Siemens (FC33 y FC40) para transformar el tiempo S5time en tiempo formato TIME.

Esto nos permite, una vez en formato time, tratar el tiempo de forma algebraica como si de un doble entero normal se tratara (de hecho, es un doble entero normal).

Tan solo hay que tener en cuenta que el tiempo en formato time, la base de tiempos es el milisegundo.

Es decir, 1s en formato time, será 1000 en formato entero.

¿Fácil no?

Es por eso, que trabajar con el formato TIME es mucho más sencillo para sumar y restar tiempos que en S5time.

Hasta ahora.

Cómo sumar y restar tiempos S5time en Step 7

En el post anterior te presentaba el bloque que he programado para poder realizar estas sumas y restas de tiempos S5time:

Como multiplicar S5Time en Step 7

El reto que te presentaba era que dieras los dos operandos A y B (tiempos S5time), y que tras dar la operación (1 o 2 para sumar o restar respectivamente), como resultado obtuvieras el tiempo del operando A y B en TIME, y el resultado de la operación en formato TIME y S5TIME.

El vídeo

Te dejo con el vídeo de cómo he planteado yo la solución al reto.

Seguramente hayas pensado en otras formas de resolverlo, pero esta es una forma válida.

Como verás, he introducido algún concepto interesante que igual no has tratado nunca, como es realizar potencias.

 

¿Qué te ha parecido el reto de sumar y restar tiempos S5time en Step 7?

Espero que te haya gustado el reto, y sobre todo, que lo hayas resuelto por tu cuenta.

¿Lo has resuelto?

Sí, ya sé que lo de sacar el exponente, es un poco sobrada, y que es más fácil hacer unas comparaciones, multiplicar por lo que corresponda, y ya está.

Pero ¿dónde quedaría entonces la imaginación a la hora de sumar y restar tiempos S5time?

Deja tus impresiones en los comentarios.

El ejemplo lo colgaré en el anexo del curso de Step 7  para que los flamantes poseedores de él, tengan el código para que lo puedan estudiar con más detenimiento, o simplemente copien el bloque para el uso en sus proyectos.

 

 

 

Iñigo Gútiez
Iñigo Gútiez

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

Puedes seguirme en cualquiera de las siguientes redes sociales.

Publicado en: blog

Interacciones con los lectores

    Deja un comentario Cancelar

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

    11 Comentarios

  1. gerardo dice

    24 agosto, 2018 a las 16:25

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

    Responder
  2. Guillermo Garbaty dice

    27 agosto, 2018 a las 0:39

    Excelente!!! Quedó mas que clarisimo!!!
    Saludos!

    Responder
  3. Raymundo Mariy Olvera dice

    28 agosto, 2018 a las 3:42

    Buen dia, tengo una duda, se puede realizar esta misma practica y de la misma manera en TIA Portal?

    Y una gran duda que tengo, que diferencia hay entre usar el Step7 y el TIA Portal para programar los PLC 300 y 400, en mi trabajo tenemos una maquina que la programaron 2 empresas alamanas diferentes, unos usaron el Step7 y el otro el TIA Portal

    Gracias por su atencion…

    Responder
    • Iñigo Gútiez dice

      28 agosto, 2018 a las 17:07

      Para programar los PLC S7-300, tienen que tener un firmware mínimo.
      De todas formas, yo si tengo un PLC programado con Step7 tradicional, lo dejaría como está.
      Un saludo

      Responder
  4. RINO ISMAEL SIMANCAS dice

    28 agosto, 2018 a las 5:52

    Muy buena explicacion ,lo que no veo es el link para poder descargarlo. gracias.

    Responder
    • Iñigo Gútiez dice

      28 agosto, 2018 a las 17:23

      Hola,

      Si tienes el curso de Step 7, solo accede al curso a través de «Mi cuenta» y luego en el Aula virtual.

      Saludos

      Responder
    • RINO ISMAEL SIMANCAS dice

      30 agosto, 2018 a las 5:15

      Hola como estas , tengo el curso , he incresado por aula virtual y al curso step7 , pero solo veo los links de los ejemplos viejos , exactamente 10 ejemplos . no veo este o por lo menos en mi perfil no sale.
      gracias por tu ayuda.

      Responder
      • Iñigo Gútiez dice

        30 agosto, 2018 a las 7:59

        Solucionado. Se había quedado la publicación de la unidad un poco tonta.
        Ya está disponible
        Saludos y gracias por el aviso

        Responder
  5. Juan Carlos dice

    28 agosto, 2018 a las 22:07

    Muy bueno gracias por el aporte

    Responder
  6. José trillo dice

    5 enero, 2020 a las 11:31

    Perfecto y clarísimo!!!

    Responder
    • Iñigo Gútiez dice

      5 enero, 2020 a las 19:28

      Gracias José!

      Responder

Footer

· Acerca de
· Misión, Visión y valores
· Aviso Legal y Política de Privacidad
· Condiciones de Venta
· Política de cookies
Utilizamos cookies propios y de terceros para mejorar nuestros servicios y tu experiencia de usuario. Si continuas navegando, consideramos que aceptas su uso. Aceptar Política de cookies
Política de Cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR