CGI: la chiave ai PLC web-compatibili 

CGI (Common Gateway Interface) è una tecnologia web standard utilizzata frequentemente sui web server. CGI definisce un'interfaccia su un web server che permette l'esecuzione di script o di applicazioni sul server stesso. Il risultato di questi file eseguibili è quindi solitamente trasferito sotto forma di una pagina HTML  al client che ha fatto la richiesta (browser). Nel normale utilizzo, i file eseguibili medianta una chiamata CGI sono memorizzati in una directory «cgi-bin». Una chiamata CGI consiste di un indirizzo internet, della specifica di una directory CGI («cgi-bin») e del fie eseguibile desiderato. Se si devono inviare dei parametri al file eseguibile, questo è indicato con un «?», seguito dai parametri. Parametri multipli sono separati da un segno «+».

I controllori PCD di Saia-Burgess Controls dispongono di un web server con interfaccia CGI che consente l'accesso a tutti i dati del controllore PLC. In questo modo gli ingressi/uscite, i marker, i data block, ecc. si possono leggere e modificare. I dati si possono leggere con l'applicazione CGI «readVal.exe», mentre «writeVal.exe» si puo' utilizzare per scrivere i dati.

Per utilzzare questa tecnologia, tutto quello che vi serve è un semplice browser. Per esempio, se introducete l'URL nella riga indirizzi del browser, la finestra del browser visualizzerà il valore corrente della marker word 100 (in formato decimale) per il controllore con indirizzo IP 192.168.0.230. Il comando CGI attuale «readVal.exe» è seguito da una tag per l'indirizzamento del dato PLC sotto forma di un parametro preceduto da «?». Questo consiste di una chiave di identificazione generale per i dati di processo (PDP), del dato PLC desiderato (MW100 = marker word 100) e di un formato (d = decimale). Per esempio, per impostare la marker word a 1234, l'URL deve essere  http://192.168.0.230/cgi-bin/writeVal.exe?PDP,,MW100,d+1234. Qui, si deve far notare che il valore scrivibile (1234) è stato indicato sotto forma di un secondo parametro e preceduto da un «+».



Fra le funzioni di base CGI per la lettura e la scrittura individuale di dati PLC, i controllori PCD offrono anche la possibilità dell'acquisizione o modifica di diversi valori simultaneamente – con solo un singolo accesso/telegramma. Questo è possibile utilizzando un'altra funzione CGI per la definizione "one-off" di record che specificano i dati PLC richiesti. Una volta definiti, questi sono acquisiti con una singola chiamata e trasferiti con un singolo telegramma. Questo è un modo flessibile per trasferire anche un gran volume di dati, senza sovraccaricare le comunicazioni. 

E' sempre una buona cosa l'acquisizione dei dati PLC con un browser, ma quali vantaggi comporta? Utilizzando precisamente lo stesso metodo, i dati PLC possono essere indirizzati da applicazioni Java e .NET. Con la sua classe WebRequest, .NET contiene già tutto quanto è necessario per comunicare con un PLC. L'utente deve solo dare l'istruzione CGI richiesta come un URL alla chiamata Web Request. Immediatamente, questo, gli fornirà tutti i dati necessari all'interno della sua applicazione Visual-Basic. Non potrebbe essere piu' semplice. Inoltre, la comunicazione fra il PLC e il PC o il pannello di controllo non richiede nessun driver speciale, OPC server o altre schede aggiuntive innestabili: tutte possonoe ssere gestite comodamente con le risorse integrate di Windows®. Ma la parte migliore è, che lavora sempre nello stesso modo, indipendentemente se un web panel è connesso direttamente alla macchina con il PLC, o se un PC da ufficio vuole accedervi via intranet, o si deve fare telemanutenzione via internet.