Bytearray zu String wandeln und umgekehrt

Mehr
1 Woche 6 Tage her - 1 Woche 5 Tage her #435 von Manuel
Hallo, ich versuche seit ein paar Tagen eine kommunikation über MQtt aufzubauen. Die kommunikation ansicht funktioniert gut, allerdings habe ich Probleme beim ändern und auswerten des Payloads.
Der payload muss ja als Bytearray übergeben werden, wie kann ich nun einen String übergeben?Ich habe mehrere Verfahren ausprobiert, jedoch bekomme ich den String bzw. das Bytearray nicht in einen String gewandelt. Wie löst ihr das, oder gibts dafür eine einfache lösung? Für hilfe wäre ich sehr Dankbar.

Ich habe eine Function in ST erstellt. lt. meinen vorstellungn sollte es funktionieren, tut es aber nicht .
Function_block bytearray_to_String

VAr_INPUT
	bytearray: array[0..80] of byte;
END_VAR
VAR
	i:int;
	zeichen: String[1];
END_VAR
var_output
	Text: String[80];
end_var


for i:=0 to 80 by 1 do
	zeichen := TO_STRING(IN:=bytearray[i]);
	Text[i]:= zeichen[1];
end_For;

END_FUNCTION_block

ich sende zum Broker eine 1, dann erhalte ich eine 1 in Text,
sende ich 123, erhalte ich 55, obwohl ich im
bytearray[0]=16#31
bytearray[1]=16#32
bytearray[2]=16#33 erhalte.
=> lt. utf8 is das auch richtig.

mache ich vielleicht beim umwandeln etwas falsch?
Letzte Änderung: 1 Woche 5 Tage her von Manuel.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

logi.cals Österreich

Adresse

Europaplatz 7/1,
3100 St. Pölten

logi.cals Deutschland

Adresse

Postfach 1306,
40738 Langenfeld

Benutzer

Registrieren
© 1987 - 2019 logi.cals GmbH