LabVIEWForum.de - Ablauf Automatisieren

LabVIEWForum.de

Normale Version: Ablauf Automatisieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

ich möchte mit LV 2017 einen automatisierten Messablauf Programmieren. Gemessen wird kontinuierlich mit einem Pyrometer.
Die Steuerung der Servos erfolgt über einen Polulu Micro Maestro Controller und funktioniert soweit manuell mit dem bestehenden Programm (siehe Anhang).

Folgende Problematik:
1. Der Hebelarm soll sich bei Programmstart in 15er Schritten also z.B. von 125 auf 140 bewegen ... und Position halten.
2. Dann soll der Drehteller seinen gesamten Bereich (von 100-330°) in ca. 30er Schritten abfahren und pro Position ca. 10s warten.
3. Der Hebelarm soll nach diesem Ablauf um 15 weiter rücken und wieder warten bzw. an den Drehteller übergeben.
4. usw.

Wie kann ich das am "einfachsten" realisieren?

ps: Ich habe sehr begrenzte Programmiererfahrungen und arbeite seit ca. einer Woche mit Labview.


Viele Grüße
Stephan
Hallo Stephan,

herzlich willkommen im Forum!

Erstelle dir eine Statemachine!
LabVIEW bringt sowas schon als Beispiel-Projekt mit…

Und am besten vorher den ganzen Ablauf auf Papier skizzieren - hilft immer beim Programmieren! Big Grin
Hallo GerdW,

also wenn ich "statemachine" in die Labview Suche eingebe findets nichts.
Kann man das auch als SubVI schreiben oder würdest du das ins Hauptprogramm einbauen?

Gruß Stephan
Hallo Stephan,

Zitat:wenn ich "statemachine" in die Labview Suche eingebe findets nichts.
LabVIEW starten, dann "Create project".
Im sich dann öffnenden Fenster "Templates" wählen, dann in der Liste "Simple State Machine"…

(Evtl. musst du das alles nach Deutsch übersetzen. Könntest ja mal dein Profil entsprechend anpassen…)

Zitat:Kann man das auch als SubVI schreiben oder würdest du das ins Hauptprogramm einbauen?
Salomonisch gesprochen: Eine Statemachine kann man programmieren, wo man sie benötigt… Big Grin
Hallo Stephan,

noch ein Tip am Rande:
So schön es ist, dass du gleich mal ein VI mit hochlädst, so avantgardistisch ist es, dies in der Version 2017 zu tun. Da wirst du nicht soo viele finden, die das öffnen können /wollen.
Speicher deine VIs mit Menü --> Datei --> für vorige Version speichern unter z.B. LV 2010 ab. Das erhöht die Downloadrate...


Gruß, Marko
Hallo,

ok anbei das bisherige Programm als 2010 ner.

Also zu der statemachine: Bahn

1. muss die nochmal extra in eine while Schleife? oder würde das so gehen wie ich da angefangen habe?
2. wie wechselt das Programm dann in den nächsten Zustand? Ereignisstruktur?

ich hab echt schwere Probleme Blink

kann mir da jemand helfen?


Gruß
Stephan
(12.07.2017 14:11 )Neuling01 schrieb: [ -> ]1. muss die nochmal extra in eine while Schleife? oder würde das so gehen wie ich da angefangen habe?
2. wie wechselt das Programm dann in den nächsten Zustand? Ereignisstruktur?

ich hab echt schwere Probleme Blink

kann mir da jemand helfen?

Hallo Stephan,

im Grunde ist eine Statemachine eine Casestruktur in einer Schleife. Im einfachsten Fall ist der Selektoranschluss der Casestruktur verbunden mit dem Schleifenindex und du durchläudst die cases 0-n. Deine Abbruchbedingung könnte im Standardcase liegen, der erreicht wird, wenn du einen nicht definierten Case erreichst.
Wenn du also nur cases 0-10 definierst, dann wird mit dem Schleifencounter 11 der standardcase erreicht.

Oder du definierst dir ein ENUM und beschriftest die einzelnen cases und setzt den enum über ein shift register auf den nächstzuwählenden case.

Sieh dir mal die Beispiele an - dann erklärt sich das schon.


Gruß, Marko
Zur StateMachine gibt es auch ein ausführliches Tutorial von NI.

Thomas
Referenz-URLs