自定义脉冲输出功能块FB_MotionCtrl_PTO使用说明


 

自定义脉冲输出功能块FB_MotionCtrl_PTO使用说明

​ ​

目录


 

前言:


该自定义功能块降低了M241脉冲输出功能的使用难度,特别是对施耐德PTO控制功能块不熟悉的工程师有较大的帮助。只需要对PTO硬件进行简单配置后就可以使用功能块来控制输出,功能块提供了用户工程量单位到脉冲输出的自动转换,省去了用户单位转换的烦恼。

该功能优化了功能块的调用逻辑,不扫描未执行的功能块,从而降低了程序的执行时间,一些对程序执行周期要求严格的应用有一定的优化效果。

 

下载地址:


下载连接为归档工程文件,在打开归档文件时选择导入所有库文件即可将该库加入本地电脑中。

链接:https://pan.baidu.com/s/1SwzXTmtNiyX_ANm89EBn-w 
提取码:rji9

 

功能块库.compiled-library提供:


  • 位置设置SetPos

  • 回原点控制Home

  • 点动控制Jog

  • 速度模式控制MoveVel

  • 相对定位控制MoveRel

  • 绝对定位控制MoveAbs

 

用户单位换算:


换算关系公式:
 

示例:若机械减速比为3:1,设定500个脉冲i_rUintPlus对应丝杆导程(用户工程单位i_rUeserUint)5mm

 

则:

 

该库提供视图控制功能如下:


 

设备树中Pulse_Generators的脉冲PTO配置:


配置PTO输出模式,A输出位置,B输出位置,软件限位等可以根据实际需求选择,但加速度/减速度单位必须为赫兹/毫秒,如果需要执行MC_Home功能的话,必须配置Ref输入,Ref输入位置可以根据实际需求选择。

 

功能块调用:(PTO_0为设备树中脉冲输出的实例名称)


  • St语言下:

PROGRAM SR_Main
VAR
fbMotionCtrl_PTO_0 : fbMotionCtrl_PTO.FB_MotionCtrl_PTO;
stAxisCtrl_PTO_0 : fbMotionCtrl_PTO.ST_PTOCtrl_InOut;
END_VAR
fbMotionCtrl_PTO_0(iq_ptAxisRef:= ADR(PTO_0), iq_stAxisCtrlStr:= stAxisCtrl_PTO_0);
  • LD语言下:

 

输入管脚说明


管脚变量名称 变量类型 默认值 功能描述
i_xVisual_Enable BOOL   激活视图控制功能
i_sAxisName STRING(16) 'PTO_0' 视图中的轴名称
i_xLimP BOOL TRUE 正向限位
i_xLimN BOOL TRUE 反向限位
i_xCMDEnable BOOL   PTO使能
i_xCMDHome BOOL   回原点命令,如果回原点模式为0时,执行的为SetPos
i_xCMDAbs BOOL   绝对定位命令
i_xCMDVel BOOL   连续速度命令
i_xCMDJogFwd BOOL   正向点动命令
i_xCMDJogRev BOOL   反向点动命令
i_xCMDStop BOOL   停止命令
i_xCMDReset BOOL   复位命令
i_xCMDSetPos BOOL   设置位置命令
i_rGearIn REAL 1.0 减速机-输入
i_rGearOut REAL 1.0 减速机-输出
i_rUintPlus REAL 10000.0 脉冲数
i_rUeserUint REAL 360.0 脉冲数对应的用户单位
i_rSetPos REAL 0.0 设置位置-位置值
i_rHomePos REAL 0.0 原点位置-偏移值
i_enHomeMode PTO_HOMING_MODE ShortReference_Reversal 回原点-模式
i_enHomeDir MC_Direction mcPositiveDirection 回原点-方向
i_rHomeHighVel REAL 360.0 回原点-高速
i_rHomeLowVel REAL 36.0 回原点-低速
i_rVel REAL 360.0 速度模式-速度
i_rJogVel REAL 180.0 点动模式-速度
i_enVelMode MC_BUFFER_MODE mcAborting 速度模式-缓冲模式
i_rAcc REAL 3600.0 PTO加速度
i_rDec REAL 3600.0 PTO减速度
i_rAbsPos REAL   绝对定位-位置
i_rAbsVel REAL 360.0 绝对定位-速度
i_enAbsMode MC_BUFFER_MODE mcAborting 绝对定位-缓冲模式
i_rRelDis REAL   相对定位-距离
i_rRelVel REAL 360.0 相对定位-速度
i_enRelMode MC_BUFFER_MODE mcAborting 相对定位-缓冲模式
i_rStopDec REAL 36000.0 PTO停止减速度
i_iStopJerk INT 50 PTO停止的Jerk
i_iACCJerk1 INT 50 加速段-Jerk1
i_iACCJerk2 INT 50 加速段-Jerk2
i_iDECJerk1 INT 50 减速段-Jerk1
i_iDECJerk2 INT 50 减速段-Jerk2

 

输出管脚说明


管脚变量名称 变量类型 功能描述
q_wBErrorSignal WORD  
q_wSErrorSignal WORD  
q_xEnableSta BOOL MC_Power_PTO的状态
q_xJogBusy BOOL 点动控制中
q_xHomeDone BOOL 回原点完成
q_xHomeBusy BOOL 回原点中
q_xAbsDone BOOL 绝对定位完成
q_xAbsBusy BOOL 绝对定位中
q_xRelDone BOOL 相对位移完成
q_xRelBusy BOOL 相对位移中
q_xInVel BOOL 速度模式达到设定速度
q_xVelBusy BOOL 速度模式运行中
q_xStopDone BOOL PTO停止完成
q_enErrorID PTO_ERROR PTO故障ID
q_xDisable BOOL PTO未使能
q_xStandStill BOOL PTO静止
q_xContinuousMotion BOOL 连续速度运行中
q_xError BOOL 故障
q_xIsHomed BOOL 为True时参考点有效,允许绝对运动
q_rActPos REAL 当前实际位置(经齿轮比后的用户单位位置)
q_rActVel REAL 当前实际速度(经齿轮比后的用户单位速度)

 

程序中带地址变量与功能块的结构体变量关联示例:


全局的带地址变量声明
VAR_GLOBAL
G_xCMDEnable_PTO0 AT %MX100.0 : BOOL;
G_xCMDHome_PTO0 AT %MX100.1 : BOOL;
G_xCMDAbs_PTO0 AT %MX100.2 : BOOL;
G_xCMDRel_PTO0 AT %MX100.3 : BOOL;
G_xCMDVel_PTO0 AT %MX100.4 : BOOL;
G_xCMDJogFwd_PTO0 AT %MX100.5 : BOOL;
G_xCMDJogRev_PTO0 AT %MX100.6 : BOOL;
G_xCMDStop_PTO0 AT %MX100.7 : BOOL;
G_xCMDReset_PTO0 AT %MX100.8 : BOOL;
G_xCMDSetPos_PTO0 AT %MX100.9 : BOOL;
END_VAR
代码逻辑实现
IF NOT(stAxisCtrl_PTO_0.i_xVisual_Enable) THEN //视图控制未激活时
stAxisCtrl_PTO_0.i_xCMDEnable := GVL.G_xCMDEnable_PTO0;
stAxisCtrl_PTO_0.i_xCMDHome := GVL.G_xCMDHome_PTO0;
stAxisCtrl_PTO_0.i_xCMDAbs := GVL.G_xCMDAbs_PTO0;
ELSE //视图控制激活时
GVL.G_xCMDEnable_PTO0 := stAxisCtrl_PTO_0.i_xCMDEnable;
GVL.G_xCMDHome_PTO0 := stAxisCtrl_PTO_0.i_xCMDHome;
GVL.G_xCMDAbs_PTO0 := stAxisCtrl_PTO_0.i_xCMDAbs;
END_IF

 

故障信息:


参照ESME软件或Somoachine软件中关于M241的功能块MC_ReadStatus_PTO的PTO_ERROR 管脚描述


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM