Bösewill Posted September 11, 2016 Share Posted September 11, 2016 Nachdem ich mit Hilfe aus dem Forum ein Projekt verwirklichen konnte, brauche ich beim übernächstenwieder einige Denkanstöße, Es geht wieder um Gasmessungen per rs232 Schnittstelle Laut Beschreibung ist der richtige Anforderungsstring hier: \x02\p200\x80\p20\x4f\p20\x00\p20\x00\p20\x03\p20\x06\p20\x06\p20\x06 Das Gerät braucht anscheinend Pausen zwischen den verschiedenen Anforderungen,sendet auch immer ein ACK (06) .. Im Test bekomme ich auch hier die erwartete Antwort: 06 06 06 06 02 20 B8 03 mit dem Formatsring 5xi\x03 die 20 B8 muss dann noch umgerechnet werden (bzw, das i sollte es tun) ... Wenn ich aber das Schaltbild starte, bekomme ich nur 0 als Antwort. Auch kümmert sich das Gerät nicht um die Einstellung 3 Sekunden, sondern sendet jede Sekunde. Ich musste auch auf "Messdaten blockweise ausgeben" stellen, bei "Messwert sofort ausgeben" bekomme ich gar keine Antwort... Wo könnte hier mein Problem liegen? Quote Link to comment Share on other sites More sharing options...
HolWo Posted September 14, 2016 Share Posted September 14, 2016 Hallo! Ich bin nicht sicher, aber ich vermute, das Gerät erwartet eine Pause zwischen einzelnen Datenanforderungen, nicht zwischen einzelnen Zeichen, die zum Gerät gesendet werden. Eine Anforderung kann durchaus aus mehreren Zeichen bestehen. Wenn das Gerät Anforderungen bestätigt, dann werden die ACK-Zeichen ebenfalls im Puffer liegen, zusätzlich zu den Antwortzeichen, die die "eigentlichen interessanten" Daten enthalten. D.h. das Datenformat muss ein zusätzlichen Zeichen überspringen. Alternativ können Sie die Anforderungen auch mit einem RS232-Ausgang senden. Dort können Sie nach dem Senden auf Zeichen vom Gerät warten und diese schon "weglesen", sodass diese erst gar nicht im Puffer des RS232-Eingangs landen. Mit \# 1 am Ende des Anforderungsstrings im RS232-Ausgang wird zunächst die Anforderung an das Gerät gesendet und auf die Bestätigung des Geräts des Erhalts der Anforderung gewartet. Wenn das ACK vom Gerät empfangen wird, wird dieses Zeichen nicht mehr in den Puffer vom RS232-Eingang gelegt. Ambei finden Sie Beispiele, um zeitversetzte Anforderungen zu versenden und wie man vorbereitete Anforderungen, die in globalen Strings stehen, versendet. rs232_strings_versenden.DSB rs232_zeitversetzt_senden_zyklus.DSB Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.