Skip to main content

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 tipo Data Key Frame sono supportati. (Scambio ciclico di dati in tempo reale

  • La 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

_simitf_img_opcpubsub_header.png

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

_simitf_uadp_networkmessage_header_layout.png

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.

_simitf_datasetmessageheader.png

I parametri utilizzati sono illustrati nella tabella seguente.

_simitf_uadp_datasetmessageheaderlayout.png

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:

_simitf_uadp_datafields.png

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

Figura 1. Panoramica dei componenti PubSub
Panoramica dei componenti PubSub