pvbrowser manual - Flussi liberi informatici
pvbrowser manual - Flussi liberi informatici
pvbrowser manual - Flussi liberi informatici
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2 CAPITOLO 1. INTRODUZIONE<br />
Il client <strong>pvbrowser</strong> può essere paragonato ad un normale browser web. Tramite il <strong>pvbrowser</strong> non viene presentato<br />
nessun contenuto statico ma invece viene mostrato contenuto di tipo dinamico, come è necessario per un<br />
software SCADA. Con <strong>pvbrowser</strong> può essere realizzata qualsiasi maschera (pagina) di visualizzazione che può<br />
essere fruibile su tutto l’impianto oppure anche su Internet. Queste maschere (pagine) possono essere sfogliate<br />
utilizzando dei collegamenti ipertestuali.<br />
La struttura delle finestre di <strong>pvbrowser</strong> è controllata dallo stesso <strong>pvbrowser</strong> , ma il contenuto delle stesse è<br />
completamente progettato dallo sviluppatore della maschera. La progettazione di queste maschere può essere<br />
fatta anche da computer remoti. Se una maschera (pagina) viene modificata non è necessario fare nessuna<br />
modifica sul computer client.<br />
Le funzionalità ed il modo di operare di una finestra è determinato dalla realizzazione su misura della maschera.<br />
La finestra del client è dotata di un Help integrato. Un clic su ? accanto al campo dell’URL e poi un clic su di<br />
un’elemento nella barra degli strumenti farà aprire una guida contestuale. Il menu di aiuto in alto a destra è in<br />
realtà una pagina HTML a partire da index.html. Questa pagina deve essere scaricata dal server utilizzando il<br />
comando pvDownloadFile (). Se la pagina index.html non esiste non vi è alcun aiuto disponibile per la maschera<br />
(pagina) in funzione. Per l’help è possibile utilizzare tutte le funzionalità fornite da WebKit. Pvbrowser può<br />
essere personalizzato utilizzando l’editor in File Options. Si prega di notare che alcune variazioni vengono<br />
applicate solo dopo un riavvio del client. Sono disponobili le seguenti opzioni da riga di comando.<br />
opzioni per <strong>pvbrowser</strong> da linea di comando<br />
usage: <strong>pvbrowser</strong> <br />
<br />
example: <strong>pvbrowser</strong><br />
example: <strong>pvbrowser</strong> localhost<br />
example: <strong>pvbrowser</strong> localhost:5050<br />
example: <strong>pvbrowser</strong> -font=courier localhost<br />
example: <strong>pvbrowser</strong> -font=arial:14 localhost:5050 -disable<br />
example: <strong>pvbrowser</strong> -geometry=0:0:640:480<br />
example: <strong>pvbrowser</strong> -global_strut=50:50 # set minimum size for embedded systems<br />
Il client <strong>pvbrowser</strong> si collegherà ad un pvserver via TCP/IP. Il pvserver inizierà l’invio di testo ASCII per il<br />
client che lo interpreterà ed il risultato porterà alla chiamata di un metodo Qt. Nella direzione opposta il client<br />
<strong>pvbrowser</strong> invierà messaggi di testo ASCII per il pvserver quando l’utente attiverà un evento come un clic su<br />
di un pulsante per esempio. Questo testo verrà interpretato all’interno di un ciclo di gestione degli eventi nel<br />
pvserver. Questo si tradurrà in una chiamata alla relativa ’slot function’. Il compito dello sviluppatore di una<br />
maschera di visualizzazione è quello di personalizzare queste ’slot function’. Lo scheletro del pvserver verrà<br />
generato e curato automaticamente da pvdevelop così lo sviluppatore potrà concentrarsi sulle ’slot function’.<br />
Il layout delle maschere verrà invece progettato graficamente.<br />
Una tipica funzione in pvserver che invia del testo ASCII al client <strong>pvbrowser</strong>.<br />
int pvSetValue(PARAM *p, int id, int value)<br />
{<br />
char buf[80];<br />
sprintf(buf,"setValue(%d,%d)\n",id,value);<br />
pvtcpsend(p, buf, strlen(buf));<br />
return 0;<br />
}