为什么PLC读取的编码器位置和伺服驱动器实际位置对不上?
日期:2022-11-24 14:58
1、Y0轴的D1652是编码器的相对值。把D1652清0,底层做的动作是把伺服编码器的当前值存到某个D寄存器。比如当前编码器的数值
是K8000,你用D1652清0时,会把K8000比如存在D9000。那D1652显示的值=编码器当前值-D9000。不会实际去修改伺服编码器数值,
但会预存一个数值起来。
2、D1652是实时读取伺服PDO的6077H。
3、比如更改伺服当前位置,把M1472设置为ON,并不会去修改伺服编码器的数值,而是会预存一个数值,我们存到底层origin。
origin = 伺服编码器的数值 - D1652。每次D1652显示的数值=伺服编码器的数值 - origin。假设伺服编码器当前值 是K6000,
用M1472设置为ON之后,编码器当前值还会是K6000,origin = K6000 - K0, origin 就变成K6000,那以后D1652=K6000 - oringin = K0,
那编码器这时从K6000变成K6100,那D1652 = K6100 - origin = K6100 - K6000 = K100, D1652会显示100,编码器那边会显示K6100,
实际编码器也是清零之后只变化了100。
上一篇:
上一篇:
军创(厦门)自动化科技有限公司
0592-7168796转8001 (商务) | 0592-7168796转8003 (技术)
0592-7168796转8001 (商务)
0592-7168796转8003 (技术)
厦门火炬高新区(翔安)产业区莲亭路882-7号第五层