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 

VISA Read - Stringlänge schwankt extrem



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!

28.08.2012, 16:02
Beitrag #1

BEng Thomas Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2012

LabVIEW 2011
2012
DE_EN


Deutschland
VISA Read - Stringlänge schwankt extrem
Hallo Lapview-Forum,

ich habe folgendes Problem mit meinem Programm (siehe Anhang).
Der Datenstring, den ich vom COM-Port einlese, sollte eine konstante Länge in meinem Fall von 1000 Bytes haben. Die Stringlänge schwankt total und dadurch werden die Graphen völlig ruckelig. Das berechnete Frequenzspektrum ist nicht richtig und schwankt extrem. Nur bei einem Testsinussignal von genau 80 Hz kommen die Daten teilweise so an wie ich es will (siehe Bild 10 Hz; Bild 80 Hz).

Aber wenn meine Daten nur positiv sind, also mit Offset, dann funktioniert es eimwandfrei (siehe Bild 10 Hz positive Werte).

Bahn Ich weiß nicht mehr weiter, ich habe schon so viel probiert und nichts klappt.

Kann mir jemand weiterhelfen?

Vielen Dank im Voraus für Eure Hilfe.

Grüße
BEng Thomas


Angehängte Datei(en) Thumbnail(s)
           

11.0 .vi  Aktuelles_Programm.vi (Größe: 103,3 KB / Downloads: 193)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2012, 16:18
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: VISA Read - Stringlänge schwankt extrem
Hallo BEng,

du hast das TermChar auf der Standardeinstellung gelassen.
Enthält dein zu lesender String evtl. EOL-Zeichen? Dann bricht der Lesezugriff natürlich an dieser Stelle mit dem Warten auf weitere Zeichen ab...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2012, 16:33
Beitrag #3

BEng Thomas Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2012

LabVIEW 2011
2012
DE_EN


Deutschland
RE: VISA Read - Stringlänge schwankt extrem
Hallo GerdW,

danke für deine schnelle Antwort. Mein String enthält wahrscheinlich ein EOL-Zeichen, aber ich habe in der VISA Configuration Serial Port das "Enable Termination Char (T)" auf "OFF" also disable eingestellt. Somit ist das Terminatinon char ohne Bedeutung das auf 0xA steht, oder??? Und immer wenn ich es ändere, steht nach dem "Run" das 0xA wieder drin.


Grüße

BEng Thomas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2012, 18:26
Beitrag #4

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: VISA Read - Stringlänge schwankt extrem
(28.08.2012 16:33 )BEng Thomas schrieb:  danke für deine schnelle Antwort. Mein String enthält wahrscheinlich ein EOL-Zeichen...

Heißt aber, dass du kein explizietes Temination Char in deinem Datenstring hast, oder?

(28.08.2012 16:33 )BEng Thomas schrieb:  ...aber ich habe in der VISA Configuration Serial Port das "Enable Termination Char (T)" auf "OFF" also disable eingestellt. Somit ist das Terminatinon char ohne Bedeutung das auf 0xA steht, oder???

Genau, wenn an dem Eingang ein False angeschlossen wird, wird auf ein Termination Char nicht reagiert.

(28.08.2012 16:33 )BEng Thomas schrieb:  Und immer wenn ich es ändere, steht nach dem "Run" das 0xA wieder drin.

Was änderst du? Das TermChar? Wo steht das nach dem Run? Im String? Das ist ja klar, da es ja mit übertragen wird.

Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2012, 19:03
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: VISA Read - Stringlänge schwankt extrem
Dein gepostetes VI erklärt das Fehlverhalten vollständig:
Da an Visa Config nichts angeschlossen ist, ist standardmäßig die Stringende-Erkennung mit "x0A" aktivert. Immer, wenn im Datenstring ein Byte mit dem Dezimalwert "10" vorkommt, wird diese Byte als Zeilenendezeichen interpretiert, und damit Visa Read vor Erreichen der 1000 Byte beendet.

Wenn Du aber nur positive Daten mit Werten >10 sendest, tritt das nicht auf: HighByte ist 0, LowByte ist >10, es kommt also in keinem Byte jemals der Wert 10 vor.

Deine nachgereichte Aussage, Du hättest TermChar nicht aktiviert, ist unglaubwürdig: Das gepostete VI sagt genau das Gegenteil, und die "Versuchsergebnisse" beinhalten genau das, was von diesem VI zu erwarten ist.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2012, 19:50
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.470
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: VISA Read - Stringlänge schwankt extrem
Hallo BEng,

Zitat:ich habe in der VISA Configuration Serial Port das "Enable Termination Char (T)" auf "OFF" also disable eingestellt. Somit ist das Terminatinon char ohne Bedeutung das auf 0xA steht, oder??? Und immer wenn ich es ändere, steht nach dem "Run" das 0xA wieder drin.
Anscheinend sind dir Grundbegriffe der LabVIEW-Programmierung, wie das Einstellen von Standardwerten bei Bedienelementen, unbekannt... Wenn du im geöffneten subVI-Frontpanel irgendetwas einstellst und dann das subVI vom HauptVI aus aufrufst (ohne dort Parameter vorzugeben), werden automatisch wieder die voreingestellten Standardwerte benutzt! Im Fall von InitSerialPort heißt das: TermChar enabled und auf 0x0a gesetzt - so wie es in der Kontexthilfe steht. (Und die sollte man als Anfänger immer offen haben!)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.08.2012, 09:00 (Dieser Beitrag wurde zuletzt bearbeitet: 29.08.2012 09:08 von Lucki.)
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: VISA Read - Stringlänge schwankt extrem
(28.08.2012 19:03 )Lucki schrieb:  Wenn Du aber nur positive Daten mit Werten >10 sendest, tritt das nicht auf: HighByte ist 0, LowByte ist >10, es kommt also in keinem Byte jemals der Wert 10 vor.
Hier muss ich mich selbst korrigieren: Bei einer 12byte-Zahl im Wertebereich 0...4095 bzw. -2048..2047 hat man in insgesamt 272 Zahlen Werte, bei denen entweder das High- oder das Low Byte den Wert 10 annimmt. Die Gefahr lauert also auch im nur positiven Bereich überall.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.08.2012, 09:32 (Dieser Beitrag wurde zuletzt bearbeitet: 29.08.2012 09:34 von BEng Thomas.)
Beitrag #8

BEng Thomas Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2012

LabVIEW 2011
2012
DE_EN


Deutschland
RE: VISA Read - Stringlänge schwankt extrem
Danke für die schnellen Antworten.

Manchmal sieht man den Wald vor lauter Bäumen nicht. Wall Hab den Termination Char von außen auf "OFF" also ne False-Konstant angelegt und jetzt funktioniert es eimwandfrei!!! Yahoo JUHU!!!

Danke für diese logische Lösung.

Grüße
BEng Thomas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.08.2012, 09:46
Beitrag #9

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
RE: VISA Read - Stringlänge schwankt extrem
(28.08.2012 16:02 )BEng Thomas schrieb:  Hallo Lapview-Forum,

RoflRoflRofl

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.08.2012, 11:50 (Dieser Beitrag wurde zuletzt bearbeitet: 29.08.2012 11:51 von Lucki.)
Beitrag #10

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: VISA Read - Stringlänge schwankt extrem
Für besonders professionell halte ich die Lösung trotzdem nicht. Wenn ein einziges Byte mal nicht richtig gelesen wird - und damit muss man bei seriellen Übertragungen rechnen - dann kommt nur noch Datenssalat an, wenn dann High-Byte und Lowbyte bei der Auswertung immer vertauscht sind.

Ein Lösung könnte z.B. sein, die 12 Bit zu je 6 bit auf beide Bytes gleichmäßig zu verteilen. Dann könnte man die 2 höherwertigen freien Bits dazu verwenden, High- und low- Byte als solche zu markieren.

Dieser ganze Krampf gilt natürlich nur für den Fall, dass Du auf ein hohe Übertragungsrate angewiesen bist. Der Normalfall ist: Übertragung der Daten im ASCII-Hex-Format mit Trennzeichen zwischen den Werten. Es würden dann allerdings 4 statt 2 Byte pro wert gebraucht:
3*Ziffer "0..F" (=12bit), 1*"x0A"
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
  VISA Read und Bytes at Port tanka 9 13.901 28.08.2019 08:10
Letzter Beitrag: Lucki
  VISA Read Fehler 1073807302 Stefan1101 4 7.702 29.08.2016 10:13
Letzter Beitrag: Stefan1101
  VISA Read mit Keithley 6487 dauert lange jusaca 3 5.565 28.01.2016 11:12
Letzter Beitrag: jusaca
Shocked Error 1073807313 - VISA Read in HOST.vi Hattorii 11 11.601 02.04.2014 15:28
Letzter Beitrag: Hattorii
  VISA Read liest nicht alle Bytes von Bytes at Port numumba 2 7.056 21.01.2014 20:24
Letzter Beitrag: numumba
  VISA Read Error erste Ausführung cobain2004 4 8.077 10.01.2014 21:15
Letzter Beitrag: jg

Gehe zu: