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 

Antwort Visa Read falsch!!!



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!

10.12.2012, 12:23
Beitrag #1

Gisele Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Oct 2012

2012
2012
kA


Deutschland
Antwort Visa Read falsch!!!
Hallo an alle,

Ich habe ein Problem in der beiliegenden Labview Programm. Dieses Programm hat immer gut funktioniert. Aber Ich weiß nicht, welche Veränderungen ich getan habe, damit Read Visa nicht mehr gut funktioniert. Ich schicke eine Anfrage über Write Visa und erwartet, dass Read Visa die Bytes von Abfrage plus eine Antwort Zurückschickt. Ich bekomme genau dem gesendeten Byte nur die Byte von der Antwort sind falsch. Die Byte von Antwort, die ich bekomme sind die Bytes von dem Ereignis, das vorher war und nicht für das aktuelle Ereignis. Beispiel:

TX: 0xA0, 0x11, 0x00, 0x0A -------> (gesendete Bytes)

RX: 0xA1, 0x11, 0x03, 0x0A -------> (erwartete Antwort)

aber ich lese in den Puffer

RX: 0xA1, 0x11, 0x02, 0x0A -------> (erhaltene Antwort, was die vorherige Abfrage war)

Ich dachte, vielleicht ist schon ein Puffer bereits vorhanden, bevor sich die Visa öffnet.
Ich habe die Anzahl der Bytes an Port Überprüft, bevor der ersten Lese/Schreibfunktionen durchgeführt werden. Aber ich bekomme 0 Bytes at Port.

Weiß vielleicht Jemand voran liegt diese Verzögerung beim Lesen (Besonders für die Bytes von Antwort)?
Vielen Dank im Voraus für Ihre Reaktionen
MfG

Gisele


Angehängte Datei(en)
8.6 .vi  ReadAndWrite.vi (Größe: 33,69 KB / Downloads: 237)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.12.2012, 12:54
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Antwort Visa Read falsch!!!
Hallo Gisele,

- auch LV8.6 hat einen Aufräumknopf!
- du hast immer noch die VISA-Referenz mit deinem (hier fehlenden) subVI verbunden!
- du hast eine RaceCondition mittels deiner lokalen Variablen "transmitted Byte" geschaffen...
- warum öffnest du schon wieder einen neuen Thread zum gleichen VI?

- Nutzt du nun das TermChar? Dann brauchst du die ganzen "Bytes at port" nicht - da gibt es schon genügend Threads zu, die das erläutern!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2012, 12:56
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
RE: Antwort Visa Read falsch!!!
Ich habe jetzt die Hardware nicht zum Testen, aber was soll denn die For-Schleife nur mit einem Durchgang? Die kannst Du genauso gut auch weglassen.

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
10.12.2012, 13:47
Beitrag #4

Gisele Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Oct 2012

2012
2012
kA


Deutschland
RE: Antwort Visa Read falsch!!!
Hallo,
ich habe die For schleife weggelassen.
Zitat:auch LV8.6 hat einen Aufräumknopf!
soll ich die VI in eine andere Version laden? ich arbeite mit LV 2012, deswegen habe ich LV 8.6 gewählt, damit alle zugreifen kann.
Zitat:du hast immer noch die VISA-Referenz mit deinem (hier fehlenden) subVI verbunden!
Ich habe die SubVI nicht geladen, weil ich dort keine Probleme mehr habe. Das Problem liegt jetzt nur an die Bytes an read Puffer besonders die Bytes Antwort, die mit A1 anfängt. Soll ich auch die SubVI laden?
Zitat:- du hast eine RaceCondition mittels deiner lokalen Variablen "transmitted Byte" geschaffen...
Ja, ich prüfe, ob es genau was ich geschickt habe(ohne Antwort) bekommt!
Zitat:- warum öffnest du schon wieder einen neuen Thread zum gleichen VI?
Entschuldigung, nächste mal mache ich in dem gleichen Thread.
Zitat:Nutzt du nun das TermChar? Dann brauchst du die ganzen "Bytes at port" nicht - da gibt es schon genügend Threads zu, die das erläutern!
ja ich nutze das Termchar, ich habe schon viele Threads gelesen, aber hab noch keine Antwort gelesen Warum die Bytes von Antwort nicht aktuell sind.
Vielen Dank
MfG
Gisele
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2012, 13:53 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2012 14:20 von GerdW.)
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Antwort Visa Read falsch!!!
Hallo Gisele,

wenn du das TermChar verwendest, dann verzichte auf die BytesAtPort-Abfragen!

Kannst du bisher sicherstellen, dass du auch immer die passende Antwort auf gesendeten Befehl abfragst?

Nachtrag mit Links zu älteren Threads:
hier und hier

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2012, 14:18
Beitrag #6

Gisele Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Oct 2012

2012
2012
kA


Deutschland
RE: Antwort Visa Read falsch!!!
Hallo GerdW,
Zitat:Kannst du bisher sicherstellen, dass du auch immer die passende Antwort auf gesendeten Befehl abfragst?
das ist , was ich in meinem Programm versuche. Dies hatte seit ein paar Wochen immer richtig funktionniert.Blush
wenn ich mich auf mein Programm verlasse, frage ich immer die passende Antwort auf gesendeten Befehl ab.
MfG
Gisele
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2012, 14:24 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2012 14:26 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: Antwort Visa Read falsch!!!
Es ist wie der Kampf Don Quichotes gegen die Windmühlenflügel: Es wird immer wieder flasch gemacht und ich korrigiere es hier immer wieder.

Die Schuld daran gebe ich inzwischen den Beispielen in der Labview-Hilfe. Mit Zeilenendeerkennung (TermChar) ist die serielle Kommunikation nämlich so einfach, dass die Experten von NI sich geschämt haben, so etwas als Beispiel zu bringen. Und weil es das einfache Beispiel nicht gibt, wird weithin vermutet, dass alles noch komplizierter sein muss als all die aufgeblasenen NI-Beispiele zur seriellen Kommunikation.

Also: Weg mit solchen Funktionen wie Bytes on Board, Pufferkonfiguration, Wait. So einfach erhälst Du die richtige Antwort:
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2012, 14:59
Beitrag #8

Gisele Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Oct 2012

2012
2012
kA


Deutschland
RE: Antwort Visa Read falsch!!!
Hallo Lucki,
habe ich genau gemacht wie in deinem Bild. Ich bekomme die Anzahl der Bytes, die ich erwarte. aber nur die 4 letzte Bytes sind falsch (Bytes für die Antwort auf Abfrage) und ich weiß nicht warum.
Vielen Dank
Gisele
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2012, 15:41 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2012 15:45 von Lucki.)
Beitrag #9

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: Antwort Visa Read falsch!!!
Read liest den Pufferinhalt bis zum nächsten Zeilenende aus. Wenn dieser aus irgendeinem Grund schon vor dem Write nicht leer war (z.B weil die Gegenseite schon vor dem write-Kommando etwas in den Puffer geschickt hatte), dann liest man zwar etwas aus, aber das ist nicht die aktuelle Antwort auf das Write-Kommando. Die steckt dann immer noch im Puffer.
Du kannst ja sicherheitshalber unmittelbar vor dem Write immer den Empfangspuffer leeren.
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 12.730 28.08.2019 08:10
Letzter Beitrag: Lucki
  VISA Read Fehler 1073807302 Stefan1101 4 6.837 29.08.2016 10:13
Letzter Beitrag: Stefan1101
  VISA Read mit Keithley 6487 dauert lange jusaca 3 4.904 28.01.2016 11:12
Letzter Beitrag: jusaca
  Antwort von seriellem Port ignorieren möglich? Großer_Stein 2 3.669 10.10.2014 13:12
Letzter Beitrag: Trinitatis
Shocked Error 1073807313 - VISA Read in HOST.vi Hattorii 11 10.488 02.04.2014 15:28
Letzter Beitrag: Hattorii
  VISA Read liest nicht alle Bytes von Bytes at Port numumba 2 6.501 21.01.2014 20:24
Letzter Beitrag: numumba

Gehe zu: