Skip to main content

OPC PubSub

Lo fundamental para las aplicaciones que se basan en el protocolo UADP es el transporte uniforme de una estructura de datos a través de UADP (es decir, tramas codificadas en OPC a través de UDP/IP).

  • Como se debe mantener la coherencia, la estructura de datos debe caber en un marco UDP (1500 bytes).

  • Y dado que el espacio es limitado, la transmisión a través de UADP debe ser lo más eficiente posible.

  • Únicamente RawData Field Encoding es compatible. (Esto ahorra espacio).

  • Únicamente DataSetMessages de tipo Data Key Frame son compatibles. (Intercambio cíclico de datos en tiempo real

  • La estructura, es decir, la secuencia de valores (DataSetField) y sus tipos (DataSetMessage) — permanece inalterado durante su funcionamiento y se acuerda previamente entre el editor y el suscriptor. (No es necesario transferir metadatos durante la operación).

_simitf_img_opcpubsub_header.png

La siguiente tabla le ayudará a comprender los parámetros utilizados:

_simitf_uadp_networkmessage_header_layout.png

El GroupVersion el parámetro es usado por Subscriber para comprobar si la estructura recibida corresponde a la estructura esperada. Un suscriptor puede usar el SequenceNumber parámetro para reconocer si los mensajes se han perdido.

El DataSetMessages los parámetros se estructuran de la siguiente manera. Las estructuras de datos del editor están codificadas 1:1 desde IEC a OPC UA

_simitf_datasetmessageheader.png

Los parámetros utilizados se explican en la siguiente tabla.

_simitf_uadp_datasetmessageheaderlayout.png

El DataSetMessage parámetro, que consiste en DataSetMessage el encabezado y el individuo DataSetFields datos (= Data Key Frame), se inserta después del NetworkMessage encabezado.

A DataSetField consiste en un valor de un tipo de datos básico:

_simitf_uadp_datafields.png

La parte 14 de la especificación OPC UA establece:

El FieldCount el parámetro debe omitirse si el RwaData Field Encoding la opción se establece en EncodingFlags banderas del DataSetMessage encabezado (DataSetFlags1).

El FieldCount Por lo tanto, no está codificado en el «marco clave de datos». Esto significa que aún quedan disponibles 1500 bytes (15 bytes = 1485 bytes) de datos de usuario para el transporte de una estructura de datos a través de UADP

La parte 14 de la especificación OPC UA establece:

El FieldCount se ignora si RawDate Encodings están configuradas en EncodingFlags del DataSetMessage encabezado (DataSetFalgs1).

El FieldCount por lo tanto, no está codificado en el marco clave de datos. Esto significa que aún quedan 1500 bytes (15 bytes = 1485 bytes) de datos de usuario disponibles para el transporte de una estructura de datos a través de UADP

figura 1. Descripción general del componente PubSub
Descripción general del componente PubSub