Hallo,
ich habe grad ein Problem, bei dem ich wirklich nicht merh weiterkomme:
Ich sende einen Befehlssatz über den RS232 an mein Gerät, damit er mir die Daten, die er gespeichert hat, über eben diesen COM-Port sendet.
Der Teil für den RS232 sieht folgendermaßen aus:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54:
| procedure TForm1.Button3Click(Sender: TObject); begin ApdComPort1.OutPut := 'R00010128X' ; end;
procedure TForm1.Timer1Timer(Sender: TObject); begin RS232Activate := False; end;
procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word); var I : Word; C : Char; S : String;
begin RS232Activate := True; Timer1.enabled := False; Timer1.enabled := True; S := ''; for I := 1 to Count do begin C := ApdComPort1.GetChar; case C of #0..#31 : S := S + C ; else S := S + C; end; end; tempBuffer := tempBuffer + S; |
Ok, beim Testen (Ohne das Gerät, sondern mit dem Laptop kurzgeschlossen, ich hab das Gerät simuliert) funktionierte auch alels wunderbar. Doch nun hab ich das Ding in die Hände bekommen, und bin hier eine halbe Ewigkeit lang verzweifelt.
Folgende Kleinschritte hab ich geschafft, und komme nun echt gar nimmerweiter:
Er sendete mir immer nur 2 Byte (Zu senden wären 78 Byte). Ich hab debuged, und in meiner Befehlszeile (Die ich ja versende) einen kleinen Fehler entdeckt. den hab ichbehoben, und siehe da... er sendet immmer noch "nur" 2 Byte.
Aber, nach 184 durchforsten des Users Manual (Ihr kennt dies erschlagenden Werke) konnte ich doch rausbekommen, das die Nun versendeten Byte die Quittung sind. Sprich, das Gerät sagt mir : "Gut,deine Befehlszeile passt soweit, und ist gut angekommen". (Die 2 Byte vorher waren eine Fehelrmeldung, nur war es nicht ganz so leicht, diese als solceh zu erkennen).
Tja, ich nehme an, daß ich bei mir einen kleinen Fehler habe. Ich denke, mein Programm liest nur diese 2 Byate, quasi den ersten Block der gesendet wird, aber nicht wasdahinter kommt. aber gerade das interessiert mich.
Ich hab schon rumexpirementiert, das Ding umgebaut etc. pp.
Aber ich kam ncith weiter.
Weiß einer von den Spezialisten hier, was ich falsch mache? Oder was ich ergänzen muß?
Wäre dankbar, wenn mir jemand weiter helfen könnte.
Lieben Gruß, schönes Wochenende und dankeschön,
Smartie