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 

Abbruch serieller Schnittstelle und wiederverbinden



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.11.2018, 12:35
Beitrag #1

-cosmo- Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Mar 2017

16
2017
kA



Abbruch serieller Schnittstelle und wiederverbinden
Hallo,

ich habe folgendes Problem: Ich zeichne mit einem WTW Multimeter die Sauerstoffkonzentration kontinuierlich auf per USB (es handelt sich intern dabei um eine RS232 Schnittstelle in dem Gerät). Nach einiger Zeit bricht die Verbindung kurzzeitig ab, was dann dazu führt, dass das Programm abstürzt und nichts mehr aufgezeichnet wird. Gibt es eine Möglichkeit, dass er sich selbst wieder mit diesem Port verbindet, sobald er die Verbindung verloren hat? Problem war dann meistens, dass die Ports weiterhin belegt waren, sprich, die Ports müssten dann ebenso automatisch wieder freigegeben und belegt werden. Ist das möglich mit Labview?

BG
Cosmo


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.11.2018, 11:24 (Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2018 11:29 von IchSelbst.)
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Abbruch serieller Schnittstelle und wiederverbinden
(02.11.2018 12:35 )-cosmo- schrieb:  Ist das möglich mit Labview?
Ja. Selbstverständlich.

Sollte tatsächlich die Verbindung abbrechen, so müsstes du ja per Error-Cluster einen Fehler bekommen, sobald du schreiben oder lesen lässt. - einfach diesen Fehler auswerten. Je nach Fehler musst du die Verbindung schließen und eben neu öffnen.

Bedenke aber folgendes:
Möglicherweise kommt auch lediglich dein Empfangs- und Auswerte-Algorithmus durcheinander. Immerhin prüfst du den empfangenen Stream nicht auf Konsistenz. Das Durcheinander sieht dann so aus, als ob nichts mehr geht.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2018, 17:12
Beitrag #3

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Abbruch serieller Schnittstelle und wiederverbinden
Hallo Cosmo,
in der ersten IF Anweisung übergibst Du eine Konstante = 2. Das Füllen der XON Char/ XOFF Char wird nicht ausgeführt.

In der While - Schleife wird aller 50ms der Write Befehl ausgeführt, dass könnte Dein Zielsystem etwas überfordern.

In der IF Anweisung zum Lesen, verwendest Du beim Read VI feste Anzahl Zeichen. Wenn die nicht alle kommen gibt es ein Timeout.

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
06.11.2018, 14:05 (Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2018 14:12 von -cosmo-.)
Beitrag #4

-cosmo- Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Mar 2017

16
2017
kA



RE: Abbruch serieller Schnittstelle und wiederverbinden
Hey,
vielen Dank schon mal für die Hinweise, ja, das klingt plausibel.

@IchSelbst
(04.11.2018 11:24 )IchSelbst schrieb:  Möglicherweise kommt auch lediglich dein Empfangs- und Auswerte-Algorithmus durcheinander. Immerhin prüfst du den empfangenen Stream nicht auf Konsistenz. Das Durcheinander sieht dann so aus, als ob nichts mehr geht.

Wie kann ich denn konkret auf Konsistenz prüfen? Ich werte ja nur einen Teil-String aus, und zwar sobald er den String 'Ox' liest, wertet er die darauffolgenden 2 Zahlen aus, der restliche String wird ja vollkommen ignoriert. Im Grunde kommt auch gar keine Fehlermeldung, sondern das Programm friert einfach ein.

@Freddy
(05.11.2018 17:12 )Freddy schrieb:  in der ersten IF Anweisung übergibst Du eine Konstante = 2. Das Füllen der XON Char/ XOFF Char wird nicht ausgeführt.

Du hast vollkommen Recht. Das habe ich übersehen, ich habe es aus dem Labview-Tutorial und die Ablaufsteuerung auf RTC/RTS gestellt, da es so vom Gerät vorgegeben war und dann übersehen, dass es auch mit der IF-Abweisung verbunden ist. Weiß zugegeben nicht so recht, was XON Char/XOFF Char ist, würde vermuten, dass ein Anfangs und End-Buchstabe gesendet wird, richtig? Aber da ich ja 2 übergebe, wird diese Anweisung doch niemals ausgeführt, richtig?

(05.11.2018 17:12 )Freddy schrieb:  In der IF Anweisung zum Lesen, verwendest Du beim Read VI feste Anzahl Zeichen. Wenn die nicht alle kommen gibt es ein Timeout.

Richtig, timeout kam auch öfters. Wie kann man denn eine variable Anzahl beim suchen in einem String zulassen, bzw. dieses Problem umgehen?


BG
Cosmo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.11.2018, 12:47
Beitrag #5

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Abbruch serieller Schnittstelle und wiederverbinden
Zitat:Wie kann man denn eine variable Anzahl beim suchen in einem String zulassen, bzw. dieses Problem umgehen?

Z.B immer nur ein Zeichen auslesen, und diese in ein String sammeln. Den String nach den Schlüsselworten durchsuchen und auswerten.
Die Error Meldung Timeout mit dem VI 'Clear Errors' löschen und weiter abfragen.

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
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  TCP Verbindung automatisch wiederverbinden Philipp99 6 4.998 07.07.2018 21:06
Letzter Beitrag: IchSelbst

Gehe zu: