MC_GroupReadStatus (FB)

FUNCTION_BLOCK MC_GroupReadStatus

Der Funktionsbaustein liefert den Zustand einer Achsgruppe zurück.

Ein-/Ausgänge:

Gültigkeitsbereich

Name

Typ

Kommentar

Inout

AxisGroup

AXIS_GROUP_REF_SM3

Referenz auf eine Achsgruppe

Eingang

Enable

BOOL

Erhalte kontinuierlich den Zustand der Achsgruppe.

Ausgang

Valid

BOOL

TRUE, wenn gültige Ausgänge verfügbar sind

Busy

BOOL

Der Funktionsbaustein ist nicht beendet

Error

BOOL

Zeigt an, dass im Funktionsbaustein ein Fehler aufgetreten ist

ErrorID

SMC_ERROR

Fehlererkennung

GroupMoving

BOOL

Siehe SMC_Axis_Group_State

GroupHoming

BOOL

Siehe SMC_Axis_Group_State

GroupErrorStop

BOOL

Siehe SMC_Axis_Group_State

GroupStandby

BOOL

Siehe SMC_Axis_Group_State

GroupStopping

BOOL

Siehe SMC_Axis_Group_State

GroupDisabled

BOOL

Siehe SMC_Axis_Group_State

TrackingDynamicCS

BOOL

Ob die aktive Bewegung in einem dynamischen Koordinatensystem programmiert ist. Z.B. mit MC_TrackConveyorBelt oder MC_TrackRotaryTable.

InSync

BOOL

Zeigt an, ob die Achsgruppe genau dem programmierten Weg folgt. Wenn FALSE, folgt die Achsengruppe der Bahn innerhalb der konfigurierten Toleranz. Siehe SMC_GroupSetPathTolerance.

ActiveMovementId

SMC_Movement_Id

Identifizierer der aktiven Bewegung. Wenn die ID 0 ist, ist keine Bewegung aktiv. Beim Überschleifen zwischen zwei Bewegungen wird die zweite Bewegung aktiv, sobald das Überschleifen beginnt. Beim Abbruch wird die Abbruchbewegung sofort aktiv, nachdem sie akzeptiert wurde. Siehe FirstReferencedMovementId für weitere Informationen.

FirstReferencedMovementId

SMC_Movement_Id

Der Identifizierer der ersten (d. h. ältesten) Bewegung, der noch von einer laufenden Bewegung referenziert wird. Wenn die ID 0 ist, ist keine Bewegung aktiv. Um zu prüfen, ob die Achsengruppe vollständig in ein dynamisches Koordinatensystem hinein trackt (oder vollständig heraus), kann die Bedingung FirstReferencedMovementId = ActiveMovementId verwendet werden.

LastAcceptedMovementId

SMC_Movement_Id

Der Identifizierer der zuletzt akzeptierten Bewegung. Eine ID von 0 bedeutet, dass bisher keine Bewegung akzeptiert wurde.

PositionLag

LREAL

Die Größe der Positionsabweichung (in Positionseinheiten). Die Positionsabweichung ist die Abweichung der Position des Achsverbundes von der programmierten Trajektorie.

OrientationLag

LREAL

Die Größe der Orientierungsabweichung (in Winkeleinheiten). Die Orientierungsabweichung ist die Abweichung der Orientierung des Achsverbundes von der programmierten Trajektorie.

CurrentPlanningForecast

LREAL

Die aktuelle Planungsprognose in Sekunden. Liegt zwischen 0 und der mit SMC_TuneCPKernel konfigurierten fPlanningForecastDuration. Während sich die Achsengruppe bewegt, sollte dies genau die fPlanningForecastDuration sein. Begrenzt auf die verbleibende Trajektoriedauer während des Stoppens der Achsengruppe.

CurrentSyncBufferDuration

LREAL

Die aktuelle Dauer des Synchronisationspuffers zwischen Feldbus und Planungstask in Sekunden. Liegt zwischen 0 und der mit SMC_TuneCPKernel konfigurierten fSyncBufferDuration. Der Wert muss > 0 sein, während sich die Achsgruppe bewegt. Andernfalls wird der Fehler SMC_CP_QUEUE_UNDERRUN ausgegeben.