• 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 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

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 · 2 Comments

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.

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.

    2 Comentarios

  1. José Alcántara says

    19 mayo, 2016 at 10:31

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

    Responder
    • Iñigo Gútiez says

      19 mayo, 2016 at 15:24

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

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

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

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