我建议你先监视一下,我看你这个C251根本没有计数。C251是双向双脉冲高速计数器,是感受X0和X1的AB相脉冲来计数的,和普通的C0什么的前面用内部触点计数是不一样的。高速计数器是不能用前面加一个触点控制计数个数的。你这个程序C251根本不会计数。
望采纳。。。。。
有三种可能:
第一、是步进电机滑步了,多划出30个脉冲;(无负载的情况下滑步可能性不大)
第二、可能是编码器编码精度少于1000个脉冲每圈;
第三、你没有用联轴器联直连步进电机,因齿轮间隙导致编码器转动惯量前冲10.8度。
(可连续转动100转,然后看看是不是仍然多出30个左右脉冲,如果是,就是间隙问题。)