OPC PubSub
I fondamenti per le applicazioni basate sul protocollo UADP sono il trasporto coerente di una struttura di dati tramite UADP (ovvero frame con codifica OPC tramite UDP/IP).
Poiché la coerenza deve essere mantenuta, la struttura dei dati deve adattarsi a un frame UDP (1500 byte).
E poiché lo spazio è limitato, la trasmissione tramite UADP deve essere il più efficiente possibile.
Solo
RawData Field Encoding
è supportata. (Ciò consente di risparmiare spazio.)Solo
DataSetMessages
di tipoData Key Frame
sono supportati. (Scambio ciclico di dati in tempo realeLa struttura, ovvero la sequenza di valori (
DataSetField
) e i loro tipi (DataSetMessage
) — rimane invariato durante il funzionamento ed è concordato in anticipo tra l'editore e l'abbonato. (Non è necessario trasferire metadati durante l'operazione

La seguente tabella ti aiuterà a comprendere i parametri utilizzati:

Le GroupVersion
il parametro viene utilizzato da Subscriber
per verificare se la struttura ricevuta corrisponde alla struttura prevista. Un abbonato può utilizzare SequenceNumber
parametro per riconoscere se i messaggi sono andati persi.
Le DataSetMessages
i parametri sono strutturati come segue. Le strutture dati dell'editore sono codificate 1:1 da IEC a OPC UA.

I parametri utilizzati sono illustrati nella tabella seguente.

Le DataSetMessage
parametro, che è costituito da DataSetMessage
intestazione e individuo DataSetFields
dati (= Data Key Frame
), viene inserito dopo NetworkMessage
intestazione.
A DataSetField
è costituito da un valore di un tipo di dati di base:

La parte 14 della specifica OPC UA afferma:
Le FieldCount
il parametro deve essere omesso se RwaData Field Encoding
l'opzione è impostata in EncodingFlags
bandiere di DataSetMessage
intestazione (DataSetFlags1
).
Le FieldCount
non è quindi codificato nel «Data Key Frame». Ciò significa che 1500 byte - 15 byte = 1485 byte di dati utente sono ancora disponibili per il trasporto di una struttura dati
La parte 14 della specifica OPC UA afferma:
Le FieldCount
viene ignorato se RawDate Encodings
sono impostati in EncodingFlags
del DataSetMessage
intestazione (DataSetFalgs1
).
Le FieldCount
non è quindi codificato nel frame chiave dei dati. Ciò significa che 1500 byte - 15 byte = 1485 byte di dati utente sono ancora disponibili per il trasporto di una struttura dati
