Super Danke.
Ich mache schon seit zwei kompletten Tagen jeweils von ca. 09:00 bis ca. 23:00 Uhr da rum und hatte schon so viel getestet, dass ich im Moment wirklich nichts mehr verstehe.
Du hast natürlich vollkommen recht, dass ich die Bytes nicht als String übergeben kann.
Deine Funktion CalcChecksum funktioniert und die SendData musste ich wie folgt abändernund und habe sie mal für meine Beispiele angepasst und Dezimalzahlen anstatt Hexzahlen verwendet.
Delphi-Quellcode:
procedure SendData;
var
lData: packed array[0..7] of byte;
begin
lData[0] := 129;
lData[1] := 10;
lData[2] := 11;
lData[3] := 0;
lData[4] := 1;
lData[5] := 176;
lData[6] := 5;
lData[7] := 0; // Checksum = 180
Edit1.Text := CalcChecksum(@lData[0], 8);
end;
Meine vier Beispiel habe ich damit mal getestet und es kam immer die richtge Prüfsumme heraus. Ich werde das ganze mal in meine "richte" Applikation einbauen und dann noch mal direkt mit dem Automaten testen. Ich melde mich dann noch mal.
Sven