Cómo visualizar una instancia concreta de un FB

Cómo visualizar una instancia concreta de un FB

Cómo visualizar una instancia concreta de un FB Uno de los problemas que tiene el crear los FB cuando los reutilizas, es que si abres un FB reusado, necesitas saber cómo visualizar una instancia concreta de un FB.

En mi caso, y debido a que en general no suelo usar muchos FB reutilizados, pues no suelo necesitarlo.

Pero puede que tú si que lo necesites, y no sepas muy bien cómo hacerlo.

Pues aquí va un pequeño tutorial de...

Cómo visualizar una instancia concreta de un FB

Lo primero que tienes que hacer es abrir el bloque (OB1 por ejemplo) donde la multiinstancia está siendo llamada.

Luego, sigue los siguientes pasos:

  • Ve al menú TEST -> Modo de funcionamiento. Ahí estará en modo proceso. Situala en modo TEST.
  • Guarda el bloque, y cárgalo al autómata.
  • Ponte online, y haz click con el botón derecho sobre la multiinstancia que quieras observar, y en el menú contextual,  selecciona "Bloque llamado" -> "Observar con ruta de llama".

¡Y ya está! Lo que verás será el estado de la instancia concreta de un FB que tu hayas elegido.

¿Puedo dejar el bloque cargado en modo Test?

Por poder, puedes, pero no es recomendable a mi juicio. Como bien indica Siemens, el modo Test no es gratis, sino que hace que el ciclo de scan se alargue. Literalmente, en una de las ayudas de Siemens, dice:

Indicaciones sobre el modo de servicio

  • Servicio de prueba Se pueden utilizar todas las funciones de prueba sin restricciones. Pueden aparecer grandes ampliaciones del tiempo de ciclo de la CPU, ya que , por ejemplo, el estado de las instrucciones de los bucles programados, se determina en cada pasada..
  • Servicio de proceso  Se limita la función de prueba del estado del programa para garantizar una mínima carga del tiempo de ciclo. Así, por  ejemplo no esta permitida ninguna condición de llamada. La visualización de estado de un bucle programado se interrumpe en el punto de salto hacia atrás. La función de prueba "Parar" (Halt) y ejecución del programa paso a paso no se pueden realizar.

Por tanto, y de lo que se trata es de saber cómo visualizar una instancia concreta de un FB en un momento dado, pero yo dejaría el modo de servicio en "Servicio de proceso".

Para volver al modo, ni que decir tiene, que simplemente lo que hay que hacer es deshacer lo hecho, es decir, en offline, seleccionar el modo anterior, guardar y volver a enviar.

Si necesitas más información, puedes encontrar lo que dice Siemens en este enlace.

El vídeo.

Como otras veces, te dejo un pequeño vídeo explicando lo que hemos visto sobre estas líneas.

¿Lo sueles usar?

Me gustaría saber si esto de cómo visualizar una instancia concreta de un FB es algo nuevo para ti o realmente sueles usarlo.

Comentarios (8)
Jhosip Sandoval
Saludos, iñigo, El presente tiene como finalidad tratar de aclarar una duda con respecto a los DB cuya sintaxis, es: DB21. DBX44.5 (contacto NO), Esta dirección sirve como permisivo para accionar una salida (A9.2), la cual esta condicionada por el DB antes mencionado. Realmente no se como setear o mojar (forzar), ese contacto ya que proviene del DB antes mencionado, y no consigo la forma de hacerlo. de antemano muchas gracias por cualquier ayuda que puedas aportarme.
admin
Hola Échale un vistazo a este post https://programacionsiemens.com/como-observar-y-forzar-variables-en-step-7/ Saludos
fabian limones
Bueno! gracias.
josetxu
Como puedo conseguir el código descuento?
admin
Los códigos de descuento están en la última entrada del blog. VUELTAS7 para el curso de S7 VUELTAWIN para el curso de WinCC Flexible 2008 VUELTAVB para el curso de VB Net Válidos hasta mañana 14 de septiembre. Saludos
Guillermo
Muchísimas gracias!!!!!! Me hacía mucha falta!! Este blog es genial!!!!
Oscar
Hola, Hay alguna forma de saber si un FB se ha ejecutado?? Me explico, como saber si alguien ha eliminado la llamada a esa FB desde la FC?? En esa FB hay programadas unas informaciones no criticas pero si alguna vez esenciales.
Iñigo Gútiez
Si está llamado, se ejecuta, no hay más. Si no está llamado o su llamada está condicionada y no se cumple, pues no. Pero eso te lo dice el código cargado en el PLC.