LabVIEWForum.de
Schrittmotor fährt über Ziel hinaus - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Schrittmotor fährt über Ziel hinaus (/Thread-Schrittmotor-faehrt-ueber-Ziel-hinaus)



Schrittmotor fährt über Ziel hinaus - bernds76 - 20.10.2009 10:23

hallo,

mich plagt weiter folgendes problem

in meinem vi soll man die wahl haben zw. sonderprüfun und prüfungsfolge.
sonderfolge arbeitet wie gewünscht.
bei der prüfungsfolge fährt mir der motor über seine zielposition hinaus weiter.
der grund hierfür ist mir unklar, da der befehl für den controller gleich ist.

bei der prüfungsfolge soll der motor eine wählbare anzahl von durchläufen abarbeiten, wobei er eine position anfährt und danach zurück.

wer kann mir da einen rat geben?

erstellt ist das angehängte vi mit version 8.2

danke


Schrittmotor fährt über Ziel hinaus - SeBa - 20.10.2009 10:58

Moin,

ich kanns ja leider nicht testen...

... aber kann es sein, dass du die Variable "Position(0...40000)" in deiner Messschleife immer auf den aktuellen Positionswert setzt und für den "Zurückfahrbefehl" davon einfach 100 abziehst?

Solltest du nicht lieber den Positionswert beim Starten des ersten Durchlaufes speichern und nach jedem Durchlauf als Zielposition benutzen?

MfG SeBa


Schrittmotor fährt über Ziel hinaus - IchSelbst - 20.10.2009 18:19

' schrieb:wer kann mir da einen rat geben?
Zuerst muss ich den Rat geben, das Blockdiagramm auf Bildschirmbreite zu beschränken. Was ich noch ertragen kann, ist, wenn Bildschirm-große Schleifen nebeneinander stehen.

Ansonsten:
Ich sehe hier jede Menge RaceConditions. Guckst du Bild. Die lokale Variable "Position (0...40000)", die für den Vergleich nach der Sequenzstruktur verwendet wird, wird ausgelesen, noch bevor die lokale Variable "Position (0...40000)" innerhalbn der Sequenzstruktur beschieben wird. Das heißt also, die While-Schleife wird erst beendet, nachdem der Motor für die Zeit von zweimal "delay before read" nach seiner Endposition nachgelaufen ist.


Nachtrag:
ACH GOTT! Kapitaler Fehler! Abfrage auf IstGleich! Die Abfrage einer Endposition geht immer mit GrößerGleich (oder je nach Algorithmus KleinerGleich) !


Schrittmotor fährt über Ziel hinaus - jg - 20.10.2009 19:08

Offtopic
@bernds76:
Darf ich nochmal aus den LVF-Regeln zitieren:
Zitat:Deutsch schreiben bedeutet übrigens, mal ab und zu einen Punkt oder ein Komma zu setzen und nicht alles durchgehend klein zu schreiben. Die Tastatur hat nicht umsonst eine Umschalttaste.

Im letzten Thread hat das scheinbar nicht geholfen.

Gruß, Jens