有没有大佬知道这段程序是什么意思?最好有每句的注释

已锁定

淡淡~

  • 帖子

    27
  • 精华

    0
  • 被关注

    0

论坛等级:游士

注册时间:2020-06-03

普通 普通 如何晋级?

有没有大佬知道这段程序是什么意思?最好有每句的注释

540

1

2020-07-06 17:26:07

INTERFACE

    USEPACKAGE CAM;

    USES dGlobal,FB_Lib;

    PROGRAM pAxis1Ctrl;

    VAR_GLOBAL

        instFBAxis1Enable            :   FBAxisEnableCtrl;

        instFBAxis1ManualCtrl        :   FBAxisManualCtrl;

        instFBAxesCammingCtrl        :   FBAxesCammingCtrl;

    END_VAR

END_INTERFACE



IMPLEMENTATION

    

    

    PROGRAM pAxis1Ctrl

        

    instFBAxis1Enable(

        enable := gboAlwaysOn

        ,axisEnable := gboAxesEnable

        ,toAxis := Axis_1

        // ,busy => 

        // ,axisCyclicInterface => 

        // ,axisVaild => 

        ,axisEnabled => gboAxis1Enabled

    );

    

    instFBAxis1ManualCtrl(

        enable := gboAlwaysOn

        ,toAxis := Axis_1

        ,manualMode := gboAlwaysOn

        ,axisHoming := gboAxis1HomingStart

     //     ,axisToHomePosition := 723

    //      ,axisJogPOS := 0

    //      ,axisJogNEG := 0

    //      ,relPositioningStart := 0

        ,absPositioningStart := gboAxis1MoveAbs

        ,axisMovingExecute := gboAxis1MoveVelocity

        ,axisStop := gboAxis1Stop

        ,sManualMotionData := gboAxis1ManualDataType

        ,BackTohomePositon := 0.0

        ,swLimitReqActive := 1

        ,swLimitMinusPosition := -100000000.0

        ,swLimitPlusPosition := 100000000.0

    //      ,busy => 

    //      ,vaild => 

    //      ,manualModeActive => 

    //      ,axisBackToPositionActive => 

    //      ,axisJoggingActive => 

    //      ,axisJoggingPOSActive => 

    //      ,axisJoggingNEGActive => 

    //      ,axisRelPositioningActive => 

        ,axisAbsPositioningActive => gboAxis1MoveAbsActive

        ,axisPositioningDone => gboAxis1MoveAbsDone

        ,axisMovingActive => gboAxis1MoveVelocityActive

    //      ,axisBackToPositionDone => 

    //      ,axisInStandStill => 

    //      ,axisSwLimitState => 

    );     

    

    gboAxis1ManualDataType.r64homePosition := 0;

   // gboAxis1ManualDataType.r64absPositioningPos := 2000000;

   // gboAxis1ManualDataType.r64absPositioningVel := 20000;

    gboAxis1ManualDataType.r64moveVelocity := gboAxis1MoveVelocity_Velocity;

    gboAxis1ManualDataType.sAccelJerk.r64positiveAccel := 10000;

    gboAxis1ManualDataType.sAccelJerk.r64positiveAccelJerk := 20000;

    gboAxis1ManualDataType.sAccelJerk.r64negativeAccel := 10000;

    gboAxis1ManualDataType.sAccelJerk.r64negativeAccelJerk := 20000;


    gboAxis1ActualVelocity := Axis_1.motionStateData.actualVelocity;

    gboAxis1ActualPosition := Axis_1.positioningState.actualPosition;

    

    

    instFBAxesCammingCtrl(

        enable := gboAlwaysOn

        ,toMaster := VirtualAxis

        ,toAxis := Axis_1

        ,toCam := Cam_1

        ,masterMode := ABSOLUTE

        ,slaveMode := ABSOLUTE

        ,cammingMode := CYCLIC

        ,synchronizingMode := ON_MASTER_POSITION

        ,syncOffMode := IMMEDIATELY

        ,syncPositionMaster := 0.0

        ,enableCammingSync :=  gboEnableCamming  

        ,disableCammingSync := gboDisableCamming  

//        ,busy =>             

//        ,axisVaild => 

        ,axisSynced => gboAxis1Synced

);

    


IF gboAxis1MoveVelocity AND gboAxis1MoveVelocityActive THEN

    

    gboAxis1MoveVelocity := FALSE;

END_IF;


IF gboAxis1MoveAbs AND (gboAxis1MoveAbsActive OR gboAxis1MoveAbsDone) THEN

    gboAxis1MoveAbs := FALSE;

END_IF;


IF Axis_1.motionStateData.motionState = STANDSTILL THEN

    gboAxis1Stop := FALSE;

END_IF;

       

    END_PROGRAM

    

    

END_IMPLEMENTATION


有没有大佬知道这段程序是什么意思?最好有每句的注释 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMOTION

共有2137条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。