问题:程序有一部分看不懂,就是给绝对式编码器赋值的程序(DP组态通讯方式,32bit多圈PF)。 程序中是这样做的:正常运行时加载DW#16#401F到编码器的输入32BIT,给绝对值编码器赋值时停止加载DW#16#401F,加载输入为DW#16# 8000401F,这里401F是加载值,为什么正常运行时要一直加载DW#16#401F? 为编码器赋值时,缺少加载 DW#16#8000401F。 这是编码器的32位中,有多少是用来控制编码器的? 比如encoder的32位中的最高位是用来把encoder的值清0的,小弟这里有点迷糊,大侠能给个解答吗? 另外,PF的多圈绝对值编码器能转多少圈? 你是怎么计算的?
答:因为我没用过倍加福编码器,不知道DP通讯中双字的每一位的含义。 但是绝对值编码器非常相似。 我们经常用到TR的绝对值编码器,按照你说的把值写入绝对值编码器,也就是校准编码器。 通常,要向编码器写入一个值,必须触发控制字的一位,即编码器视图中 DW#16#8000401F 的最高位 1。 设置此位时,可以将值写入编码器。 但是重置该位将无法将值写入绝对编码器。 双字DW#16#401F表示正常运行时的控制字,也可能包含状态字。 具体含义可以参考后面倍加福编码器通讯章节,了解DP通讯中各个位的含义。 Pepperl+Fuchs 很少使用。