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 

RS232 Tunnel öffnen



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!

08.08.2007, 09:14
Beitrag #1

Simsdibims Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 70
Registriert seit: May 2007

8.5
2006
kA

83553
Deutschland
RS232 Tunnel öffnen
Hallo,
ich benutzte die Serial VISA Funktionen, um mit einem Gerät über das Bitbus-Protokoll zu kommunizieren.
Ich sende einen Befehl und warte solange, bis ETX (EndTX) als Termination Char kommt.
Da es sich ja um eine Modemstrecke handelt auf der schon mal Störungen auftreten können,
wäre es schön, wenn der Serialbuffer erst Daten annimmt, wenn STX (StartTX) signalisiert wird.
Bisher habe ich einfach kurz vor Read den Eingangsbuffer geleert (Flush).
Freu mich über jede Antwort, Gruß Simon
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.05.2008, 14:33
Beitrag #2

Dennis.Moser Offline
Administrator
Administrators

Beiträge: 3.045
Registriert seit: Aug 2004

5.1 : 7.1 : 8.x : 20xx
1997
DE_EN

57589
Deutschland
RS232 Tunnel öffnen
auch wenn´s jetzt was her ist...

was war die frage Unsure

Wissen ist das einzige Gut das sich vermehrt, wenn man es teilt!

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!

BC: 14vqy6mgfswpX6z7HLVxk1h3sHAvzE4aZG
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.05.2008, 20:18
Beitrag #3

harald.jaehrig Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Sep 2006

8.21
2006
de

131xx
Deutschland
RS232 Tunnel öffnen
hallo Simon,

das Problem ist in jeder textbasierten Programmiersprache einfach durch eine Statmaschin
zu lösen in LabVIEW wahrscheinlich nur über "Krücken".
also ich würde es so machen
1. erst einmal die serielle Schnittstelle auf zeichenweisen Empfang einstellen
2. in einer While-Schleife mittels Schieberegister einlaufene Zeichen sammeln
3. den zeichenweise gesammelten String auf das Muster STX, Daten, ETX parsen
4. den Empfangsstring aus dem String entfernen usw.
Ich denke das wird aber nur bei sehr kleinen Baudraten fehlerfrei funktionieren.

Da die Profis ja mit etwas Aroganz auf die Frage reagiert haben
hätte ich noch folgendes zu sagen:
1. gut wäre es, immer das nicht funktionierende VI mit einstellen;
2. welche Wege zur Lösung wurden schon beschritten ?

Also viel Erfolg beim lösen des Problemes.

MfG Harald
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.05.2008, 20:32
Beitrag #4

dc6xs Offline
registered alien
****


Beiträge: 762
Registriert seit: Aug 2006

6.1,7.00
2006
kA

79106
Sonstige
RS232 Tunnel öffnen
' schrieb:hallo Simon,

das Problem ist in jeder textbasierten Programmiersprache einfach durch eine Statmaschin
zu lösen in LabVIEW wahrscheinlich nur über "Krücken".
(...)

Eine Statemaschine ist auch in LV leicht zu realisieren..

Aber warum nicht einfach ein gescheites Protokoll mit Checksum und Timestamp/Blocknummer über die RS232 (egal ob jetzt mit oder ohne Modem-Strecke dazwischen) fahren?

Und wenns zurnot SLIP(TCP/IP) auf RS232 is.Angel_not

Gruß, Robert

Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.

N.B.:
"Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.05.2008, 22:05
Beitrag #5

harald.jaehrig Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Sep 2006

8.21
2006
de

131xx
Deutschland
RS232 Tunnel öffnen
' schrieb:Eine Statemaschine ist auch in LV leicht zu realisieren..

Aber warum nicht einfach ein gescheites Protokoll mit Checksum und Timestamp/Blocknummer über die RS232 (egal ob jetzt mit oder ohne Modem-Strecke dazwischen) fahren?

Und wenns zurnot SLIP(TCP/IP) auf RS232 is.Angel_not

Gruß, Robert


Hallo Robert hier mein Kommentar zu deiner Meinung bezüglich Statmaschin,

wer schon mal eine Statmaschin, die ereignisgesteuert Schnittstellenprotokolle decodieren soll
(egal ob CAN, Ethernet, Rs232...) in C oder Cpp programmiert hat und dann in einem Projekt
etwas ähnliches in LabVIEW machen muß, ich denke der kennt den Unterschied.

Wenn man wissen würde was man alles nicht weiß, dann wäre man ein Genie, oder ?

Ich versuche solche unkonstruktiven Beiträge in Zukunft zu vermeiden, versprochen.

Gruß Harald
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.05.2008, 22:55
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RS232 Tunnel öffnen
' schrieb:Ich denke das wird aber nur bei sehr kleinen Baudraten fehlerfrei funktionieren.
Du bist ja schlimmer als ich. Wink
Was sind denn "sehr kleine Baudraten"? Ich wage zu sagen 57,6kBaud gehen auf Anhieb.

Zitat:wer schon mal eine Statmaschin, die ereignisgesteuert Schnittstellenprotokolle decodieren soll (egal ob CAN, Ethernet, Rs232...) in C oder Cpp programmiert hat und dann in einem Projekt etwas ähnliches in LabVIEW machen muß, ich denke der kennt den Unterschied.
Den Unterschied kenne ich wohl, bisher hab ich noch nichts gefunden, was in C++/Delphi geht und in LV nicht. Außer dass mir ständig die LV-IDE abstürzt. Aber das hat ja nichts mit meiner Programmierung zu tun.

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
Anzeige
17.05.2008, 09:53 (Dieser Beitrag wurde zuletzt bearbeitet: 17.05.2008 09:53 von rolfk.)
Beitrag #7

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RS232 Tunnel öffnen
' schrieb:hallo Simon,

das Problem ist in jeder textbasierten Programmiersprache einfach durch eine Statmaschin
zu lösen in LabVIEW wahrscheinlich nur über "Krücken".
also ich würde es so machen
1. erst einmal die serielle Schnittstelle auf zeichenweisen Empfang einstellen
2. in einer While-Schleife mittels Schieberegister einlaufene Zeichen sammeln
3. den zeichenweise gesammelten String auf das Muster STX, Daten, ETX parsen
4. den Empfangsstring aus dem String entfernen usw.
Ich denke das wird aber nur bei sehr kleinen Baudraten fehlerfrei funktionieren.

Punkt 4 kannst Du ganz einfach immens verbessern indem Du Punkt 1 ganz weg lässt. Was soll denn der zeichenweise Empfang lösen? Du musst ja die Daten ohnehin in einem Zwischenspeicher (Schieberegister) ablegen und ob da jetzt jeweils ein Character reinkommt den Du dann checkst oder ein String den Du dann in LabVIEW parst macht wirklich keinen grossen Unterschied in Komplexität aber einen recht grossen in Schnellheit.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: