# MC Move_Absolute, IM 174, Cpu317T



## GS-Harri (1 April 2011)

Hallo,

nach mehreren kleinen Erfolgserlebnissen (danke ans Forum) hänge ich wieder an meiner Steuerung mit folgendem Problem:
Ich lasse die Achse über den MC Move_Absolute positionieren. Die macht das auch, setzt den Busy während des Fahrens auf 1 und nimmt ihn im Stillstand (nach Erreichen der Zielposition) auch wieder weg. ABER: Meine Done (Ziel erreicht) bleibt stur auf Null :twisted:
Woran könnte das liegen?
Ich verarbeite mein "Ziel erreicht" Signal für den nächsten Positionierauftrag und bleibe deshalb an dieser Stelle hängen. Notfalls könnte ich mein Programm so schreiben, dass ich mit der fallenden Flanke von dem Busy weiterarbeite, aber einen Grund muss es ja geben.
Also Spezie's, warum bekomme ich keine Ziel erreicht Meldung am MC Move-Absolute?
Schon jetzt vielen Dank für eure Hilfe.
LG Harri


----------



## rostiger Nagel (1 April 2011)

Ohne das ich mich mit der Plattform auskenne, 
wie sollte das Done Bit den kommen Statisch oder
als Flanke?
Wie genau hast du deinen Zielbereich gewählt, ist
der groß genug, oder rutscht die Achse durch?


----------



## zephyr (1 April 2011)

Wie ist denn der Zustand des Eingangs "Execute" ?
PLCopen definiert, dass bei EXECUTE = FALSE der Ausgnag "DONE" genau ein SPS Zyklus TRUE ist wenn die Zielposition erreicht wurde.
Ist EXECUTE noch TRUE, dann bleibt DONE solange gesetzt bis EXECUTE zurückgesetzt wird.

Ich empfehle eigentlich immer EXECUTE erst nach der Bewegung auf FALSE zu setzen.

Z. B. 
U MC_MoveAbsolute.Done
R MC_MoveAbsolue.Execute
SPB WEITER
BEA


----------



## trinitaucher (2 April 2011)

zephyr schrieb:


> Wie ist denn der Zustand des Eingangs "Execute" ?
> PLCopen definiert, dass bei EXECUTE = FALSE der Ausgnag "DONE" genau ein SPS Zyklus TRUE ist wenn die Zielposition erreicht wurde.
> Ist EXECUTE noch TRUE, dann bleibt DONE solange gesetzt bis EXECUTE zurückgesetzt wird.


*ACK*

Soll die Bewegung bis zum Ende überwacht werden, sollte das .Execute erst nach .Done = TRUE (oder .Error = TRUE) zurückgesetzt werden.


----------



## GS-Harri (3 April 2011)

*Genau so*

Jungs, einfach klasse.

Genau das wars. Vielen Dank für die schnelle und kompetente Antwort.

Grüße
Harri


----------

