Ablaufsteuerung in LabVIEW 8.0 - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Ablaufsteuerung in LabVIEW 8.0 (/Thread-Ablaufsteuerung-in-LabVIEW-8-0) Seiten: 1 2 |
Ablaufsteuerung in LabVIEW 8.0 - bbpc3 - 05.03.2007 10:22 Hallo! Wir bekommen an unserer schule seit ca 2 jahren unterricht in LabVIEW und der is wirklich unterstes niveau^^ also grade mal die basics und so. als projektarbeit muss ich nun eine ablaufsteuerung für eine tennisballprüfanlage programmieren. das hab ich schon geschafft (mit jeder menge zeitaufwand) jetzt stehe ich aber vor einem problem bei dem ihc nicht weiterkomme: ich muss knöpfe (oder einfach bedienelemente) für folgende zyklen programmieren: einen dauerlauf (das ganze läuft solange bis eine stoptaste gedrückt wir) einen einzelzyklusablauf (das programm läuft einfach einmal durch) und einen einzelschrittablauf d.h. nach jedem schritt springt das case um eins weiter und ich muss einen knopf drücken dass der nächste kommt. das ganze soll so gemacht werden, dass man z.b. nicht gleichzeitig einen dauer und einen einzelzyklus starten kann und soll auch so einfach wie möglich gemacht werden (nicht dass man das ganze programm einfach 3x hat und es nur verschieden zum laufen bekommt.) ich bin da mit meinem schülerlatein am ende und hoffe deshalb dass ihr mir helfen könnt.. (vorallem nachdem der lehrer selbst nicht weiß wie man das realisieren soll^^) schon mal ein großes DANKE! mfg bbpc3 Ablaufsteuerung in LabVIEW 8.0 - Y-P - 05.03.2007 10:26 Hallo, das schreit nach einer "State Machine". Schau' Dir mal das hier an. Gruß Markus Ablaufsteuerung in LabVIEW 8.0 - bbpc3 - 05.03.2007 10:45 hallo! danke hat mir geholfen=) hab aber noch eine frage: (bin halt nur schüler und die schulbildung is nicht grade optimal in dem gebiet...) also du meinst ich soll meine abläufe wie z.b. druck prüfen usw... statt in deinem bsp leerlauf und rechnen einfügen? wie schaff ich es dann dass ich z.b. nur einzelschrittmäßig weiterschalte bis ich einen knopf wieder drücke oder den dauerzyklus realisiere?? mfg bbpc3 Ablaufsteuerung in LabVIEW 8.0 - Y-P - 05.03.2007 11:10 Hallo, den Leerlauf-Case brauchst Du weiterhin, um Deine Abfrage zu machen (Einzelschritt, Dauerzyklus,.....). Wird da ein Button gedrückt (z.B. Einzelschritt), dann soll er in den Einzelschritt-Case springen (in meinem Beispiel Rechnen). Entsprechend machst Du das beim Dauerzyklus. Ist jeweils der Case abgearbeitet springst Du wieder in Leerlauf zurück. Gruß Markus ' schrieb:hallo! Ablaufsteuerung in LabVIEW 8.0 - bbpc3 - 05.03.2007 12:11 Hallo! irgendwie stehe ich grad auf der leitung denn ich kann mir grade überhaupt nicht vorstellen wie du das meinst... =( kannst du mir das anhand meines projektes erklären, vl versteh ichs dann..^^ also mein einzelzyklus soll können: case 1-6 durchlaufen und dann ende (das geht so auch) dann meine schrittabfolge soll ein case machen dann muss man was drücken und dann dass 2. case usw.. und mein dauerzyklus von 1-6 und dann wieder und wieder bis man was drückt. ich verstehe leider ein bisschen zu wenig von dem ganzen programm bzw dem umfeld dass ich das auf anhieb verstehe wie du das meinst....=( danke für die hilfe bbpc3 Ablaufsteuerung in LabVIEW 8.0 - ChrisR - 05.03.2007 13:56 Hallo, also die State Machine ist ja schon der richtige Ansatz, ich hab das nun so verstanden das du drei Buttons (Einzelschritt, Ein Zyklus,Dauerlauf) haben möchtes, diese drei Fälle kannst du ja mit der State Machine verwirklichen. Der Dauerlauf lässt sich dann mit ner Schleife machen, das nur ein Zyklus abläuft mit ner For-Schleife und die Einzelschritte, da müsstest du vielleicht nach jeder Berechnung oder was auch immer eine Abfrage machen. Aber das ist nur eine Idee, es gibt bestimmt elegantere Lösungen, die, die Profis nachher noch bringen Lg Chris Ablaufsteuerung in LabVIEW 8.0 - Kvasir - 05.03.2007 13:58 Hi, ich hab dir eine kurze Anregung gebastelt, wie du das in etwa machen könntest. Ich gehe davon aus, dass du dein Programm (die Cases) inzwischen als Statemachine angeordnet hast. Dein erster Fall, bei dem alle Cases einfach einmal durchlaufen, den hast du ja schon. Für den Fall, dass du alles Cases bestätigen willst, habe ich hinter die Casestruktur eine Schleife angehängt, die mit einem Button beendet wird. Diese Schleife tritt aber nur in Erscheinung, wenn du den Button für die Einzelbestätigung aktiviert hast. Den Endlosfall habe ich über eine kleine Case Abfrage in deinem abschließenden Case realsisiert. Hier springt das Programm entweder auf Leerlauf, oder auf den ersten Case. Je nachdem welcher Modus aktiviert ist. Was du jetzt noch tun musst, ist das ganze so in dein Programm zu integrieren, dass das Programm aus dem Leerlauf in den Ablauf wechselt, wenn einer der Buttons gedrückt wird, nicht alle Buttons gleichzeitig gedrückt werden könne, ... Du musst du dir das ganze also so basteln, dass es deinen Wünschen entspricht. Gruß edit: Chris' Vorschlag geht natürlich auch. Der "Hacken" an der Sache ist dann halt, dass du eine Statemachine in der Statemachine hast. Also dein komplettes Programm 3x. Einmal in jedem der 3 Durchführungsstates. Ablaufsteuerung in LabVIEW 8.0 - Y-P - 05.03.2007 14:06 Hallo, ich habe Dir das ganze auf Deine Zyklen umprogrammiert. Schau' es Dir mal an. Gruß Markus ' schrieb:Hallo! Ablaufsteuerung in LabVIEW 8.0 - bbpc3 - 05.03.2007 14:09 hallo! ja die methode die chrisR gemeint hat ist eben nicht so das wahre da ich ja das programm so einfach wie möglich gestalten soll und genau nicht 3x mein programm verwenden soll... aba ich bin für jeden vorschlag dankbar=) @Kvasir ich glaub jetzt hab ichs kapiert =) deine skizze hat mir denk ich die augen geöffnet^^ werd das dann am MI ausprobieren ob ichs auch schaff wenn nicht werd ich mich hier nochmal melden... danke für die hilfe! mfg bbpc3 Ablaufsteuerung in LabVIEW 8.0 - Y-P - 05.03.2007 14:12 Hab ich jetzt alles umsonst überarbeitet???? Neeeeeiiiiiiiiinnnnnnnnnnnnnnnn.......... :DKannst ja trotzdem mal drüberschauen. Da ist sogar die State-Machine in der State-Machine. Normal kannst Du das auch in ein SubVI packen. Gruß Markus ' schrieb:hallo! |