Driver di comunicazione

Introduzione

In UNIQO è possibile configurare la comunicazione con i PLC per due scopi:

  • a design time, instaurare un canale di comunicazione per importare nel progetto le tag del PLC, utili per progettare le logiche applicative desiderate (ad esempio attivare un allarme quando il valore di una tag supera un certo valore).

  • a runtime, mantenere sincronizzati i valori e i tipi di dati delle variabili importate con quelli delle tag del PLC.

Oggetti per configurare la comunicazione

Per configurare la comunicazione tra UNIQO e un PLC, è necessario usare due oggetti specifici:

  • un oggetto di tipo Driver di comunicazione, che rappresenta il protocollo di comunicazione

  • un oggetto di tipo Station di comunicazione all’interno del relativo driver, che rappresenta il PLC e in cui impostare i parametri di comunicazione.

Per ogni protocollo si possono configurare tante Station di comunicazione quanti sono i PLC fisici che utilizzano lo stesso protocollo nella propria applicazione

Driver di comunicazione supportati

I driver supportati sono quelli disponibili nella cartella Driver di comunicazione nel pannello Tipi.

Per comunicare con PLC che supportano protocolli custom su interfaccia seriale, tramite l’oggetto Porta seriale è possibile configurare un protocollo personalizzato (vedere Porta seriale e API Serial Port).

Importazione di tag

Per sfruttare le tag del PLC nelle proprie logiche applicative, è necessario che tali tag siano rappresentate in UNIQO. UNIQO può importare tag in modalità offline, ovvero tramite caricamento di un file esportato dal PLC, oppure in modalità online, ovvero con collegamento al PLC in rete, per i protocolli che lo supportano.

A seconda del protocollo di comunicazione, l’oggetto Station di comunicazione può contenere un oggetto TagImporter con cui importare tag in modalità online o offline.

Per ogni tag importata dal PLC, UNIQO crea una corrispondente variabile di progetto di tipo Tag. Ad esempio una tag di un PLC Codesys è rappresentata da una variabile di tipo Tag CODESYS. I valori e i tipi di dati delle variabili di tipo Tag restano sincronizzati a runtime con quelli delle tag sul PLC, in lettura e in scrittura.

Nota

quando il tipo di dato delle tag del PLC non corrisponde a un tipo di dato dello standard OPC UA, UNIQO imposta per la variabile il tipo di dato OPC UA più pertinente.

Per usi più avanzati è possibile sfruttare tramite NetLogic le API dedicate (vedere API per leggere/scrivere variabili di campo), per esempio per leggere/scrivere tag a runtime.

Sincronizzazione delle tag a runtime

A runtime UNIQO effettua la sincronizzazione delle tag a intervalli regolari in base al valore della proprietà Tempo di polling per variabili dinamiche del Presentation engine (vedere Presentation engine).

Per ottimizzare le prestazioni di lettura/scrittura delle tag, UNIQO sincronizza prioritariamente le tag visualizzate/scritte tramite gli oggetti grafici attivi (per esempio un Indicatore circolare in una finestra in primo piano).

Codici dell’operazione di lettura/scrittura sul PLC

Per ogni operazione di lettura/scrittura di una o più tag, il PLC genera un codice operazione che ne descrive l’esito.

Codice

Descrizione

Good

Lettura/scrittura riuscita

BadNoCommunication

Lettura/scrittura fallita per timeout, ad esempio timeout di connessione.

Nota

il tempo di timeout è quello impostato nella proprietà Timeout delle Station di comunicazione.

BadCommunicationError

Lettura/scrittura fallita in quanto il PLC ha restituito un errore

BadConfigurationError

Lettura/scrittura fallita per errore di configurazione della tag (ad esempio indirizzo non valido)