LabVIEWForum.de - Ablaufsteuerung

LabVIEWForum.de

Normale Version: Ablaufsteuerung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
LabVIEW Version 8.6

hallo!

ich bin LabVIEW neuling, und habe versucht mich in den letzten tagen in das programm einzuarbeiten! (tutorials etc.)

ich soll eine ablaufsteuerung realisieren. nach kurzer suche hier im forum bin ich schon fündig bezüglich statemachine geworden.
nachdem ich mir das beispiel angesehen habe, hab ich versucht einfache beispiele zu programmieren. hat soweit auch ganz gut geklappt.

nun bin ich allerdings auf ein problem gestoßen. un zwar folgendes. im angehängten vi hab ich quasi mein problem verdeutlicht.

wenn man auf vi starten klickt, wechselt das case 0 nach case 1. hier wird nachgefragt ob die anlage bereit ist. mit einem klick auf ok erscheint case 2.
hier ist mein problem. ich möchte das die lampe für 2sek leuchtet. (im highlight modus funkioniert das ganze primaWink, nur im normalen modus
sieht man die lampe noch nicht mal aufblitzen... ich möchte quasi, das das case 2 sek aktiv ist (so lange soll die lampe leuchten) , und anschließend
zum nächsten case weitergesprungen wird.

hier angelangt, soll die lampe 5sek lang leuchten. im nächsten case soll die lampe 10 sek lang leuchten un im anschluss soll das vi beendet werden,
und alle lampen ausgehen.
natürlich muss das nicht exakt sein. also keine echtzeitanwendung. sondern nur wie bei S7 200 ne ablaufsteuerung nach zeit und eingängen.

ich danke euch im vorraus für eure hilfe!
So?

[attachment=14643]
Lv86_img

Gruß Markus
ich bin baff...

jo genau so. dank dir!
und schon kommt die nächste frage auf!

hab im programm bei schritt 3 einen taster hinzugefügt, der quasi zum nächsten schritt weiterschaltet. damit will ich gewährleisten,
dass die lampe 5 sek an ist, der nächste schritt aber erst beim betätigen des tasters startet. allerdings geht das programm , wenn der taster aus ist,
in den false case, schickt aber trotzdem init zum schieberegister und das programm wird neu gestartet!

warum macht das programm das? das false case ist doch leer? es soll quasi warten, bis der taster gedrückt wird , un somit das true case die weiterschaltung
zu schritt 4 freigibt....

jaja aller anfang ist schwer... wiederrum danke im vorraus für eure hilfe!

Lv86_img
sorry das ich die angabe der LabVIEW version vergessen habe!
is ebenfalls mit LabVIEW 8.6 erstellt worden.
Wenn Du den "False-Case" nicht verdrahtest, dann wird der "Default-Wert" verwendet, in Deinem Fall "Init".
Du kannst es z.B. so wie hier machen (Alternative wäre eine Event-Struktur).....

[attachment=14647]
Lv86_img

Gruß Markus
danke markus, du hast mich meinem ziel mal wieder ein stück näher gebracht!
Hi,

ich bin auch auf der suche nach ner Ablaufsteuerung aber ich komm mit der state maschine nicht weiter evtl ,weil ich ein Subvi benutze das aus mehreren while Schleifen besteht.
Das Subvi beinhaltet die Kommunikation zu einer Profibusschnittstelle und muss mit ner while Schleife ausgeführt werden. Werte an das Subvi geb ich über Referenzen weiter. Aber die state Maschine bleibt immer beim ersten schritt hängen in der State Maschine will ich über Lokale Variablen die Schalter beeinflussen die als Ref. ans Subvi gehen. Subvi und State Maschine sind zusammen in einer weiteren while Schleife.
Gibt es eine andere möglichkeit eine Ablaufsteuerung zu programmieren die sich möglichst einfach umschreiben lässt. das Programm soll für Dauertestzyklen einfach modifizierbar sein.
mit Sequenzen hab ich es auch schon versucht, aber da kann ich ja nicht gut abfragen ob der Schritt ausgeführt wurde oder nicht, die Sequenz läuft einfach weiter,...

hab nur LabVIEW 8.5 und kann deshalb die beispiele net anschaun,....

hoff ihr könnt mir helfen

danke Gruß Gerald
Referenz-URLs