Motion Manager
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: |
|---|---|---|
| _Master | AXIS_REF | Motion Struktur für die verbundene Master Achse (z.b. MasterEngine) |
| _Axis | AXIS_REF | Motion Struktur für die verbundene Slave Achse |
| _MotionHandlerComm | TB_MOTION_HANDLER_COM_IO | Austausch-Struktur zwischen MotionHandler_EV und _CY (selbe Struktur muss an beide FBs angeschlossen werden) |
| _CAM_REF | MC_CAM_REF | Kurvendatensatzvariable 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) |

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_Active | BOOL | TRUE: Baustein ist frei gegeben und aktiv. |
| i_DriveState | INT | Statusmeldung über den aktuell ausgeführten MotionBaustein/State (s. Detail der Ausgänge und Flowchchart) |
| a_DriveErrorWarningList | INT_32_BMARRAY | Fehler/Warnungs Array zeigt alle Drive Fehler und Warnungen an (s. Detail der Ausgänge) |
| a_MotionErrorWarningList | WORD_32_BMARRAY | Fehler/Warnungs Array zeigt alle Motion Fehler und Warnungen an (s. Detail der Ausgänge) |
| x_Warning | BOOL | TRUE: Der Baustein hat eine Warnung erkannt. |
| w_WarningID | WORD | Warnungsnummer des Bausteins |
| x_Error | BOOL | TRUE: Der Baustein hat einen Fehler erkannt. |
| w_ErrorID | WORD | Fehlernummer 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
| IN | OUT | |
| DINT | DI[01] - [20] | DI[01] - [20] |
| UDINT | UD[01] - [20] | UD[01] - [20] |
| INT | IN[01] - [20] | IN[01] - [20] |
| UINT | U[01] - [20] | U[01] - [20] |
| USINT | US[01] - [20] | US[01] - [20] |
| BOOL | X[01] - [20] | X[01] - [20] |
| WORD | W[01] - [20] | W[01] - [20] |
| IN | OUT | |
| DINT | DI[01]: Position (MC_MoveAbs) DI[02]: Distance (MC_MoveRel) | n.v. |
| UDINT | UD[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. |
| INT | IN[01]: RatioNumerator (MC_Gear) IN[02]: Direction (MC_MoveVelocity) IN[03]: Direction (MC_MoveAbs) | n.v. |
| UINT | U[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) |
| USINT | US[01]: CTS MasterResolution (CY) | n.v. |
| BOOL | X[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_Enable | BOOL | TRUE: Freigabe des Bausteins. |
| i_DriveCmd | INT | Durch 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_Cmd | WORD | Im 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: |
|---|---|---|
| _Master | AXIS_REF | Motion Struktur für die verbundene Master Achse (z.b. MasterEngine) |
| _Axis | AXIS_REF | Motion Struktur für die verbundene Slave Achse |
| _MotionHandlerComm | TB_MOTION_HANDLER_COM_IO | Austausch-Struktur zwischen MotionHandler_EV und _CY (selbe Struktur muss an beide FBs angeschlossen werden),
sowie Eingangsbeschaltung der enthaltenen Motion Bausteine (s. Details) |
