Hallo LabVIEW-Forum,
ich habe nur Zugang zu LabVIEW 8.5. In meiner Palette gibt es wohl keine Eventstructure.
Es steht in der Hilfe etwas von "not in Base Package". Weiss jemand bitte, was das bedeutet?
Darueber hinaus moechte ich mir gerne einen Knopf in einer MainVi basteln, der dann eine Aktion ausfuehrt.
Ist das nicht die Anwendung einer Eventstruktur?
Falls ich Eventstructure nicht auftreiben kann, sieht eine Loesung dann so aus, dass eine Case-structure in eine while-Schleife gelegt werden muss?
Vielen Dank fuer eine Antwort.
Viele Gruesse
Blue
Hallo Blue,
die Event-Struktur wurde in LV6.1 eingeführt und seitdem ständig in ihrem Funktionsumfang (=verfügbare Events) erweitert.
Das Problem bei der Sache: sie ist erst ab der Full-Version von LabVIEW verfügbar. Dazu sollte man wissen, dass es 3 Versionen gibt: base, full und professional (siehe auch hier:
NI.com). Welche Version du besitzt, siehst du im "About LabVIEW"-Fenster (im Help-Menu).
Also allgemeiner Tipp: Wenn möglich, beschaffe dir die Professional Version. Falls du Student bist, frag an deiner Uni nach einer Campus-Lizenz. Ansonsten sag deinem Arbeitgeber, das mit der Professional auch das Erstellen von Executables möglich ist - ist sonst nämlich ein kostenpflichtiges Add-On... (Ja, ich weiß, das die Professional ca. 4000€ kostet... Sag dem Arbeitgeber, dass das nur im ersten Jahr der Fall ist, danach wird das jährliche Abo deutlich preiswerter.)
Prinzipiell kannst du die Event-Struktur durch eine While-loop mit einem Case simulieren. Du verlierst dann nur den Hauptvorteil der Eventstruktur: die verbrät beim Warten auf's Event nämlich (so gut wie) keine Prozessorzeit...
' schrieb:Hallo LabVIEW-Forum,
ich habe nur Zugang zu LabVIEW 8.5. In meiner Palette gibt es wohl keine Eventstructure.
Es steht in der Hilfe etwas von "not in Base Package". Weiss jemand bitte, was das bedeutet?
In der Grundversion von LabVIEW ist die Ereignisstruktur nicht enthalten. Man benötigt die Full Development Version.
' schrieb:Darueber hinaus moechte ich mir gerne einen Knopf in einer MainVi basteln, der dann eine Aktion ausfuehrt.
Ist das nicht die Anwendung einer Eventstruktur?
Ja
' schrieb:Falls ich Eventstructure nicht auftreiben kann, sieht eine Loesung dann so aus, dass eine Case-structure in eine while-Schleife gelegt werden muss?der
..
Ja. Man muss die Knöpfe in einer While-Schleife "pollen", d. h. regelmäßig abfragen. In der While-Schleife muss man Wait von einigen ms einbauen, sonst läuft einer der Prozessoren auf Volllast um die Schleife so schnell es geht immer wieder abzuarbeiten. Die Wartezeit entspricht der Reagtionszeit des Programm auf den Knopfdruck. 50 ms sind ok.
Hallo unicorn und Gerd,
ich habe eben einmal nachgeschaut. Ich habe hier nur ein Base Development System.
@Unicorn: Mein Research Budget ist nur 1000Pfund fuer zwei Jahre. Ich glaube daher nicht, dass meine Uni dafuer Geld hat. :wacko:Bloede Uni. Ich glaube, auch fuer die Full haben wir kein Geld.
Ist die Prozessorzeit sehr wichtig? Ich mache hier nur erste Gehversuche fuer meinen Versuch und schreibe keine kommerziellen Produkte.
@Unicorn:
In meiner Vi is bereits eine Schleife, die ein wait for next mit 50ms hat. Aber das war ich nicht. Danke fuer den Hinweise.
Danke Euch beiden fuer die Erklaerung.
Viele Gruesse
Blue
Hallo Blue,
das mit der Prozessorzeit ist nicht so wichtig, du hast ja schon die entsprechende Wartefunktion in der Schleife.
Zur Campuslizenz:
Die Unis, die ich so kenne, haben meist ein ZRZ (Zentrales Rechenzentrum), d.h. eine zentrale IT-Abteilung. Die wiederum besorgt Uni-weite Lizenzen für die wichtigsten Programme. Und da könnte man auch LabVIEW anfragen. Dann geht das nicht von deinem persönlichen Budget ab (bzw. nur zu einem kleinen Teil, bei mir waren's 75€). Nur die Uni muss sich um die Lizenz auch selbst bemühen. Außerdem weiß ich nicht, ob das in GB auch so gehandhabt wird wie bei der deutschen NI-Repräsentanz...
zu GerdW:
Es entspricht aber nicht dem guten Programmierstil, LabVIEW eine Schleife ohne Wait abarbeiten zu lassen, die nur auf einen Knopfdruck des Benutzers wartet. Prinzipiell sollte man immer die Resourcen über das Wait anderen Prozessen zur Verfügung stellen, wenn sie nicht gebraucht werden. Wenn man es sich nicht gleich angewöhnt, stolpert man später vielleicht hierüber.
' schrieb:@Unicorn:
In meiner Vi is bereits eine Schleife, die ein wait for next mit 50ms hat.
Das ist gut so. Du weisst ja jetzt, wofür das Wait da ist.
' schrieb:Aber das war ich nicht. ...
Macht nichts.
Hallo Unicorn,
zweiter Halbsatz: "du hast ja schon die entsprechende Wartefunktion in der Schleife"
Dann ist eine (weitere) Wartefunktion nicht mehr wichtig...
Gruß
Gerd
@GerdW
Ja, richtig. Entschuldigung. Lesen müsste man (also ich) können...
Als ich im Rahmen meiner Diplomarbeit ebenfalls ein weiteres Modul für LV benötigte, da habe ich einfach ganz freundlich bei NI nachgefragt ob es nicht die Möglichkeit gäbe mich dabei zu unterstützen. Die hilfe sah dann so aus, dass ich eine 3-monatige Testversion des Moduls bekam und dieser Testzeitraum entsprechend oft verlängert wurde bis mein Projekt abgeschlossen war.
Also einfach mal bei NI anfragen und erklären worum es geht. Normalerweise haben die auch ein sehr großes Interesse daran, dass LV angewandt wird und sich somit weiter verbreitet. Ausserdem kostet NI eine solche Probeversion nicht mehr als ein paar Minuten ihrer Arbeitszeit.
Achso - solche Testversionen sind meistens an einen Rechner gebunden.