Anzeige:
nächste DASYLab Schulungstermine bei measX
Messwerterfassung mit DASYLab – Grundlagen 12.09. + 13.09.2017 Mönchengladbach
DASYLab und Python 26.09. + 27.09.2017 Ludwigsburg
Melde dich an, um diesem Inhalt zu folgen  
Folgen diesem Inhalt 0
Koaxial

Parsing von Komma-getrennten Daten

2 Beiträge in diesem Thema

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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.

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