Anzeige:
Nächste DASYLab-Schulungstermine bei measX:
DASYLab und Python 20.06. + 21.06.2017 Mönchengladbach
Messwerterfassung mit DASYLab – Grundlagen 27.06. + 28.06.2017 Ludwigsburg
Melde dich an, um diesem Inhalt zu folgen  
Folgen diesem Inhalt 0
Bösewill

DasyLab und Peawatron Messgerät

2 Beiträge in diesem Thema

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?

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!


Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.


Jetzt anmelden
Melde dich an, um diesem Inhalt zu folgen  
Folgen diesem Inhalt 0