Step 7 Wert von 1 SI ASCII als String speichern

Goeky

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

ich bekomme den Wert was ich über 1 SI ASCII RS232 Schnittstelle lese als ASCII Wert, weiss aber nicht wie ich es als String speichern soll. Später muss die Werte mit den bei mir in einer Tabelle vorhandenen Werte vergleichen.
Gibt es dafür Beispielprogramme?
Bin gewohnt mit Beckhoff zu arbeiten aber S7 ist für mich leider noch ganz neu.
 
Hallo,
ein Byte-Array mit ASCII-Zeichen drin ist im Grunde schon fast ein String. Der einzige Unterschied zu einem String ist, dass der einen Header hat, in dem steht, wie lang der String deklariert ist und wieviele Zeichen er beinhaltet.
Du bräuchtest also nur die empfangenen Zeichen in einen passenden String zu übertragen.
Wie willst du das Code-technisch umsetzen ? AWL oder SCL ?

Gruß
Larry
 
... dann mußt du dir einen ANY-Pointer auf den Datenbereich des deklarierten String bilden (String-Adresse +2) und einen auf deine Quell-Daten. Die Quelldaten dann mit Blockmove (SFC20) auf die Ziel-Adresse übertragen und anschließend den String-Header (deklarierte Länge, tatsächliche Länge) anpassen.

... oder alles Byte für Byte handisch ... (wenn es nur ein paar Bytes sind)

Gruß
Larry
 
ok, vielen Dank. String habe ich gebildet.
Wie kann ich diesen String beobachten? Im Variablentabelle sehe ich nix und auch nicht in DB kann ich Wert lesen. Welche Möglichkeiten habe ich dafür?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
.
1. Du gibst deinen DBxx.DBWyy als Operanden in der VAT an.

2. Du wählst in der VAT das Anzeigeformat "Zeichen".

Pro Zeile siehst du aber nur 2 Zeichen, die nächsten
Zeichen liegen im darauf folgenden DW, das du in der
nächsten Zeile angeben und beobachten kannst.
 
Mit Variablentabelle die Bytes an den Adressen beobachten auf denen der String liegt.
Je 1 oder 2 oder 4 Bytes als HEX oder Zeichen

Da sieht man auch sehr schön, daß die Zeichen des Strings erst ab Anfangsadresse+2 liegen.
Byte Anfangsadresse + 0: maximale Länge des Strings
Byte Anfangsadresse + 1: aktuelle Länge des Strings
Byte Anfangsadresse + 2 ...: die Zeichen des Strings

Harald
 

Anhänge

  • VAT_String.jpg
    VAT_String.jpg
    41,5 KB · Aufrufe: 13
Zuletzt bearbeitet:
Zurück
Oben