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 

Write-Read funktioniert erst ab drittem Schleifendurchgang



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!

20.04.2012, 10:43
Beitrag #1

DrHoas Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 117
Registriert seit: Oct 2007

2011
2007
DE


Deutschland
Write-Read funktioniert erst ab drittem Schleifendurchgang
Hallo,

ich möchte ein Messgerät (Keyence LT) ansprechen und hab mir dazu ein Test-VI erstellt. Dieses hab ich mir aus dem Beispiel Advanced Serial Write and Read.vi abgeguckt und die Teile weggelassen, die ich nicht brauche.

So wie ich das Beispiel angehängt hab, funktioniert es zwar aber immer erst ab dem zweiten oder dritten Schleifendurchgang. In den ersten Durchgängen bekomme ich entweder beliebige Buchstaben (a, j oder auch mal ein Zeichenkette wie Á1j) oder einen korrekten Fehlercode vom Messgerät. Der ist dann entweder "Befehlsfehler" oder "Framing-Fehler". Baudrate etc. müssten aber passen.

Lasse ich die Schleife weg und wähle "Wiederholt ausführen", funktioniert es gar nicht bzw. zufällig ab und zu (ich wechsle am Bildschirm des Geräts zwischen zwei Ansichten und das wird eben ab und zu ausgeführt). Dann bekomme ich auch manchmal den Fehler 1073807253 "Während der Übertragung ist ein Rahmensynchronisations-Fehler (Framing Error) aufgetreten."

Kann mir da jemand nen Tipp geben?

Dank und Gruß

Philipp

P.S. Schon erfolglos getestet: http://digital.ni.com/public.nsf/allkb/F...970000FC57


Angehängte Datei(en)
11.0 .vi  Keyence-Test.vi (Größe: 18,41 KB / Downloads: 242)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.04.2012, 09:58
Beitrag #2

DrHoas Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 117
Registriert seit: Oct 2007

2011
2007
DE


Deutschland
RE: Write-Read funktioniert erst ab drittem Schleifendurchgang
Hallo,

wenn ich zwischen write und read die "Bytes at Port" auslese, ist diese Anzahl 0. Wie kann das sein? Danach sage ich ja, dass 20 Bytes abgeholt werden sollen und erhalte die Antwort, dass xyz Bytes abgeholt wurden.

Philipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.04.2012, 10:38 (Dieser Beitrag wurde zuletzt bearbeitet: 23.04.2012 10:40 von GerdW.)
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Write-Read funktioniert erst ab drittem Schleifendurchgang
Hallo Philipp,

Zitat:wenn ich zwischen write und read die "Bytes at Port" auslese, ist diese Anzahl 0. Wie kann das sein? Danach sage ich ja, dass 20 Bytes abgeholt werden sollen und erhalte die Antwort, dass xyz Bytes abgeholt wurden.
Im Gegensatz zu deinem PC ist der RS232 ziemlich langsam. Wenn du also direkt nach dem VISA-Write die Anzahl der Bytes im Buffer abfragst, ist der noch leer: dein Gerät konnte gar nicht so schnell antworten. Das VISA-Read wartet dagegen, bis die gewünschte Anzahl an Bytes (oder das TermChar) gesendet wurde - oder der TimeOut eintritt...

Framingfehler treten auf, wenn das Gerät fortlaufend sendet und man "mitten" im Byte auf die RS232 zugreift. RunContinuous hilft dir da auch nicht weiter...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.04.2012, 11:46
Beitrag #4

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: Write-Read funktioniert erst ab drittem Schleifendurchgang
Diesen Eigenschaftsknoten "Instr" brauchst Du doch gar nicht, warum initialisierts Du die Com-Schnittstelle nicht ganz normal? TermChar ist da Default, da mußt Du gar nichts machen. Auf richtigen TermChar achten (Labview- default ist \n, nicht \r - es kommt darauf an, was die Gegeenstelle will/macht)

Frame-Error ist ganz normal, wenn die Schnittstellenparameter (Baudrate, Stopp-Bits usw.) nicht genau übereinstimmen. Wieso sollten sie, wenn die Initialisierung fehlt?

Zu Bytezahl=0: Visa write ist quasi unendlich schnell, es macht aber nichts anderes als den Write-String in den Sendepuffer zu schieben. Wenn du unmitelbar danach die Anzahl der Bytes im Empfangspuffer abfragt, dann hat ja das Senden des Strings zum Gerät gerade erst begonnen, an Befehlverarbeitung auf der Gegenstelle und Empfang von ihr ist da überhaupt noch nicht zu denken.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.04.2012, 15:32
Beitrag #5

DrHoas Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 117
Registriert seit: Oct 2007

2011
2007
DE


Deutschland
RE: Write-Read funktioniert erst ab drittem Schleifendurchgang
Hallo,

ich kann jetzt Framing-Fehler vermeiden und konnte nachvollziehen warum "Bytes at Port" 0 ist. Danke schonmal.

Das Programm habe ich geändert (siehe Anhang) und rausgefunden, dass die Konfiguration des Ports Zeit braucht. Da ich nicht gewartet hatte, wurden irgendwelche Zeichenketten erzeugt.
Das neue Programm macht jetzt folgendes:
Es gibt beim einfachen Ausführen eine Fehlermeldung vom Gerät zurück. Diese ist nicht in der Anleitung beschrieben, hat aber das gleiche Format wie die anderen Fehlermeldungen. Ich warte noch auf Antwort vom Hersteller.
Gehe ich auf "wiederholt ausführen" bekomme ich beim ersten Durchlauf auch die Fehlermeldung, ab dem zweiten Durchlauf funktioniert es.

Woran könnte das denn liegen?

Philipp
P.S. Ich benutze nicht "Visa: Seriellen Port konfigurieren" weil ich zusätzliche Einstellungen brauche (zumindest hab ich's mit dem fertigen VI nicht zum Laufen bekommen).


Angehängte Datei(en)
11.0 .vi  Keyence-Test 2.vi (Größe: 27,45 KB / Downloads: 227)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.04.2012, 16:35
Beitrag #6

DrHoas Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 117
Registriert seit: Oct 2007

2011
2007
DE


Deutschland
RE: Write-Read funktioniert erst ab drittem Schleifendurchgang
So,

ich hab mich grad vertippt und vor meinem Befehl versehentlich ein \n (line feed) eingefügt. Und auf einmal tut's. In der Anleitung steht dazu nichts!

Danke nochmal.

Philipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.04.2012, 17:18 (Dieser Beitrag wurde zuletzt bearbeitet: 23.04.2012 17:22 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: Write-Read funktioniert erst ab drittem Schleifendurchgang
(23.04.2012 15:32 )DrHoas schrieb:  P.S. Ich benutze nicht "Visa: Seriellen Port konfigurieren" weil ich zusätzliche Einstellungen brauche (zumindest hab ich's mit dem fertigen VI nicht zum Laufen bekommen).
Du solltes Dich mal von der Vorstellung befreien, daß es sich bei Deiner Aufgabe um einen schwierigen Sonderfall handelt. Es ist etwas ganz und gar Einfaches und funktioniert ohne Sequenzrahmen, ohne Waits, ohne bytes at Bord und ohne extra Eigenschaftsknoten. Zumindest hat es 1000e Male vorher schon so funktioniert.
Man kann dir allerdings kein VI posten, denn dazu brauchte man die Schnittstellenbeschreibung des Gerätes, und jedes Wort kann da wichtig sein.

Das Konfigurations-VI enthält auch nur diesen von Dir benutzten Eigenschaftknoten, mit sogar etwas mehr Eigenschaften, die evtl. entscheidend sein könnten. (ASRL End Out brauchst Du nicht):
   
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
  Serial Port mit Continuous Serial Read Write Hoang Nguyen 2 7.773 15.04.2016 10:35
Letzter Beitrag: Hoang Nguyen
  1x COM-Port, 2 x Write & 2x Read Jann 19 15.218 10.12.2015 14:17
Letzter Beitrag: jg
  Schaltfläche reagiert erst beim 2ten Klick MoJoJo 2 4.110 22.05.2014 12:17
Letzter Beitrag: MoJoJo
  Konfiguration von serieller Schnittstelle funktioniert erst das 2. Mal machfax 11 10.836 08.01.2014 13:51
Letzter Beitrag: Lucki
  Einteilung und Verwendungszweck von VISA und Instrument I/0 seriel write and read clubmatejunkie 2 5.020 20.11.2013 12:16
Letzter Beitrag: clubmatejunkie
  Visa Write and Read derwisch 8 7.591 02.07.2013 08:13
Letzter Beitrag: GerdW

Gehe zu: