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 

Erste Schritte mit der ser. Schnittstelle



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!

18.12.2010, 16:33 (Dieser Beitrag wurde zuletzt bearbeitet: 18.12.2010 16:34 von Herby07.)
Beitrag #1

Herby07 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Mar 2010

2011
2010
kA


Deutschland
Erste Schritte mit der ser. Schnittstelle
Hallo zusammen,
nach längerer Pause beschäftige ich mich nun wieder erstmalig mit der ser. Kommunikation über einen COM-Port.
Bei den ersten Schritten komm ich schon nicht weiter:
Welche VISA-Funktion nehme ich zum Öffnen/Konfigurieren des seriellen Ports ?
Es gibt ja einmal ´VISA öffnen´ und einmal ´VISA: Seriellen Port konfigurieren`.
Ist beim letzteren schon das Öffnen mit enthalten oder muß hierbei auch der Port noch geöffnet werden ?
Ich habe Beispiele gesehen, in denen nur ´VISA: seriellen Port konfigurieren" benutzt wird, aber auch Beispiel, in denen auch noch zusätzlich ´VISA öffnen´benutzt wird.
Kann mir da jemand weiter helfen ?

Vielen Dank,
Herby
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.12.2010, 02:14
Beitrag #2

Kasi Offline
LVF-Stammgast
***


Beiträge: 342
Registriert seit: Dec 2010

6 - 2009
2005
DE_EN

79194
Deutschland
Erste Schritte mit der ser. Schnittstelle
Hallo Herby,

"Visa: seriellen Port konfigurieren" ist das VI, welches du benötigst. Oder du hängst einfach direkt nen Eigenschaftsknoten an die Visa-Leitung und suchst dir dort alles Notwendige selbst zusammen. Das Öffnen der Visa-Session wird mit dem Aufruf des VIs oder des Knotens implizit direkt mitgemacht. Das explizite Öffnen und Schließen der Visa-Ressource mittels VIs ist nur in Spezialfällen nötig. Meiner Meinung nach jedenfallsWink

Grüße,
Kasi

If you're havin' serial communication problems I feel bad for you, son, I got 99 problems but a baud ain't one! (except if using USB2serial converters, then I experience serialous problems)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.12.2010, 10:28
Beitrag #3

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Erste Schritte mit der ser. Schnittstelle
Ich mache grundsätzlich immer "Konfigurieren", dann "Öffnen", dann "Schreiben", dann "Lesen" (nach einer kurzen Wartezeit), dann "Schließen", wobei Konfigurieren, Öffnen und Schließen außerhalb einer evtl. vorhandenen Schleife liegen.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.12.2010, 12:04
Beitrag #4

Herby07 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Mar 2010

2011
2010
kA


Deutschland
Erste Schritte mit der ser. Schnittstelle
Hallo Kasi, hallo Markus,
vielen Dank für die Antworten.
Leider weiß ich jetzt nicht, wie es grundsätzlich abläuft: beides scheint richtig zu sein und auch zu funktionieren: im NI-Beispiel "Basic Serial Write and Read.vi" wird nur konfiguiert und nicht noch zusätzlich geöffnet.
In anderen Beispielen wird beides gemacht.
Ich werde es also einmal so oder so versuchen.

Dann habe ich noch eine weitere Frage: im gerade genannten NI-Beispiel werden die Schnittstellen-Daten mit der VISA-Lesen-Funktion eingelesen. Die Bedienung dieser Funktion ist mir klar, aber in dem Beispiel befindet sich im Empfangsteil ein für mich noch "geheimnisvoller Kasten" mit der Bezeichnung: "Instr / Bytes at Port".
Wozu benötige ich den denn ?

Vielen Dank,
Herby
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.12.2010, 12:28
Beitrag #5

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Erste Schritte mit der ser. Schnittstelle
Hallo,

da werden immer genau so viele Bytes an Daten ausgelesen, die im Moment auch zur Verfügung stehen. Sind im Puffer also z.B. 10 Byte Daten, dann kommt aus Bytes at Port die Zahl 10. Schließt man das an Byte Count (am VISA Read) an, dann werden genau 10 Bytes ausgelesen.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.12.2010, 12:37
Beitrag #6

Kasi Offline
LVF-Stammgast
***


Beiträge: 342
Registriert seit: Dec 2010

6 - 2009
2005
DE_EN

79194
Deutschland
Erste Schritte mit der ser. Schnittstelle
mir hat diese Angabe am Anfang auch Kopfzerbrechen gemacht, speziell wenn ich nicht wusste, wieviele Bytes ich erwarte. Die meisten seriellen Geräte beenden ihre Kommunikation über ein Abschlußzeichen wie Carriage Return oder Line Feed. Sollte das bei deinem Gerät auch der Fall sein, so kannst du diesen sog. "Terminator" beim konfigurieren angeben (als ascii-code) und aktivieren. Danach gibst du dem Lesen-VI als Byte-Zahl mehr, als du maximal erwartest. Die Lese-Routine bricht dann automatisch erfolgreich ab, wenn vor erreichen des Byte-Limits der Terminator gelesen wird. Damit fällt auch der Eigenschaftsknoten "Bytes at Port" komplett weg, der dir im ungünstigsten Fall zu wenige Bytes liefert, weil das Gerät noch nicht seine komplette Antwort gesendet hat.

If you're havin' serial communication problems I feel bad for you, son, I got 99 problems but a baud ain't one! (except if using USB2serial converters, then I experience serialous problems)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.12.2010, 12:39
Beitrag #7

Herby07 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Mar 2010

2011
2010
kA


Deutschland
Erste Schritte mit der ser. Schnittstelle
Hallo Markus,
vielen Dank !

D.h. also: wenn ich bei "VISA Lesen" unter "Byte-Anzahl" z.B. fest 25 (Byte) eintrage, dann wartet diese Funktion auch wirklich so lange, bis die 25 Bytes empfangen wurden und schreibt sie erst dann komplett in den Lesepuffer.

Durch die "Trick-Konstruktion" im Beispiel erreiche ich dann, daß jedes empfangene Byte sofort in den Lesepuffer geschrieben und von dort aus weiter verarbeitet werden kann.
Ist das so richtig ?

Herby
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.12.2010, 12:48
Beitrag #8

Herby07 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Mar 2010

2011
2010
kA


Deutschland
Erste Schritte mit der ser. Schnittstelle
Hallo Kasi,
mit einem Terminator kann ich leider nicht arbeiten, denn ich möchte Roh-Messwerte, immer zwei Byte (16 Bit Meßwert) übertragen.
Wenn dann zufälliger Weise in den Messwerten der Terminater-Code auftaucht, bricht ja das Einlesen zu früh ab.
Das Messwert-Telegramm ist z.B. immer 20 Byte lang (10 Messwerte).
Dann trag ich also den Wert ´20´ bei Byte-Anzahl im VISA: Lesen ein ?

Herby
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.12.2010, 13:03
Beitrag #9

Kasi Offline
LVF-Stammgast
***


Beiträge: 342
Registriert seit: Dec 2010

6 - 2009
2005
DE_EN

79194
Deutschland
Erste Schritte mit der ser. Schnittstelle
exakt. und für 20 bytes ist der default-timeout von....10(?) sekunden mehr als ausreichend.
...
ich bin mir gerade nicht sicher, aber ich glaube, wenn die antwort exakt genauso lang ist, wie die angeforderten bytes, kommt dann eine sehr verwirrende warnung aus dem fehlerausgang, dass die antwort genauso lang ist wie angefordert, was bedeuten KÖNNTE, dass noch mehr Bytes verfügbar sind. Was natürlich nicht stimmt. Nur so zu Info, FALLS du dir den Fehlercluster ansiehst und FALLS du diese Warnung siehst... das ist normal und kein Fehlverhalten.

If you're havin' serial communication problems I feel bad for you, son, I got 99 problems but a baud ain't one! (except if using USB2serial converters, then I experience serialous problems)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.12.2010, 13:10
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Erste Schritte mit der ser. Schnittstelle
Visa-öffnen wird bei Bedarf "intern" erledigt, deshalb klappt das auch mit "nur" Seriell-Konfigurieren.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

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

Einführende Links zu LabVIEW, s. GerdWs Signatur.
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
  Richtige Verwendung von ThermChar / Fehlerhafte erste Daten Aspen 5 4.857 24.04.2015 10:21
Letzter Beitrag: Aspen
  VISA Read Error erste Ausführung cobain2004 4 7.470 10.01.2014 21:15
Letzter Beitrag: jg

Gehe zu: