Buenas tardes Jose,
Adjunto un ejemplo para
StxLadder para hacer lo que pedís.
El ejemplo utiliza la variable "
Foco" de forma global en "
PlcMain.p":
new Foco = 1
Luego en función "
PlcMain()" la conmutamos de "1" a "0" y de "0" a "1" cada 5 segundos:
for(;;)
{
//
// Conmutar el valor de Foco segun valor actual
// cada 5 segundos.
//
// Esto se verá reflejado en la pagina Web inputs.shtml al refrescarla.
//
if(Foco==1)
{
Foco = 0
}
else
{
Foco = 1
}
// Esperar 5 segundos.
DelayS(5)
}
Finalmente, en "
OnPrintEvent.p" cuando se pida desde la pagina web "
inputs.shtml" imprimir la cadena numero 11, hacemos:
case 11:
WebServerPrintStr("/l%d.gif", Foco)
Como podes ver en el código anterior, la cadena resultante al llamar
WebServerPrintStr() sera "/l1.gif" o "/l0.gif" según el valor entero de la variable "
Foco".
Recordar que desde pagina "
inputs.shtml" se pide la cadena 11 de la siguiente forma en el codigo HTML:
<td><img src="$! PrintStr 11 $"></td>
El comando "$! PrintStr 11 $" será reemplazado por "/l1.gif" o "/l0.gif" según el valor entero de la variable "
Foco", y esto provocará en el navegador que se cargue el archivo de imagen correspondiente.
Para probarlo, necesitas recargar la pagina cada 2 o 3 segundos manualmente en el navegador, así ves el cambio de estado de la imagen.
Hay otra forma de hacerlo "mas dinámico" para no tener que recargar la pagina manualmente para ver el cambio de estado del Foco y hacerlo automáticamente, utilizando JavaScript, ¿pero no se si eso es lo que queres?.
Saludos