LabVIEWForum.de - Seriel Init in Endlos-while stört

LabVIEWForum.de

Normale Version: Seriel Init in Endlos-while stört
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi
Hab folgendes Problem:
Und zwar kann man bei meinem LV-Programm zwischen dem seriellen Port COM1 oder COM2 wählen. Damit dieser initialisiert wird, verwende ich die Funktion "Serial Port Init".
Das geht so weit auch gut.
Nur befindet sich das Init außerhalb der Endlosschleife (Endlosschleife damit nur Run und nicht "run continously" betätigt werden muss) des Programmes.
Allerdings kann dann der Port nicht mehr geändert werden, sobald einmal die Endloswhile betreten wurde.
Gebe ich die Init innerhalb der Endloswhile hin, wird die ganze Zeit der Port neu initialisiert und das stört meine Verbindung.

Was kann ich tun?
Ich möchte immer nur eine Initialisierung. Aber der Port soll während dem laufenden Betrieb umgestellt werden können.
' schrieb:Was kann ich tun?
Ich möchte immer nur eine Initialisierung. Aber der Port soll während dem laufenden Betrieb umgestellt werden können.

Maaahzeit!

Du machst zwei initialisierungen. Also zwei mal parallel die VISA-Init Funktion aufrufen. Einmal mit (z.B.)
ASRL1::INSTR (VISA - resource name) und ein zweites mal mit ASRL2::INSTR

jetzt kannst du in der Schleife an die VISA - read oder write Funktion einfach den namen der Schnittstelle wechseln.

kurzes bild zur erläuterung liegt bei....
(dabei werden 100 mal daten von COM2 eingelesen, danach von COM1)
Hallo!

Du kannst auch eine Eventstruktur verwenden.
Das Event zur Initialisierung wird nur ausgeführt, wenn Du den Schalter zum COM-Port Wechsel betätigst.

Gruß
Andreas
Ich verwende leider nicht VISA sondern das "standard serial init". Soll ich das auch für beide Initialisieren.
Mein Symbol ist in: Instrument I/O --> I/O Compatibility --> Serial Compatibility --> Serial Port Init.vi

@A.Berndsen:
Kannst du bitte mal ein Beispiel posten. Hab noch nie mit Events gearbeitet.
>> ...Soll ich das auch für beide Initialisieren...<<

wie wäre es mit: einfach mal ausprobieren?!

oder:

einfach VISA installieren?!
danke für den geistreichen Kommentar diplNisse

Hab es nun mit Events gelöst, nur ich hätte noch eine Frage und zwar stehen innerhalb meines Events so kästchen mit "Time", "CtlRef", "oldVal", "newVal"....
gehören diese verdrahtet oder wozu dienen diese?
<div align="left">Hi LV_Newbie,

' schrieb:nur ich hätte noch eine Frage und zwar stehen innerhalb meines Events so kästchen mit "Time", "CtlRef", "oldVal", "newVal"....
gehören diese verdrahtet oder wozu dienen diese?
nein die brauchst du nur im einzelfall.

Sie beziehen sich auf das Controlelement, welches das Event ausgelöst halt.
"Time" gibt die auslösezeit an (glaube ich)
"CtlRef" die Referenz
"oldVal" den Wert vor(!) auslösen des Events
"newVal" den aktuellen Wert

Gruß
Oliver</div>
Referenz-URLs