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 

Unvollständige Antwort an serieller Schnittstelle (VISA)



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!

11.08.2006, 12:25
Beitrag #11

diplNisse Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Apr 2006

2010
2006
EN


Deutschland
Unvollständige Antwort an serieller Schnittstelle (VISA)
Hallo. Kurze erklärung zum Term-Char:

Nach dem Empangen dieses Zeichens wird die VISA-Read-Funktion beendet!!!

Wenn du da also ein {LF} oder {CR} oder sogar beides eingetragen hast, dann ist klar, warum das Empfangen nach der ersten Zeile abbricht.

Du solltest dich mal schlau machen, wie die Antwort deines Peripheriegerätes aussieht (was sendet es nach jeder Zeile, was sendet es, wenn es mit dem Senden fertig ist?).

Poste doch mal alle Parameter und das Datenformat.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
11.08.2006, 17:05
Beitrag #12

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Unvollständige Antwort an serieller Schnittstelle (VISA)
' schrieb:Hallo. Kurze erklärung zum Term-Char:

Nach dem Empangen dieses Zeichens wird die VISA-Read-Funktion beendet!!!

Wenn du da also ein {LF} oder {CR} oder sogar beides eingetragen hast, dann ist klar, warum das Empfangen nach der ersten Zeile abbricht.

Du solltest dich mal schlau machen, wie die Antwort deines Peripheriegerätes aussieht (was sendet es nach jeder Zeile, was sendet es, wenn es mit dem Senden fertig ist?).

Poste doch mal alle Parameter und das Datenformat.

dem kann ich mich nur anschliessen:
angenommen dein Gerät sendet nun einen String, der mit einem nr beginnt und der Termination Char ist TRUE, mit dem Wert 0x0A = n = {LF}, dann bekommst du genau 0 Byte, weil der Termination Char abgeschnitten wird und der String davor ausgegeben wird ...

Das Handshaking stellt man mit dem Enum "flow control" ein. Grob gibt es ein Software- und ein Hardware-Handshaking, das genau so eingestellt sein muss, wie die Gegenstelle. Die Parameter müssen in der Doku zum Gerät beschrieben sein ...

Falls du partout nicht weiterkommst und die Geschichte dringend ist, kannst du einen Tag Start-Up-Assistance bei mir bestellen, ich hab noch jedes RS232 Gerät zum sprechen gebracht ...

Grüße
CB

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2006, 15:29
Beitrag #13

lise Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Aug 2006

7.1
2005
kA


Deutschland
Unvollständige Antwort an serieller Schnittstelle (VISA)
Hi,

vielen Dank schon mal bis hierhin, allerdings komme ich noch nicht richtig in die Gänge was wohl leider an meinem leider noch Unverständnis der Datenübertragung liegt. Erst einmal poste ich Euch die Daten:

baud rate 115200
data bits 8
parity none
stop bits 1 (bis hierhin hab' ich alles so eingestellt)
HS: 0 (was ist das??)

Counters: (kann ich leider auch nicht viel mit anfangen...)
PUT = 0, PUC = 0
WrE = 0, WrF = 0

von 'flow control' ist leider nix zu lesen oder die info steht in den Angaben oben und ich kann's nicht erkennen?
flow control hatte ich bisher immer auf 'none'. Unter dem Stichwort 'Touch panel calibration' gibt es da noch Angaben zu XOff, XSlp, YOff und YSlp - muß ich deshalb 'flow control' auf XON/XOFF setzen? (Wobei ich das gerade auch relativ erfolglos versucht habe, aber vielleicht paßt ja auch noch was anderes nicht?)

Angaben zum Format der Daten gibt's nicht, ich kann wie gesagt nur durch das Terminalprogramm sagen, daß es mehrere Zeilen mit Buchstaben, (Fließkomma- und ganzen) Zahlen und anderen Zeichen (z.B. "/") gibt, das allerdings in den verschiedensten Ausführungen. (gibt es einen Ausdruck, den LabVIEW versteht und wo alles drin ist - alle Möglichkeiten der Zusammensetzung integriert sind?)

Und wie kann ich am besten herausfinden, welches Zeichen am Ende einer Zeile steht? Der Hersteller macht keine Angaben. Ich hab' im MAX schon mal ein 'n' am Ende einer Antwort stehen sehen (bei VISA Session), allerdings ist es mir bisher nicht gelungen, selbige Zeile nochmal zu erzeugen.

Habe also nun (unter anderem!) folgende Kombination versucht:

flow control XON/XOFF
enable Termination Char OFF

'termitation char' selbst wird doch nun nicht mehr berücksichtigt? Und für den Fall: ich kann 'termination char' (steht auf '0'Wink auf alle natürlichen Zahlen zwischen 0 und 255 einstellen - ???

Jedenfalls krieg' ich immer noch (wenn überhaupt) meine Zeile 1...

lg,
lise
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2006, 16:13
Beitrag #14

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

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Unvollständige Antwort an serieller Schnittstelle (VISA)
Hallo,

probier' doch mal in Instrument I/O -> VISA -> VISA advanced den Property-Node auf Deinem Blockdiagramm zu platzieren und stelle ihn auf Timeout (Write) ein. Dann kannst Du eine Konstante anlegen. Mach' die mal groß genug (z.B. 3600000, so habe ich es) und schau' nach, ob es dann klappt.
Das war bei mir auch mal das Problem mit VISA, allerdings bei einem GPIB-Digitalmultimeter.
Aber vielleicht hilft es ja weiter.

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
14.08.2006, 16:57
Beitrag #15

lise Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Aug 2006

7.1
2005
kA


Deutschland
Unvollständige Antwort an serieller Schnittstelle (VISA)
' schrieb:Hallo,

probier' doch mal in Instrument I/O -> VISA -> VISA advanced den Property-Node auf Deinem Blockdiagramm zu platzieren und stelle ihn auf Timeout (Write) ein. Dann kannst Du eine Konstante anlegen. Mach' die mal groß genug (z.B. 3600000, so habe ich es) und schau' nach, ob es dann klappt.
Das war bei mir auch mal das Problem mit VISA, allerdings bei einem GPIB-Digitalmultimeter.
Aber vielleicht hilft es ja weiter.

Gruß Markus


wohin soll ich's bauen? Hab's gerade mit vor dem Zählen der Bytes probiert, ohne Erfolg - keine Veränderung.
Wartezeit ist beim Lesen auch schon drin (in der case loop), aber es werden ja schon zu wenig Bytes gezählt...

lg,
lise
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2006, 06:23
Beitrag #16

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

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Unvollständige Antwort an serieller Schnittstelle (VISA)
Es sollte halt irgendwann aufgerufen werden, bevor "Read" ausgeführt wird, wann genau ist aber egal.
Und Du kannst ja in Deinem Read auch mal eine vordefinierte Byteanzahl einstellen.

Gruß Markus

' schrieb:wohin soll ich's bauen? Hab's gerade mit vor dem Zählen der Bytes probiert, ohne Erfolg - keine Veränderung.
Wartezeit ist beim Lesen auch schon drin (in der case loop), aber es werden ja schon zu wenig Bytes gezählt...

lg,
lise

--------------------------------------------------------------------------
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
15.08.2006, 08:18
Beitrag #17

lise Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Aug 2006

7.1
2005
kA


Deutschland
Unvollständige Antwort an serieller Schnittstelle (VISA)
' schrieb:Es sollte halt irgendwann aufgerufen werden, bevor "Read" ausgeführt wird, wann genau ist aber egal.
Und Du kannst ja in Deinem Read auch mal eine vordefinierte Byteanzahl einstellen.

Gruß Markus


japp, hab' ich schon versucht... Fehlermeldung wenn Byteanzahl größer als erste Zeile und danach immer ("Timeout expired...")
ich denke, daran liegt's nicht...

lg,
lise
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2006, 08:34
Beitrag #18

diplNisse Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Apr 2006

2010
2006
EN


Deutschland
Unvollständige Antwort an serieller Schnittstelle (VISA)
' schrieb:japp, hab' ich schon versucht... Fehlermeldung wenn Byteanzahl größer als erste Zeile und danach immer ("Timeout expired...")
ich denke, daran liegt's nicht...

lg,
lise

Hallo!

Wenn du einen Timeout bekommst bei einer Bytezahl größer als deine 1. Zeile, dann schätze ich, dass einfach nicht mehr als die erste Zeile gesendet wird!

Vielleicht ist es für Dich extrem hilfreich, dir einen "Spion" zu bauen: Einfach die Tx-Leitung vom Peripheriegerät anzapfen und an einem freien COM-Port an die Rx-Leitung anschließen (Ground natürlich auch, also GNG auf GND, Pin 5).
Dann kannst du mit einem Hyper-Terminal oder Comwatch "mithören". Das habe ich auch immer gemacht um Fehler zu suchen. Vorraussetzung ist natürlich ein zweiter COM-Port, oder ein zweiter Rechner.

Aber das ist nie verkehrt.

Nisse
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2006, 09:39
Beitrag #19

lise Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Aug 2006

7.1
2005
kA


Deutschland
Unvollständige Antwort an serieller Schnittstelle (VISA)
' schrieb:Hallo!

Wenn du einen Timeout bekommst bei einer Bytezahl größer als deine 1. Zeile, dann schätze ich, dass einfach nicht mehr als die erste Zeile gesendet wird!

Vielleicht ist es für Dich extrem hilfreich, dir einen "Spion" zu bauen: Einfach die Tx-Leitung vom Peripheriegerät anzapfen und an einem freien COM-Port an die Rx-Leitung anschließen (Ground natürlich auch, also GNG auf GND, Pin 5).
Dann kannst du mit einem Hyper-Terminal oder Comwatch "mithören". Das habe ich auch immer gemacht um Fehler zu suchen. Vorraussetzung ist natürlich ein zweiter COM-Port, oder ein zweiter Rechner.

Aber das ist nie verkehrt.

Nisse


hi,

mit einem Terminal-Programm kann ich sehen welche Antwort auf welchen Befehl vom Gerät zurückkommt. Daher weiß ich, daß mehrere Zeilen zurückkommen...

lg,
lise
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.08.2006, 21:42
Beitrag #20

lise Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Aug 2006

7.1
2005
kA


Deutschland
Unvollständige Antwort an serieller Schnittstelle (VISA)
... nun isse da, die Antwort. Und wie? Man nehme lieber nicht VISA...Grrr
Danke noch mal für all Eure Mühen, aber die Sache mit VISA werde ich wohl lieber erst anpacken wenn ich groß bin...

lg,
lise
Blush
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Serielle Schnittstelle: Unterschied zwischen FIFO-Buffer und VISA-Buffer Exle 4 7.085 23.01.2019 08:07
Letzter Beitrag: Ratio
  Überlauffehler bei serieller Schnittstelle DominikPl 14 11.334 29.05.2018 11:51
Letzter Beitrag: Kiesch
  VISA: I/O Fehler beim Auslesen einer seriellen Schnittstelle konne 5 7.616 19.07.2017 13:04
Letzter Beitrag: konne
  Fehlermeldung bei serieller Schnittstelle Lab-Girl 3 6.014 02.02.2016 17:12
Letzter Beitrag: IchSelbst
  Synchrone Datenerfassung von Serieller Schnittstelle und DAQ darkbeppo 5 7.102 17.12.2014 12:46
Letzter Beitrag: GerdW
  Antwort von seriellem Port ignorieren möglich? Großer_Stein 2 4.231 10.10.2014 13:12
Letzter Beitrag: Trinitatis

Gehe zu: