JSON C0418

J3NNVX

Level-2
Beiträge
37
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
1716533555369.png1716533580181.png
Ich möchte ein JSON erstellen, um den Output über MQTT schicken zu können. aber ich bekomme den Fehler
C0418: String-Variable ´sPayload´ist zu kurz für den VAR_IN_OUT-Parameter ´sOutput´von ´Fb-JSON-Writer_01´

Woran könnte das liegen, bzw. was habe ich falsch gemacht?
Danke im Voraus
 
Na, das steht doch in der Fehlermeldung klar drin. Die von Dir deklarierte Variable sPayload ist zu kurz. Bei den meisten, wenn nicht sogar allen Entwicklungsumgebungen im Codesys Universum wird eine Variable vom Typ String mit einer Länge von 80 deklariert, wenn nicht explizit eine Länge angegeben wurde.
Die Variable sOutput des FBs FB_JSON_Writer_01 wurde aber, wie man der Doku entnehmen kann, mit der Längenangabe "JSON_MAX_STRING" deklariert, was vermutlich 255 bedeutet. Pass Deine Deklaration entsprechend an und dann wird es auch gehen.
 
Die Variable sOutput ist besser als STRING(JSON_MAX_STRING) zu deklarieren und der Bibliothek-Parameter JSON_MAX_STRING auf 2048 zu setzen. Du kannst sonst keine Ergebnisse länger 255 erhalten, was der Voreinstellung des Parameters JSON_MAX_STRING entspricht. Selbst wenn es jetzt geht, suchst Du Dir später einen Wolf, wenn es ein Fehler auftritt.
 
Zurück
Oben