多圈编码器断电后相位恢复思路
如果使用PLCOpen 可以尝试HomeRestore命令,这里的计算是为了之前项目使用ncAction提供思路。
版本信息
软件版本 |
修改内容 |
时间 |
修改人 |
V1.000 |
修改 |
20190128 |
刘海伟 |
1. 相位恢复算法
1.1 轴上电时
先homeoffset得到该轴的原始位置值a(单位为unit);电机单圈对应的unit为b;断电保持的轴当前原始值位置为c(单位为unit);断电保持的当前相位为d(单位为unit)。
▪利用a和b计算出上电后的编码器当前圈数
▪利用a、 c和d计算出上电后的当前相位
1.2 轴运行时
编码器单圈脉冲数为e(单位为inc)
▪利用e的变化规律计算出运行中的当前编码器圈数f
▪根据e、f和b计算出轴的当前原始值位置,并存为掉电保持变量
▪利用ID929计算出实时的相位,并存为掉电保持变量
2. 程序说明
2.1 轴上电时
Step1:等待轴初始化完成,且相关轴处于静止状态,禁止PLC和轴的循环通讯:
Step2:计算编码器单圈和多圈对应的unit,发出home命令(mode为ncHOME_OFFSET):
Step3:读取原始值成功,计算编码器当前圈数:
Step4:根据上电时的原始值、断电前的原始值和相位恢复上电时的相位:
2.2 轴运行时
Step1:轴原始值计算:
Step2:编码器当前圈数计算: