为什么PLC读取的编码器位置和伺服驱动器实际位置对不上?

日期:2022-11-24 14:58

是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。