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
AxisGroupReferenz auf die Achsgruppe
Eingang
ExecuteBOOLSteigende Flanke: Die Faktoren werden gesetzt.
VelFactorsARRAY [0..(SMC_RCNST.MAX_AXES - 1)] OF LREAL
Die Geschwindigkeitsfaktoren für alle Achsen
AccFactorsARRAY [0..(SMC_RCNST.MAX_AXES - 1)] OF LREAL
Der Beschleunigungsfaktoren für alle Achsen
JerkFactorsARRAY [0..(SMC_RCNST.MAX_AXES - 1)] OF LREAL
Die Ruckfaktoren für alle Achsen
TorqueFactorsARRAY [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
DoneBOOLDie Grenzen wurden erfolgreich gesetzt.
BusyBOOLDer Funktionsbaustein ist noch nicht fertig.
ErrorBOOLZeigt an, dass im Funktionsbaustein ein Fehler aufgetreten ist
ErrorIDSMC_ERRORFehlererkennung