Hallo, Leute!
Ich habe hier ein Problem, das ich seit 2 Tagen zu lösen versuche…
Mein PC soll über den COM-Port (19200,8,n,1) Kontakt zu einem anderen Rechner aufnehmen (Maschinensteuerung). - Eine Anweisung umfasst immer 14 Byte, die von dem anderen Rechner binär erwartet werden.
01 04 03 01 01 00 00 00 00 00 00 00 00 0A soll als Beispiel für einen gültigen Befehl dienen.
Das Grundproblem stellt sich mir so dar:
VB sendet immer im Textmodus.
Der o.a. Befehl wurde übertragen als: h30 h31 h30 h34 usw., also der hex-wert der ANSII-Zeichen (und in der Summe logischerweise 28 statt 14 Byte).
Daraufhin habe ich es so probiert:
strBefehl=“010403010100000000000000000A“
strSendung=““
For i = 1 to len(strBefehl) Step 2
Dummy=Cint(Mid(strBefehl,i,2))
strSendung = strSendung & chr(Dummy)
Next i
…und hatte, wie ich es schon befürchtet hatte, das Problem mit h00, wo kein Zeichen gesendet wurde.
Mit „MSComm1.InputMode = comInputModeBinary“ kann ich zwar den Eingang manipulieren, ich habe aber nichts vergleichbares für den Ausgang gefunden .
Umgebung: VB6SP5
OS…: NT4SP6
Wer hat eine Idee???
TIA und Grüße, Michael