所谓“复位”功能,在光栅尺的手册中,称为“当前位置通知输出功能”,指的是将当前位置相对于编码器的零点之间的计数值的差值进行输出。即当光栅尺的感测头被模具碰到时,PLC就通过一个DO输出连接至光栅尺的“复位”信号,“复位”信号的下降沿将触发光栅尺将模具此刻的位置与编码器的“零”位置之间的差值进行输出,之后PLC根据该数值来调整模具与旋转轴之间的初始位置。由于每次设备重新上料的时候,都需要重新调整初始位置,因此该功能在每个工序开始时都会执行。
但只要系统执行该功能时,往往就会在S7-1500系统中得到一个“编码器故障”的报警和错误(图2):
从手册中,可以查到相对应的故障信息,表示这是一个“编码器故障”:
而一旦检测到该故障,则系统将进入“standstill”状态。从而导致设备停机。
并且该故障仅在执行“复位”功能时才会出现,一旦进入正常生产状态,该故障不再出现。
因此,我们初步怀疑是编码器脉冲检测过程出了问题,因而重点检测了在“复位”执行过程中,光栅尺的脉冲信号。
根据传感器的手册,我们发现,当触发“复位”功能时,光栅尺的输出脉冲将被关闭(图3)。
于是我们用示波器检测了该光栅尺在“复位”时所发出的计数脉冲的信号波形(图4)。
从波形中可以看到,当模具触发到该“复位”感测头时,光栅尺的脉冲将关断,所有脉冲的状态均为“零”。
根据手册,该光栅尺的输出信号为与EIA-422兼容的信号,该信号是由A相、B相组成,相互之间有90度的相位差(图5):
因此,该信号在“复位”的瞬间,其实有4种可能性(图6):
可以看到,对于A、B相脉冲来讲,每相邻两种情况,都是只有一个信号跳变(A相或者B相从1—>0或者0—>1),因此,当脉冲处于1、3、4状态时,当编码器被“复位”时,对于计数模板来讲,都还是检测到只有一个信号跳变,因此对于计数模板来讲,都认为信号是正常的;但当编码器处于情况2时,由于A、B两相的信号是同时从“1”变到“0”的,两个信号都出现了跳变,因此很有可能会被模板认为是编码器信号出现异常,从而被认为是故障。并且该检测是模板自带的功能,通过参数是无法将该功能屏蔽掉的。
为此,我们对编码器的这几种情况分别进行了测试,发现故障果然都是出现在第2种情况(图7)。
在这种情况下,故障就会出现(图8),而当编码器处于1、3、4几种情况时,计数模板均不会报故障。
并且该故障不仅出现在定位功能,还出现在计数功能中(图9)。
由于第2种情况刚好为4种情况之一,因此该故障出现的概览大概为25%,这也与现场反映的情况刚好是一致的。
而当系统正常工作时,由于不存在A、B相同时由“1”跳变为“0”的情况,因此是不会出现故障信息的。
通过本次现场的检测,我们可以确定,对于编码器信号,S7-1500的位置检测模板(计数模板)会对编码器信号进行检测,当出现信号“突变”的情况时,就会报出“编码器故障”信息,并使得系统进入相应的状态(例如:停车)。因此,可以看到,新的S7-1500的检测机制更为完善、故障信息更加详细,同时模板的功能也更加完善,这些应该都是新的S7-1500系统的一些新功能和新特性,分享出来希望各位能够有所了解,下次使用到S7-1500的计数或者定位模板的话,大家可以做个参考。
当然,由于确认了这些信息,用户通过程序的处理,对控制工艺进行了修改,避免了由于模板检测到编码器故障导致的设备停机问题的再次出现。