Skip to main content

OPC PubSub

Les principes fondamentaux des applications basées sur le protocole UADP sont le transport cohérent d'une structure de données via UADP (c'est-à-dire des trames codées OPC via UDP/IP).

  • Comme la cohérence doit être maintenue, la structure de données doit tenir dans une trame UDP (1 500 octets).

  • Et comme l'espace est limité, la transmission via UADP doit être aussi efficace que possible.

  • Uniquement RawData Field Encoding est pris en charge. (Cela permet d'économiser de l'espace.)

  • Uniquement DataSetMessages de type Data Key Frame sont pris en charge. (Échange cyclique de données en temps réel

  • La structure, c'est-à-dire la séquence de valeurs (DataSetField) et leurs types (DataSetMessage) — reste inchangé en cours d'exploitation et fait l'objet d'un accord préalable entre l'éditeur et l'abonné. (Aucune métadonnée n'a besoin d'être transférée pendant le fonctionnement.)

_simitf_img_opcpubsub_header.png

Le tableau suivant vous aidera à comprendre les paramètres utilisés :

_simitf_uadp_networkmessage_header_layout.png

Le GroupVersion le paramètre est utilisé par Subscriber pour vérifier si la structure reçue correspond à la structure attendue. Un abonné peut utiliser SequenceNumber paramètre permettant de reconnaître si des messages ont été perdus.

Le DataSetMessages les paramètres sont structurés comme suit. Les structures de données de l'éditeur sont codées 1:1 de IEC à OPC UA

_simitf_datasetmessageheader.png

Les paramètres utilisés sont expliqués dans le tableau suivant.

_simitf_uadp_datasetmessageheaderlayout.png

Le DataSetMessage paramètre, qui comprend le DataSetMessage en-tête et individu DataSetFields données (= Data Key Frame), est inséré après le NetworkMessage en-tête.

A. DataSetField consiste en une valeur d'un type de données de base :

_simitf_uadp_datafields.png

La partie 14 de la spécification OPC UA stipule :

Le FieldCount le paramètre doit être omis si le RwaData Field Encoding l'option est définie dans EncodingFlags drapeaux de DataSetMessage en-tête (DataSetFlags1).

Le FieldCount est donc pas encodé dans le « Data Key Frame ». Cela signifie que 1 500 octets - 15 octets = 1 485 octets de données utilisateur sont toujours disponibles pour le transport d'une structure de données via UADP

La partie 14 de la spécification OPC UA stipule :

Le FieldCount est ignoré si le RawDate Encodings sont définis dans le EncodingFlags de la DataSetMessage en-tête (DataSetFalgs1).

Le FieldCount est donc pas codé dans la trame clé de données. Cela signifie que 1 500 octets - 15 octets = 1 485 octets de données utilisateur sont toujours disponibles pour le transport d'une structure de données via UADP

Figure 1. Présentation des composants PubSub
Présentation des composants PubSub