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!
' schrieb:1. Stell in deinem VI unter VI Properties>>Execution "Run when opened" ein und speichere das ganze...
2. Geh dann in deine Build Specifications und nimm die Häkchen "Use VI Settings" und "Run when opened" raus...und dann "Build"
Dann wird die Applikation geöffnet, startet aber nicht...zumindest bei mir mit LV8.2.1...
Dann ist das definitiv ein bug, denn unter 8.20 funktioniert das nicht - die Applikation läuft sofort los. Und das man die anderen Build-Optionen wie Toolbar etc. nicht setzen kann ist auch nicht im Sinne des Erfinders.
Ich werde mal zusehen und mir das Update besorgen, danach berichte ich mal, ob es funktioniert hat.
' schrieb:klar, eine While-Schleife mit einem "Start"-Knopf als Abbruchkriterium vornewegstellen geht natürlich. Ich glaube, sowas nennt sich dann "Würgaround"...
Ich nenne das saubere Applikationsprogrammierung, weil ich es nie anders tue. Zwar nicht genau so wie Du es hier beschreibst sondern als echte Statemaschine aber eben doch als echte Applikation der man die LabVIEW Herkunft nicht gleich im ersten Augenblick ansieht und die auch durch jemanden zu bedienen ist der LabVIEW nicht kennt.
Zum Thema Update, warum jemand mit 8.20 und nicht mit 8.21 arbeitet ist mir ein wenig rätselhaft. Kann es qua Stabilität und Bugs nur empfehlen zu upgraden.
' schrieb:klar, eine While-Schleife mit einem "Start"-Knopf als Abbruchkriterium vornewegstellen geht natürlich. Ich glaube, sowas nennt sich dann "Würgaround"...
eher umgekehrt: deine Version ist ein "Würgaround", weil du versuchst etwas zu implentieren, das von den "Erfindern" so nicht gedacht und beabsichtigt ist/war. Klar, man kann sich auch mit ner Lötlampe die Nasenhaare entfernen und sicher wird es immer wieder Zeitgenossen geben, die es als schweren Produktmangel betrachten, dass man sich dabei tierisch verbrennt, trozdem ist es nicht im Sinne des Erfinders ...
' schrieb:Ich nenne das saubere Applikationsprogrammierung, weil ich es nie anders tue. Zwar nicht genau so wie Du es hier beschreibst sondern als echte Statemaschine aber eben doch als echte Applikation ...
' schrieb:eher umgekehrt: deine Version ist ein "Würgaround", weil du versuchst etwas zu implentieren, das von den "Erfindern" so nicht gedacht und beabsichtigt ist/war.
Ich gebe zu, so gut kenne ich mich mit den Kriterien einer "guten" Programmierung nicht aus ;-)
Ich war der Ansicht, es sei durchaus im Sinne des "Erfinders", die Applikation zu starten, die Einstellungen vorzunehmen und dann das VI zu starten. So kann man sich irren.
Ich habe jetzt meine Stacked Sequence um einen Anfangsframe erweitert, der auf das Drücken eines Startknopfs wartet. Bezeichnet man sowas dann als "state machine"? Oder muß dann noch die Rückroute implementiert sein (bzw. sollte sie es sein?) die dafür sorgt, daß das VI niemals richtig terminiert, sondern in einer While-Schleife weiterläuft und auf das nächste Drücken des Startknopfes wartet?
' schrieb:Ich habe jetzt meine Stacked Sequence um einen Anfangsframe erweitert, der auf das Drücken eines Startknopfs wartet. Bezeichnet man sowas dann als "state machine"?
Nein,
hierzu, öffne mal in LV ein neues VI, und zwar über das Pulldown-Menü File->New..., dann bekommst du eine Reihe von Vorschlägen, unter Design-Pattern u.a. eine State Machine.
MfG, 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!
' schrieb:Ich gebe zu, so gut kenne ich mich mit den Kriterien einer "guten" Programmierung nicht aus ;-)
Ich war der Ansicht, es sei durchaus im Sinne des "Erfinders", die Applikation zu starten, die Einstellungen vorzunehmen und dann das VI zu starten. So kann man sich irren.
Es ist im Sinne des Erfinders soweit Du in der LabVIEW Umgebung bist, eine quick und dirty Applikation hast und da nie ein Executable davon baust. Es gab mal eine Zeit da konnstest Du tatsächlich noch keine Exectuables in LabVIEW bauen ;-)
Aber wenn man dann die Mühe nimmt um eine Applikation zu schreiben, die nicht nur schnell mal ein Instrument testet, dann kann man auch gleich etwas extra Mühe tun um daraus eine richtige Applikation zu machen.
Rolf Kalbermatter
PS: Verwendung von Stacked Sequence: Autsch! Das ist etwas wo jeder LabVIEW Purist akut Bauchschmerzen von kriegt, zusammen mit der ausführlichen Verwendung von globalen und lokalen Variablen, und Diagrammen die grösser als ein Bildschirm sind. Und ganz findige Leute denken dann globale und lokale Variablen durch Properties zu ersetzen, was das Problem nur noch multipliziert.