先说下型号及参数设置,smart+V90 PTI,配21位绝对值编码器;减速机35:1,蜗杆1转行程0.58mm,总行程450mm;伺服参数设置,自定义1LU=1um,所以P29247(负载每转)=580LU,P29248(负载转数)=1,P29249(电机转数)=35;自定义1转=2000脉冲,所以1LU=(2000x35)÷580=7000/58
首先组态时候,我想选工程单位,但只能填写到小数点后3位,而0.58÷35的小数又很多,担心误差会很大,所以我选择相对脉冲,把计算过程放到程序里。然后我还需要读编码器的位置,使用 AXISx_ABSPOS 指令,查询资料得知读取的是r2521,单位LU。接下来是关键,位置更新 AXISx_ABSPOS 的New_Pos引脚为脉冲输入,那么我需要将r2521x(7000/58)输入New_Pos,这样对吗?
最后关于AXISx_GOTO有个疑问,Speed是每秒发出的脉冲,这个好理解,Pos 为脉冲输入,是位移距离需要的脉冲总量吗,比如我想移动0.58mm,那么就输入2000x35=70000个脉冲