04-16-2009 08:03 AM
Hallo,
ich habe vor kurzem meine Diplomandenstelle angetreten. Es handelt sich um einen bestehenden Prüfstand der mittels LabVIEW und einem PXI-Chassi programmiert werden soll.
Verwendet wird folgende Hardware:
- NI PXI-1031
- NI PXI-8195 embedded controller
- NI PXI-6229 M Series Multifunction DAQ
- NI PXI-6602 Timing I/O
Grundlegende Erfahrungen mit LabVIEW habe ich, aber ein komplettes Projekt hab ich noch nicht gemacht. Ich suche jetzt nach Informationen wie man mit einem solchem PXI System umgeht, kleinere Beispiele zum testen und reichlich tipps wie man eine solche Aufgabe an geht.
Vielen Dank schon jetzt
mfg Johannes
04-17-2009 02:34 AM
Hallo Johannes,
bevor ich Dir Tipps geben kann, müsste ich noch wissen, ob das PXI-System als Real-Time-System betrieben wird
oder ob ganz normal Windows darauf läuft und LabVIEW auf dem PXI-System installiert ist.
Beste Grüße,
David
04-17-2009 02:57 AM
Hallo David,
erstmal vielen Dank für die Antwort.
Das PXI System ist per LAN Kabel mit einem normalen PC verbunden auf dem das Programm entwickelt wird. Dann wird das Programm auf das PXI geladen und die GUI läuft auf dem normalen Rechner. Auf dem PXI ist demnach kein Windows installiert. Worin liegen eigentlich die Vor- / Nachteile wenn man es so hat bzw wenn Windows auf dem PXI installiert ist, ist dadruch die Echtzeitfähigkeit immernoch gegeben oder handelt es sich um eine spezielle Windows Installation?
allgemeine Frage:
wie ich sehe handelt es sich eher um ein englischsprachisches Forum...finde mich noch nicht so gut zurecht auf der NI-Seite 😉 aber kann man nicht auch direkt an Ingenieure von NI eine Supportanfrage senden? oder läuft dass alles über das Forum hier?
vielen Dank schonmal
gruß Johannes
04-17-2009 03:22 AM
Hallo Johannes,
danke für Deine Antwort. Es handelt sich also um ein Real-Time-System, das auf dem PXI-Controller läuft.
Da Windows mit einer Betriebssystem-Clock von 1kHz läuft und der Scheduler auch nicht die Möglichkeit
einer deterministischen Codeausführung bietet, kann man unter Windows keine Echtzeitanwendung realisieren
und muss daher auf ein Real-Time-Betriebssystem zurückgreifen.
Der Code wird also auf dem PXI deterministisch ausgeführt und der Host-PC kann mit dem PXI kommunizieren
und mittels Frontpanel die Werte überwachen.
Es gibt viele Dinge, die man zu Real-Time sagen könnte. Ich denke ein guter Start ist das Getting Started, das
Du in folgendem Verzeichnis findest:
C:\Programme\National Instruments\LabVIEW x.x\manuals\RT_Getting_Started.PDF
Hier wirst Du sehen, wie man ein RT-System im MAX konfiguriert, das heißt die IP einstellt, Software draufspielt etc.
In LabVIEW auf dem Host muss man dann ein Projekt erstellen und im Projektexplorer das PXI-System als Ziel
hinzufügen. Nun kann man ein VI unter dem PXI erstellen, das dann dort laufen wird.
Ich werde noch einmal nach hilfreichen Tutorials suchen, die Dir beim Einstieg helfen könnten.
Zu unserem Supportmodell: Es gibt das kostenlose Forum, wo sich NI-Ingenieure wie ich um Anfragen kümmern und
auch andere User Ihre Kommentare geben können. Wenn Du einen Servicevertrag hast, dann kannst Du auch bei
unserer Hotline anrufen oder eine Email-Anfrage in Bearbeitung geben, die dann von uns Bearbeitet wird.
Bitte lass mich noch wissen, was Dich genauer interessiert, da Real-Time ein recht umfangreiches Thema ist.
Es gibt auch einen dreitägigen Kurs, der das wichtigste über Real-Time abdeckt. Diplomanden können sich übrigens
bei uns dafür bewerben, um einen besonders günstigen Preis zu erhalten.
Beste Grüße,
David
04-17-2009 03:54 AM
Also,
ich bin in einem Unternehmen tätig im Rahmen einer Diplomarbeit. Ein Servicevertrag besteht! Ich konnte aber nicht finden (oder habe es übersehen:-) ) wo man mit hilfe einer solchen Kondition an den Support kommt. Bis jetzt habe ich mich nur angemeldet die Produkte registriert und dann auf "Supportanfrage" geklickt und wurde dann an das Forum weiter geleitet.
Das PXI System ist schon denk ich richtig installiert, es ist möglich Anwendungen zu hochzuladen, zu starten etc...
Was mich brennend interessiert um einsteigen zu können:
1) Projektierung von Programmen (verwalten, dokumentieren)
2) Einstieg: ich habe mich zwar schon etwas mit LabVIEW beschäftigt, aber noch kein Programm von A-Z erstellt. Damit meine ich zB Initialisieren der Karten, konfigurieren von evtl nötigen Einstellungen (vielleicht müssen im Programm Einstellungen über den Code vorgenommen werden um das PXI / Karten etc zu konfigurieren)
3) Was bei der Programmierung zu berücksichtigen ist wenn das Zielsystem ein RT ist, so dass durch schlechte Programmierung dies nicht eingeschränkt wird.
Ich habe zwar schon gesehen dass es zahlreiche Beispiele gibt jedoch kann ich nicht beurteilen welche sinnvoll zum Einstieg sind / welche nicht...
Vielleicht könnten Sie mir Tipps geben welche Beispiele genau meinen oben genannten Interessen gerecht werden.
Vielen Dank für die schnelle Hilfe schon jetzt
mfg Johannes04-17-2009 04:27 AM
Hallo Johannes,
zu Deinen Fragen:
1) Projektierung von Programmen (verwalten, dokumentieren)
Der Projektexplorer ist im Prinzip schon die erste Wahl, was die Verwaltung der einzelnen Komponenten Deiner Anwendung betrifft.
Hier siehst Du alle verwendeten Geräte und Du kannst auch verschiedene virtuelle Ordner anlegen, in denen Du Deine SubVIs
organisieren kannst. Auf diese Weise hast Du immer einen Überblick über Dein Projekt. Eine kleines Paper dazu findet man hier:
http://zone.ni.com/devzone/cda/tut/p/id/7197
2) Einstieg: ich habe mich zwar schon etwas mit LabVIEW beschäftigt, aber noch kein Programm von A-Z erstellt. Damit meine ich zB Initialisieren der Karten, konfigurieren von evtl nötigen Einstellungen (vielleicht müssen im Programm Einstellungen über den Code vorgenommen werden um das PXI / Karten etc zu konfigurieren)
Aus dem Setup sehe ich, dass im PXI-System nur Datenerfassungs- oder Counterkarten verwendet werden, die mit dem DAQmx-Treiber gesteuert werden. In der LabVIEW-Beispielsuche würde ich daher einmal in der Kategorie "Hardware Input and Output -> DAQmx -> Analog Measurements -> Voltage -> Cont Acq&Graph Voltage-Int Clk.vi" heraussuchen. Hier wird kontinuierlich eine Spannung auf einem analogen Eingangskanal gemessen.
Dies wird mit der PXI-6229 funktionieren.
Im Blockdiagramm sieht man dann die typischen Schritte bei der Initialisierung, nämlich Kanal angeben, Timing einstellen und Task starten.
Dies ist nur ein Beispiel für die Initialisierung eines DAQ-Gerätes. Da aber alles mögliche initialisiert werden kann, ist auch hier keine pauschale Antwort möglich.
3) Was bei der Programmierung zu berücksichtigen ist wenn das Zielsystem ein RT ist, so dass durch schlechte Programmierung dies nicht eingeschränkt wird.
Wie gesagt ist Real-Time ein großes Gebiet aber ich denke die wichtigste Sache ist hier die Kommunikation zwischen RT-System und Host und auch die Kommunikation zwischen den verschiedenen Schleifen im Real-Time-Programm selbst. Ich sende Dir mal zwei Links zu, die diese Themen anschneiden, so dass Du Dich schon einmal etwas einlesen kannst:
http://digital.ni.com/public.nsf/allkb/48D244EC86971D3986256BD4005CCC28?OpenDocument
http://zone.ni.com/devzone/cda/tut/p/id/3934
Beste Grüße,
David
04-17-2009 04:58 AM
Danke für die hilfreichen Tipps,
jetzt stehe ich leider vor dem Problem dass ich nicht weiß wie ich das VI Starten kann. Ich muss ja ein Real-Time Projekt starten damit das VI weiß dass es auf einem RT-System aufgeführt wird. Ich habe zunächst ein solches Projekt mit dem Projekt wizard erstellt. Man konnte nach der Hardware suchen; PXI System wurde gefunden und konnte auch verwendet werden. Anschließend sah ich den Projekt-Explorer und unter anderem eine Baumstruktur "mein Computer" mit host-statemachine.vi, results.ctl etc... und "NI-PXI-System" mit target-statemachine.vi, support-statemachine.vi etc... dachte mir ich füge das von Ihnen genannte vi hinzu so dass für das vi bekannt ist dass es auf dem PXI laufen soll und dass ich kanäle auswählen kann...aber Kanäle konnte ich nicht auswählen. War die Vorgehensweise richtig? Wie kann ich die Kanäle sonst auswählen?
Gibt es eine Möglichkeit ein vi auf dem PXI laufen zu lassen ohne ein RT-Projekt zu erstellen?
Danke
gruß johannes
04-17-2009 05:09 AM
Hallo Johannes,
wie Du vielleicht schon aus den Dokumenten gesehen hast, ist bei Real Time die Kommunikation zwischen RT-Schleifen und auch die Kommunikation zwischen Host und Target nicht ganz trivial. Wenn Du den Wizard verwendest, wird schon ein komplettes Framework für diese Kommunikation erstellt.
Für den Anfang kannst Du aber folgendes tun:
1. Neues Projekt in LabVIEW erstellen.
2. Rechtskick ganz oben auf "Projekt: Unbenanntes Projekt" und Neu -> Ziele und Geräte...
3. Nun unter Real-Time PXI das PXI-System auswählen. Es sollte nun im Projekt-Explorer zu sehen sein.
4. Unter dem PXI-System ein VI hinzufügen oder neu erstellen und laufen lassen.
Beste Grüße,
David