INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Alternative zu Global Variables für Motor – Endschalter Zeitüberwachung



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!

21.01.2008, 14:14
Beitrag #1

F.Bi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 152
Registriert seit: Oct 2007

LabView 2016
2007
EN

55218
Deutschland
Alternative zu Global Variables für Motor – Endschalter Zeitüberwachung
In einer Steuerung, mit einer State Machine umgesetzt, habe ich u.a. eine Motorsteuerung umgesetzt. Der Motor fährt so lange in eine Richtung, bis er in Grundstellung (Motor Endlage Normal) ist. Wenn der Motor diese Endlage in einer gewissen Zeit nicht erreichen sollte, wird der Motor gestoppt und eine Fehlermeldung ausgegeben. Programmiert habe ich das zwar, nur hätte ich gerne gewusst, ob man das auch ohne Global Variables realisieren kann, da man diese ja vermeiden soll. Ein Shift-Register finde ich nicht so optimal, da die State Machine viele States beinhaltet und dadurch der Verdrahtungsaufwand zu groß wird.

Im Bild Motor Endlage Normal.jpg werden die Endschalter des Motors abgefragt. Ist der Endschalter nicht betätigt, wird der Motor eingeschaltet und dieser State wieder angesprungen, bis der Motor den Endschalter erreicht. Dann wird der Motor ausgeschaltet Motor Position.jpg und es geht es mit dem nächsten State weiter. Im State Motor Endlage Normal wird auch noch, wie oben beschrieben, die Zeit überwacht. Dazu wird im vorhergehenden State Start-Zeit.jpg der Zeitstempel in der Global Variable abgelegt, um den Startpunkt des Motors später im State Motor Endlage Normal zu vergleichen.

Die Sub-VIs DIO Ein bzw. DIO Aus dienen dazu die Ports gezielt ein- bzw. auszuschalten.

Mit Global bzw. Local Variables kann man das zwar recht übersichtlich programmieren, aber laut NI-Regeln soll man diese ja nicht unbedingt einsetzen. Welche sinnvolle Alternative gibt es sonst?

Das ist mein erstes Programm mit LabVIEW, deshalb bin ich für jeden Hinweis dankbar.

Gruß
Frank


Angehängte Datei(en) Thumbnail(s)
           

Gruß
Frank
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.01.2008, 14:43
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Alternative zu Global Variables für Motor – Endschalter Zeitüberwachung
' schrieb:ob man das auch ohne Global Variables realisieren kann
Ohne globale Variable geht immer.

Eine Möglichkeit ist immer folgende: Mach dir ein funktionales SubVI.

Das SubVI einhält eine Whileschleife mit Schieberegister, das den Wert der "globalen Variablen" enthält. Die Whileschleife wird immer nur ein einziges Mal durchlaufen, das SubVI wird also sofort wieder beendet. In der Whielschleife befindet sich eine Case-Sequenz, die mit einem Enumerator angesteuert wird. Beim Beenden des SubVIs wird das Schieberegister immer zurückgegeben. Der Enumerator, der ein Eingang am SubVI ist, enthält die Funktion, die ausgeführt werden soll: Das Schieberegister, also die Variable, beschreiben. Nichts tun, also nur auslesen. Spezielle Sachen wie z.B. Uhrzeit laden.

Vorteil dieser Methode: Nah an einer gloablen Variablen, da (fast) genau so einfach einsetzbar - aber es ist eben keine. Außerdem kann man hiermit die "Globale Variable" sequenzieren!

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.01.2008, 10:46
Beitrag #3

F.Bi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 152
Registriert seit: Oct 2007

LabView 2016
2007
EN

55218
Deutschland
Alternative zu Global Variables für Motor – Endschalter Zeitüberwachung
Danke für die Antwort, das werde ich bei Gelegenheit mal probieren.

Gruß
Frank
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Global Variable in Ereignis Struktur hinzufügen Natalie1984 32 8.564 30.10.2022 09:28
Letzter Beitrag: Martin.Henz
  Alternative zur Ereignisstruktur simcum 5 3.262 16.09.2020 10:05
Letzter Beitrag: IchSelbst
  Labview Regler Motor Nilawa 2 2.561 08.05.2019 06:57
Letzter Beitrag: Nilawa
  Kontinuierliches und variables Ein/Aus eines E-Magneten Stefan2017 7 3.859 19.07.2018 15:15
Letzter Beitrag: Stefan2017
  Alternative zu Referenzen moTo 2 3.766 26.04.2016 18:16
Letzter Beitrag: moTo
  Alternative zu geschachtelter for-Schleife koan 11 6.012 22.04.2016 16:04
Letzter Beitrag: BNT

Gehe zu: