Skip to content

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{

    }