Payload personalizzato

Payload personalizzato

È possibile personalizzare il payload per comunicare (pubblicare o sottoscrivere) con dispositivi di terze parti che utilizzano un formato di payload diverso.
Un payload tipico contiene intestazione e record. Ad esempio:
{ "Timestamp": "2024-08-27T12:36:50" "Records": [ {"Name"="MyVariableA" "Val"=23}, {"Name"="MyVariableB" "Val"=true}, {"Name"="MyVariableC" "Val"=”abc”} ] }
Struttura generale del payload
Selezionando l'alias che fa riferimento a un elemento specifico insieme ai relativi attributi, è possibile definire il formato dei record di payload. È possibile eseguire modifiche avanzate utilizzando il Formattatore stringa FactoryTalk Optix. Il formattatore è necessario per aggiungere nuove proprietà al nodo Publisher MQTT, con proprietà aggiuntive:
PF Enabled
,
PF Header
e
PFRecord
.
PF Header
:
  • Definisce l'intestazione JSON.
  • Il Formattatore stringa FT Optix è necessario per definire il formato JSON e collegare le variabili da utilizzare nell'intestazione JSON.
  • È necessario collegare un segnaposto specifico
    #PFRecord
    ai record del payload.
  • È possibile definire una o più variabili nell'intestazione, ad esempio marca temporale del payload o numero della linea di produzione.
  • Per l'invio di testo in chiaro (o variabile come testo in chiaro), è possibile digitare un messaggio di testo in chiaro in
    PF Header
    oppure inserire un collegamento alla variabile in
    PF Header
    .
  • Quando nella cartella sono presenti più variabili, è necessario creare un array di record inserendo
    #PFRecord
    tra parentesi quadre []. FactoryTalk Optix itera tutte le variabili e le utilizza durante la creazione del payload.
PFRecord
:
  • Definisce i record JSON.
  • Il Formattatore stringa FT Optix è necessario per definire i record JSON e per collegare le variabili da utilizzare nei record JSON.
SUGGERIMENTO: In Formattatore stringa è necessario eseguire l'escape della prima parentesi quadra per evitare errori di sintassi. È possibile raddoppiare la parentesi per evitarlo, ad esempio:
{{{0}

Esempi di payload personalizzati

  • Intestazione PF
    :
    {"timestamp": "{0:o}", "sensors": [#PFRecord]}
    Aggiunge il timestamp e il nome dei record all'intestazione del payload.
  • Record PF
    :
    {"name": "{0}", "value": {1}},
    Aggiunge i nomi e i valori dell'array di sensori.
Fornire un feedback
Hai domande o feedback su questa documentazione? invia il tuo feedback qui.
Normal