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 

Serial auslesen wenn COM-Port verfügbar



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!

02.05.2012, 09:46
Beitrag #1

lrt65492 Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: May 2012

8.0
2012
DE_EN



Serial auslesen wenn COM-Port verfügbar
Guten Tag,
ich habe ein Problem mit der seriellen Schnittstelle. Ich habe einen USB2Serial-Adapter, der so konfiguriert ist, dass er immer den COM-Port 7 (COM7) belegt. Mein vi soll nun erkennen wann der USB-Adapter eingesteckt ist und auch nur dann die Schnittstelle auslesen. Momentan wird nur beim Start des Programms die Verfügbarkeit überprüft.

Zwei ineinander verschachtelte Schleifen (eine für die Verügbarkeit und eine zum auslesen) wollte ich eigendlich vermeiden.
Was für Möglichkeiten gibt es da?

Vielen Dank
lrt65492


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.05.2012, 10:08
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Serial auslesen wenn COM-Port verfügbar
Hallo Irt,

Zitat:Momentan wird nur beim Start des Programms die Verfügbarkeit überprüft.
Zwei ineinander verschachtelte Schleifen (eine für die Verügbarkeit und eine zum auslesen) wollte ich eigendlich vermeiden.
Wieso das denn nun wieder?
Entweder du willst zur Laufzeit ständig die Verfügbarkeit prüfen - oder nur beim Programmstart. Wenn du ständig (heißt: bei momentan nicht vorhandener Verbindung mit dem Gerät) prüfen willst, brauchst du eine äußere Schleife.

Evtl. würde sich hier eine Statemachine anbieten:
- State "init" prüft, ob COM-Port vorhanden und initialisiert diesen im Erfolgsfall
- State "Abfrage" läuft solange der Port vorhanden ist (d.h. bis ein [TimeOut-]Fehler auftritt)
- State "cleanup" räumt auf und geht zurück auf Anfang ("init")

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.05.2012, 10:23 (Dieser Beitrag wurde zuletzt bearbeitet: 02.05.2012 10:25 von Andora.)
Beitrag #3

Andora Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 124
Registriert seit: Jul 2008

2009
2001
de

81539
Deutschland
RE: Serial auslesen wenn COM-Port verfügbar
(02.05.2012 09:46 )lrt65492 schrieb:  Guten Tag,
ich habe ein Problem mit der seriellen Schnittstelle. Ich habe einen USB2Serial-Adapter, der so konfiguriert ist, dass er immer den COM-Port 7 (COM7) belegt. Mein vi soll nun erkennen wann der USB-Adapter eingesteckt ist und auch nur dann die Schnittstelle auslesen. Momentan wird nur beim Start des Programms die Verfügbarkeit überprüft.

Zwei ineinander verschachtelte Schleifen (eine für die Verügbarkeit und eine zum auslesen) wollte ich eigendlich vermeiden.
Was für Möglichkeiten gibt es da?

Vielen Dank
lrt65492

Hallo,

oder steck alles in die Schleife.

Gruß,
Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2012, 08:08
Beitrag #4

lrt65492 Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: May 2012

8.0
2012
DE_EN



RE: Serial auslesen wenn COM-Port verfügbar
Guten Morgen,
ich wollte eine verschachtelte Schleife vermeiden, weil ich wirklich nur einmal in der Sekunde den Seriellen Port auslesen möchte, sonst kommt es dort zu Lesefehlern.
Ich weiß nicht wie genau der Ablauf der Schleifen dann funktioniert.
Wenn die serielle Schnittstelle angeschlossen ist, läuft dann nurnoch die innere Schleife? Und die Äußere steht? Und Wiederholt die sich dann wirklich nur alle Sekunde? Oder funktioniert das dann?

Vielen Dank für eure Bemühungen
Gruß lrt65492


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2012, 08:14
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Serial auslesen wenn COM-Port verfügbar
Hallo Irt,

Zitat:Ich weiß nicht wie genau der Ablauf der Schleifen dann funktioniert.
Guck's dir doch einfach mit ExecutionHighlighting an...

Zitat:Wenn die serielle Schnittstelle angeschlossen ist, läuft dann nurnoch die innere Schleife?
Ja.

Zitat:Und die Äußere steht?
Ja, THINK DATAFLOW!

Zitat:Und Wiederholt die sich dann wirklich nur alle Sekunde?
Zumindest hast du eine Wartezeit von 1s konfiguriert. Wobei feste Wartezeiten beim seriellen Port fast immer falsch sind...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2012, 08:14
Beitrag #6

Andora Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 124
Registriert seit: Jul 2008

2009
2001
de

81539
Deutschland
RE: Serial auslesen wenn COM-Port verfügbar
(03.05.2012 08:08 )lrt65492 schrieb:  Guten Morgen,
ich wollte eine verschachtelte Schleife vermeiden, weil ich wirklich nur einmal in der Sekunde den Seriellen Port auslesen möchte, sonst kommt es dort zu Lesefehlern.
Ich weiß nicht wie genau der Ablauf der Schleifen dann funktioniert.
Wenn die serielle Schnittstelle angeschlossen ist, läuft dann nurnoch die innere Schleife? Und die Äußere steht? Und Wiederholt die sich dann wirklich nur alle Sekunde? Oder funktioniert das dann?

Vielen Dank für eure Bemühungen
Gruß lrt65492

Hallo,

"ich wollte eine verschachtelte Schleife vermeiden" - das habe verstanden, deswegen entferne die innere Schleife     , somit hast keine verschachtelte Schleife mehr und für einmal pro Sekunde reicht die Geschwindigkeit.

Gruß,
Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.05.2012, 09:01
Beitrag #7

lrt65492 Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: May 2012

8.0
2012
DE_EN



RE: Serial auslesen wenn COM-Port verfügbar
Hallo Zusammen,
erstmal vielen Dank für eure Hilfe.´Es funktioniert soweit ganz gut mit zwei Schleifen. Nur gibt es ab und zu Lesefehler. GerdW sagt ja schon:
(03.05.2012 08:14 )GerdW schrieb:  Wobei feste Wartezeiten beim seriellen Port fast immer falsch sind...
wie kann ich das vermeiden?
In meinem Sub-Vi "Serial read" lese ich die Eigenschaft "Bytes at port" schon aus, hat es damit etwas zu tun?

Vielen Dank
lrt65492


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.05.2012, 19:07
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Serial auslesen wenn COM-Port verfügbar
Hallo lrt,

Zitat:wie kann ich das vermeiden?
Entweder:
Auf BytesAtPort verzichten und mit EOT-Char arbeiten (dabei feste Anzahl Zeichen abfragen).
Oder:
Feste Anzahl Zeichen abfragen, damit String zusammensetzen und gesuchte Antwort parsen...

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
  Serial Port mit Continuous Serial Read Write Hoang Nguyen 2 7.798 15.04.2016 10:35
Letzter Beitrag: Hoang Nguyen
  Serial Read von Arduino in Chart darstellen lars1500 28 23.914 12.01.2015 19:29
Letzter Beitrag: lars1500
  COM Port einfügen/auslesen Peter765 9 23.287 25.07.2012 20:54
Letzter Beitrag: GerdW
  Serial VISA Session name vergeben? yasukatakaya 0 3.639 17.04.2012 09:59
Letzter Beitrag: yasukatakaya
  VISA Configure Serial Port Digger80 2 11.818 03.12.2011 18:29
Letzter Beitrag: Digger80
  Configure Serial Port nicht bei jedem Schleifendurchlauf ausführen bienee 4 6.959 29.08.2011 13:27
Letzter Beitrag: Lucki

Gehe zu: