Hi, bin ein neues Mitglied !!
Ich habe folgendes Problem:
Ich spreche mit
AfSync 1.04 über den seriellen Port eine Relaiskarte an. Ich schicke ihr 4 Byte zum Initialisieren in folgender Form :
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Kommando := 1; Adresse := 1; Daten := 0; Kontrolle := Kommando xor Adresse xor Daten; SendeDaten := chr (Kommando) + chr (Adresse) + chr (Daten) + chr (Konrtolle); ComPort.Open; ComPort.WriteString(SendeDaten); ComPort.Close; |
Dem Programm, das ich für die Steuerung geschrieben habe, ist es ziemlich egal, ob nichts, die Relaiskarte oder vielleicht etwas anderes am COM-Port sitzt. Und das ist nun mal nicht so toll... Auf diese 4 verschickten Bytes schickt mir nun die Karte 4 Byte als Antwort zurück, die wiefolgt aufgebaut sind :
Byte 1 = 255 - Kommando -> 254
Byte 2 = Anzahl der Karten + 2 -> 2
Byte 3 = SoftwareInfo -> ?
Byte 4 = XOR von Byte 1 bis 3
Erstens: Wie kann ich feststellen, dass überhaupt etwas am ComPort ist?
Zweitest: Wie kann ich die Antwort der Karte (auch zB beim Schalten der Relais) abrufen?
Hab schon folgendes probiert :
Quelltext
1: 2: 3: 4:
| ComPort.Open; ComPort.WriteString(SendeDaten); ComPort.ReadString(AntwortDaten); ComPort.Close; |
und
Quelltext
1: 2: 3: 4: 5: 6:
| ComPort.Open; ComPort.WriteString(SendeDaten); ComPort.Close; ComPort.Open; Comport.ReadString(AntwortDaten); ComPort.Close; |
Hat leider alles nichts gebracht, un die anderen Funktionen, Methoden usw. check ich leider nicht so ganz.
Hoffe, es kann mir jemand helfen
Thxle im Voraus