技术论坛

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

作者 主题
游士

经验值: 171
发帖数: 27
精华帖: 0
主题:【探讨】有没有大佬知道这段程序是什么意思?最好有每句的注释


只看楼主 楼主 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



 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1630925&b_id=46&s_id=0&num=1

游民

经验值: 62
发帖数: 13
精华帖: 0
回复:有没有大佬知道这段程序是什么意思?最好有每句的注释


只看楼主 1楼 2020-08-28 14:54:12

就是想做一个CAM_1曲线的凸轮同步吧,主轴为虚轴。


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
有没有大佬知道这段程序是什么意思?最好有每句的注释
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。