Sting umwandeln Dezimal

xenon185

Level-1
Beiträge
20
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
gibt es einen Funktion in Codesys mit der man einen String in eine Dezimalzahl umwandeln kann?

- Ein Frame bestehen aus 5 Zeichen als String 'HALLO'. Dieser soll in fünf einzelne Dezimalzahlen umgewandelt werden.
- Den Frame zerlegen in 5 einzelne Segmente mach ich mit einer Schleife und mit der Funktion MID.

Jetzt wollte ich mal anklopfen ob es eine einfache Variante gibt die einzelne Segmente in eine Dezimalzahl umzuwandeln.

Hoffe da auf eine Funktion :) mit der String_to_Byte Funktion bekomme ich immer eine 0 als Rückgabewert :/

Gruß xenon
 
Was soll denn dabei herauskommen? Die ASCII-Codes der Zeichen? Dann wäre es am einfachsten, einen Pointer auf ein Bytearray auf den String zu legen.
Code:
VAR
   varString:STRING[5];
   ptrBytes:POINTER TO ARRAY[0..5] OF BYTE;
END_VAR

(* Code *)
ptrBytes:=ADR(varString);
(* Mit ptrBytes^[0] bis ptrBytes^[4] erhältst Du die ASCII-Codes von "HALLO" *)
 
Hallo Zusammen,

es geht um die Konvertierung "String_to_BYTE" in Codesys. Kann mir jemand erklären warum bei einer Zeichenkette (500) als Ergebnis für das Byte der Wert 244 berechnet wird?

Wäre super wenn mir hier jemand auf die Sprünge helfen könnte.

Danke schonmal...
 
Ein Byte ist zu klein, um den Wert 500 darzustellen. 500 = 1 x 256 + 244. Die 256 fallen weg, weil ein Byte nur Werte bis 255 darstellen kann. Du musst STRING_TO_WORD nehmen und für das Ergebnis eine Variable vom Typ WORD.
 
Zurück
Oben