Overview
General-purpose NC axis wrapper function blocks. This function block can be used without any PackML-related functions and does not by itself implement any of the component model interfaces. Use FB_Component_BasicAxis, FB_Component_BasicSlaveAxis, FB_Component_CamSlaveAxisfor PackML-based projects.
Class Diagram
Basic Axis
classDiagram
I_CyclicFB --|> I_BaseFB
FB_BaseFB ..|> I_BaseFB
FB_CyclicFB --|> FB_BaseFB
FB_CyclicFB ..|> I_CyclicFB
I_BasicAxis --|> I_CyclicFB
I_BasicAxis --o I_MotionSequence
I_MotionSequence --o I_BasicAxis
I_MotionSequence --|> I_BaseFB
FB_BasicAxis --|> FB_CyclicFB
FB_BasicAxis ..|> I_BasicAxis
class I_BasicAxis{
<<Interface>>
+LREAL Acceleration
+LREAL Deceleration
+LREAL Velocity
+LREAL Jerk
+LREAL ActualAcceleration
+LREAL ActualPosition
+LREAL ActualPositionModulo
+LREAL ActualTorque
+LREAL ActualVelocity
+LREAL PositionLag
+LREAL SetAcceleration
+LREAL SetPosition
+LREAL SetPositionModulo
+LREAL SetVelocity
+BOOL Enabled
+BOOL InPosition
+BOOL Stopped
+LREAL Override
+REFERENCE TO AXIS_REF Axis
+I_MotionSequence HomeMethod
+I_MotionSequence ResetMethod
+BOOL Disable()
+BOOL Enable()
+BOOL Home()
+BOOL Jog(BOOL JogFW, BOOL JogBW, E_JogMode JogMode, LREAL Position)
+BOOL MoveAbsolute(LREAL Position, BOOL AbortPrevious)
+BOOL MoveModulo(LREAL Position, MC_Direction Direction, BOOL AbortPrevious)
+BOOL MoveRelative(LREAL Distance, BOOL AbortPrevious)
+BOOL MoveVelocity(LREAL Velocity, BOOL AbortPrevious)
+BOOL Reset()
+BOOL Stop()
+BOOL WriteBoolParameter(MC_AxisParameter ParameterNumber, BOOL Value)
+BOOL WriteParameter(MC_AxisParameter ParameterNumber, LREAL Value)
}
class I_BaseFB{
<<SPT Base Types>>
}
class I_CyclicFB{
<<SPT Base Types>>
}
class I_MotionSequence{
<<Interface>>
+I_BasicAxis Axis
+BOOL Execute()
}
class FB_BaseFB{
<<SPT Base Types>>
}
class FB_CyclicFB{
<<SPT Base Types>>
}
class FB_BasicAxis{
}
Basic Slave
classDiagram
I_CyclicFB --|> I_BaseFB
FB_BaseFB ..|> I_BaseFB
FB_CyclicFB --|> FB_BaseFB
FB_CyclicFB ..|> I_CyclicFB
I_BasicAxis --|> I_CyclicFB
FB_BasicAxis --|> FB_CyclicFB
FB_BasicAxis ..|> I_BasicAxis
I_BasicSlaveAxis --|> I_BasicAxis
FB_BasicSlaveAxis --> FB_BasicAxis
FB_BasicSlaveAxis ..|> I_BasicSlaveAxis
class I_BasicSlaveAxis{
<<Interface>>
+BOOL InGear
+REFERENCE TO AXIS_REF Master1
+REFERENCE TO AXIS_REF Master2
+REFERENCE TO AXIS_REF Master3
+REFERENCE TO AXIS_REF Master4
+LREAL RatioMaster1
+LREAL RatioMaster2
+LREAL RatioMaster3
+LREAL RatioMaster4
BOOL GearIn()
BOOL GearOut()
}
class I_BasicAxis{
<<SPT NC Axis>>
}
class I_BaseFB{
<<SPT Base Types>>
}
class I_CyclicFB{
<<SPT Base Types>>
}
class FB_BaseFB{
<<SPT Base Types>>
}
class FB_CyclicFB{
<<SPT Base Types>>
}
class FB_BasicAxis{
}
Cam Slave
classDiagram
I_CyclicFB --|> I_BaseFB
FB_BaseFB ..|> I_BaseFB
FB_CyclicFB --|> FB_BaseFB
FB_CyclicFB ..|> I_CyclicFB
I_BasicAxis --|> I_CyclicFB
FB_BasicAxis --|> FB_CyclicFB
FB_BasicAxis ..|> I_BasicAxis
I_CamSlaveAxis --|> I_BasicAxis
FB_CamSlaveAxis --> FB_BasicAxis
FB_CamSlaveAxis ..|> I_CamSlaveAxis
class I_CamSlaveAxis{
<<Interface>>
+BOOL InSync
+REFERENCE TO AXIS_REF Master
+REFERENCE TO ST_CamParameters CamParameters
+UDINT RunningTable
+LREAL SyncPos
BOOL ChangeMode()
BOOL FindSlavePos()
BOOL FindSyncPos()
BOOL StartCouple()
BOOL StartSync()
BOOL UpdateTable()
}
class I_BasicAxis{
<<SPT NC Axis>>
}
class I_BaseFB{
<<SPT Base Types>>
}
class I_CyclicFB{
<<SPT Base Types>>
}
class FB_BaseFB{
<<SPT Base Types>>
}
class FB_CyclicFB{
<<SPT Base Types>>
}
class FB_BasicAxis{
}