• 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 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
Home | blog | El tiempo de ciclo en TIA Portal ¿cómo se calcula?

El tiempo de ciclo en TIA Portal ¿cómo se calcula?

El tiempo de ciclo en TIA Portal ¿cómo se calcula?

por Iñigo Gútiez · 3 comentarios

Buscas y buscas dónde está el tiempo de ciclo en TIA Portal. Y no lo encuentras.

Una de las cosas que puede sorprender cuando comienzas a programar en TIA Portal es que en las variables temporales del OB1, no tenemos disponible el tiempo de ciclo del ciclo anterior, valga la rebuznancia.

¿Y entonces? ¿Cómo calcular el tiempo de ciclo en TIA Portal?

Pues la forma de calcular el tiempo de ciclo en TIA Portal es muy sencillo.

Podemos hacerlo de dos formas, una más casera que nos de este tiempo en formato Time y en milisegundos, o con una mayor precisión en segundos en un formato LReal ¡Tóma ya!

Forma precisa y out of the box

calcular el tiempo de ciclo en TIA Portal

Con la instrucción RUNTIME (la puedes encontrar en la caja de herramientas en la carpeta Control del programa), podrás saber el tiempo transcurrido del último ciclo de scan del OB1.

También podremos usarlo para calcular el tiempo que tarda en ejecutarse un bloque, poniendo a la entrada y a la salida del bloque la instrucción RUNTIME y usando la misma variable MEM como entrada.

Como ves, la salida es en segundos y con muchísima precisión.

Para poder usar este bloque, tendrás que usar variables LReal declarando por ejemplo un P#M100.0 como Lreal en caso de querer usar marcas o  bien declararlos en DB globales o de instancia en un FB.

Forma menos precisa y más casera.

A nosotros, como nos va la marcha, nos gusta hacer las cosas a nuestra manera.

Otra forma de calcular el tiempo de ciclo, aunque sea menos preciso, es realizando nuestro propio bloquecito:

calcular tiempo de ciclo en tia portal

Está realizado en un FB, y hemos usado dos variables DTL, usando además la lectura del reloj del sistema, y la instrucción T_DIFF, que nos devuelve la diferencia entre dos tiempos.

Lo que hacemos es sencillo:

  • Registramos el valor del tiempo actual del reloj en la variable #CicloActual
  • Si la variable #CicloActual > #CicloAnterior, entonces calculamos la diferencia entre ellas, dando como resultado el #TiempoCicloAnterior
  • Finalmente copiamos #CicloActual en CicloAnterior, para que en el siguiente ciclo de scan, hagamos nuevamente la diferencia

¿Ingenioso no? Pues sí, a la par que inútil teniendo la operación RUNTIME, pero nos gusta aprender cosas nuevas y diferentes formas de solucionar un mismo problema ¿o no?

Pues si quieres aprender cosas como estas, u otras como puede ser este ejemplo, no esperes más, y échale un vistazo al curso de TIA Portal que está teniendo mucha aceptación.

 

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.

    3 Comentarios

  1. José Alcántara dice

    19 mayo, 2016 a las 10:31

    Gracias Iñigo por tan buena información.
    Saludos!!

    Responder
    • Iñigo Gútiez dice

      19 mayo, 2016 a las 15:24

      De nada José! Me alegro que te sea útil.

      Responder
  2. carlos dice

    21 marzo, 2023 a las 17:46

    hola buenos días realice el montaje que colocas en la imagen, pero la salida de la diferencia no me da una diferencia del tiempo me puedes enviar la imagen pero sin tanto recorte como para ver las lineas

    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