Texto Indexado para mostrar avisos en HMI

Este pequeño ejemplo esta dedicado a Luis. La idea es mostrar en un Panel, un string que vaya mostrando una seria de avisos, alarmas, pasos activados en una secuencia etc... para ello vamos a crear un FB al que he llamado advertencias, como variable de entrada he declarado Ciclo, que será el tiempo en ir mostrando los avisos e ir comprobando si esta activado o no, como variable de salida esta declarada Texto que será la que vincularemos en el HMI como campo de Salida del tipo String.

Como variables estáticas hay declarado un Array de bit, que corresponderan a los diferentes avisos, y un array de string que contendrá el texto a mostrar, una forma mas elegante hubiese sido declarar una estructura como la imagen que se muestra.

El código es sencillo, vamos a ir comprobando a cada Ciclo estipulado si el aviso esta activado, si es así, lo mostraremos por pantalla y así sucesivamente, sino hay ningun aviso, no mostraremos nada, o en su defecto no hay avisos.

Hacemos la llamada a nuestro FB1 Advertencias, asociandole su DB de instancia, y en ciclo tengo creado un Flip Flop que voy cambiendo el tiempo según interese

Voy a comprobar el funcionamiento con el PLCSIM y funciona correctamente según la idea principal, aqui observabamos el DB asociado a nuestro FB y forzamos los bits de la zona de memoria DB7.DBX2820.0

5 de Abril del 2013