信捷电气选型平台
选型支持与报价:18115003881
信捷XDH系列PLC A_STOP指令加减速设定后不生效的解决办法
来源:常州三禾工 | 作者:常州三禾工技术部 | 发布时间: 2022-07-22 | 876 次浏览 | 分享到:
现象:修改A_STOP指令的“目标减速度”“目标加速度”后,触发A_STOP指令后轴不按照设定的“目标减速度”停止依旧以某个固定的速度停机或立即停下。


现象:修改A_STOP指令的“减速度”后,触发A_STOP指令后轴不按照设定的“减速度”停止依旧以某个固定的速度停机或立即停下。


注1:此处“减速度”并不是“减速时间”。减速度(单位:u/s²)在总线型指令中,取值范围 为1-65536000 ,这个值设定越大; 对应减速时间越短,值越小,对应减速时间越长。



注2:A_VELMOVE(速度控制运动)指令,如果“减速度”为0,那么这条指令生效时,轴的“减速度”会以轴配置中 “最高减速度”*“默认减速度百分比”% 作为“减速度”




解决:轴实际的减速度是取当前运动的指令中的减速度和 A_STOP 指令中的减速度较大值。

所以如果使用A_VELMOVE(速度控制运动)指令时要让轴按照A_STOP 指令设置的减速度停止,就需要保证A_VELMOVE指令中的“减速度”小于等于A_STOP指令的“减速度”。


如: 使用 “A_VELMOVE D1000 D100 M0 K0 ”控制轴运动时,


用“A_STOP D1100 D110 M10 K0”让轴停止时,


需要 D1008=D1100且D1108=0(减速停止)


可使用C语言

#define SysRegAddr_HD_D_HM_M

#define FHD          *(float*)&HD

#define LHD          *(FP64*)&HD

#define LDD          *(FP64*)&D

LDD[1100]=FHD[0]*FHD[2]/FHD[4];//HD0为设置的减速度mm/s,HD2为每圈脉冲数,HD4为每圈对应位移

LDD[1008]=LDD[1100];//保证两个减速度一样


注:减速停止时轴不会被除A_STOP指令外的指令打断,即直到减速停机后,轴才会接受除A_STOP以外其他控制轴运动的指令。


验证程序




A_PLSF的减速度=“默认速度”/“减速时间” 此处减速时间单位为毫秒

即实际 减速度=默认速度/减速时间*1000 大小才和其他指令一致。



“减速时间”或“默认速度”为0,减速度也等于默认减速度


此处以 默认减速度 等于 65536000*100%为例 单位为 u/s²


情景1:A_VELMOVE设置减速度为0,A_STOP设置减速度为0,即两指令中减速度都为默认减速度,轴会以轴配置中以默认减速度作为“减速度”


情景2:A_VELMOVE设置减速度为1310720,A_STOP设置减速度为0,即两条指令减速度分别为1310720和默认减速度,轴会以两者中数值更大的默认减速度作为“减速度”


情景3:A_VELMOVE设置减速度为0,A_STOP设置减速度为1310720,即两条指令减速度分别为默认减速度和1310720,轴会以两者中数值更大的默认减速度作为“减速度”


情景4:A_VELMOVE设置减速度为2621440,A_STOP设置减速度为1310720,即两条指令减速度分别为2621440和1310720,轴会以两者中数值更大的2621440作为“减速度”