配色: 字号:
用报文3或报文102读取V90单圈绝对值编码器的绝对位置
2021-09-30 | 阅:  转:  |  分享 
  
用报文3或报文102读取V90单圈绝对值编码器的绝对位置需要:前些天做项目,需要完成扭矩控制,及电机轴的绝对位置读取。采购:买的V90PN的
驱动器,单圈绝对值的电机。方案:更改FB285,V90用速度模式,配102报文。扭矩控制:102报文中PZD5为扭矩减少,可通过此
值限制扭矩,达到恒扭矩的控制。可参考官方文档https://support.industry.siemens.com/cs/doc
ument/109745698/-sinamics-v90-pn%E9%80%9F%E5%BA%A6%E6%8E%A7%E5%88
%B6%E6%A8%A1%E5%BC%8F%E4%B8%8B%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B
0%E8%BD%AC%E7%9F%A9%E9%99%90%E5%B9%85%E5%8A%9F%E8%83%BD?dti=0&lc=
zh-CN。绝对位置读取:问题:由于设备会断电,如断电后,电机轴运动,再次上电,要更新为轴的实际位置。假如电机轴一圈为0-36
0°,每个位置要始终对应相应的角度。此时读取G1_XIST1中的实际位置就无法实现了。解决:102报文PZD6为编码器控制字,其中
bit13为请求绝对值周期。官方介绍:requestofadditionalcyclictransmissionoft
heabsoluteactualpositioninG1_XIST2,ifnootherdataneedsto
betransferredduetocommandsorerrorstheabsolutepositionv
aluewillbetransmittedautomatically.请求额外循环发送G1_XIST2中的绝对实际位置,如
果由于命令或错误而无需传输其他数据,则绝对位置值将自动发送。设置bit13为1,此时读取G1_XIST2,即为编码器的绝对位置。附
更改的FB285。扭矩控制:#prTorque:=(#RefTorque#TorqueLimit-#TorqueSp)/
(#RefTorque#TorqueLimit)16384.0#sxSendBuf.MOMRED:=INT_TO_W
ORD(REAL_TO_INT(#prTorque));位置转换:#Position:=DINT_TO_REAL(DWORD
_TO_DINT(#sxRecvBuf.G1_XIST2));角度转换:IF#Position<=#TruncatedPo
sitionTHEN#ActAngle:=((#TruncatedPosition-#Position)/2097
152.0)360;ELSE#ActAngle:=360-(((#Position-#TruncatedPositi
on)/2097152.0)360);END_IF;
献花(0)
+1
(本文系皓月秋水原创)