Hi habs mitlerweile raus bekommen ;-)
hier nochmal der Beispiel Sendestring:
Code:
{FB;2A;<Length>|1F4:TYP|<Crc>}
für die Lenght berechnung setzen wir erst mal platzhalter ein
das ergibt Lenght =
23
so jetzt benötige ich noch Crc
dafür schneiden wir den String wie folgt ab und setzen Lenght ein
Code:
FB;2A;[COLOR=Red]23[/COLOR]|1F4:TYP|
so jetzt muss ich für jedes zeichen den ASCII Hex Cod ermitteln und einfach addieren:
Code:
[FONT=Courier New]F = 46
B = 66
; = 3B
2 = 32
A = 41
; = 3B
2 = 32
3 = 33
| = 7C
1 = 31
F = 46
4 = 34
: = 3A
T = 54
Y = 59
P = 50
| = 7C
===============
Summe =[/FONT] 883
das Ergibt dann folgenden Sendestring:
Code:
{FB;2A;[COLOR=Black]23[/COLOR]|1F4:TYP|0883}
So weit so gut.
Gehen wir jetz davon aus ich sende folgenden String (natürlich mit errechnerter Length und Crc)
Code:
{FB;2A;<Length>|64:TYP;SWV;UDC|<Crc>}
so erhielte ich z.B. folgenden Antwortstring:
Code:
{2A;FB;<Length>|64:TYP=7D0;SWV=28;UDC=180|<Crc>}
Nun ist meine Frage wie bekomme ich am saubersten die Ergebnisse aus dem String extrahiert, so das ich folgende Zuordnung erhalte?
Wert von TYP in PLC Variable TypWechselrichter
Wert von SWV in PLC Variable SoftwareVersionWechselrichter
Wert von UDC in PLC Variable EingangsSpannungWechselrichter
Gruß
borsti87