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!
ich möchte mein erstes Projekt mit LV umsetzen. Ich weiß nur nicht so recht wie. Es wäre sehr schön, wenn mir jemand hier und da einen Denkanstoss geben könnte:
Es sind Platinen zu prüfen, bei welchen verschiedene Spannungen gemessen werden sollen. Es soll zuerst die erste Spannung gemesen werden,
dann die zweite usw. Liegt die Spannung nicht in der Toleranz, dann soll abgebrochen werden mit einem Fehlerhinweis. (z.B. rote LED an). Zusätzlich sollen
die Messwerte gespeichert und in eine Datei geschrieben werden. Es sind nur DC-Spannungen, also nichts zeitkritisches.
Es geht um den Aufbau der Strukur bzw. wie ich das ganze bewerkstelligen kann/könnte:
1.) Spannung messen (24 V DC)
- beurteilen, ob die gemessende Spannung innerhalb der Toleranz liegt (+-0,5 V)
- Anzeige des Spannungswertes am Panel
2.) Spannung messen -15 V DC
- beurteilen, ob die gemessende Spannung innerhalb der Toleranz liegt (+-0,5 V)
- Anzeige des Spannungswertes am Panel
3.) Spannung messen + 15 V DC
- beurteilen, ob die gemessende Spannung innerhalb der Toleranz liegt (+-0,5 V)
- Anzeige des Spannungswertes am Panel
Ist die Spannung nicht innerhalb der Toleranz, dann muss das Programm stoppen.
Generell soll ein "Manuelles Stopp" immer möglich sein.
Gut wäre es, wenn das alles auf weitere Messschritte erweiterbar wäre.
zur Datenspeicherung: Kann mann die Messwerte aus Pkt. 12 und 3 sammeln und dann gemeinsam in die datei am Ende schreiben?
Wie würdet Ihr dieses eigentlich "kleine Problem" anpacken (Zustandsautomat oder flache Sequenz)?
also ich denke auch, ein Zustandsautomat wäre die richtige Richtung!
Eine Frage zur Software (weiß nicht, ob das hier reinpasst)?:
Die Entwicklungsumgebung läuft auf einem Server. Das verwendete System ist ein DAQ-Chassis mit USB, welches an einem vernetzten
Rechner abgeschlossen ist.
Ich kann nun die Entwicklungsumgebung von meinem vernetzten Rechner aus ausführen, soweit ok. Beim Aufrufen des "MAX" allerdings gibt es
Fehler. Ich wollte eigentlich nur Geräte damit simulieren. Er fährt sich ständig fest. Der Treiber für das DAQ-Chassis ist lokal auf dem Rechner installiert, wo natürlich auch das DAQ-Chassis angeschlossen ist. Aber soweit bin ich noch nicht gekommen.
Hat jemand Erfahrung mit so einem Aufbau, funktioniert das überhaupt. Oder muss alles (Entwicklungsumgebung und DAQ-Chassis-Treiber) auf
ein und demselben PC installiert werden?
Zitat:Die Entwicklungsumgebung läuft auf einem Server. Das verwendete System ist ein DAQ-Chassis mit USB, welches an einem vernetzten Rechner abgeschlossen ist. Ich kann nun die Entwicklungsumgebung von meinem vernetzten Rechner aus ausführen, soweit ok. Beim Aufrufen des "MAX" allerdings gibt es Fehler.
Also auf Rechner A befindet sich die Entwicklungsumgebung und MAX, und auf Rechner B nur der DAQmx-Treiber und eine RDP/VNC-Verbindung zum Rechner A.
- Du wunderst dich, warum Rechner A Probleme bei der Fernsteuerung zeigt: Das kann schon mal vorkommen bei Fernsteuerung.
- MAX wird auf Rechner A nicht die Hardware anzeigen, die an Rechner B angeschlossen ist.
- Installier doch die Entwicklungsumgebung auf Rechner B, das macht das Leben sehr viel einfacher (und ist üblicherweise von der Lizenz abgedeckt).
- Gibt es einen speziellen Grund dafür, LabVIEW auf dem Server laufen zu lassen?
nun, gedacht war, die Entwicklungsumgebung auf dem Server zu installieren, da ich mich dann mit meinem Profil einloggen und vom jeden beliebigen Rechner aus die Programme in der Entwicklungsumgebung bearbeiten kann. An dem entsprechenden Arbeitsplatz wird dann nur mit der ".exe-Datei" (fertiges Prg.) gearbeitet. Aber leider scheint dies wohl so nicht zu funktionieren. Das habe ich eigentlich schon kommen sehen. Auch eine Nachfrage bei NI ergab keine klaren Antworten.
Also wenn ich es richtg verstanden habe, dann brauche in den MAX ja um die Geräte bzw. Einschübe im Chassis überhaupt erst einmal "in Gang" zu bringen und ich
könnte damit auch Geräte simulieren für Testzwecke. Ohne die Nutzung des "MAX" dürfte es schwierig werden, überhaupt einen Einstig zu finden.
02.04.2013, 20:58 (Dieser Beitrag wurde zuletzt bearbeitet: 02.04.2013 20:59 von GerdW.)
Zitat:da ich mich dann mit meinem Profil einloggen und vom jeden beliebigen Rechner aus die Programme in der Entwicklungsumgebung bearbeiten kann. An dem entsprechenden Arbeitsplatz wird dann nur mit der ".exe-Datei" (fertiges Prg.) gearbeitet.
Daran ist erst einmal nichts auszusetzen. Entwickeln auf einem Entwicklungsrechner und Verteilen von fertigen Executables ist "normal", mache ich ebenfalls. Nur dass du dich per Remote auf den Entwicklungsrechner anmeldest, um dort zu arbeiten, ist eher umständlich: die Hardware bekommst du so nie direkt in der LV-IDE angezeigt, nicht einmal irgendwelche USB-Geräte. Dazu kommen noch die diversen Probleme/Nickligkeiten der Remote-Verbindung: ich nutze VNC und das hat (in der von mir verwendeten Variante) so seine Probleme mit den Kontextmenüs von LabVIEW...
Zitat:Also wenn ich es richtg verstanden habe, dann brauche in den MAX ja um die Geräte bzw. Einschübe im Chassis überhaupt erst einmal "in Gang" zu bringen und ich könnte damit auch Geräte simulieren für Testzwecke
Jein. MAX ist "nur" ein graphischer Aufsatz auf die diversen Gerätetreiber (nebenbei sind dort auch diverse Assistenten für Netzwerk-basierten Zugang zu NI-Hardware versammelt sowie Übersichten über die installierte NI-Software). Um ein "Gerät in Betrieb zu nehmen", wird er nicht benötigt. Aber: er ist extrem hilfreich bei der Verwaltung dieser Geräte - und beim Geräte-Simulieren...
Aber (1): wie schon gesagt: MAX arbeitet lokal auf dem Rechner, auf dem es läuft. Geräte zu simulieren und dies dann noch für einen anderen Rechner im Netzwerk ist nicht seine "Kernkompetenz"!
Aber (2): Wenn es sich um DAQmx-Geräte handelt, braucht man nicht notwendigerweise Zugriff auf diese Geräte beim Entwickeln. Man kann die DAQmx-Funktionen trotzdem nutzen und muss etwas mehr Fehlersuche/Debugging betreiben, wenn man sofort eine EXE erstellen muss, sobald man die Software testen will. Tipp: Executables lassen sich auch übers Netzwerk debuggen...
Ich werde das mit dem Admin besprechen! Besser wäre es, LV einmal auf dem Server zu installieren und einmal lokal. Allerdings denke ich,
dass es bei dieser Variante dann mit der Lizenz Probleme geben könnte und wahrscheinlicherweise läßt es sich (da gleiche Seriennummer) nur
einmal installieren.
Eine Einzel-Lizenz darfst du ganz legal auf bis zu 3 Rechnern (+1x auf Privat-Rechner) installieren - vorausgesetzt, sie wird nicht gleichzeitig an den verschiedenen Systemen verwendet.
Etwas anders sieht es wahrscheinlich bei Volumen-Lizenzen aus, da kenne ich mich aber nicht aus.
Gruß, Jens
EDIT: Da hat sich meine Antwort mal wieder mit Gerd überschnitten.
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!