La soluzione più semplice è utilizzare un sistema SlimLine, grazie al server web nativo è possibile creare una pagina htm che ritorna su richiesta GET lo stato del relè. In pratica occorre creare una pagina con il seguente contenuto:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
Relay status:<!--['%d', BOOL, 2048]-->
</body>
</html>
Come si evince da questo articolo alla richiesta della pagina al posto del TAG <!–[‘%d’, BOOL, 2048]–> viene ritornato il valore presente nella variabile BOOL allocata nella memoria dello SlimLine in DB100.2048.
Inviando un POST Content-Type: application/x-www-form-urlencoded con body BOOL+2048=x, verrà settata la variabile con il valore x (0/1), gli indirizzi da 2048 a 4095 sono tamponati, quindi il valore settato rimarrà memorizzato anche allo spegnimento del sistema.
Nel programma dello SlimLine basterà eseguire la copia della variabile sull’uscita reale. Ecco il semplice programma:
VAR
RCommand AT %MX100.2048 : BOOL; (* Relay command from WEB *)
Do00CPU AT %QX255.0 : BOOL; (* Output 00 CPU module *)
END_VAR
Do00CPU:=RCommand;