Jump to content

DasyLab und Peawatron Messgerät


Bösewill

Recommended Posts

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?

 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...