GLI SCRIPT NEI SISTEMI DI SUPERVISIONE SCADA E HMI

Script per sistema di monitoraggio scada e hmi

Benvenuti in questa lezione dedicata agli script nei sistemi di monitoraggio HMI e SCADA. Oggi impareremo cosa sono gli script (programmi in linguaggio strutturato) e come funzionano, inoltre vedremo anche degli esempi pratici, dal più semplice fatto in un’istruzione solamente, per arrivare a routine più complesse e articolate.

Novità automazione e plc

Ecco gli argomenti di questa lezione:

Generalità sugli scripts.

Cosa sono gli scripts nei sistemi di supervisione.

Come si scrivono gli scripts.

Principali gruppi di funzioni utilizzabili.

Esempi di script nei sistemi di supervisione.

Generalità sugli scripts.

Se c’è una funzione dei sistemi di interfaccia uomo macchina che gioca davvero un ruolo di “game changer” è la possibilità di editing di script, ovvero un insieme di istruzioni che ci permettono di svolgere all’interno del sistema di supervisione compiti anche molto complessi.

Cominciamo con il dire che non tutti i sistemi di programmazione permettono di includere scripts all’interno del monitoraggio, soprattutto quando si opera con pannelli operatore di qualche tempo fa o di fascia bassa. In questi sistemi lo scripting spesso non è previsto oppure se è presente è molto limitato. Questi limiti sono dettati dalle caratteristiche dell’hardware hmi e soprattutto dal sistema operativo che governa l’apparecchio.

A differenza di ciò che avviene nei pannelli operatore, quando operiamo su sistemi di monitoraggio basati su PC come gli scada, il discorso cambia e la possibilità di eseguire scripts è solitamente garantita.

Cosa sono gli scripts nei sistemi di supervisione.

Lo script è un insieme di istruzioni che viene eseguito quando vogliamo, a tal proposito quando si crea uno script i sistemi ci permettono quasi sempre di scegliere quando eseguirlo, per esempio quando premiamo un tasto, oppure mentre lo teniamo premuto, o ancora quando rilasciamo un tasto.

In certi sistemi possiamo decidere di eseguire uno script ciclicamente, per esempio ogni secondo, oppure quando il risultato di una certa espressione logica è vera o una variabile assume un certo valore.

Nella prossima immagine abbiamo uno script che viene eseguito una volta sola nel momento che la condizione diventa vera. Altre comuni condizioni di esecuzione script sono:

Mentre è vero > le istruzioni vengono eseguite continuamente mentre la condizione è vera.

Al passaggio al falso (on False) > lo script si esegue una sola volta quando la condizione passa da vero a falso.

Sul cambio valore > le istruzioni vengono eseguite quando la variabile o la condizione cambia di valore, quindi una sola volta per cambio.

Il trigger degli script negli scada

Come si scrivono gli scripts.

I sistemi di supervisione ci mettono a disposizione un certo linguaggio per gli script, in pratica un set di istruzioni semplici, di operatori logici, espressioni matematiche, e tutta una serie di funzioni più o meno complesse che riguardano non solo il funzionamento degli scada ma anche il sistema operativo e l’hardware su cui esso si poggia.

La scrittura della lista di istruzioni avviene mediante dei semplici editor di testo, ne vediamo uno nella prossima immagine.

Esempio di scrittura script per sistema di monitoraggio scada

Vediamo ora i principali gruppi di funzione che possiamo programmare in uno script:

Gestione pagine: richiamare e nascondere pagine di sinottico, pop up di comando ecc.

Operatori logici: come avviene per tutti i linguaggi di programmazione, gli operatori logici sono un pilastro su cui gli script si fondano.

Operatori matematici: non esiste sistema di scripting che non possa eseguire delle funzioni matematiche semplici o complesse come quelle trigonometriche.

Condizionamento IF, THEN, ELSE: di basilare importanza nella stesura di un programma è la possibilità di condizionare le istruzioni.

Funzioni di conversione: con queste funzioni si converte la base dei numeri binari, decimali e esadecimali, oppure si trasformano numeri da interi a reali e viceversa, decidendo anche il tipo di arrotondamento.

Funzioni di elaborazione stringhe: permettono di cercare caratteri in stringhe di testi, oppure di estrarre parti di stringa o ancora di combinarle.

Funzioni di sistema: in questa categoria troviamo per esempio la gestione della data e dell’ora, la lettura dello spazio libero su disco, la gestione della stampa e tutto ciò che concerne il sistema operativo.

Questi che abbiamo elencato sono solo degli esempi, a seconda del sistema le possibilità di scrittura di questi programmi cambia e, in alcuni casi si può anche creare con uno script la propria funzione che poi potrà essere richiamata in altri script.

All’interno degli editor degli script solitamente si possono inserire dei commenti per rendere la lettura del codice più semplice.

Nella prossima immagine vediamo come funziona il sistema di runtime degli scada. Possiamo notare che sia l’animazione delle pagine grafiche che l’esecuzione degli script prevedono l’interazione con il database delle variabili, infatti negli script facciamo largo uso di variabili sia interne allo scada che esterne (quelle presenti nei plc e sul campo in generale).

Funzionamento degli scripts nei runtime scada

Esempi di script nei sistemi di supervisione.

Ora che sappiamo cosa sono gli scripts, vediamo alcuni esempi per capire meglio come funzionano. Le istruzioni che troviamo negli esempi sono in un linguaggio di scripting generico, tuttavia sono talmente intuitive che trovare le corrispondenti in ogni sistema di supervisione risulterà semplice.

Semplice script di richiamo pagina, per esempio alla pressione di un tasto sullo schermo.

show “nomepagina”;

Script che mostra un messaggio all’operatore in base ad alcune condizioni:

IF v1_alm THEN

 msgbox “Attenzione, la valvola di estrazione è in avaria!”;

END IF;

Script di azzeramento variabili:

pos_nastro_1=0;

pos_nastro_2=0;

pos_nastro_3=0;

pos_nastro_4=0;

pos_nastro_5=0;

pos_nastro_6=0;

pos_nastro_7=0;

Script di calcolo matematico e condizionamento:

num_pezzi=num_pezzi+1;

IF num_pezzi * peso_medio > max_peso THEN

 fineprocedura=1;

END IF;

Nella prossima immagine vediamo come appare l’editor degli script del sistema di supervisione Intouch della Wonderware (AVEVA). Si notano pulsanti per inserire tutti i principali operatori logico matematici, e quelli per sceglie i gruppi di funzioni più avanzate.

Esempio di funzioni negli scripts dei sistemi di supervisione industriale Intouch

Che cosa fa questo script?

Senza scendere nei dettagli, esso costruisce una stringa e la invia mediante l’applicazione chiamata “SendMsg.exe” che si trova nella prima riga del programma. La funzione di Intouch StartApp serve proprio a eseguire programmi esterni al sistema; poi ci sono tutte le funzioni di elaborazione stringe come StringChar e StingTrim, che sono utilizzate nella composizione dinamica del testo (quest'ultima comprende anche delle variabili). 

Copyright(C) automazione-plc.it
P. IVA: 11676200964
Sito di informazione e didattica sull'automazione industriale, il mondo dei PLC e dei sistemi di supervisione.
Programmazione PLC.
Programmazione SCADA e HMI.
Apparecchiature e hardware industriale.
Strumentazione da campo.
Policy sulla Privacy e utilizzo dei Cookies