Charge utile personnalisée
Les charges utiles personnalisées permettent à l'éditeur MQTT d’envoyer des données aux systèmes qui n’utilisent pas la structure de charge utile par défaut.
Charges utiles par défaut et personnalisées
La charge utile par défaut utilise une structure JSON fixe. Une charge utile personnalisée utilise des modèles de formateur de chaînes pour modifier les noms de champs, l’imbrication ou la sortie en texte brut.
Aspect | Charge utile par défaut | Charge utile personnalisée |
|---|---|---|
Cas d’utilisation | À utiliser lorsque le système destinataire accepte la structure JSON intégrée. | À utiliser lorsque le système destinataire requiert différents noms de champ, des imbrications ou du texte brut. |
Structure | La structure de charge utile est fixe. Pour voir un exemple, consultez MQTT. | L’en-tête, les enregistrements ou les deux utilisent des modèles de formateur de chaînes. |
Configuration de l'éditeur | Laissez PF Enabled désactivé. | Activez PF Enabled , puis définissez PF Header et, si nécessaire, PFRecord . |
Compatibilité des abonnés | L’abonné MQTT attend la charge utile JSON par défaut. Consultez la rubrique Abonnement JSON par défaut. | Cette rubrique décrit uniquement la mise en forme de l’éditeur. |
Tableaux et types de données complexes | Les tableaux sont pris en charge uniquement dans le format de charge utile par défaut. Pour plus d’informations, consultez Publication de types de données complexes. | Utilisez le format de charge utile par défaut lorsque vous publiez des tableaux. |
IMPORTANT:
L’abonné MQTT attend la charge utile JSON par défaut. Cette rubrique décrit la mise en forme personnalisée pour l’éditeur MQTT.
Une charge utile personnalisée peut inclure un en-tête, des enregistrements ou les deux. Par exemple :
{ "timestamp": "...", "sensors": [ { "name": "MyVariableA", "value": 23 }, { "name": "MyVariableB", "value": true }, { "name": "MyVariableC", "value": "abc" } ] }
Structure générale de la charge utile

FactoryTalk® Optix™
utilise des liens dynamiques du formateur de chaînes avec les propriétés du formateur de charge utile de l’éditeur MQTT : PF Enabled
, PF Header
et PFRecord
.
CONSEIL:
Dans le formateur de chaînes, sélectionnez le format conforme à JSON lorsque les enregistrements contiennent plusieurs types de données. Pour plus d’informations, consultez Types de données du formateur de chaîne.
Composants du formateur de charge utile
PF Header
:- Définit la partie d’en-tête de la charge utile.
- Utilise le formateur de chaînes pour définir du JSON, du texte brut ou du texte mixte contenant des valeurs dynamiques.
- Peut inclure une ou plusieurs variables, telles qu’un horodatage ou un numéro de ligne de production.
- Utilise l’espace réservé#PFRecordlorsque l’en-tête insère une sortie d’enregistrement.
- Utilise des crochets autour#PFRecordlorsque plusieurs variables forment un tableau JSON.
- S’il existe plusieurs variables dans un dossier,FactoryTalk Optixparcourt les variables lors de la création de la charge utile.
PFRecord
:- Définit la partie répétée de l’enregistrement dans la charge utile.
- Utilise les liens dynamiques du formateur de chaînes pour mapper les attributs des éléments d’alias, tels que le nom de navigation et la valeur.
- Peut rester vide lorsque la charge utile n’utilise pas d’enregistrements répétitifs.
CONSEIL:
Dans le formateur de chaînes, échappez la première accolade ouvrante afin d’éviter une erreur de syntaxe. Doublez l’accolade pour l’échapper. Par exemple :
{{{0}
Exemples de charges utiles personnalisées
Ces exemples montrent les formats du formateur de chaînes et les liens dynamiques pour l’
En-tête PF
et l’Enregistrement PF
.- En-tête PFFormat du Formateur de chaîne :{"timestamp":"{0:o}","sensors":[#PFRecord]}Lien dynamique (0) :MQTT/MQTTClient/MQTTPublisher/PayloadUpadteTimestamp. L’espace réservé{0:o}correspond à ce lien.L’espace réservé#PFRecordinsère la sortie formatée de l’Enregistrement PFdans le tableau des capteurs.
- Enregistrement PFFormat du Formateur de chaîne :{"name":"{0}","value":{1}},Lien dynamique (0) :{Item}@BrowseName. L’espace réservé{0}correspond à ce lien.Lien dynamique (1) :{Item}@Value. L’espace réservé{1}correspond à ce lien.
Pour la structure de charge utile par défaut fixe, reportez-vous à la section MQTT. Pour les tableaux et les types de données complexes au format de charge utile par défaut, reportez-vous à la section Publication de types de données complexes.
Fournir une réponse