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!
Hallo allerseits,
für meine Labview-Projekt muss ich mit Event-Strukturen arbeiten. Da die Beispiel VI´s aus dem Netz, um Event-Struktur besser zu verstehen, nicht im Labview Programm funktioniert haben, wollte ich eine Programm aus eine Grundlagen-Video aus Youtube zusammenbauen.
Dazu habe ich erst eine Programm mit Case-Struktur gebaut (siehe Bild) wo auf das drücken eines OK-Buttons Fenster erscheint.
Gleiche mit eine Event-Struktur funktioniert nicht. Ich weiß nicht wo ich was falsch geklickt habe. Habe Bilder und VI´s hochgeladen.
Hallo nochmal,
ich wollte nicht neues Thema eröffnen, da mein jetzige Problem zu den Thema passt:
habe in den Programm zu sehende Event-Struktur bei eine separate VI ("Probe VI") ausprobiert, funktioniert einwandfrei. Nun wenn ich es in mein Hauptprogramm (Bild) hinzufüge funktioniert es nicht. Die in den Event-Struktur enthaltene Konstante 0,3 bzw. -0,3 je nach bei "Vorwärts Event" oder "Rückwärts-Event" wird nicht ausgelöst.
Jetzt kommt das Kuriose: Wenn ich meine Hauptprogramm (Bild) offen habe (im Hintergrund), und möchte nur die Event-Struktur bei meinen "Probe VI" ausprobieren, funktioniert es dort nicht. Erst wenn ich alle Fenster nochmal schließe, die Verbinndung zum NI myrio trenne und das "Probe" VI öffne, dann kann ich meine Event-Struktur wieder einwandfrei testen.
Nachfolgende testen mit den Hauptprogramm funktioniert trotzdem nicht.
Ist in meine "Hauptprogramm" eine Fehler, die zum Fehlerführen von Event´s führt??
Hoffe konnte einigermaßen mein Problem schildern.
Habe das Programm als Bild und VI hochgeladen.
Vielen Dank
Die kleine Schleife um die Ereignisstruktur wird ja bei den Ereignissen "Vorwärts" und "Rückwärts" überhaupt nicht verlassen, die Werte +-0.3 werden an das Hauptprogramm in der großen Schleife weder übergeben, noch wird die große Schleife überhaupt ausgeführt. Die kleine Schleife wird erst bei Betätigen das Stop-Buttons verlassen und die große Schleife ausgeführt. Dabei wird allerdings immer der Standardwert (0) übergeben.
Hallo Lucki,
danke für deine Antwort. Ich bin aber überfragt:
1.) wo ich was tätigen soll, um den Fehler zu beheben. Wenn ich die kleine Schleife (um den Event-Struktur) rausnehme, funktioniert meine Event-Struktur auch nicht. Wenn ich aber Event-Struktur ganz
entferne, funktioniert meine Programm wie gewohnt (über Konstante auf 0 oder 0,3 setzen).
2.)Was ich nicht verstehe ist auch, wenn ich die Event-Struktur auf eine "Probe" VI abspiele, funktioniert alles (siehe Bild). Sobald ich aber das "Hauptprogramm" öffne, funktioniert meine "Probe" Datei auch nicht mehr. Nur wenn ich alle VI´s schließe sowie "Projekt Explorer" auch schließe und erneut die "Probe" Datei öffne, dann funktioniert es wieder wie gewohnt.
Sozusagen verhindert das "Hauptprogramm" das "Probe" Datei Ordnungsgemäße abspiele, auch nur wenn diese nicht "Online" ist, aber im Hintergrund geöffnet ist oder war.
Ich hoffe es ist nicht zur Kompliziert erklärt.
Anzeige
02.05.2016, 10:59 (Dieser Beitrag wurde zuletzt bearbeitet: 02.05.2016 11:14 von jg.)
Ich verstehe nur noch Bahnhof, was ist (d)ein Probe Datei, was dein Hauptprogramm.
Deshalb zurück zu den Basics:
1) Die Eventstruktur wartet solange, bis ein Event ausgelöst wird (oder bis der Time-Out-Case zuschlägt).
2) Die Eventstruktur kann unter einem RT-Target ohne HMI (wie dein MyRIO) nicht zum Abfangen interaktiver Bedienungen verwendet werden!
(01.05.2016 14:40 )berlinfatih schrieb: Hallo Lucki,
danke für deine Antwort. Ich bin aber überfragt:
1.) wo ich was tätigen soll, um den Fehler zu beheben. Wenn ich die kleine Schleife (um den Event-Struktur) rausnehme, funktioniert meine Event-Struktur auch nicht. Wenn ich aber Event-Struktur ganz
entferne, funktioniert meine Programm wie gewohnt (über Konstante auf 0 oder 0,3 setzen).
Entschuldige meine späte Antwort, aber es war ja Wochenende. Die kleine Schleife rausnehmen war schon richtig, aber da bleibt die Hauptschleife genau so hängen wie vorher. Die Ereignisstrukter braucht noch einen Timeout-Case, und dort muß außen eine endliche Zeit (oder 0) angeschlossen werden. Am besten du entfernst die Wait-Funktion in der Hauptschleife, und schließt statt dessen die gleichen millisek an den Timeout-Case an.
Und die +-0.3 sollten an eine lokale Variable im Inneren der Struktur übergeben werden, damit bei Timeout nicht dauernd Null übergeben wird. (Alternative wäre Shift-Register)
Das Allereinfachste wäre allerdings, die Ereignisstruktur ganz wegzulassen. Sie bringt hier letztlich keinen Vorteil.
Guten Abend Lucki und jg,
vielen Dank für eure großzügige Unterstützung.
Ich würde gerne bei Event-Struktur bleiben, weil im Zukunft, die beiden Motoren nicht mit BOOLEAN Schaltern geschaltet werden, sondern mit Werten von einen Ultraschalsensor (bei zu geringer Abstand ausweischen) gesteuert werden. Deswegen dachte ich mir (auch mein Dozent), das die Event-Struktur am geeigneteste wäre, da man ihn später erweitern könnte.
Nun ich habe das bsp. Programm von "jg" erweitert (siehe Anhang "Bsp-1 mit Event Rechts_Links_Vorwärts_Rückwärts") wo das Event-Struktur ohne Problem, die vier Werte (die Zahlen haben keine bedeutung) annihmt.
Diese Eventstruktur habe ich in meine Main hinzugefügt, was aber trotzdem nicht funktioniert.
-Time-out ist eingetragen
- keine weiteren Schleifen
Liegt es an einer der Express VI´s die ich verwende??