Zum Hauptinhalt springen

Motion Manager

Diese Bibliothek stellt verschiedene Motion Funktionen zur Verfügung.

TB_MotionHandler_CY

TB_MotionHandler_CY

Der Baustein beeinhaltet die Bausteine die in der Cyclic Task laufen sollten.
Per _MotionHandlerComm-Struct findet der Datenaustausch zum TB_MotionHandler_EV statt.
Die Ansteuerung der Bausteine wird über den _EV-Baustein durchgeführt.

Empfohlene Task: Cyclic

Verwendete Bibliotheken: BM_TYPES_40bd04 oder höher MOTION_TYPES_40bd11 oder höher MOTION_CONTRL_40bd11 oder höher MOTION_MULTI_AXIS_40bd14 oder höher TECH_TYPES_40bd13 oder höher TECH_FB_STRUCT_40bd02 oder höher TECH_TOOLS_40bd06 oder höher

Ein-/Ausgänge

Bezeichnung:Datentyp:Beschreibung:
_MasterAXIS_REFMotion Struktur für die verbundene Master Achse (z.b. MasterEngine)
_AxisAXIS_REFMotion Struktur für die verbundene Slave Achse
_MotionHandlerCommTB_MOTION_HANDLER_COM_IOAustausch-Struktur zwischen MotionHandler_EV und _CY (selbe Struktur muss an beide FBs angeschlossen werden)
_CAM_REFMC_CAM_REFKurvendatensatzvariable vom Kurvenmanager der Ressource. Die angeschlossene Variable ist aus dem Variablenarbeitsblatt MC_CamDataSet zu entnehmen. Der entsprechende Datensatz ist zuvor an die PLC zu senden. (MC_CamTableSelect)
Darstellung in FBD

TB_MotionHandler_EV

TB_MotionHandler_EV

Der MotionHandler_EV dient der einfachen und schnellen Nutzung vieler Motion Bausteine.
Der EV Baustein vereint die Bausteine, die im EVENT laufen müssen.
Der CY Baustein vereint die Bausteine, die im CYCLIC laufen müssen, der zwingend instanziert werden muss, damit der EV-Baustein genutzt werden kann.
Per _MotionHandlerComm findet der Austausch zwischen den beiden Bausteinen statt.
Außerdem können Über diese Struktur die verschiedenen enthaltenen Motion Bausteine mit Eingangswerten für die Konfiguration beschalten werden.

Ausgänge

Bezeichnung:Datentyp:Beschreibung:
x_ActiveBOOLTRUE: Baustein ist frei gegeben und aktiv.
i_DriveStateINTStatusmeldung über den aktuell ausgeführten MotionBaustein/State (s. Detail der Ausgänge und Flowchchart)
a_DriveErrorWarningListINT_32_BMARRAYFehler/Warnungs Array zeigt alle Drive Fehler und Warnungen an (s. Detail der Ausgänge)
a_MotionErrorWarningListWORD_32_BMARRAYFehler/Warnungs Array zeigt alle Motion Fehler und Warnungen an (s. Detail der Ausgänge)
x_WarningBOOLTRUE: Der Baustein hat eine Warnung erkannt.
w_WarningIDWORDWarnungsnummer des Bausteins
x_ErrorBOOLTRUE: Der Baustein hat einen Fehler erkannt.
w_ErrorIDWORDFehlernummer des Bausteins (s. Detail der Ausgänge)

Beschreibungdereinausg.nge

Ein-/Ausgang _Master

Motion Struktur für die verbundene Master Achse (z.b. MasterEngine)

Ein-/Ausgang _Axis

Motion Struktur für die verbundene Slave Achse

Ein-/Ausgang _MotionHandlerComm

INOUT
DINTDI[01] - [20]DI[01] - [20]
UDINTUD[01] - [20]UD[01] - [20]
INTIN[01] - [20]IN[01] - [20]
UINTU[01] - [20]U[01] - [20]
USINTUS[01] - [20]US[01] - [20]
BOOLX[01] - [20]X[01] - [20]
WORDW[01] - [20]W[01] - [20]
INOUT
DINTDI[01]: Position (MC_MoveAbs)
DI[02]: Distance (MC_MoveRel)
n.v.
UDINTUD[01]: HomePosition (MC_Home)
UD[02]: Jog_Velocity (BM_Jog)
UD[03]: Jog_Acc (BM_Jog)
UD[04]: Jog_Dec (BM_Jog)
UD[05]: Velocity (MC_MoveVelocity)
UD[06]: Acc (MC_MoveVelocity)
UD[07]: Dec (MC_MoveVelocity)
UD[08]: Jerk (MC_MoveVelocity)
UD[09]: Vel (MC_MoveAbs)
UD[10]: Acc (MC_MoveAbs)
UD[11]: Dec (MC_MoveAbs)
UD[12]: Jerk (MC_MoveAbs)
UD[13]: Vel (MC_MoveRel)
UD[14]: Acc (MC_MoveRel)
UD[15]: Dec (MC_MoveRel)
UD[16]: Jerk (MC_MoveRel)
UD[17]: Dec (MC_Stop)
UD[18]: Jerk (MC_Stop)
UD[19]: Jerk (MC_Jog)
UD[20]: MoveVel Speed (MoveVel2) [%]
n.v.
INTIN[01]: RatioNumerator (MC_Gear)
IN[02]: Direction (MC_MoveVelocity)
IN[03]: Direction (MC_MoveAbs)
n.v.
UINTU[01]: CamIn MasterScaling (MC_Cam)
U[02]: CamIn SlaveScaling (MC_Cam)
U[03]: CamTableID (MC_Cam)
U[04]: RadioDenominator (MC_Gear)
U[1]: CTS SetID (>CY)
USINTUS[01]: CTS MasterResolution (CY)
n.v.
BOOLX[1]: 1= Use MoveVel_EV (PosCtrl) / 0=Use MoveVel_CY (n-Ctrl)
X[2]: 1 = Use MoveVel2 (PDO) / 0 = no MoveVel2 (+ X[1] := 0)
X[1]: HomeDone
X[2]:
X[3]:
X[4]: Done (Move Absolute) X[5]: Done (MoveRelative)
WORD

Beschreibungdereing.nge

TRUE: Freigabe des Baustein
FALSE: Baustein ist nicht freigegeben, alle Ausgänge sind 0, es findet keine Diagnose statt.

Eingang i_DriveCmd

Durch Vorgabe von Nummern werden die Motionbausteine intern angesteuert:
01 = PowerOn
04 = PowerOff
10 = Homing
12 = Jog
14 = MoveAbsolute
15 = MoveRelative
16 = MoveVelocity
17 = MC_GearIn
19 = MC_Stop
21 = CamIn
90 = ErrorQuit

Damit der Baustein ein DriveCmd erkennt brauch er an diesem Eingang eine wechselnde Eingangsbeschaltung.
z.B. ein erneutes Fehlerquittieren braucht z.b. 90 - 0 - 90 (Hier wurde nun 2x ein Fehler quittiert)

Bei Vorgabe von Jog mit i_DriveCmd = 12 kann die Drehrichtung des Antriebs gesteuert werden:
Bit 0: FALSE = Jog Stop, TRUE = Jog Forward (Clockwise)
Bit 1: FALSE = Jog Stop, TRUE = Jog Backward (Counterclockwise)

Flowchart:

Beschreibungderausg.nge

TRUE: Baustein ist frei gegeben und aktiv.

Ausgang i_DriveState

Statusmeldung über den aktuell ausgeführten MotionBaustein/State:
01 = StandStillOff
02 = StandStillOffOn
03 = StandStillOn
04 = StandStillOnOff
10 = Homing
12 = Jog
121 = Jog Fwd
122 = Jog Back
14 = MoveAbsolute (Discrete Motion)
15 = MoveRelative (Discrete Motion)
151 = MoveRelative in Bewegung
16 = MoveVelocity
17 = GearIn (Sync.Motion)
171 = GearIn einkoppeln in Arbeit
19 = Stopp
191 = Stopping
21 = CamIn (Sync. Motion)
90 = Error

Ausgang a_DriveErrorWarningList

Fehler/Warnungs Array zeigt alle Drive Fehler und Warnungen an:
[0]: Anzahl der Meldungen
[1..31]: Fehler/Warnungs Nummern in der Reihenfolge

Ausgang a_MotionErrorWarningList

Fehler/Warnungs Array zeigt alle Motion Fehler und Warnungen an:
[0]: MC_Power_ErrorID
[1]: MC_ReadStatus_ErrorID
[2]: MC_Home_ErrorID
[3]: BM_Jog_ErrorID
[4]: MC_GearIn_ErrorID
[5]: MC_Stop_ErrorID
[6]: MC_MoveVel_ErrorID
[7]: MC_MoveAbs_ErrorID
[8]: MC_MoveRel_ErrorID
[9-31]: ungenutzt im Moment

Ausgang x_Warning

TRUE: Der Baustein hat eine Warnung erkannt.

Ausgang w_WarningID

Warnungsnummer des Bausteins

Ausgang x_Error

TRUE: Der Baustein hat einen Fehler erkannt.

Ausgang w_ErrorID

1 = MC_ReadStatus Fehler
2 = Antriebsfehler
4 = Motion Control Fehler

Flowchart:

Empfohlene Task: Event

Verwendete Bibliotheken: BM_TYPES_40bd04 oder höher MOTION_TYPES_40bd11 oder höher MOTION_CONTRL_40bd11 oder höhe MOTION_MULTI_AXIS_40bd14 oder höher TECH_TYPES_40bd13 oder höher TECH_FB_STRUCT_40bd02 oder höher TECH_TOOLS_40bd06 oder höher

Eingänge

Bezeichnung:Datentyp:Beschreibung:
x_EnableBOOLTRUE: Freigabe des Bausteins.
i_DriveCmdINTDurch Vorgabe von Nummern werden die Motionbaustine intern angesteuert.
Damit der Baustein einen State annimmt, muss immer ein Statewechsel erfolgen. (s. Details der Eingänge und Flowchart)
w_CmdWORDIm JogMode (i_DriveCMD = 12), kann hier Vorwärts, Rückwerts und Stopp vorgegeben werden (s. Detail der Eingänge)

Ein-/Ausgänge

Bezeichnung:Datentyp:Beschreibung:
_MasterAXIS_REFMotion Struktur für die verbundene Master Achse (z.b. MasterEngine)
_AxisAXIS_REFMotion Struktur für die verbundene Slave Achse
_MotionHandlerCommTB_MOTION_HANDLER_COM_IOAustausch-Struktur zwischen MotionHandler_EV und _CY (selbe Struktur muss an beide FBs angeschlossen werden), sowie
Eingangsbeschaltung der enthaltenen Motion Bausteine (s. Details)
Darstellung in FBD