Carga útil personalizada

Las cargas útiles personalizadas permiten a Publicador de MQTT enviar datos a sistemas que no utilizan la estructura de carga útil predeterminada.

Cargas útiles predeterminadas y personalizadas

La carga útil predeterminada utiliza una estructura JSON fija. Una carga útil personalizada utiliza plantillas de Formateador de cadenas para cambiar los nombres de campo, el anidamiento o la salida de texto sin formato.
Comparación de carga útil predeterminada y personalizada
Aspecto
Carga útil predeterminada
Carga útil personalizada
Caso de uso
Se utiliza cuando el sistema receptor acepte la estructura JSON integrada.
Utilícela cuando el sistema receptor requiera nombres de campo diferentes, anidamiento o texto sin formato.
Estructura
La estructura de carga útil es fija. Para ver un ejemplo, consulte MQTT.
El encabezado, los registros o ambos usan plantillas de Formateador de cadenas.
Configuración de Publicador
Deje
PF Enabled
deshabilitado.
Habilite
PF Enabled
y, a continuación, defina
PF Header
y, si es necesario,
PFRecord
.
Compatibilidad de Suscriptor
Suscriptor de MQTT espera la carga útil JSON predeterminada. Consulte Suscripción de JSON predeterminada.
En este tema solo se describe el formato del publicador.
Matrices y tipos de datos complejos
Las matrices solo se admiten en el formato de carga útil predeterminado. Para obtener más información, consulte Publicación de tipos de datos complejos.
Utilice el formato de carga útil predeterminado al publicar matrices.
IMPORTANTE: Suscriptor de MQTT espera la carga útil JSON predeterminada. En este tema se describe el formato personalizado para Publicador de MQTT.
Una carga útil personalizada puede incluir un encabezado, registros o ambos. Por ejemplo:
{ "timestamp": "...", "sensors": [ { "name": "MyVariableA", "value": 23 }, { "name": "MyVariableB", "value": true }, { "name": "MyVariableC", "value": "abc" } ] }
Estructura de carga útil general
Llamada que presenta la estructura de una carga útil, con un encabezado y un patrón de registro distintos.
FactoryTalk® Optix™
utiliza los vínculos dinámicos de Formateador de cadenas con las propiedades del formateador de carga útil de Publicador de MQTT:
PF Enabled
,
PF Header
y
PFRecord
.
CONSEJO: En Formateador de cadenas, seleccione el formato compatible con JSON cuando los registros incluyan varios tipos de datos. Para obtener más información, consulte Tipos de datos del formateador de cadenas.

Componentes del formateador de carga útil

PF Header
:
  • Define la parte del encabezado de la carga útil.
  • Utiliza Formateador de cadenas para definir JSON, texto sin formato o texto mixto con valores dinámicos.
  • Puede incluir una o varias variables, como un sello de hora o un número de línea de producción.
  • Utiliza el marcador de posición
    #PFRecord
    cuando el encabezado inserta la salida de registro.
  • Utiliza corchetes alrededor de
    #PFRecord
    cuando varias variables forman una matriz JSON.
  • Si existen varias variables en una carpeta,
    FactoryTalk Optix
    itera a través de las variables durante la creación de la carga útil.
PFRecord
:
  • Define la parte de registro repetida de la carga útil.
  • Utiliza los vínculos dinámicos de Formateador de cadenas para asignar atributos de elemento de alias, como el nombre y el valor de exploración.
  • Puede permanecer en blanco cuando la carga útil no utiliza registros repetidos.
CONSEJO: En Formateador de cadenas, escape la primera llave de apertura para evitar un error de sintaxis. Para escapar la llave, debe escribirla dos veces. Por ejemplo:
{{{0}

Ejemplos de cargas útiles personalizadas

Estos ejemplos muestran formatos de Formateador de cadenas y vínculos dinámicos para
Encabezado PF
y
Registro PF
.
  • Encabezado PF
    Formato de Formateador de cadenas:
    {"timestamp":"{0:o}","sensors":[#PFRecord]}
    Vínculo dinámico (0):
    MQTT/MQTTClient/MQTTPublisher/PayloadUpadteTimestamp
    . El marcador de posición
    {0:o}
    se asigna a este vínculo.
    El marcador de posición
    #PFRecord
    inserta la salida de
    Registro PF
    formateada en la matriz de sensores.
  • Registro PF
    Formato de Formateador de cadenas:
    {"name":"{0}","value":{1}},
    Vínculo dinámico (0):
    {Item}@BrowseName
    . El marcador de posición
    {0}
    se asigna a este vínculo.
    Vínculo dinámico (1):
    {Item}@Value
    . El marcador de posición
    {1}
    se asigna a este vínculo.
Para obtener información sobre la estructura de carga útil predeterminada fija, consulte MQTT. Para obtener información sobre matrices y tipos de datos complejos en el formato de carga útil predeterminado, consulte Publicación de tipos de datos complejos.
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal