Winlog Evo Code Builder: Programmare Applicazioni SCADA con un Linguaggio Proprietario
Sielco Sistemi —
I moderni sistemi SCADA non si limitano più a visualizzare valori di processo, allarmi e trend. Le applicazioni di automazione industriale richiedono sempre più spesso logiche personalizzate, procedure automatiche, elaborazione dei dati e integrazione tra le diverse parti del sistema di supervisione.
Che cos’è Code Builder nello SCADA Winlog Evo?
Code Builder è l’ambiente di programmazione integrato messo a disposizione da Winlog Evo per estendere e personalizzare le applicazioni SCADA.
Offre un linguaggio di programmazione dedicato che consente agli sviluppatori di creare procedure e funzioni e di interagire con gli elementi dell’applicazione Winlog Evo. L’ambiente fornisce inoltre l’accesso alle funzioni della API e strumenti di controllo sintattico.
Questo rende Code Builder uno strumento importante per lo sviluppo e la personalizzazione di applicazioni SCADA.
Scopri gli Strumenti di Sviluppo di Winlog Evo
Perché Usare un Linguaggio di Programmazione all’Interno di uno SCADA?
Ogni progetto di automazione industriale ha requisiti specifici legati all’applicazione. La configurazione SCADA standard fornisce comunicazione, visualizzazione, allarmi, dati storici e reportistica, ma i singoli impianti possono richiedere procedure aggiuntive che non è possibile implementare solo configurando oggetti grafici.
Calcolare valori di processo derivati.
Implementare sequenze di controllo specifiche.
Monitorare più condizioni simultaneamente.
Leggere e modificare i valori dei tag SCADA.
Gestire ricette e procedure di produzione.
Leggere o scrivere file.
Interagire con database.
Generare report ed eseguire calcoli.
Implementare procedure automatiche.
Code Builder rende possibile implementare questa logica specifica dell’applicazione direttamente all’interno del progetto Winlog Evo.
Un Linguaggio di Programmazione Progettato per le Applicazioni SCADA
Code Builder è progettato specificamente per la programmazione all’interno dell’ambiente SCADA Winlog Evo. Il linguaggio include concetti di programmazione fondamentali come variabili, funzioni, espressioni, condizioni e cicli.
I tipi di base documentati includono int, unsigned, real, bool e string. Il linguaggio fornisce inoltre chiamate a funzione, assegnazioni, valori di ritorno, If...Then...Else, For...Next, While e Do...While.
Creare Funzioni e Procedure Personalizzate
Una caratteristica chiave di Code Builder è la possibilità di creare funzioni personalizzate. Una funzione può avere un valore di ritorno, un nome, parametri, direttive, variabili locali e una sequenza di istruzioni.
Questa struttura consente agli sviluppatori di organizzare logiche SCADA complesse in procedure riutilizzabili, evitando di duplicare lo stesso codice in più punti dell’applicazione.
Procedure SCADA Automatiche con Code Builder
Le funzioni di Code Builder possono essere associate a diverse modalità di esecuzione. Le direttive documentate includono #Macro, #Startup, #Shutdown e #Modal.
Una funzione Startup viene eseguita all’avvio del Runtime e può essere utilizzata per controlli ciclici o azioni automatiche. Una funzione Shutdown viene eseguita alla chiusura del Runtime, mentre le funzioni Macro possono essere rese disponibili all’operatore.
Queste caratteristiche rendono Code Builder adatto allo sviluppo di procedure SCADA automatiche.
Accedere ai Tag SCADA da Codice
Una delle caratteristiche più importanti dell’ambiente di programmazione Winlog Evo è l’interazione diretta con i tag SCADA, chiamati in Winlog gate.
La API fornisce funzioni per leggere e scrivere gate numerici, digitali e stringa, insieme a funzioni per lavorare con altre proprietà ed elementi dell’applicazione.
Ad esempio, funzioni come GetNumGateValue() e SetNumGateValue() possono essere utilizzate per leggere e modificare i valori dei gate numerici.
Una API Ricca per lo Sviluppo di Applicazioni SCADA
Il linguaggio di programmazione è affiancato dalla API di Winlog Evo. La documentazione di Code Builder organizza le funzioni della API in diverse aree, tra cui:
Operazioni sui bit
Data log
Database MySQL/MariaDB e SQLite
Data e ora
Dispositivi
Directory e file
Gate SCADA
File storici
Internet e FTP
Matematica
Supporto multilingua
Ricette
Report
SMS
Stringhe
Template e oggetti template
Utenti e gruppi
Code Builder è quindi molto più di un semplice strumento di scripting per calcoli: fornisce un livello di programmazione per la personalizzazione delle applicazioni Winlog Evo.
Database, File, Report e Ricette
La API include funzioni per le applicazioni che devono scambiare informazioni con fonti di dati esterne. Le funzioni database documentate includono operazioni MySQL/MariaDB come gestione delle connessioni, transazioni, istruzioni SQL, binding dei parametri e recupero dei risultati.
Code Builder fornisce inoltre funzioni per la gestione dei file, i data log, i dati storici, i report e le ricette. Le funzioni per le ricette possono creare, eliminare, importare ed eseguire ricette, permettendo alla logica applicativa di interagire in modo programmatico con la gestione delle ricette.
Programmare Condizioni e Cicli nella Logica SCADA
Le applicazioni industriali richiedono spesso operazioni ripetitive e logiche condizionali. Code Builder supporta le condizioni If...Then...Else e diversi tipi di cicli.
For...Next può ripetere istruzioni per un intervallo definito, mentre While e Do...While possono eseguire istruzioni ripetutamente finché una condizione rimane valida.
Poiché il codice Code Builder ha priorità elevata all’interno dell’applicazione, cicli lunghi o infiniti possono influire sulla reattività dell’applicazione. La documentazione Winlog consiglia di utilizzare Sleep() all’interno dei cicli lunghi, in modo che il Runtime possa continuare a gestire le altre attività dell’applicazione.
Un Ambiente di Sviluppo SCADA Integrato
Code Builder è integrato nel Project Manager di Winlog Evo. Gli sviluppatori possono lavorare con i file di codice del progetto utilizzando un editor che offre evidenziazione della sintassi, ricerca e sostituzione, segnalibri e altri strumenti di sviluppo.
L’ambiente include comandi per inserire funzioni della API e strutture del linguaggio direttamente nel codice. Il controllo sintattico può essere eseguito sul file corrente o su tutti i file del progetto.
Perché Code Builder è Utile per gli Sviluppatori Winlog Evo
Il vantaggio principale di Code Builder è la possibilità di combinare sviluppo SCADA visuale e programmazione procedurale.
Gli strumenti di sviluppo di Winlog Evo possono essere utilizzati insieme: è possibile definire variabili di processo, creare pagine grafiche di supervisione e implementare con Code Builder la logica applicativa che collega questi elementi.
Questo approccio mantiene la logica di programmazione specifica dell’applicazione all’interno del progetto SCADA Winlog Evo.
Conclusione: Programmazione SCADA Flessibile con Winlog Evo
Winlog Evo Code Builder offre agli sviluppatori un modo pratico per aggiungere logica di programmazione personalizzata alle applicazioni SCADA.
Il suo linguaggio di programmazione proprietario include variabili, funzioni, condizioni, cicli ed espressioni, mentre la API fornisce l’accesso a gate, dispositivi, file, database, dati storici, report, ricette, template, utenti e altre funzioni di Winlog Evo.
Per gli sviluppatori di applicazioni SCADA, questo significa che Winlog Evo può andare oltre la configurazione e la visualizzazione standard. È possibile creare procedure personalizzate per implementare i requisiti specifici di una macchina, di un processo o di un impianto produttivo.
Code Builder rappresenta quindi una parte importante dell’ambiente di sviluppo Winlog Evo: un livello di programmazione che permette di adattare l’applicazione SCADA alle esigenze specifiche dei progetti di automazione industriale.
FAQ
- Come può essere programmato Winlog Evo per applicazioni SCADA personalizzate?
- Winlog Evo può essere personalizzato utilizzando Code Builder, un ambiente di programmazione integrato che consente di creare procedure e funzioni tramite un linguaggio di programmazione proprietario.
- Winlog Evo dispone di un linguaggio di programmazione SCADA proprietario?
- Sì. Code Builder di Winlog Evo utilizza un linguaggio di programmazione proprietario progettato per lo sviluppo di applicazioni SCADA, con variabili, funzioni, espressioni, condizioni e cicli.
- Winlog Evo Code Builder può leggere e scrivere i tag SCADA?
- Sì. Le API di Winlog Evo forniscono funzioni per leggere e scrivere gate numerici, digitali e stringa, consentendo alla logica dell’’applicazione di interagire direttamente con le variabili di processo SCADA.
- Winlog Evo può eseguire procedure automatiche all’’avvio e alla chiusura del Runtime?
- Sì. Code Builder supporta le direttive Startup e Shutdown. Le funzioni Startup possono eseguire azioni all’’avvio del Runtime, mentre le funzioni Shutdown possono eseguire azioni alla sua chiusura.
- Winlog Evo Code Builder può implementare logiche di automazione personalizzate?
- Sì. Code Builder consente agli sviluppatori di implementare sequenze specifiche dell’’applicazione, calcoli, operazioni condizionali, attività ripetitive e procedure automatiche direttamente nel progetto SCADA Winlog Evo.
- Winlog Evo Code Builder può interagire con i database?
- Sì. Le API di Winlog Evo includono funzioni per database MySQL/MariaDB e SQLite, tra cui gestione delle connessioni, istruzioni SQL, transazioni, associazione dei parametri e recupero dei risultati.
- Winlog Evo Code Builder può gestire ricette e procedure di produzione?
- Sì. Le API di Winlog Evo includono funzioni per le ricette che consentono di creare, eliminare, importare ed eseguire ricette, permettendo alla logica dell’’applicazione di interagire con la gestione delle ricette.
- Winlog Evo Code Builder può essere utilizzato per l’’elaborazione e il calcolo dei dati SCADA?
- Sì. Code Builder supporta variabili, espressioni, funzioni matematiche, condizioni e cicli, rendendolo adatto ai calcoli e all’’elaborazione specifica dei dati SCADA.
- Winlog Evo dispone di un’’API per lo sviluppo di applicazioni SCADA?
- Sì. Le API di Winlog Evo forniscono funzioni di programmazione per gate SCADA, dispositivi, database, file, data log, ricette, report, template, utenti e altre funzioni dell’’applicazione.
- Winlog Evo è adatto allo sviluppo di software personalizzato per l’’automazione industriale?
- Sì. Winlog Evo combina lo sviluppo visuale SCADA con la programmazione Code Builder, consentendo di creare logiche, procedure e funzioni personalizzate in base alle esigenze specifiche di macchine, processi e impianti produttivi.