Enum Konstant - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Enum Konstant (/Thread-Enum-Konstant) |
Enum Konstant - lola2014 - 30.10.2014 01:18 Moin alle Zusammen, es geht um die Steuerung von 3 Motoren. Die sollen alle ausschalten, wenn die eine POS erreicht haben. Im Anhang ist ein Beis Prog. Der läuft noch nicht ganz. Meine Frage ist, kann man 3 Schieberegister für ein Enum Konstant benutzen, oder soll man für jeden Schieberegisten ein Enum Konstant hinfügen. Danke LG LOLA RE: Enum Konstant - GerdW - 30.10.2014 08:03 Hallo lola, wenn deine 3 Motoren (die im BD alle mit "Motor 1" kommentiert wurden) unabhängig voneinander agieren sollen, solltest du jedem sein eigenes Enum spendieren. Und noch sinnvoller wird es, wenn jeder Motor seine eigene Steuerschleife bekommt… RE: Enum Konstant - NoWay - 30.10.2014 08:11 Zunächst: Der Informationsgehalt deines Beitrags macht es wirklich schwer, allein schon dein tatsächliches Problem zu verstehen. Es wäre echt hilfreich, wenn du deine Problemstellungen so konkret und detailiert wie möglich ausführst. Anhand deines VI´s kann ich nur erraten, was du da vor hast. Du möchtest die drei Motoren alle unabhängig bedienen/ansteuern und hast versucht jeweils eine Statemachine dafür zu erzeugen. Liege ich da richtig? Wenn die Motoren unabhängig laufen sollen, könntest du für einen Motor eine Statemachine erzeugen und als reentrant SubVi speichern. In einem Main VI würdest du dann für jeden Motor das Subvi asynchron aufrufen. In diesem Fall müsstest du nicht auf den letzten Motor warten. Die große Frage ist ausserdem: Sollen die ALLE ausschalten wenn EINER seine Position erreicht hat oder sollen die einzeln aussachalten, wenn sie die für sich jeweils eingestellte Position erreicht haben? RE: Enum Konstant - jg - 30.10.2014 08:23 ... ganz zu schweigen davon, dass aktuell in diesem VI die Motoren einfach immer fahren! THINK Dataflow! Das oberste Schieberegister initialisierst du mit "Fahren", im Fahren-Case gibst du an aber nur den Default-Wert (=Fahren) weiter. Gruß, Jens RE: Enum Konstant - Lucki - 30.10.2014 09:56 Was hier gesagt wurde, ist alles notwendig und richtig: Für die drei Motoren sollte man drei unabhängige State-machines in drei unabhängigen Schleifen haben. Die eigentliche Frage war aber: kann man 3 Schieberegister für ein Enum Konstant benutzen, oder soll man für jeden Schieberegisten ein Enum Konstant hinfügen. Antwort: Nein, das mußt Du nicht. Wenn Du in allen 3 Schleifen dieselben States [Fahren, ChekPos, Stop] benutzt, kannst du die, ausgehend von einer einzigen Konstanten, für alle drei Schleifen voneinandner kopieren. In Deinem VI wäre es auch egal, ob Du zur Intialisierung der drei Schieberegister die einzige Konstante "Fahren" benutzt, oder zur Initialisierung der drei Schieberegister je eine eigene Konstante "Fahren". Zu empfehlen ist aber in jedem Falle eine Typisierung des Enum. RE: Enum Konstant - lola2014 - 04.11.2014 01:41 (30.10.2014 08:03 )GerdW schrieb: Hallo lola, Danke GerdW, ich habe das Programm anders geschrieben, und ich hoffe, dass es mit Warteschleife hinhaut. ich habe 2ms als Takt genommen. LG Lola Hallo NoWay (30.10.2014 08:11 )NoWay schrieb: Zunächst:fast, also die drei oder vier Motoren sollen gleichzeitig fahren, und wenn ein Motor seiner Position erreicht hat, soll er anhalten unabhängig von der anderen Motoren (30.10.2014 08:11 )NoWay schrieb: Wenn die Motoren unabhängig laufen sollen, könntest du für einen Motor eine Statemachine erzeugen und als reentrant SubVi speichern. In einem Main VI würdest du dann für jeden Motor das Subvi asynchron aufrufen. In diesem Fall müsstest du nicht auf den letzten Motor warten.Die Motoren sollen einzeln aussachalten, wenn sie die für sich jeweils eingestellte Position erreicht haben. Lg Lola RE: Enum Konstant - Lucki - 04.11.2014 10:11 Habe mir das VI mal angesehen. Es wurde so programiert, als ob die Reihenfolge der 6 Kommandos Enable, Geschwindigkeit, INT M4, ... egal wäre. Kann mir nicht vorstellen, dass das gut geht. Wahrscheinlich gehst Du von der irrigen Annahme aus, dass Labview die Kommandos wie eine textbasierte Sprache abarbeitet, also immer schön von oben nach unten. Außerdem: Die einzelnen Kommandos schreien nach je einem eigenen SubVi. So z.B würde es mit der richtigen Reihenfolge funktionieren: [attachment=51228] |