FAQs Técnicas

Realizar una pregunta

¿Cómo se puede conocer el tiempo en que una sección/paso está activa en un programa realizado en lenguaje SFC (Grafcet) de un proyecto Unity?

Si se desea conocer el tiempo en que una sección/paso está activa en un programa realizado en lenguaje SFC (Grafcet) de un proyecto Unity, la variable TIME de la estructura del paso/sección instanciado ¿mide lo mismo que si se hubiera utilizado la instrucción FREERUN en dicha sección?

La variable TIME de la estructura del paso instanciado de un diagrama SFC no indica lo mismo que la utilización de la instrucción FREERUN dentro de la sección instanciada en el mismo paso SFC.
Si se desea conocer cuánto tiempo tarda dicha sección en ser ejecutada a nivel lógico por el PLC (dentro de un ciclo de scan del PLC), la forma de hacerlo es instanciando la función FREERUN como primera y última instrucción dentro de la sección que se ejecuta dentro del paso SFC, y calculando la diferencia (delta) entre el valor de ambas instrucciones.

Si se desea conocer el tiempo en el que un paso de un diagrama SFC está activo, la forma de hacerlo es consultando la variable TIME de la estructura de dicho paso.

Ambos valores (la variable TIME de la estructura de un paso SFC y el resultado de implementar la instrucción FREERUN dentro de la sección asignada al mismo paso SFC) coincidirán si el paso SFC se ejecuta sólo durante un ciclo de scan del PLC. De otra forma, y dado que habitualmente un paso SFC se ejecuta durante varios ciclos de scan del PLC (puede ser durante segundos, horas, días,...), ambos registros no indicarán el mismo valor.
¿Ha sido útil?
¿Qué podemos hacer para mejorar la información?