04.03.2008, 09:02
Hallo LVF,
folgende Anwendung soll realisiert werden:
Ein bzw. mehrere Laptop(s) soll(en) zum Steuern verschiedener "kleiner" Prüfgeräte eingesetzt werden. Konkret geht es im ersten Schritt um zwei NI USB-6525, die einige Ventile steuern. Wenn die Arbeit an diesem Gerät X.1 beendet ist, stöpselt der Benutzer seinen Laptop ab und geht an ein anderes Prüfgerät, hier sind dann entweder (bei baugleichem Gerät X.2) wieder zwei USB-6525 angeschlossen oder bei einem anderen Gerät Y.1 oder Y.2 ein anderes USB-Modul angeschlossen, z.B. ein USB-6008.
Es geht nun darum, das ansteuernde VI möglichst unabhängig vom angeschlossenen Gerät zu programmieren. Für das Gerät X wird ein anderes Programm verwendet als für das Gerät Y. Der Benutzer öffnet je nach Gerät die passende LV-Anwendung und kann damit die angeschlossenen USB-Module ansprechen.
Nun könnte man auf allen (ok, hier wäre es maximal drei) Laptops mit Hilfe des MAX einige Tasks konfigurieren und die jeweils richtigen in der entsprechenden Anwendung hart codiert ansprechen, also Tasks X/Y/Z auf Laptop 1-3, in der Anwendung X wird dann der Task X verwendet usw.. Das funktioniert wohl für den Laptop 1, auf dem Laptop 2 könnte aber noch gleichzeitig ein anderes NI-USB-Gerät angeschlossen sein...damit würde der fest definierte Task in der LV-Anwendung evtl. nicht mehr passen, weil z.B. Task X fest mit dem "Device 3" verbunden ist, auf diesem Laptop dort aber als "Device 3" die USB-HW für Task Y angeschlossen ist.
Hm...ich hoffe ihr versteht was ich meine...man müsste in der LV-Anwendung die Art des Gerätes feststellen können, a la[list]
[*] "Ok, ich bin die SW X...ich benötige die Komponenten der Art X...diese sind auch als Device 10 und Device 11 angeschlossen...also erzeuge ich mir jetzt die Tasks X.1 und X.2 und spreche diese dann an"<>
[st]bzw.[list]
[*] "Ok, ich bin die SW X...ich benötige die Komponenten der Art X...diese sind leider nicht angeschlossen...also wird eine Fehlermeldung eingeblendet"<>
[st]Wie kann man das lösen? Hat sowas schon mal jemand gemacht?
Gruß
Achim
folgende Anwendung soll realisiert werden:
Ein bzw. mehrere Laptop(s) soll(en) zum Steuern verschiedener "kleiner" Prüfgeräte eingesetzt werden. Konkret geht es im ersten Schritt um zwei NI USB-6525, die einige Ventile steuern. Wenn die Arbeit an diesem Gerät X.1 beendet ist, stöpselt der Benutzer seinen Laptop ab und geht an ein anderes Prüfgerät, hier sind dann entweder (bei baugleichem Gerät X.2) wieder zwei USB-6525 angeschlossen oder bei einem anderen Gerät Y.1 oder Y.2 ein anderes USB-Modul angeschlossen, z.B. ein USB-6008.
Es geht nun darum, das ansteuernde VI möglichst unabhängig vom angeschlossenen Gerät zu programmieren. Für das Gerät X wird ein anderes Programm verwendet als für das Gerät Y. Der Benutzer öffnet je nach Gerät die passende LV-Anwendung und kann damit die angeschlossenen USB-Module ansprechen.
Nun könnte man auf allen (ok, hier wäre es maximal drei) Laptops mit Hilfe des MAX einige Tasks konfigurieren und die jeweils richtigen in der entsprechenden Anwendung hart codiert ansprechen, also Tasks X/Y/Z auf Laptop 1-3, in der Anwendung X wird dann der Task X verwendet usw.. Das funktioniert wohl für den Laptop 1, auf dem Laptop 2 könnte aber noch gleichzeitig ein anderes NI-USB-Gerät angeschlossen sein...damit würde der fest definierte Task in der LV-Anwendung evtl. nicht mehr passen, weil z.B. Task X fest mit dem "Device 3" verbunden ist, auf diesem Laptop dort aber als "Device 3" die USB-HW für Task Y angeschlossen ist.
Hm...ich hoffe ihr versteht was ich meine...man müsste in der LV-Anwendung die Art des Gerätes feststellen können, a la[list]
[*] "Ok, ich bin die SW X...ich benötige die Komponenten der Art X...diese sind auch als Device 10 und Device 11 angeschlossen...also erzeuge ich mir jetzt die Tasks X.1 und X.2 und spreche diese dann an"<>
[st]bzw.[list]
[*] "Ok, ich bin die SW X...ich benötige die Komponenten der Art X...diese sind leider nicht angeschlossen...also wird eine Fehlermeldung eingeblendet"<>
[st]Wie kann man das lösen? Hat sowas schon mal jemand gemacht?
Gruß
Achim