INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Datenstring von Serieller Verbindung verarbeiten



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

19.09.2019, 15:30
Beitrag #1

stefan1312 Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: May 2015

17
-
EN


Deutschland
Datenstring von Serieller Verbindung verarbeiten
Hallo!

Ich hätte eine Frage an euch:

Mein Sensor schickt über die serielle Verbindung einen Daten String welcher folgendermaßen aufgebaut ist:

+(-)000,70 +(-)000098

Es handelt sich hierbei um das Signal eines Drehmoment und Axialkraftsensor.
Habe letztens die Daten auch schon bekommen indem ich die Funktion Scan from String und Scan Value verwendet habe.

Leider habe ich hin und wieder?? das Problem, dass mein Programm mit folgenden Fehler aussteigt:

LabVIEW: An input parameter is invalid. For example if the input is a path,
the path might contain a character not allowed by the OS such as ? or @.

Kann mir nicht ganz erklären, woher dieser Fehler kommt? eventuell eine mitgesendete Gerätekennung?


Würde die Funktion Scan From string gerne ersetzen, komme aber hier leider nicht weiter mit
der Typkonvertierung usw.

Könnt ihr mir vl sagen, wie ihr solche Daten weiterverarbeitet?
.. steh leider ein wenig auf dem Schlauch und würde nach einer besseren Lösung suchen...

Teilt ihr euch den Datenstring in Bytes auf und konvertiert ihr dann ? oder lest ihr euch über die String - Trim Funktion die Daten aus?
damit ihr diese weiterverarbeiten könnt?

Im Anhang mein "altes" Programm

Vielen Dank für eure Unterstützung!

LG Stefan


Angehängte Datei(en)
17.0 .vi  Consumer_ArtisDDU4_.vi (Größe: 72,42 KB / Downloads: 19)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.09.2019, 09:54
Beitrag #2

Freddy Offline
LVF-Freak
****


Beiträge: 619
Registriert seit: Aug 2008

2018, 2019, NXG 2.0 BETA
1996
DE

76275
Deutschland
RE: Datenstring von Serieller Verbindung verarbeiten
Hallo Stefan,
Dein Programm muss bevor es gestartet wird schon wissen welche COM es initialisieren soll.
Eine Änderung der COM Eintragung im Bedienfeld COM-Port kann erst nach der Initialisierung der Schnittstelle geändert werden ( Die Software ist schneller als Du Big Grin).

In dem VI fehlt die Vorgabe der COM.

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.09.2019, 10:15
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 16.116
Registriert seit: May 2009

09SP1, 11SP1, 17 (selten 19)
1995
DE_EN

10×××
Deutschland
RE: Datenstring von Serieller Verbindung verarbeiten
Hallo Stefan,

du aktivierst die Nutzung des TermChars beim seriellen Port: damit ist die Benutzung von BytesAtPort grob falsch!
Frage einfach vollständige Botschaften ab - einfach mehr Zeichen abfragen, als du erwartest!

Zitat:das Problem, dass mein Programm mit folgenden Fehler aussteigt:
Wenn dein Programm wegen eines kleinen Fehlers "aussteigt", dann hast DU etwas nicht richtig programmiert…
Wie wäre es mit Errorhandling???

Zitat:+(-)000,70 +(-)000098
So:
   
(Gleich inklusive einfachem Errorhandling!)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.09.2019, 12:26
Beitrag #4

stefan1312 Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: May 2015

17
-
EN


Deutschland
RE: Datenstring von Serieller Verbindung verarbeiten
Hallo!

Vielen Dank für eure Rückmeldungen!

@Freddy: Ich habe es so programmiert, da der Sensor immer am gleichen COM Port hängt, du meinst whs das man zunächst den COM Port konfigurieren sollte und anschließend die Resource an einen Schiebregister weitergibt.. -und dann der Benutzer entscheiden soll ob die Daten nun gelesen werden sollen oder ob man einen neuen Port konfigurieren möchte oder?

@Gerd: Vielen Dank!

Ich wollte zunächst einmal wissen welche Funktionen ihr für die Weiterverarbeitung von Strings verwendet, da ich mir derzeit damit noch ein wenig schwer tue, wenn die Daten von einem Sensor in einem String stehen und ich diese weiterverarbeiten muss, danke auf alle Fälle für deinen Tip!

Zur seriellen Schnittstelle ist mir leider nicht bewusst, warum BytesAtPort grob falsch ist..?
Meinst du das man in Abhängigkeit der erwarteten Daten einfach eine größere Byte Zahl angeben soll?

Habe die serielle Schnittstelle leider noch nie benutzt und habe deshalb fürs erste die Einstellungen aus
den NI-Beispielprogrammen verwendet.

Vielen Dank!!

LG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.09.2019, 13:23 (Dieser Beitrag wurde zuletzt bearbeitet: 30.09.2019 13:24 von GerdW.)
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 16.116
Registriert seit: May 2009

09SP1, 11SP1, 17 (selten 19)
1995
DE_EN

10×××
Deutschland
RE: Datenstring von Serieller Verbindung verarbeiten
Hallo Stefan,

Zitat:Zur seriellen Schnittstelle ist mir leider nicht bewusst, warum BytesAtPort grob falsch ist..?
Weil man diese Funktion so gut wie nie benötigt.

Zitat:Meinst du das man in Abhängigkeit der erwarteten Daten einfach eine größere Byte Zahl angeben soll?
Ja.
(Wenn du das TermChar so gesetzt hast, wie es von deinem Gerät gesendet wird…)

Zitat:Habe die serielle Schnittstelle leider noch nie benutzt und habe deshalb fürs erste die Einstellungen aus den NI-Beispielprogrammen verwendet.
Leider sind die Beispiel-Programme von NI zur seriellen Schnittstelle ("Basic Serial Read and Write") so ziemlich die schlechtesten Beispiele - sie verwenden leider BytesAtPort! Besser nicht daran orientieren…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.09.2019, 14:53 (Dieser Beitrag wurde zuletzt bearbeitet: 30.09.2019 14:54 von stefan1312.)
Beitrag #6

stefan1312 Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: May 2015

17
-
EN


Deutschland
RE: Datenstring von Serieller Verbindung verarbeiten
Hallo Gerd!

Vielen Dank für die Hinweise!
Werde versuchen das Programm sauberer zu gestalten...
Kannst du mir vl sagen, wo man "bessere Beispiele" dazu
finden kann? ..

Habe damals zu einem anderen Post noch ein paar fragen zur parallelen Verarbeitung von
Schleifen:

https://www.labviewforum.de/showthread.p...698&page=2

wäre dankbar könntest du diese vl noch beantworten..
da ich meine Daten die ich über die serielle Schnittstelle bekomme noch in einem TDMS File abspeichern muss und da so einige Fragen zur
Verarbeitung aufgetaucht sind..

Kann die Frage aber gern auch in einen anderen Forumsteil posten, da diese leider thematisch
nicht wirklich zur meiner ursprünglichen Überschrift passt!

Vielen Dank für deine Unterstützung!

LG Stefan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Ansteigende / Abfallende Flanke trennen und verarbeiten erzengelsamael 4 2.946 22.10.2014 16:12
Letzter Beitrag: erzengelsamael
  Datenstring Byte/Wordweise umdrehen LabviewRoland 5 2.568 18.10.2013 07:32
Letzter Beitrag: LabviewRoland
  mehrdimensionales Array verarbeiten Hasenfuss 19 8.137 04.09.2013 10:58
Letzter Beitrag: GerdW
  Parallel Abläufe trotz SubVI mit serieller Kommunikation zur HW anja210 3 2.154 01.08.2012 21:43
Letzter Beitrag: Lucki
  Matrix Zeilenweise verarbeiten Dom0503 8 3.842 15.07.2011 10:07
Letzter Beitrag: Dom0503
  Eventstruktur in SubVi verarbeiten (aus Haupt Vi) qubie 1 2.390 12.06.2011 19:56
Letzter Beitrag: BNT

Who read this thread?
1 User(s) read this thread:
stefan1312

Gehe zu: