ChartView™ ha fatto sua questa
filosofia esasperando il concetto, i dati… sono la chiave di tutto.
I dati vengono gestiti come entità fisiche ed il loro variare
decide le azioni che vengono compiute. Il tutto in pratica funziona secondo il
principio chiamato di Event-Driven, cioè il software lavora
solo se accade qualcosa provocato dai dispositivi connessi.
Questo tipo di approccio, permette un migliore sfruttamento
della potenza di elaborazione del PC. Infatti, nei
tradizionali sistemi SCADA, tutti i punti soggetti a
controllo, vengono messi in una lista, che viene controllata
totalmente ad ogni ciclo di tempo programmato. Questo
significa che, anche se i dispositivi controllati sono
totalmente fermi, ed il tempo ciclo schedulato è
estremamente corto, il PC lavorerà sempre a pieno ritmo.
Inoltre usando i sistemi tradizionali, può capitare, che la
lista dei punti sia talmente grande che il sistema non abbia
abbastanza risorse per controllare tutti i punti nell'unità
di tempo ciclo. Questo causa quindi che o si sia obbligati
ad allungare il tempo ciclo oppure a ridurre il numero di
punti da controllare.
Con il sistema adottato da
ChartView invece, se i dispositivi connessi sono totalmente
fermi, il software non assorbe assolutamente tempo CPU, e
l'uso del tempo CPU è direttamente proporzionale al numero
di punti che cambiano contemporaneamente nell'unità di
tempo schedulato.
Paradossalmente possiamo dire
che indipendentemente dal numero di punti schedulati,
rispetto ai sistemi tradizionali, solamente nella condizione
estrema, cioè che tutti i punti cambiano contemporaneamente
(condizione impossibile a verificarsi), ChartView è veloce
come gli altri SCADA. Di solito e mediamente più veloce di
50 volte rispetto i sistemi concorrenti.
Caratteristiche di base
CHARTVIEW è stato progettato per sfruttare in pieno
le potenti caratteristiche dei nuovi sistemi operativi della MICROSOFT. I
programmatori hanno cercato di portare in ambiente WINDOWS prestazioni che in
fatto di velocità a parità di CPU si trova al top della gamma. L’intero
pacchetto è stato scritto in C++ utilizzando l’MFC 4.0 di MICROSOFT. Il
collaudo funzionale sia del pacchetto di sviluppo che del CORE di esecuzione,
che consente all’applicazione di funzionare, è stato fatto utilizzando tutti
gli strumenti MICROSOFT, consentendo un altissimo grado di integrazione del
pacchetto con il sistema operativo.
Particolare cura è stata posta dai progettisti affinché l’applicativo
scritto con CHARTVIEW sembri a tutti gli effetti un programma
nativo WINDOWS.
Funzionalità di base
CHARTVIEW è stato
progettato per sfruttare completamente le risorse dei sistemi operativi
MICROSOFT. Pur mantenendo intatte le caratteristiche di massima flessibilità e
configurabilità, consente l’utilizzo di tutti gli strumenti che troviamo nei
pacchetti software di uso comune. Questo consente allo sviluppatore di creare
delle applicazioni con un look and feel in linea con tutto l’ambiente di
lavoro. La parola d’ordine che caratterizza la filosofia di ChartView™
è "Connettivitá". Infatti il programma consente alcune (le più
importanti), funzionalità di base, quindi intorno al sistema gravitano una
miriade di moduli, i Plug-Ins, che perfettamente integrati nel pacchetto e tra
di loro consentono lo svolgimento di tutte le funzionalità accessorie. Vediamo
intanto le principali caratteristiche inserite in CHARTVIEW:
DataBase
Il programma ChartView™ non
fá più distinzione di sorta, grazie alla totale integrazione del programma nel
sistema Windows, per lo sviluppatore non vi è più differenza tra lo sviluppo
con il formato MDB (Access) oppure i formati di tipo SQL (Oracle, Ingress, SQL
Server ecc.). Per l’utente infatti durante la configurazione dell’applicativo,
il trattamento di un campo MDB o SQL o comunque di qualunque altro tipo
(avendone a disposizione il driver ODBC) è perfettamente identico. È poi
compito di ChartView™ preoccuparsi di come effettuare le procedure di
salvataggio e lettura. ChartView™ è in grado di lavorare con un solo DataBase
per volta (ma sono previste delle espansioni future per lavorare con DataBase
multipli), ma è altresì possibile gestire tabelle multiple all’interno dello
stesso DataBase.
Grafica
Il programma utilizza pesantemente la grafica ( e come
potrebbe del resto essere diversamente) sia nelle fasi di sviluppo che nelle
procedure di lavoro con il server, che con il client per la presentazione dei
dati in formato grafico (Carta X-r, Carta X-s, Capability, Dispersione ecc.).
Soprattutto però nella fase di sviluppo, si fa grande uso delle risorse
grafiche e della filosofia WYSIWYG che sta alla base del sistema operativo
WINDOWS. Mai come con ChartView™ il mouse è l’arma
vincente.
Stampa
L'esigenza di avere copia dei documenti su supporto cartaceo
per consentire la visualizzazione di tutte le grandezze lette ed i grafici da
essi ricavati, da parte di un numero di persone più vasto dei soli gestori è
stata tenuta in debito conto dai programmatori. Occorre sicuramente avere una
"memoria cartacea" dei rilevamenti fatti direttamente sugli strumenti
di misura o comunque sulle apparecchiature, soprattutto in quei casi in cui l’impianto
su cui vengono effettuati i rilevamenti è di grosse dimensioni e coinvolge un
gran numero di valori. Per sottolineare particolari momenti in cui l’impianto
ha dei problemi è utile tenere traccia su carta dell’andamento di certe
valori. Questo permette di avere una ricostruzione storica di tutti gli
avvenimenti significativi in modo da potere ricostruire con precisione assoluta
le condizioni ed i motivi del comportamento della macchina. ChartView™
permette di creare stampe molto elaborate in maniera molto semplice e
flessibile attraverso i Formati di Stampa.
Controllo
ChartView™ consente sia
tramite il modulo di Server ma soprattutto con il modulo Client la gestione di
finestre che vengono racchiuse all’interno dei dispositivi di controllo.
Queste finestre sono l’interfaccia vera e propria tra i dati che il sistema
archivia e il controllore, cioè colui che deve utilizzare a vario titolo tali
valori. Tramite il programma di configurazione, il development, è possibile
conferire a tale interfaccia vari aspetti, si va dai grafici di tipo statistico
( Carte X-r, Carte X-s, Capability, dispersione, Torte ecc.) fino alle finestre
di controllo vere e proprie in stile SCADA. Tramite moduli di espansione è
altresì possibile gestire anche un minimo di interfaccia operatore associata
all’acquisizione dati. Non si arriva alla sofisticazione di un vero e proprio
pacchetto SCADA, per le supervisioni molto spinte ChartView™
è in grado di connettersi e di interagire con LOGOVIEW NT, di cui è il
fratello minore, o comunque con qualunque altro pacchetto SCADA tra i numerosi
disponibili sul mercato, tuttavia, dove le pretese sono modeste è possibile
evitare la spesa di un secondo software risolvendo le problematiche tramite le
funzionalità di controllo. Tramite il linguaggio interno è altresì possibile
interagire con le varie finestre manipolando in modo completo qualunque tipo di
controllo WINDOWS, Dialog Box ecc.
Campo
Il compito fondamentale per un programma di acquisizione dati
è quello della raccolta dati dal campo. Ovviamente ChartView™
da questo punto di vista è molto dotato e consente un gran numero di
configurazioni. Le operazioni principali che si possono effettuare sono la
scrittura e la lettura sincrona, attraverso il linguaggio Basic e la lettura
asincrona. La scrittura sincrona serve per comunicare verso il campo scrivendo i
valori sul dispositivo collegato sul fronte campo. Anche la lettura sincrona
serve a comunicare con i dispositivi collegati al campo, questa volta leggendovi
i valori. Il migliore mezzo però, per leggere i valori dal campo è sicuramente
la lettura asincrona. In questa modalità il sistema riceve i valori
ciclicamente direttamente dal dispositivo, senza nessuna azione preventiva se
non la configurazione della sorgente di lettura ed il tempo di ciclo di
controllo. In questo modo sarà il dispositivo stesso che, quando ci sono dei
nuovi valori da comunicare a ChartView™,
provvederà a comunicarli, depositandoli direttamente nei contenitori di valori
di destinazione. In questo modo transitano solamente i valori che in qualche
modo hanno subito una modifica incrementando notevolmente la velocità di
transazione. È possibile connettere un numero consistente di dispositivi di
campo a ChartView™, si va dai più diffusi tipi
di PLC spaziando tra quelli di tipo seriale fino a quelli connessi a reti di
tipo proprietario, Avvitatori di tipo brushless in grado di dare coppia e angolo
di avvitatura, Presse e ribaditrici, lettori di codici a barre, sensori ad
infrarossi, calibri di misurazione, termocoppie, sensori di prossimità,
encoders ecc.
V_Basic
Per ultimo, ma non per importanza, il più volte citato linguaggio interno di
ChartView™: il BASIC. Il perché del Basic è presto spiegato, si tratta
sicuramente del linguaggio di programmazione più diffuso in assoluto. In questo
caso però i progettisti hanno voluto strafare, infatti non si tratta di BASIC
Script di MicrosoftÔ , il linguaggio che viene
integrato dalla casa di Redmond in tutti i suoi programmi (Word, Excel, Access
ecc). Non si tratta nemmeno di acquistare a parte una licenza di Visual Basic
Microsoft per sviluppare delle Routines a parte…. Si tratta di un vero e
proprio linguaggio BASIC scritto appositamente per essere inserito ed usato all’interno
di ChartView™. Il linguaggio è stato progettato e realizzato in
collaborazione con una società specializzata in linguaggi di programmazione, ed
è perfettamente compatibile a livello sorgente con il Visual Basic ed il Basic
Script citati prima. Sicuramente una domanda sorgerà spontanea sulle vostre
labbra, ma perché reinventare ciò che già esiste? Bene la risposta è molto
semplice, un programma come ChartView™ necessita di una velocità di
elaborazione elevatissima per consentire delle risposte immediate garantendo
quindi un vero Real-Time. Queste velocità non sono sicuramente garantite dal
Basic Script che oltre essere lento come una lumaca non consente nemmeno il
processo parallelo delle procedure, cosa che non viene garantito nemmeno dal
potentissimo Visual Basic, quest’ultimo inoltre ha anche il difetto di essere
piuttosto costoso... Il V-Basic (così lo abbiamo chiamato), invece non solo
consente l’elaborazione in parallelo (multithreading) ma è in grado di
eseguire le procedure in background, elaborando quindi i dati in modo veloce ed
efficiente. Per tutti i ragguagli sul linguaggio vi rimandiamo al manuale delle
istruzioni, mentre per imparare ad usarlo è possibile usare uno qualunque dei
numerosissimi libri che la bibliografia mondiale ha prodotto sull’argomento.
1 Per il formato MDB o comunque i formati in locale, è
ChartView™ stesso che crea le tabelle e le gestisce. Viceversa per i database
in formato SQL (Ingress, Oracle, MSQL ecc.) è evidente che servono le licenze
del server che si decide di usare e per la creazione delle tabelle di lavoro si
deve seguire la procedura solita, mentre per la configurazione e la connessione
al server, ChartView™ anche in questi casi è totalmente autonomo. Su