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 arbeite zur Zeit an meiner Studienarbeit und bin Labview- Anfänger, habe bis jetzt nur ein paar kleine Programme "gebaut". (Anmerkung: Das Forum ist ne super Hilfe!)
Teil meines Projekts ist die Ansteuerung und Auslesung von IR- Lichtschranken. Zu beginn möchte ich eine "Initialisierung" durchführen, das heißt, ich will dem Programm übergeben, welche analogen IOs es zur Ansteuerung nutzen soll (ich arbeite mit einem real time, PXI- System).
Ich möchte den Lichtschrankentypen, den Treiber (das ist der analoge Ausgang) und den beim Messen auszulesenen Eingang übergeben. Wenn ich alle drei Variabelen gewählt habe, möchte ich mit einem einfachen boolschen- Taster die Werte "einloggen". Ich habe dazu die Eventstruktur gewählt. Mein problem ist, das die Struktur keine Reaktion zeigt, wenn ich den Taster betätige. Wenn ich ein Timeout vorgegebe funktioniert alles super.
Was mache falsch, bzw. was muss ich beachten?
Könnte es sein, dass du mehr als 1 Event-Struktur innerhalb deines VIs hast?
Das sollte man auf ALLE Fälle vermeiden, da es in der Regel nur zu Problemen führt.
Lies dir die Informationen zur Verwendung der Event-Struktur in der Hilfe durch.
Gruß, Jens
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!
Unabhängig davon (für mich zum Verständnis ^^): Die Eventstruktur ist doch hier gekapselt in der While Schleife und andere Eventstrukturen sollten doch maximal parrallel dazu ausgeführt werden.
DANN sollten doch normal zwei Eventstrukturen sich auch nicht gegenseitig in die Quere kommen können, oder?
Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
(02.04.2012 09:30 )Kiesch schrieb: DANN sollten doch normal zwei Eventstrukturen sich auch nicht gegenseitig in die Quere kommen können, oder?
Offenbar doch...eine wartet auf die andere...und dann ist Stillstand!
NIE NIE NIE zwie Eventstrukturen in ein Diagramm! Zu was sollte das auch notwendig sein? Jede Eventstruktur kann doch beliebig viele Events von beliebig vielen Quellen erfassen! Wenn das nicht ins eigene Programm passt...dann MUSS MUSS MUSS die Programmstruktur grundlegend überdacht werden! BASTA!
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Und eine Eventstruktur die 200 Events handhabt die aus 10 verschiedenen Kategorien stammen ist dann übersichtlich und wartbar? Ich glaube eher nicht.
Ich hab schon Probleme mit 20 Events und will die sinnvoll auf Teilbehandlungen aufteilen die ich Kapseln kann. Ich finde es da auch schon nicht wirklich sinnvoll, wenn ich events die Nutzerfeedback an ein Diagramm handhaben sollen in einen Struktur zu packen mit Events die mir Umstellungen an der Anzeige im Programm erlauben (Anpassung Display) und dem dann noch Events hinzufügen die auf Eingaben reagieren und die verarbeiten (lassen).
Deswegen ja auch die Frage (da ich das aktuell genau so gelöst habe und das lieber auf mehrere parrellele Strukturen aufteilen würde): Geht das - ja oder nein...
Ich würd mir nämlich ungern die Arbeit machen und am Ende funktioniert es nicht.
p.S:
Zitat:Zu was sollte das auch notwendig sein?
"Notwendig" ist es natürlich nicht, erhöht aber Übersichtlichkeit und Wartbarkeit. Oder kämst du auf die Idee die gleiche Aussage bezüglich Case Strukturen zu treffen?
Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
04.04.2012, 10:50 (Dieser Beitrag wurde zuletzt bearbeitet: 04.04.2012 10:54 von Achim.)
(04.04.2012 10:26 )Kiesch schrieb: Und eine Eventstruktur die 200 Events handhabt die aus 10 verschiedenen Kategorien stammen ist dann übersichtlich und wartbar? Ich glaube eher nicht.
Da gebe ich dir recht! Aber ich kann mir beim besten Willen keine Applikation vorstellen, die derart viele Events innerhalb einer Schleife abarbeiten müsste. Darum auch mein Hinweis auf das generelle Überdenken des Programm-Aufbaus!
(04.04.2012 10:26 )Kiesch schrieb: Deswegen ja auch die Frage (da ich das aktuell genau so gelöst habe und das lieber auf mehrere parrellele Strukturen aufteilen würde): Geht das - ja oder nein...
Ich würd mir nämlich ungern die Arbeit machen und am Ende funktioniert es nicht.
Ja es geht! Und du kannst das natürlich machen...die Gefahr ist halt sehr hoch, das man unabsichtlich Abhängigkeiten einbaut! Das hab ich schon einige Male erleben müssen. Und das dann zu debuggen...auch NI rät davon ab! Such mal in der Hilfe nach Caveats and Recommendations when Using Events in LabVIEW
Zitat:Oder kämst du auf die Idee die gleiche Aussage bezüglich Case Strukturen zu treffen?
Klar, mehr als 20 (?) Cases in einer Struktur sind übel...sowas hab ich früher auch verbrochen. Das schreit dann aber nach ner Verlagerung in SubVIs, die Gruppen von "gleichartigen" Cases behandeln. Das ist mit Eventstrukturen halt nicht möglich, und somit ist da eine saubere Trennung kaum möglich.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Ok, das habe ich noch nicht geschafft.
Was mir dabei unglaublich hilft, ist das Anlegen von benutzerdefinierten Events. Dann kann man z.B. für alle UI-Elemente ein Wertänderungs-Event registrieren, das dann in einem einzigen Case der Eventstruktur abgearbeitet wird. Das gleiche dann für ähnlich gelagerte Sachen wie MouseOver-Effekte, Rechtsklick-Menüs für alle Graphen, etc.
(04.04.2012 12:06 )GerdW schrieb: Was mir dabei unglaublich hilft, ist das Anlegen von benutzerdefinierten Events. Dann kann man z.B. für alle UI-Elemente ein Wertänderungs-Event registrieren, das dann in einem einzigen Case der Eventstruktur abgearbeitet wird.
Ja, das klingt gut! Ich hab das bisher noch nie so gemacht...einfach, weil ich "so viele" Events noch nicht hatte...hm, doch, einmal...und das war dann tatsächlich richtig scheiße zu handhaben...da muss ich Kiesch dann doch noch mal (ein bisschen) Recht geben!
Hast du mal ein kleines Demo, wie du das machst? Das wär prima...
Danke!
A.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
04.04.2012, 13:34 (Dieser Beitrag wurde zuletzt bearbeitet: 04.04.2012 13:35 von GerdW.)
so sieht der relevante Ausschnitt meines aktuellen Projekts aus:
(Ich hoffe, die Icons sind selbsterklärend )
Die so erzeugte "Referenz" geht dann an den Eingang für benutzerdefinierte Ereignisse der Eventstruktur, woraufhin ein entsprechender Eintrag in der Eventauswahl erscheint.