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.
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

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#PFRecordcuando el encabezado inserta la salida de registro.
- Utiliza corchetes alrededor de#PFRecordcuando varias variables forman una matriz JSON.
- Si existen varias variables en una carpeta,FactoryTalk Optixitera 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 PFFormato 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#PFRecordinserta la salida deRegistro PFformateada en la matriz de sensores.
- Registro PFFormato 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