Skip to main content

Anhalten auf der Bahn mit MC_GroupHalt oder MC_GroupStop

Die Funktionsbausteine MC_GroupHalt und MC_GroupStop erlauben ein bahntreues Anhalten unter Berücksichtigung konfigurierbarer Verzögerungs- und Ruckgrenzen. Das Anhalten beginnt unmittelbar.

Die Verzögerungs- und Ruckgrenzen für das Anhalten können sich von denen der aktiven Bewegung unterscheiden und sowohl größer als auch kleiner sein. Sie werden eingehalten, sofern dadurch die Bahn nicht verlassen wird. In der Mitte einer Bahn kann beispielsweise ein sanftes Anhalten mit niedriger Verzögerung möglich sein. Am Ende der Bahn wird dagegen mindestens so stark verzögert, dass nicht über das Ende hinausgefahren wird.

Unterschied zwischen MC_GroupHalt und MC_GroupStop

Der wesentliche Unterschied zwischen MC_GroupHalt und MC_GroupStop ist, dass ein MC_GroupStop nicht abgebrochen werden kann und dass Folgebewegungen erst akzeptiert werden, wenn der Eingang Execute zurückgesetzt worden ist. Ein MC_GroupStop verhindert, dass sich die Achsgruppe bewegt.

Abgrenzung zu MC_GroupInterrupt

Im Gegensatz zu MC_GroupHalt und MC_GroupStop startet ein MC_GroupInterrupt mit einer kurzen Latenz und hat keine konfigurierbaren Verzögerungs- und Ruckgrenzen. Stattdessen werden die Grenzen der aktiven Bewegung verwendet. Nach einem MC_GroupInterrupt kann mit MC_GroupContinue die unterbrochene Bewegung fortgesetzt werden. Unter Zuhilfenahme von SMC_GroupSaveContinueData ist das auch mit MC_GroupHalt und MC_GroupStop möglich. Für weitere Informationen siehe Unterbrechen und Fortsetzen von Bewegungen.

Verhalten bei Bewegungen in beweglichen Koordinatensystemen

Bei Bewegungen in beweglichen Koordinatensystemen, wenn sich der Roboter also beispielsweise relativ zu einem Förderband bewegt, führt ein MC_GroupHalt oder MC_GroupStop zu einem absoluten Anhalten. Es wird also nicht relativ zum beweglichen Koordinatensystem angehalten. Die Achsgruppe bleibt dabei auf der Bahn, die sie im Maschinenkoordinatensystem (MCS) abgefahren wäre, wenn kein MC_GroupHalt oder MC_GroupStop kommandiert worden wäre.