String := '$Byte';

SirTom78

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich hoffe Ihr könnt mir weiterhelfen...

Für eine serielle Kommunikation mit einem RFID benötige ich z.B. folgenden String := '$186'.

Problem:
Wie kann ich einen String mit einem '$'Byte dynamisieren?

So gehts nicht:
Variable : Byte := 186;
String := '$Variable'; :confused:

Danke im Voraus!

Grüße, Thomas
 
Mal rein theoretisch:
Du mußt das Byte in String wandeln (Dafür gibts Funktionen, z.Bsp. Int_To_String. Und dann mit einer Funktion (Concat) die Strings verbinden. Concat findest du in der Standard.Lib unter String functions.
 
Hallo Ralle,
Danke für die Idee, aber leider geht das nicht so einfach... Das Byte bzw. bei dir die Int Variable wird dann als dreistelliger String gewandelt => 3x Byte! Somit ist mein '$186' anschließend länger als ein Byte...


Danke

Grüße Thomas
 
Sieht gut aus.
Du solltest generell bei der Kommunikation beachten, dass ein "$" - Zeichen ein Steuerzeichen ist. Somit drauf achten, dass Du die Zeile so wie PN/DP gezeigt, schreibst.

Interessant bei der seriellen Kommunikation können auch noch die Funktionen

F_ToAsc
F_TChr
aus der TcSystem.lib

für Dich sein.

Gruß,
Mac203
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Ralle,
Danke für die Idee, aber leider geht das nicht so einfach... Das Byte bzw. bei dir die Int Variable wird dann als dreistelliger String gewandelt => 3x Byte! Somit ist mein '$186' anschließend länger als ein Byte...

Hallo Thomas,

wenn das nicht gewünscht ist, verstehe ich die Frage nicht.

Die Funktion mit „CONCAT“ ist ansonsten für solche Anwendungen wie geschaffen…
Code:
sTrennzeichen:= '$T';  (* vorbelegt mit Tabulator *)

String := CONCAT ('$$', BYTE_TO_STRING(Variable));
String := CONCAT (String, sTrennzeichen);  
String := CONCAT (String, BYTE_TO_STRING(Variable_2));
String := CONCAT (String, sTrennzeichen);  
String := CONCAT (String, BYTE_TO_STRING(Variable_3));
Gruß
Chräshe
 
Zuletzt bearbeitet:
Hi Chräshe,

in deinem Beispiel ist der String dann mehrere Byte's lang!

Ich wollte hingegen ein Steuerzeichen mit einem String. Mein Steuerzeichent (String) sieht so aus '$BA' und ist auch nur ein Byte groß!

Danke für die Antwort!

Ich habe das Problem mit einer Funktion gelöst!

case Variable of
0: String := '$01';
1: String := '$02';
.
.
.
186: String := '$BA'
.
.
.
und so weiter!!!

Grüße Thomas :)
 
Erst jetzt, wo Du Deine Lösung präsentierst, wird deutlich, was Du eigentlich wolltest. Das geht allerdings einfacher mit der bereits von mac203 genannten Funktion "F_ToChr".
 
Zurück
Oben