Concetti di Programmazione nei Sistemi NSC

Logica basata su eventi per automazione distribuita e autonoma

Programmazione Basata su Eventi

I sistemi NSC utilizzano un modello di esecuzione basato su eventi, dove la logica viene attivata da eventi come:

A differenza dei PLC tradizionali che ciclicamente eseguono il programma, il firmware NSC reagisce solo quando accade qualcosa, risultando in un comportamento più rapido ed efficiente in ambienti distribuiti complessi.

Diagramma di confronto tra la scansione ciclica tipica di un PLC e i processi controllati da eventi con NSC

Un Paradigma Diverso

A differenza del PLC non dovresti controllare continuamente lo stato di un contatto/ingresso, ancor meno se non è locale al dispositivo!
Invece usa gli eventi per rilevare quando qualcosa cambia e quindi esegui le azioni richieste di conseguenza. Se devi comunque testare lo stato di un ingresso puoi utilizzare un’espressione Ladder.

Se devi testare lo stato di un ingresso remoto, invece di controllarlo tramite polling remoto usa un flag (merker). Collega l’evento di cambio stato dell’ingresso remoto a un flag (o uscita virtuale) nella unità locale, poi verifica questo flag locale o uscita virtuale nella tua espressione Ladder. In altre parole usi un flag per replicare lo stato di un ingresso o uscita remota, o qualsiasi altro evento.

Multitasking Cooperativo

Il sistema operativo NSC è un sistema di multitasking cooperativo. Questo significa che finché un evento rimane occupato il dispositivo non risponde. Questo si evita facilmente evitando cicli all’interno degli eventi. Usa invece il sistema eventi o i timer.

Alcuni eventi di base sono comunque generati, come eventi basati su interrupt, l’orologio in tempo reale interno e i timer.

Gestione degli Errori

L’interprete incluso nei dispositivi standard NSC può rilevare errori nel programma. Se viene rilevato un errore, viene registrato il codice errore e la posizione nel programma che ha causato l’errore, quindi l’unità viene fermata in modalità protezione. Il dispositivo rimane comunque responsivo e può essere testato, diagnosticato, riavviato o riprogrammato da remoto, garantendo un comportamento sicuro.

Mappatura Ingressi/Uscite

Ogni dispositivo NSC fornisce tipicamente fino a 16 ingressi logici e 16 uscite logiche, oltre a ingressi analogici e supporto one-wire. Ingressi e uscite possono essere direttamente collegati ad eventi logici e azioni tramite i pannelli visivi di MaticStudio.

Quando un ingresso cambia, può attivare direttamente un’azione di uscita, l’attivazione di una funzione, o una chiamata ad un altro dispositivo — tutto senza scrivere codice a basso livello.

Azioni Logiche

Ogni evento nel sistema può attivare una o più delle seguenti azioni:

Icone di eventi e azioni

Logica Distribuita

Con NSC, la logica può essere distribuita tra i dispositivi come se girasse su un unico controllore. MaticStudio genera e collega automaticamente le necessarie Remote Procedure Call (RPC, o chiamata a procedura remota) per sincronizzare i dispositivi.

Questo permette agli ingressi di un’unità di influenzare direttamente le uscite o funzioni di un’altra — senza bisogno di logica di rete manuale.

Componenti Virtuali

NSC supporta la logica modulare tramite Componenti Virtuali — blocchi logici riutilizzabili distribuiti come file COB. Questi componenti possono implementare:

I Componenti Virtuali migliorano la chiarezza della logica, promuovono il riuso e supportano scenari complessi senza scripting.

Timer e Compiti

Ogni dispositivo supporta multipli timer che possono essere attivati da eventi e opzionalmente ripetersi a intervalli specificati. I timer possono essere collegati a qualsiasi azione logica o componente.

Il sistema operativo NSC utilizza il multitasking cooperativo per eseguire i compiti in modo deterministico ed efficiente. Questo riduce significativamente il rischio di condizioni di gara rispetto ai sistemi preemptive. Tuttavia, in contesti distribuiti — specialmente quando sono coinvolte chiamate di procedura remote (eventi pubblici) — alcune interazioni temporali possono ancora portare a risultati non deterministici. Gli sviluppatori dovrebbero progettare la logica tenendo conto dei ritardi di propagazione degli eventi e delle possibili sovrapposizioni nell’uso di RPC tra dispositivi, in particolare quando gli eventi pubblici sono concatenati.

Confronto con PLC Tradizionali

Caratteristica Sistema NSC PLC Tipico
Modello di Esecuzione Basato su eventi Ciclo di scansione
Architettura Distribuita (peer-to-peer) Controllore centralizzato
Comunicazione RPC trasparenti (auto-generati) Disponibile solo in modelli avanzati; richiede logica personalizzata
e moduli opzionali di comunicazione
Programmazione Collegamento visuale evento-azione Diagrammi Ladder o scripting
Estendibilità Componenti COB modulari Blocchi funzione specifici del vendor
Reattività Immediata all’evento Dipende dal tempo di ciclo di scansione

Passi Successivi