Jump to content
Sign in to follow this  
Koaxial

Parsing von Komma-getrennten Daten

Recommended Posts

Hallo,

ich habe ein kleines Problem beim Parsing von Daten. Habe ein Messgerät an die RS232-Schnittstelle angeschlossen, welches pro Abfrage 1002 Datenpunkte sendet. Diese kommen auch an und ich kann sie im RS232-Monitor sehen. Doch leider gelingt es mir nicht, diese im DasyLab weiterzuverarbeiten. Habe schon alle möglichen Datenformate ausprobiert. Die einzelnen Daten sind Komma getrennt. hinzu kommt, dass die Datenlänge varriert. Negative Messwerte sind 9 Bit lang, positive nur 8. Das macht es schwierig, einen festen String zu filtern. Wäre super, wenn jemand weiterhelfen kann.

Vielen Dank!

post-868-0-38540000-1342437201_thumb.png

Share this post


Link to post
Share on other sites

Siehe auch Beitrag im NI-Forum für Screenshots der Einstellungen: http://forums.ni.com...p/2090222#M2230

Ein Problem ist, dass Sie die Ausgabe derart konfiguriert haben, dass ein Datenblock die Größe 1002 hat, der aber mit einer Abtastrate bzw einem Abtastabstand von 15 Sekunden befüllt wird. Das bedeutet, dass alle 15 Sekunden ein(!) Wert in den Block geschrieben wird und es somit 1002*15 Sekunden dauern wird, ehe der erste Datenblock das RS232-Modul verlässt.

Ein weiteres Problem (das jetzt nichts mit der nicht erfolgenden Ausgabe zu tun hat) ist, dass Sie einen Datensatz vom Gerät erhalten, der mit einem Linefeed (/n) terminiert ist, aber dieser Daten enthält, welche jeweils durch ein Komma getrennt sind.

In DASYLabs Formatstring können Sie aber nur einen Trenner festlegen: entweder das Komma oder ein Linefeed-Symbol.

D.h. die Daten, welche das Gerät liefert können Sie gar nicht alle verarbeiten:

Wenn Sie das Komma als Trenner nutzen, dann bekommen Sie alle Messdaten erfasst - nur das letzte Datum nicht, weil nach dem letzten Zahlenwert ein Linefeed steht, aber kein Komma. DASYLab wird hier an der Stelle "stehenbleiben", den letzten Datenwert zurückhalten und auf das Eintreffen des nächsten Kommas warten, welches aber nicht empfangen wird, weil der vom Gerät gesendete Datensatz abgearbeitet wurde.

Share this post


Link to post
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...
Sign in to follow this  

×
×
  • Create New...