Auswahlmenu in einem größeren Messprogramm
-
- junior
- Сообщения: 57
- Зарегистрирован: 21 авг 2008, 13:22
- Версия LabVIEW: 8.5
- Контактная информация:
Auswahlmenu in einem größeren Messprogramm
Hallo zusammen,
Ich habe hier an der Uni die Aufgabe gekriegt, ein Labviewprogramm zu erstellen, bei dem man eine Messung durchführen muss und den Messwert dann an die Maschine weiterleiten soll die das gemessene Teil bearbeitet.
Das Programm an sich funktioniert schon einigermaßen gut, jedoch soll nun zusätzlich ein Auswahlmenu erstellt werden bei dem der Bediener am Anfang folgende Möglichkeiten zu Auswahl hat:
1. Parameter einstellen (Hier sollen die Parameter für den Sensor eingestellt werden die für die weiteren Punkte übernommen werden sollen, z.B Nullpunkt setzen, Mittelungsart einstellen, Tastensperre aktivieren, ...)
2. Eine Probemessung durchführen (hier sollen die in Punkt 1 eingestellten Parameter in einer Probemessung überprüft werden, jedoch soll der Messwert nicht weitergeleitet werden)
3. Messung durchführen und den Wert an die Maschine weiterleiten
Das ganze sollte nach Möglichkeit noch "Narrensicher" gestaltet werden, d.h der Bereich "Parameter einstellen" müsste mit einem Passwort geschützt werden um unerlaubten Zugriff zu verhindern.
Das ganze Projekt soll in Zukunft dann eine größere Anzahl von Messungen, bzw. Messungen+Bearbeitungsschritte am Tag durchführen --> Das Programm soll nur einmal gestartet werden und dann am besten 16h/Tag durchlaufen.
Ich hoffe das ich die einzelnen Punkte selbst ohne größere Probleme hinkrieg, jedoch benötige ich ein paar Tipps bei der Erstellung des Auswahlmenus
mfg.
Martin
P.S ich hoffe ich hab das jetzt im richtigen Forum gepostet wenn nicht bitte verschieben
Ich habe hier an der Uni die Aufgabe gekriegt, ein Labviewprogramm zu erstellen, bei dem man eine Messung durchführen muss und den Messwert dann an die Maschine weiterleiten soll die das gemessene Teil bearbeitet.
Das Programm an sich funktioniert schon einigermaßen gut, jedoch soll nun zusätzlich ein Auswahlmenu erstellt werden bei dem der Bediener am Anfang folgende Möglichkeiten zu Auswahl hat:
1. Parameter einstellen (Hier sollen die Parameter für den Sensor eingestellt werden die für die weiteren Punkte übernommen werden sollen, z.B Nullpunkt setzen, Mittelungsart einstellen, Tastensperre aktivieren, ...)
2. Eine Probemessung durchführen (hier sollen die in Punkt 1 eingestellten Parameter in einer Probemessung überprüft werden, jedoch soll der Messwert nicht weitergeleitet werden)
3. Messung durchführen und den Wert an die Maschine weiterleiten
Das ganze sollte nach Möglichkeit noch "Narrensicher" gestaltet werden, d.h der Bereich "Parameter einstellen" müsste mit einem Passwort geschützt werden um unerlaubten Zugriff zu verhindern.
Das ganze Projekt soll in Zukunft dann eine größere Anzahl von Messungen, bzw. Messungen+Bearbeitungsschritte am Tag durchführen --> Das Programm soll nur einmal gestartet werden und dann am besten 16h/Tag durchlaufen.
Ich hoffe das ich die einzelnen Punkte selbst ohne größere Probleme hinkrieg, jedoch benötige ich ein paar Tipps bei der Erstellung des Auswahlmenus
mfg.
Martin
P.S ich hoffe ich hab das jetzt im richtigen Forum gepostet wenn nicht bitte verschieben
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Auswahlmenu in einem größeren Messprogramm
So, habe dir 3 VIs erstellt und hoffe du wirst es verstehen können.
Einfach diese Struktur erweitern und anpassen.
Einfach diese Struktur erweitern und anpassen.
- Вложения
-
- Einstellungen.vi
- (10.29 КБ) 400 скачиваний
-
- Hauptprogramm.vi
- (11.88 КБ) 389 скачиваний
-
- Messung.vi
- (8.99 КБ) 366 скачиваний
-
- junior
- Сообщения: 57
- Зарегистрирован: 21 авг 2008, 13:22
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Auswahlmenu in einem größeren Messprogramm
Ok jetzt bräuchte ich noch einen kleinen Tipp wie ich das in das Messprogramm einfügen kann
Hier sind mal alle Teile des Programms als Bild. P.S Sonstige Hinweise dazu sind natürlich auch gern gesehen. (Das ist mein erstes Labviewprogramm --> Immer her mit der Kritik )
Edit: Das ist das Programm für das Einstellen der Parameter + Messung. Der Teil mit dem weiterleiten kommt dann noch dazu.
Ich bin momentan aber schon dabei das ganze etwas übersichtlicher zu gestalten und zu verkleinern ;)
Hier sind mal alle Teile des Programms als Bild. P.S Sonstige Hinweise dazu sind natürlich auch gern gesehen. (Das ist mein erstes Labviewprogramm --> Immer her mit der Kritik )
Edit: Das ist das Programm für das Einstellen der Parameter + Messung. Der Teil mit dem weiterleiten kommt dann noch dazu.
Ich bin momentan aber schon dabei das ganze etwas übersichtlicher zu gestalten und zu verkleinern ;)
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Auswahlmenu in einem größeren Messprogramm
Du kannst die Frame Struktur am besten komplett entfernen, die ist in LabVIEW überflüssig, denn die SubVIs werden nach dem Datenflüssprinzip ausgeführt. D.h. sobald alle Eingange eines SubVIs Werte bekommen, wird das ausgeführt. Aber Vorsicht, wenn das SubVI keine Eingänge hat oder nicht angeschlossen ist, wird es sofort unabhängig vom Platz im Block Diagrammm ausgeführt.
Tipps und Tricks zum Programmieren findest du hier:
/viewtopic.php?f=56&t=118
Ansonsten sagen mir deine Bilder wenig. Probiere deine VIs an die von mir vorgeschlagene Struktur anzupassen.
Tipps und Tricks zum Programmieren findest du hier:
/viewtopic.php?f=56&t=118
Ansonsten sagen mir deine Bilder wenig. Probiere deine VIs an die von mir vorgeschlagene Struktur anzupassen.
-
- junior
- Сообщения: 57
- Зарегистрирован: 21 авг 2008, 13:22
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Auswahlmenu in einem größeren Messprogramm
ohne die Framestruktur gab es leider immer Abstürze und Fehlermeldungen, deshalb hab ich die benutzt :)
Ist das schlimm wenn man die benutzt, bzw. ist das arg Ressourcenfressend? zur Not probier ich das nochmal ohne und schau nach wann die Fehlermeldungen kommen.
In den Bildern sollte eigentlich der Programmablauf erkennbar sein (also erst Sensorinstanz erstellen --> allgemeine Parameter setzen --> Verbindung zum Sensor öffnen --> Befehle an den Sensor schicken (das sind die Einrichtbefehle) --> verfügbare Daten auslesen --> Daten übergeben (das ist dann die eigentliche Messung mit Auswertung und Anzeige) --> Verbindung zum Sensor schließen --> Sensorinstanz schließen --> Messwert übergeben (noch nicht im Bild)
Ist das schlimm wenn man die benutzt, bzw. ist das arg Ressourcenfressend? zur Not probier ich das nochmal ohne und schau nach wann die Fehlermeldungen kommen.
In den Bildern sollte eigentlich der Programmablauf erkennbar sein (also erst Sensorinstanz erstellen --> allgemeine Parameter setzen --> Verbindung zum Sensor öffnen --> Befehle an den Sensor schicken (das sind die Einrichtbefehle) --> verfügbare Daten auslesen --> Daten übergeben (das ist dann die eigentliche Messung mit Auswertung und Anzeige) --> Verbindung zum Sensor schließen --> Sensorinstanz schließen --> Messwert übergeben (noch nicht im Bild)
-
- junior
- Сообщения: 57
- Зарегистрирован: 21 авг 2008, 13:22
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Auswahlmenu in einem größeren Messprogramm
Hier mein momentanes Problem:
Wenn ich ein sub.vi in das auswahlmenü mit einbaue (beim einrichten) dann hab ich keinen Knopf mehr zum beenden Wie komm ich da wieder aus dem Sub-Vi raus? Das Boolsche Bedienelement in das SubVI einfügen hat nicht geholfen
P.S wenn ich kein Sub-VI benutze funktioniert es, aber dann fehlen mir die Anschlüsse. (Und wenn ich an die Anschlüsse ein Bedienelement anschliesse hab ich die im Haupt-Vi auf dem Frontpanel statt beim aufruf des einstellungs-vi.
Wenn ich ein sub.vi in das auswahlmenü mit einbaue (beim einrichten) dann hab ich keinen Knopf mehr zum beenden Wie komm ich da wieder aus dem Sub-Vi raus? Das Boolsche Bedienelement in das SubVI einfügen hat nicht geholfen
P.S wenn ich kein Sub-VI benutze funktioniert es, aber dann fehlen mir die Anschlüsse. (Und wenn ich an die Anschlüsse ein Bedienelement anschliesse hab ich die im Haupt-Vi auf dem Frontpanel statt beim aufruf des einstellungs-vi.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Auswahlmenu in einem größeren Messprogramm
Du willst also in diesem Einrichten.VI deine Einstellungen für die Messung vornehmen? Habe ich richtig verstanden?
-
- junior
- Сообщения: 57
- Зарегистрирован: 21 авг 2008, 13:22
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Auswahlmenu in einem größeren Messprogramm
genau (bzw. die Einstellungen für den Sensor vornehmen über den die Messung läuft)
und der Wert für "Sensor-Instance" wird ganz am Anfang beim öffnen des Treibers erzeugt und durchgängig an die weiteren Funktionen übergeben (wenn der fest wäre hätte ich damit kein Problem weil ich dann kein Sub-Vi bräuchte)
und der Wert für "Sensor-Instance" wird ganz am Anfang beim öffnen des Treibers erzeugt und durchgängig an die weiteren Funktionen übergeben (wenn der fest wäre hätte ich damit kein Problem weil ich dann kein Sub-Vi bräuchte)
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Auswahlmenu in einem größeren Messprogramm
Ich glaube da machst du was falsch.
Du musst das Einstellungen.vi wie ich dir gepostet habe anwenden, und wenn dieses geschlossen wird, dann kannst du gleich danach dein Einrichten.VI aufrufen ohne sein Front Panel anzuzeigen.
Du musst das Einstellungen.vi wie ich dir gepostet habe anwenden, und wenn dieses geschlossen wird, dann kannst du gleich danach dein Einrichten.VI aufrufen ohne sein Front Panel anzuzeigen.
-
- junior
- Сообщения: 57
- Зарегистрирован: 21 авг 2008, 13:22
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Auswahlmenu in einem größeren Messprogramm
ok hab den Fehler gefunden. Das kommt davon wenn man im falschen VI Änderungen vornimmt und sich dann wundert wenns nicht klappt
jetzt scheint das einwandfrei zu funktionieren :)
(Einstellungen.vi und Einrichten.vi verwechselt man schonmal wenn man nicht genau aufpasst )
Kurze Frage noch: besteht die Möglichkeit das Einstellungen.vi so zu modifizieren, das man da einen Anschluss für die "Sensor-Instanz" erhält den man dann nach aussen führen kann (also vom Anschlussprinzip her so wie in meinen Bildern gepostet)
jetzt scheint das einwandfrei zu funktionieren :)
(Einstellungen.vi und Einrichten.vi verwechselt man schonmal wenn man nicht genau aufpasst )
Kurze Frage noch: besteht die Möglichkeit das Einstellungen.vi so zu modifizieren, das man da einen Anschluss für die "Sensor-Instanz" erhält den man dann nach aussen führen kann (also vom Anschlussprinzip her so wie in meinen Bildern gepostet)
-
- junior
- Сообщения: 57
- Зарегистрирован: 21 авг 2008, 13:22
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Auswahlmenu in einem größeren Messprogramm
Hat sich erledigt nach einem Blick in die Tipps für ProgrammiererMaddin писал(а): Kurze Frage noch: besteht die Möglichkeit das Einstellungen.vi so zu modifizieren, das man da einen Anschluss für die "Sensor-Instanz" erhält den man dann nach aussen führen kann (also vom Anschlussprinzip her so wie in meinen Bildern gepostet)
Jetzt habe ich aber leider noch ein weiteres Problem bei dem ich etwas Hilfe brauchen könnte:
Bei meinem "Einstellungen.vi" werden ja die Werte für den Sensor eingestellt. Jedoch habe ich da das Problem, dass die Einstellungen erst aktiv werden, wenn ich das "Einstellungen"-Menü verlasse und dann im Hauptmenü nochmal aufrufe. Ansonsten ändern sich die Eingestellten Werte nicht.
Ich habe mittlerweile (glaub ich) herausgefunden woran das liegt: Ich benötige noch zusätzliche Zeit nach dem versenden der einzelnen Einstellungen damit der Sensor darauf reagieren kann. Das ganze habe ich auch in Form einer "while-schleife" eingebaut, jedoch wird dann der Sensor permanent mit Daten bombardiert und gibt nach ein paar Sekunden den Geist auf (dann hilft nur noch ein Hardware-Reset)
Meine Frage dazu: wie kann ich eine "verzögerung" von ca 50µs für jeden Befehl einbauen, so dass der "sofort" geändert wird wenn der entsprechende Schalter gedrückt wird?
Hier nochmal ein Bild zur Veranschaulichung (mit der Schleife die den Sensor überlastet): P.S Die Ereignisgesteuerte Funktion für das Verlassen liegt da außerhalb der Flachen Sequenzstruktur (ist aber vorhanden ;) )
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Auswahlmenu in einem größeren Messprogramm
Ok, dann sollte man vielleicht doch anders vorgehen.
Du kannst in deinem Einstellungen Dialog direkt die Werte an dein Gerät kommandieren, sobald der Benutzer etwas umstellt.
Es wird zwar komplexer sein, hat aber den Vorteil, dass das Gerät nicht mit Befehlen zugeschmiessen wird.
Aber auch einen Nachteil, denn du musst den Gerät ein Mal alle Einstellungen kommandieren (zum Beispiel zum Initialisieren beim Start deines Programms).
Falls du es so machen willst, dann musst du in deinem Einstellungen Dialog mehrere (Value Change) Events hinzufügen und im Event selbst das Kommando an das Gerät schicken.
Du kannst in deinem Einstellungen Dialog direkt die Werte an dein Gerät kommandieren, sobald der Benutzer etwas umstellt.
Es wird zwar komplexer sein, hat aber den Vorteil, dass das Gerät nicht mit Befehlen zugeschmiessen wird.
Aber auch einen Nachteil, denn du musst den Gerät ein Mal alle Einstellungen kommandieren (zum Beispiel zum Initialisieren beim Start deines Programms).
Falls du es so machen willst, dann musst du in deinem Einstellungen Dialog mehrere (Value Change) Events hinzufügen und im Event selbst das Kommando an das Gerät schicken.
-
- junior
- Сообщения: 57
- Зарегистрирован: 21 авг 2008, 13:22
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Auswahlmenu in einem größeren Messprogramm
Also muss ich dann für jede Einstellung eine eigene Eventstruktur anlegen die nur bei der Entsprechenden Wertänderung den Befehl sendet?
Ich werd mal ein bisschen damit rumprobieren und schauen was dabei rauskommt :)
Ich werd mal ein bisschen damit rumprobieren und schauen was dabei rauskommt :)