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

AXIS_GROUP_REF_SM3

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