zwei Spannungen mit zwei Keithley Multimetern synchron einlesen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA) +---- Thema: zwei Spannungen mit zwei Keithley Multimetern synchron einlesen (/Thread-zwei-Spannungen-mit-zwei-Keithley-Multimetern-synchron-einlesen) |
zwei Spannungen mit zwei Keithley Multimetern synchron einlesen - Fabian93 - 29.03.2018 09:47 Hallo, ich möchte zwei Gleichspannungen mit zwei Keithley 2701 Multimetern synchron einlesen. Die beiden Programme im Anhang funktionieren, allerdings werden die Werte nicht synchron eingelesen. Beim zweiten Programm bekommen beide "TCP send" gleichzeitig alle Werte, das obere VI wird aber immer zuerst ausgeführt. Hat jemand eine Idee wie ich die Spannungen synchron einlesen kann? Vielen Dank Mit freundlichen Grüßen Fabian RE: zwei Spannungen mit zwei Keithley Multimetern synchron einlesen - GerdW - 29.03.2018 10:12 Hallo Fabian, herzlich willkommen im Forum! Zitat:wie ich die Spannungen synchron einlesen kann?Willst du die Daten synchron einlesen - oder synchron messen? - Synchron einlesen ginge nur dann, wenn die beiden DMMs an unterschiedlichen LAN-Ports hängen würden: an einem LAN-Port kommen die Datenpakete eben nacheinander an… - Synchron messen dagegen musst du auf DMM-Ebene konfigurieren: die DMMs bieten doch sicherlich einen Trigger-Input an, über den sie sich synchronisieren lassen!? (Das Übertragen der Messwerte vom DMM zum PC kann dann ruhig nacheinander erfolgen…) RE: zwei Spannungen mit zwei Keithley Multimetern synchron einlesen - Freddy - 29.03.2018 10:15 Hallo Fabian, die VI laufen als "Ablaufvariante Ausführung". Damit greift jeder auf das gleiche VI zu. Somit kann es nur hintereinander funktionieren. Auszug aus der Hilfe: Zitat:Ablaufinvarianz—Gibt an, ob mehrere Instanzen dieses VI gleichzeitig ausgeführt werden können. Standardmäßig sind VIs nicht ablaufinvariant. Das heißt, jeder VI-Aufruf muss warten, bis der vorherige Aufruf abgearbeitet ist. Um mehrere gleichzeitige Aufrufe eines VIs zu gestatten, müssen Sie eine der Optionen für die ablaufinvariante Ausführung auswählen. Gruß Freddy RE: zwei Spannungen mit zwei Keithley Multimetern synchron einlesen - Fabian93 - 29.03.2018 11:10 Hallo, danke für die Antworten (29.03.2018 10:12 )GerdW schrieb: - Synchron messen dagegen musst du auf DMM-Ebene konfigurieren: die DMMs bieten doch sicherlich einen Trigger-Input an, über den sie sich synchronisieren lassen!? (Das Übertragen der Messwerte vom DMM zum PC kann dann ruhig nacheinander erfolgen…) Ich habe mich vielleicht etwas ungenau ausgedrückt. Ich möchte zwei Spannungen synchron messen. Die Übertragung muss nicht synchron sein. Die Multimeter haben einen externen Trigger-Eingang. Vielleicht gibt es auch eine Möglichkeit einen Trigger-Befehl zu senden. (29.03.2018 10:15 )Freddy schrieb: die VI laufen als "Ablaufvariante Ausführung". Damit greift jeder auf das gleiche VI zu. Somit kann es nur hintereinander funktionieren. Das ist mein Problem (oder eins meiner Probleme). Ich habe die englische Version von LabVIEW 2016. Ich war unter: File-->VI Properties-->Category Execution Was sollte ich dort einstellen? Sind die Einstellungen dann für alle VI's? Werden die beiden "TCP send" VI's dann synchron aufgerufen oder arbeitet LabVIEW die VI's einfach von oben nach unten ab? Mit freundlichen Grüßen Fabian RE: zwei Spannungen mit zwei Keithley Multimetern synchron einlesen - Freddy - 29.03.2018 11:21 Mit der Einstellung auf Deinem Bild wird dieses VI für jeden Aufruf extra geladen. Damit wartet ein Aufruf nicht bis der vorherige Aufruf abgearbeitet wurde, sondert läuft sofort los. Gruß Freddy RE: zwei Spannungen mit zwei Keithley Multimetern synchron einlesen - Fabian93 - 29.03.2018 11:47 (29.03.2018 11:21 )Freddy schrieb: Mit der Einstellung auf Deinem Bild wird dieses VI für jeden Aufruf extra geladen. Damit wartet ein Aufruf nicht bis der vorherige Aufruf abgearbeitet wurde, sondert läuft sofort los. Irgendwie haben die Einstellungen keinen Einfluss. Das obere VI "TCP send" wird zuerst gestartet, dann wird das untere, dann liefert das obere VI einen Wert und dann das untere. Das bei alles drei Einstellungen. Vielleicht sind die unteren VI's bereits Kopien. Vielleicht liegt es an der Netzwerk-Schnittstelle, da die Befehle und Daten nur nacheinander gesendet werden können? RE: zwei Spannungen mit zwei Keithley Multimetern synchron einlesen - jg - 31.03.2018 08:05 Welches VI hast du auf reentrant umgestellt? Das erkennt man in deinem Screenshot nicht. Falls du dein "eine se" geändert hast, das wäre falsch. Diese Einstellung wirkt sich nicht auf SubVIs aus. Das muss man bei Bedarf für alle VIs in der Aufrufkette machen, in deinem Fall also für das TCP Read/Write VI und mglw. darin enthaltene SubVIs. Trotzdem wird ein Problem übrig bleiben - TCP/IP: Über 1 Schnittstelle kannst du eben NICHT 2 Kommandos parallel rausschicken. Außerdem hängen da noch einige Schichten Treiber-API dazwischen, bei TCP/IP weißt du sowieso nie genau, wann wirklich ein Paket rausgeht. Echte Synchronisation wirst du IMHO nur durch einen physikalischen vorhandenen Trigger-Impuls erreichen - nicht durch irgendwelche Software-Trigger. Gruß, Jens RE: zwei Spannungen mit zwei Keithley Multimetern synchron einlesen - Fabian93 - 01.04.2018 09:58 (31.03.2018 08:05 )jg schrieb: Welches VI hast du auf reentrant umgestellt? Das erkennt man in deinem Screenshot nicht. Falls du dein "eine se" geändert hast, das wäre falsch. Diese Einstellung wirkt sich nicht auf SubVIs aus. Das muss man bei Bedarf für alle VIs in der Aufrufkette machen, in deinem Fall also für das TCP Read/Write VI und mglw. darin enthaltene SubVIs. Danke für die Antwort. Ich habe nur die Einstellungen des "eine se" VI's verändert. Das erklärt auch warum sich beim Ablauf des Programms nichts verändert hat. Ich werde die subVI's auf reentrant umstellen und es nochmal ausprobieren. (31.03.2018 08:05 )jg schrieb: Trotzdem wird ein Problem übrig bleiben - TCP/IP: Über 1 Schnittstelle kannst du eben NICHT 2 Kommandos parallel rausschicken. Außerdem hängen da noch einige Schichten Treiber-API dazwischen, bei TCP/IP weißt du sowieso nie genau, wann wirklich ein Paket rausgeht. Das ist wahrscheinlich die einzige Möglichkeit wirklich synchron zu messen. |