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 Write/Read bündeln



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!

09.08.2006, 08:50
Beitrag #1

Laserfuzzi Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Jul 2006

7.1,8
2006
kA


Deutschland
VISA Write/Read bündeln
<div align="left">Hallo zusammen,

erstmal mein lob für dieses forum. Ich bin recht neu bei LV, aber habe durch das forum schon viel gelernt.

Mein problem ist folgendes: ich soll mit LV einen laser über rs 232 ansteuern. dazu muss ich dem laser jedes mal einen hexadezimalen operationscode senden und dann auf die antwort warten. diese ein/ausgabe funzt auch wunderbar über das von LV mitgelieferte VISA Serial Writ/Read beispiel.

Das eigentliche problem ist nun, dass es sich nicht nur um einen operationscode handelt, den ich senden muss, um dann auf die antwort zu warten, sondern es handelt sich um nahezu 15 funktionen, die in regelmäßigen abständen geschrieben und gelesen werden müssen. (nach möglichkeit sogar gleichzeitig)

Meine erste Idee war, dass ich die ganze Geschicht in einer Sequenz aufbaue: 1...15. Funktion schreiben und auf antwort warten. Aber dann habe ich für jede Funktion einmal die Lese und Schreibfunktion, was sicherlich nicht die beste variante ist, oder ?

Nun zu der eigentlichen Frage: gibt es eine elegante lösung, die einzelnen Funktionen auf nur 1 mal VISA write zu bündeln, so dass sie hintereinander weg geschrieben werden und dann beim lesen wieder alle zurückkommenden antwortern auch sinnvoll auf die richtigen anzeigeelemente zu verteilen (temperatur, laserpower, pumpstrom usw. ) ?

Gestern habe ich bei den beispielen habe ich ein beispiel gefunden, dass sich mit Queues als multiplexer beschäftigt hat. funktioniert auch nachdem ich es angepasst habe für meine zwecke, aber wie zum teufel kann ich die funktionen nachher wieder demultiplexen ?

Ich wär für jede hilfe, auch wenn sie noch so klein ist dankbar. Blush</div>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.08.2006, 10:06
Beitrag #2

Buhrz Offline
LVF-Stammgast
***


Beiträge: 407
Registriert seit: Oct 2004

1.2 - 2015
1987
EN

22844
Deutschland
VISA Write/Read bündeln
HI

Du solltest zu erst klären ob der Laser das auch mitmacht
Denn wenn du befehle in schneller reinfolge sendest muß der Laser auch die Befehle buffern können oder erist so schnell.

Zu deiner Frage eine Idee

Du kannst deine Befehle alle in ein Array schreiben und dann das Array an eine For-schleife übergeben
In der Schleife sendest du dann nur die befehle danach liest du dann einmal auf der schnitsstele die anzahl der angekommenen bytes und liest sie dann mit der read funktion aus

so ich hoffe das gibt dir ein wenig hilfe

Gruß

Jürgen

A old LabVIEW User
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.08.2006, 11:52
Beitrag #3

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
VISA Write/Read bündeln
' schrieb:nach möglichkeit sogar gleichzeitig

das wird nicht funktionieren. Wie der Name der Schnittstelle schon sagt, funktioniert diese seriell, d.h. sie sendet ein Byte nach dem anderen. Wenn du also parallel senden möchtes, musst du mehrere RS232-Schnittstellen gleichzeitig verwenden. Wenn nun dein Gerät aber nur einen Anschluss für ein RS232-Kabel hat, dann wird es auch nicht gleichzeitig empfangen können ...

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
09.08.2006, 12:05
Beitrag #4

Laserfuzzi Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Jul 2006

7.1,8
2006
kA


Deutschland
VISA Write/Read bündeln
<div align="left">Danke für die antworten.

Zitat:das wird nicht funktionieren. Wie der Name der Schnittstelle schon sagt, funktioniert diese seriell, d.h. sie sendet ein Byte nach dem anderen. Wenn du also parallel senden möchtes, musst du mehrere RS232-Schnittstellen gleichzeitig verwenden. Wenn nun dein Gerät aber nur einen Anschluss für ein RS232-Kabel hat, dann wird es auch nicht gleichzeitig empfangen können ...
Schon klar das es nicht ganz gleichzeitig funktionieren kann aber zumindest in sehr kleinen zeitlichen abständen.

Deswegen ja auch die idee mit dem multiplexer.... schön stück für stück durchschieben. aber ich bekomme die zurückkommenden teile nicht mehr auseinander.

Zitat:Du solltest zu erst klären ob der Laser das auch mitmacht

mit dem laser ist alles gut.... hab ich vorher getestet. habe ihn nur mit extrem kleinen delay sendezeiten (einselliger ms-bereich) aus der ruhe bringen können.

Gibt es vielleicht noch andere möglichkeiten, die befehle stück für stück an die schnittstelle zu übergeben ?</div>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.08.2006, 12:54
Beitrag #5

Buhrz Offline
LVF-Stammgast
***


Beiträge: 407
Registriert seit: Oct 2004

1.2 - 2015
1987
EN

22844
Deutschland
VISA Write/Read bündeln
HI

Wenn ich das richtig verstehe hat dein laser eine serielle schnittstelle
Also kannst du auch nur ein Befehl zur zeit schicken

Also befehl hin und antwort abwarten und dann immer soweiter

Oder wo ist dein problem

gruß

jürgen

A old LabVIEW User
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.08.2006, 13:34
Beitrag #6

Laserfuzzi Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Jul 2006

7.1,8
2006
kA


Deutschland
VISA Write/Read bündeln
<div align="left">
' schrieb:HI

Wenn ich das richtig verstehe hat dein laser eine serielle schnittstelle
Also kannst du auch nur ein Befehl zur zeit schicken

Also befehl hin und antwort abwarten und dann immer soweiter

Oder wo ist dein problem

gruß

jürgen
</div>

<div align="left">Hallo Jürgen,

in Vorversuchen habe ich die einzelnen Funktionen schon ausprobiert, auch hintereinander weg mit einer Sequenz. das problem dabei ist, dass ich für jede Funktion einmal VISA Write und dann VISA read benutzt habe.

Ich dachte es sei irgendwie möglich zentral einmal z. B. das VISA serial Write/Read_basic hinlege und dann nur noch vorne beim schreiben meine 15 verschiedenen Hexcodes habe und hinten beim leseteil nur noch die antworten rausziehe und weiterverarbeite. Ich wolte einfach nur nicht 15 mal die gleiche funktion(VISA serial Write/Read_basic) im VI haben. Nur leider beschäftige ich mich noch nicht so lange mit LV, so dass ich auf keine funktionierende version komme.

Ich hatte es mit einem Bsp. aus LV 8 versucht: Queues als Multiplexer, aber es hapert mit dem demultiplexen.
Auch mit einem array, dass meine operationscodes enthält bin ich noch nicht zum ziel gekommen, aber ich versuche mich noch dran.

Ich hoffe, ich habe das problem etwas deutlicher geschildert.

Gruß Sebastian
</div><div align="left"> </div>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.08.2006, 06:49 (Dieser Beitrag wurde zuletzt bearbeitet: 10.08.2006 06:50 von diplNisse.)
Beitrag #7

diplNisse Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Apr 2006

2010
2006
EN


Deutschland
VISA Write/Read bündeln
Hallo.

Ich weiß immer noch nicht genau, was Du machen möchtest, oder wo das Problem ist.
Ich denke, Du möchtest nicht jedes mal neu die VISA-Routinen einbauen. Also bietet sich doch eine Schleife an.

Du könntest doch alle Kommandos in ein Array packen und dieses dann in der Schleife auflösen und die einzelnen Elemente senden. Die Antworten packst du genauso in ein Array. Das kannst du dann je nach Bedarf auflösen.

Ich hänge mal ein Bild an. Vielleicht kommen wir der Sache dann näher.

EDIT: Das Bild ist natürlich nur ein SCHEMA. Und so ohne weiteres nicht lauffähig. Es soll nur den prinzipiellen Ablauf darstellen.
/EDIT


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.08.2006, 08:14
Beitrag #8

Buhrz Offline
LVF-Stammgast
***


Beiträge: 407
Registriert seit: Oct 2004

1.2 - 2015
1987
EN

22844
Deutschland
VISA Write/Read bündeln
Danke diplNisse

Dein bild ist genau mein vorschlag

Gruß

Jürgen

A old LabVIEW User
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.08.2006, 09:42
Beitrag #9

Laserfuzzi Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Jul 2006

7.1,8
2006
kA


Deutschland
VISA Write/Read bündeln
<div align="left">
' schrieb:Danke diplNisse

Dein bild ist genau mein vorschlag

Gruß

Jürgen

Der Vorschlag ist super. Funktioniert einwandfrei. muss es natürlich für meine zwecke noch etwas umschreiben, aber sonst erste sahne.

Da hatte ich wohl auch etwas verständnisprobleme. sorry leute.

...aber danke für die geduld Smile</div>
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.304 28.08.2019 08:10
Letzter Beitrag: Lucki
  Komische Zeitverzögerung bei VISA write Parallelport dehmelp 8 5.854 20.07.2017 12:29
Letzter Beitrag: dehmelp
  VISA Read Fehler 1073807302 Stefan1101 4 7.241 29.08.2016 10:13
Letzter Beitrag: Stefan1101
  Serial Port mit Continuous Serial Read Write Hoang Nguyen 2 7.350 15.04.2016 10:35
Letzter Beitrag: Hoang Nguyen
  VISA Read mit Keithley 6487 dauert lange jusaca 3 5.229 28.01.2016 11:12
Letzter Beitrag: jusaca
  1x COM-Port, 2 x Write & 2x Read Jann 19 13.994 10.12.2015 14:17
Letzter Beitrag: jg

Gehe zu: