• Skip to primary navigation
  • Skip to main content

ProgramaciónSiemens

Cursos online de automatización industrial con PLC Siemens

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

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 Comments

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

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.

Filed Under: blog

Reader Interactions

    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 says

    24 agosto, 2018 at 16:25

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

    Responder
  2. Guillermo Garbaty says

    27 agosto, 2018 at 0:39

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

    Responder
  3. Raymundo Mariy Olvera says

    28 agosto, 2018 at 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 says

      28 agosto, 2018 at 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 says

    28 agosto, 2018 at 5:52

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

    Responder
    • Iñigo Gútiez says

      28 agosto, 2018 at 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 says

      30 agosto, 2018 at 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 says

        30 agosto, 2018 at 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 says

    28 agosto, 2018 at 22:07

    Muy bueno gracias por el aporte

    Responder
  6. José trillo says

    5 enero, 2020 at 11:31

    Perfecto y clarísimo!!!

    Responder
    • Iñigo Gútiez says

      5 enero, 2020 at 19:28

      Gracias José!

      Responder
  • Aviso Legal y Política de Privacidad
  • Condiciones de Venta
  • Política de cookies
  • Contacto & Faq
  • Blog

Copyright © 2023 · Programación Siemens · Todos los derechos reservados

· ¿Quién soy? · Misión, Visión y valores