保持对技术的好奇心,拓宽知识的边界,提高认识的分辨率
Version 1.0.0
基于一套位置反馈系统中来描述一个位置和运动,必须确定3个要素:原点、方向和比例,其中方向和比例容易理解和设置,而确定原点的位置,却是一个重要、必要而参数极多的过程,有多种实现方式。本文旨根据10余种驱动硬件和反馈类型,具体描述TwinCAT NC编码器参数的可用组合。
设置位置反馈系统,在TwinCATNC的Axis下的Axis_Enc界面中进行。如图所示:

首先要确定运动的正方向。默认设置时,从电机的轴伸端观察,逆时针旋转为正向,顺时针方向为反向。经过传动以后,或者电机的安装方向不同,电机轴伸逆时针旋转(即正转)时有可能最终机构是在后退。这时就需要将编码器的计数方向取反,即上图中的第2行中“Invert Encoder Counting Direction”设置为True。注意,Axis_Drive参数中的Invert Drive Direction须设置为与此处相同,否则可能飞车。
其次是要设置位置反馈系统的脉冲当量(Scaling Factor)。不论物理轴是什么类型,位置反馈信号来自总线还是来自编码器模块,脉冲当量的计算没有歧义:位置反馈变量的值每增加1,最终机构移动的距离(mm)。
第三就是设置反馈系统的2至7项,来确定原点位置或者找原点的方式以及找原点过程中的各种选项。不同的物理轴,不同的反馈类型,这些参数项有不同的组合。通常情况下,映射好物理轴之后,使用默认参数即可。但是如果参数设置不恰当,有可能当时运行正常,只在某种工况下才表现异常,去查故障分析原因时可能就会忽略这些参数,而走上弯路。所以最好的做法,就是一开始就清楚理解参数的含义并且正确设置。
下面分别描述各种驱动硬件和反馈类型的参数设置。用户使用时,只要找到自己项目中使用的类型即可,不需要通读。
1. Simulation(虚轴):
① | 默认值 |
② | 默认值 |
③ | 默认值 |
④ | 默认值 |
⑤ | 默认值 |
⑥ | 默认值 |
⑦ | MC指令:MC_Homing Mode为MC_Direct或者MC_ForceCaliberation 或指令MC_SetPositon |
2. 总线伺服+单圈绝对编码器:
行程超出1圈数 | 行程不超出1圈 | |
① | 每圈距离 电机转动一圈的反馈值的增量
其中每圈距离: 皮带/辊子:PAI*直径 丝杠:导程 有减速机时再除以减速比 | 同左 |
② | 0 | 校准过程: 设置Bias为0,激活重启 机构移至目标原点 显示位置为 x 设置Bias为 x*(-1.0) 保存配置,重新激活 |
③ | Mask:32位都为1 Sub Mask:单圈n位 则低n位为1 | 同左 |
④ | Incremental | Absolute |
⑤ | 根据原点开关安装位置 靠负限位:True/False 靠正限位:False/True | 无 |
⑥ | Software Sync 含义:找到原点开关后,离开原点开关的第一个编码器反馈为0的点为原点 | 无 |
⑦ C | MC指令:MC_Homing 或“伺服寻参模式” 后者5,6项不用设置 | 设置参数2: Bias |
* 以上第3项,掩码设置的前提是伺服侧使用原始位置反馈作为Process Data中当前位置的输出,而未作自定义的设置。假如有的伺服在内部设置电机转动一圈,输出360,000个位置增量。此时
Sub Mask就要设置为360,000,即16#0005 7E40 而MASK仍然是16#FFFF FFFF
如果Sub Mask设置错了,大于一圈的最大脉冲数,比如2倍,那就可能电机转两圈才找到一个Software Sync信号。
** 所有反馈类型的Reference Mode都可以选择PLC CAM,表示找到原点开关后,离开原点开关时,原点开关信号的下降沿
3. 总线伺服+多圈绝对编码器:
行程超出圈数 | 行程不超出圈数 | |
① | 每圈距离 电机转动一圈的反馈值的增量
其中每圈距离: 皮带/辊子:PAI*直径 丝杠:导程 有减速机时再除以减速比 | 同左 |
② | 校准过程: 设置Bias为0,激活重启 机构移至目标原点 显示位置为 x 设置Bias为 x*(-1.0) 保存配置,重新激活 | 同左 |
③ | Mask:32位都为1 Sub Mask:单圈n位 则低n位为1 | 同左 |
④ | Incremental | Absolute |
⑤ | 无 | 无 |
⑥ | 无 | 无 |
⑦ | 设置参数2: Bias 并记忆溢出次数 | 设置参数2: Bias |
4. 总线伺服+增量编码器:
带Z相或者C相 | 不带Z相或者C相 | |
① | 每圈距离 电机转动一圈的反馈值的增量
其中每圈距离: 皮带/辊子:PAI*直径 丝杠:导程 有减速机时再除以减速比 | 同左 |
② | 0 | 同左 |
③ | Mask:32位都为1 Sub Mask:编码器n线 则低n位为1 | 同左 |
④ | Incremental | 同左 |
⑤ | 根据原点开关安装位置 靠负限位:True/False 靠正限位:False/True | 同左 |
⑥ | Hardware Sync 含义:找到原点开关后,离开原点开关的第一个Z信号为原点
*前提是伺服侧配置的过程变量中,包括了锁存位置。 | 伺服上带Latch点: Hardware Latch(Pos/Neg) 含义:找到原点开关后,离开原点开关的第一个Latch信号的上升沿(Pos)或者下降沿(Neg) |
伺服上不带Latch点: PLC CAM 含义:找到原点开关后,离开原点开关时,原点开关信号的下降沿 | ||
⑦ C | MC指令:MC_Homing 或“伺服寻参模式” 后者5,6项不用设置 |
* 以上第3项,掩码设置的前提是伺服侧使用原始位置反馈作为Process Data中当前位置的输出,而未作自定义的设置。假如有的伺服在内部设置电机转动一圈,输出360,000个位置增量。此时
Sub Mask就要设置为360,000,即16#0005 7E40 而MASK仍然是16#FFFF FFFF
如果Sub Mask设置错了,大于一圈的最大脉冲数,比如2倍,那就可能电机转两圈才找到一个Software Sync信号。
** 所有反馈类型的Reference Mode都可以选择PLC CAM,表示找到原点开关后,离开原点开关时,原点开关信号的下降沿
5. 总线伺服+旋转变压器(Resolver)
行程超出1圈数 | 行程不超出1圈 | |
① | 每圈距离 电机转动一圈的反馈值的增量
其中每圈距离: 皮带/辊子:PAI*直径 丝杠:导程 有减速机时再除以减速比 | 同左 |
② | 0 | 校准过程: 设置Bias为0,激活重启 机构移至目标原点 显示位置为 x 设置Bias为 x*(-1.0) 保存配置,重新激活 |
③ | Mask:32位都为1 Sub Mask:伺服旋变接口的分辨率,以AX5000为例,一圈总是220 ,所以Sub Mask值为低20位为1,即0xF FFFF | 同左 |
④ | Incremental | Absolute |
⑤ | 根据原点开关安装位置 靠负限位:True/False 靠正限位:False/True | 无 |
⑥ | Software Sync 含义:找到原点开关后,离开原点开关的第一个位置反馈为0的点为原点 | 无 |
⑦ C | MC指令:MC_Homing 或“伺服寻参模式” 后者5,6项不用设置 | 设置参数2: Bias |
* 以上第3项,掩码设置的前提是伺服侧使用原始位置反馈作为Process Data中当前位置的输出,而未作自定义的设置。假如有的伺服在内部设置电机转动一圈,输出360,000个位置增量。此时
Sub Mask就要设置为360,000,即16#0005 7E40 而MASK仍然是16#FFFF FFFF
如果Sub Mask设置错了,大于一圈的最大脉冲数,比如2倍,那就可能电机转两圈才找到一个Software Sync信号。
** 所有反馈类型的Reference Mode都可以选择PLC CAM,表示找到原点开关后,离开原点开关时,原点开关信号的下降沿
6. EL252x脉冲模块+伺服(步进)
行程超出1圈数 | |
① | 每圈距离 要电机转动一圈的伺驱动器需要的脉冲数
其中每圈距离: 皮带/辊子:PAI*直径 丝杠:导程 有减速机时再除以减速比 |
② | 默认值:0 |
③ | 默认值:0x FFFF |
④ | 默认值:Incremental |
⑤ | 根据原点开关安装位置 靠负限位:True/False 靠正限位:False/True |
⑥ | PLC CAM 含义:找到原点开关后,离开原点开关时,原点开关信号的下降沿 |
⑦ | MC指令:MC_Homing 后者5,6项不用设置 |
7. EL70x1 步进模块
带反馈 | 不带反馈 | |
① | 每圈距离 电机转动一圈的反馈值的增量
其中每圈距离: 皮带/辊子:PAI*直径 丝杠:导程 有减速机时再除以减速比 | EL70x1-0000 每圈距离 12800
EL70x1-1000 每圈距离/(200*细分)
其中每圈距离: 皮带/辊子:PAI*直径 丝杠:导程 有减速机时再除以减速比 |
② | 0 | 0 |
③ | 默认值:0xFFFF | 同左 |
④ | Incremental | 同左 |
⑤ | 根据原点开关安装位置 靠负限位:True/False 靠正限位:False/True | 同左 |
⑥ | PLC CAM 含义:找到原点开关后,离开原点开关时,原点开关信号的下降沿 | 同左 |
⑦ | MC指令:MC_Homing 或“伺服寻参模式” 后者5,6项不用设置 | 同左 |
8. EL72x1 伺服模块+多圈绝对编码器,
参考:总线伺服+多圈绝对编码器:
9. EL72x1伺服模块+单圈绝对编码器,
参考:总线伺服+单圈绝对编码器:
10. EL72x1伺服模块+Resolver
参考:总线伺服+Resolver:
11. EL5xxx +多圈绝对编码器
行程超出圈数 | 行程不超出圈数 | |
① | 每圈距离 电机转动一圈的反馈值的增量
其中每圈距离: 皮带/辊子:PAI*直径 丝杠:导程 有减速机时再除以减速比 | 同左 |
② | 校准过程: 设置Bias为0,激活重启 机构移至目标原点 显示位置为 x 设置Bias为 x*(-1.0) 保存配置,重新激活 | 同左 |
③ | 按默认设置 | 同左 |
④ | Incremental | Absolute |
⑤ | 无 | 无 |
⑥ | 无 | 无 |
⑦ | 设置参数2: Bias 并记忆溢出次数 | 设置参数2: Bias |
** 所有反馈类型的Reference Mode都可以选择PLC CAM,表示找到原点开关后,离开原点开关时,原点开关信号的下降沿
12. EL5xxx +单圈绝对编码器
行程超出1圈数 | 行程不超出1圈 | |
① | 每圈距离 电机转动一圈的反馈值的增量
其中每圈距离: 皮带/辊子:PAI*直径 丝杠:导程 有减速机时再除以减速比 | 同左 |
② | 0 | 校准过程: 设置Bias为0,激活重启 机构移至目标原点 显示位置为 x 设置Bias为 x*(-1.0) 保存配置,重新激活 |
③ | 按默认设置 | 同左 |
④ | Incremental | Absolute |
⑤ | 根据原点开关安装位置 靠负限位:True/False 靠正限位:False/True | 无 |
⑥ | Software Sync 含义:找到原点开关后,离开原点开关的第一个位置反馈为0的点为原点
Hardware Latch(Pos/Neg) 含义:找到原点开关后,离开原点开关的第一个Latch信号的上升沿(Pos)或者下降沿(Neg) | 无 |
⑦ | MC指令:MC_Homing 或“伺服寻参模式” 后者5,6项不用设置 | 设置参数2: Bias |
** 所有反馈类型的Reference Mode都可以选择PLC CAM,表示找到原点开关后,离开原点开关时,原点开关信号的下降沿
13. EL5xxx +增量编码器
带Z相或者C相 | 不带Z相或者C相 | |
① | 每圈距离 电机转动一圈的反馈值的增量
其中每圈距离: 皮带/辊子:PAI*直径 丝杠:导程 有减速机时再除以减速比 | 同左 |
② | 0 | 同左 |
③ | Mask:32位都为1 Sub Mask:编码器n线 则低n位为1 | 同左 |
④ | Incremental | 同左 |
⑤ | 根据原点开关安装位置 靠负限位:True/False 靠正限位:False/True | 同左 |
⑥ | Hardware Sync 含义:找到原点开关后,离开原点开关的第一个Z信号为原点
或者同右 | 有Latch点: Hardware Latch(Pos/Neg) 含义:找到原点开关后,离开原点开关的第一个Latch信号的上升沿(Pos)或者下降沿(Neg) |
无Latch点: PLC CAM 含义:找到原点开关后,离开原点开关时,原点开关信号的下降沿 | ||
⑦ C | MC指令:MC_Homing 或“伺服寻参模式” 后者5,6项不用设置 |
** 所有反馈类型的Reference Mode都可以选择PLC CAM,表示找到原点开关后,离开原点开关时,原点开关信号的下降沿
第5步:回原点的程序
基本的回原点步骤。
二次封装过的回原点程序
用户自定义的寻参程序(用PLC切换OPMode)
第6步:磁偏角
什么情况需要校磁偏角,什么时候用Wake and shake
AX5000,从PLC程序校磁偏角
(******************************)

喜欢本文?识别二维码,关注公众号
-技术区




