Esempio: Utilizzo di OPC UA PubSub SL Biblioteca
Prodotto:CODESYS OPC UA PubSub SL
Le OPC UA PubSub SL Example.project
l'esempio mostra come usare il OPC UA PubSub SL libreria per lo scambio di messaggi tramite il protocollo Pub/Sub come definito da OPC UA Foundation.
Il pacchetto contiene anche un secondo esempio: PubSubDataSet.project
. Mostra come usare OPC UA PubSub SL libreria per fornire diversi set di dati e collegarli alle istanze GVL.
Descrizione
Oltre alla comunicazione Client/Server, la comunicazione tramite il protocollo OPC UA Pub/Sub offre anche un'ulteriore possibilità di scambio di dati tra gli abbonati di una rete in conformità con le regole della OPC UA Foundation.
La struttura dei dati (DataSet
) può essere liberamente definito ed è preventivamente concordato tra mittente e destinatario. Ciò elimina la necessità di trasportare ulteriori (meta) dati. I dati vengono trasferiti con l'aiuto del OPC UA PubSub SL libreria tramite UDP/IP secondo le regole definite per UADP.
Un editore pubblica i suoi dati a un numero imprecisato di abbonati. Di conseguenza, il mittente e il destinatario non si conoscono. Ecco perché anche il numero dei destinatari non ha ripercussioni sul mittente. Una risposta al mittente in merito al fatto che i suoi messaggi abbiano raggiunto o meno i destinatari non può essere inviata tramite il protocollo a causa della natura del protocollo. Se necessario, tale risposta deve essere gestita in modo specifico per l'applicazione.
I dati vengono trasferiti in formato binario secondo le regole della OPC UA Foundation. IL OPC UA PubSub SL
library gestisce la conversione dei tipi di dati IEC nei corrispondenti tipi di dati OPC UA e viceversa.
L'implementazione segue i seguenti profili:
Publisher: PubSub Publisher UADP Periodic Fixed Settings
Subscriber: PubSub Subscriber UADP Periodic Fixed Settings
La lunghezza del messaggio è limitata a 1.500 byte (MTU) (i messaggi di rete in blocchi non sono supportati). Finché le regole per una rete Time Sensitive non sono ancora disponibili, le condizioni hard real-time non possono essere rispettate. Tuttavia, l'attuazione del OPC UA PubSub SL
la libreria tenta di mantenere il jitter il più basso possibile.
La libreria include i seguenti blocchi funzione:
DataSet
:Definisce un
DataSet
MessaggioConfiguration
:Gestisce le risorse condivise, come Connessione o Gruppo
RootDiagnostics
:Notifica con dati diagnostici superiori
Connection
:Gestisce la connessione a Publisher e Subscriber
ConnectionDiagnostics
:Notifica con dati diagnostici sulla connessione (
Connection
)ReaderGroup
:Gestisce
Reader
blocchi funzione (creazione di un NetworkMessage daDataSet
messaggi)ReaderGroupDiagnostics
:Notifica con dati diagnostici su
ReaderGroup
Reader
:Gestisce il
DataSet
blocco funzione (abbonato)ReaderDiagnostics
:Notifica con dati diagnostici su a
Reader
blocco funzioneWriterGroup
:Gestisce
Writer
blocchi funzione (creazione di un NetworkMessage daDataSet
messaggi)WriterGroupDiagnostics
:Notifica con dati diagnostici su
WriterGroup
Writer
:Gestisce un
DataSet
blocco funzione (editore)WriterDiagnostics
:Notifica con dati diagnostici su a
Writer
blocco funzione
![]() |
Funzionalità supportate
Pubblicazione/Sottoscrizione di messaggi secondo OPC 10000-14: OPC Unified Architecture Part 14: PubSub Release 1.04
Dimensione massima di un NetworkMessage: 1.500 byte
La dimensione del pacchetto e il payload correnti possono essere configurati mediante la configurazione del rispettivo ReaderGroup/WriterGroup e
DataSet
blocchi funzione.Supporto con un'attività in background per il rispettivo
Connection
blocco funzioneSono supportati i seguenti profili:
Publisher: PubSub Publisher UADP Periodic Fixed Settings
Subscriber: PubSub Subscriber UADP Periodic Fixed Settings
Informazioni aggiuntive
IL Device_1
applicazione mostra come leggere a NetworkMessage
.
IL Device_2
L'applicazione mostra come inviare messaggi tramite i blocchi funzione contenuti.
Hardware
Te ne servono due CODESYS PLC collegati su una rete che supporta UDP Multicast.
Nel progetto adattare la configurazione del dispositivo ai dispositivi aggiornando
Device_1
EDevice_2
all'hardware utilizzato.
Personalizzazioni nel progetto
Impostare gli indirizzi IP nel file
GlobalIP
GVL all'hardware che hai configurato. Troverai questo GVL nel file POU la zona.Imposta l'indirizzo multicast su un indirizzo libero nella tua rete.
Nota: se non sei in una rete privata, chiedi al tuo amministratore di rete di assegnarti un indirizzo gratuito.
Imposta la porta. La porta predefinita 4840 è la porta consigliata per OPC UA PubSub.
Accedi a entrambi i controller e avvia le applicazioni.
Avvia sia il mittente che il destinatario:
Device_2: PLC_PRG.xEnable := TRUE
Device_1: Communication_PRG.xEnable := TRUE
Sul lato ricevitore, ora dovresti vedere come cambiano i valori del seno. Puoi modificare manualmente gli altri valori nel mittente e vedere le modifiche nel destinatario.
Aggiungi una variabile al file DataSet
che è già stato inviato.
Estendere
SensorDataSet._aIndex
da una voce. Seleziona qualsiasi tipo di dati.In
SensorDataSet.Init
, adattare la versione diDataSet
aggiornando l'inserimento della data.Nel
PLC_PRG
programma del mittente, creare una variabile del tipo di dati selezionato. Assegna il valoretxSensorDataSet.PrepareValues
alla variabile.In
rxSensorDataSet.PrepareValues
, ripetere questo passaggio sul lato ricevitore. Crea anche qui una nuova variabile dello stesso tipo.Eseguire un nuovo download.
Anche la nuova variabile dovrebbe essere trasmessa.
![]() |
Requisiti di sistema e restrizioni
Sistema di programmazione | CODESYS Development System (versione 3.5.17.0 o superiore) |
Sistema di esecuzione | CODESYS Control Win (versione 3.5.14.0) NotaA seconda delle capacità del rispettivo sistema runtime, i messaggi possono essere inviati tramite Unicast, Multicast o Broadcast. |
Piattaforme/dispositivi supportati | SuggerimentoUsa il |
Restrizioni |
|
Componenti aggiuntivi | CODESYS OPC UA PubSub SL |
Avviso
SCARICA Progetto