SMC_GroupSetAxisLimitFactors (FB)¶
FUNCTION_BLOCK SMC_GroupSetAxisLimitFactors
Dieser Funktionsbaustein setzt Begrenzungsfaktoren für die maximale Geschwindigkeit, Beschleunigung und Ruck einer jeden Achse. Die Grenzen sind nur aktiv für Bewegungen, die kommandiert wurden, nachdem dieser Funktionsbaustein done zurückgeben hat.
Der Aufruf dieses Funktionsbausteins verursacht keine Bewegung und beeinflusst die laufende Bewegung der Achsgruppe nicht.
Es müssen die Faktoren für alle aktuell konfigurierten Achsen in der Achsgruppe zur Verfügung gestellt werden. Jeder einzelne Faktor muss positiv und nicht größer als 1 sein.
Initial sind alle Faktoren gleich 1. Die Faktoren werden nicht zurückgesetzt wenn die Achsgruppe deaktiviert oder aktiviert wird. Wenn eine Achse von einer Gruppe entfernt wird, werden die Begrenzungsfaktoren für diese Achse zurückgesetzt. Wenn die Achse später wieder hinzugefügt wird, sind die Begrenzungsfaktoren gleich 1.
Wenn dieser Funktionsbaustein eine steigende Flanke am Eingang execute erhält, darf die Achsgruppe nicht im Zustand GroupDisabled oder GroupErrorStop sein.
Die Faktoren können mit SMC_GroupReadAxisLimitFactors gelesen werden.
Die Faktoren werden verwendet in Kombination mit den zusätzliche Grenzen, den globalen Grenzen, den Faktoren die durch den Bewegungs-Funktionsbaustein gesetzt werden und dem Override wie folgt:
G: Die globalen Achsgrenzen, die in der Achskonfiguration gespeichert sind,
M: Die Faktoren, die durch den Bewegungs-Funktionsbaustein gegeben sind (Eingänge VelFactor, AccFactor, …),
F: Die Faktoren, die mit diesem Funktionsbaustein gesetzt wurden.
O: Die aktuellen Override-Faktoren, und
A: Die zusätzlichen Achsgrenzen, die durch SMC_GroupSetAncillaryAxisLimits gesetzt sind.
Die effektiven Achsgrenzen L werden aus diesen Eingängen berechnet: L = O * min(A, M * F * G).
- Ein-/Ausgang:
Gültigkeitsbereich
Name
Typ
Initialwert
Kommentar
Inout
AxisGroup
Referenz auf die Achsgruppe
Eingang
Execute
BOOL
Steigende Flanke: Die Faktoren werden gesetzt.
VelFactors
ARRAY [0..(SMC_RCNST.MAX_AXES - 1)] OF LREAL
Die Geschwindigkeitsfaktoren für alle Achsen
AccFactors
ARRAY [0..(SMC_RCNST.MAX_AXES - 1)] OF LREAL
Der Beschleunigungsfaktoren für alle Achsen
JerkFactors
ARRAY [0..(SMC_RCNST.MAX_AXES - 1)] OF LREAL
Die Ruckfaktoren für alle Achsen
TorqueFactors
ARRAY [0..(SMC_RCNST.MAX_AXES - 1)] OF LREAL
[SMC_RCNST.MAX_AXES(1)]
Die Drehmomentfaktoren für alle Achsen. Damit sich diese Faktoren auswirken, muss ein dynamisches Modell mit SMC_GroupSetDynamics erstellt worden sein.
Ausgang
Done
BOOL
Die Grenzen wurden erfolgreich gesetzt.
Busy
BOOL
Der Funktionsbaustein ist noch nicht fertig.
Error
BOOL
Zeigt an, dass im Funktionsbaustein ein Fehler aufgetreten ist
ErrorID
SMC_ERROR
Fehlererkennung