d.如果D2等于0,则各触头正常;
e.如果D2等于ffffffff,则各触头正常,开关的状态已经转换,开关动作的次数增加1;
f.如果D2等于0到ffffffff之间的任何数,表示有触头损坏,开关的寿命等于到此时开关动作的次数。
(2)判断触头损坏的算法
为了帮助工程技术人员查找问题,测试仪在测量出开关寿命的同时,还要能够判断出是哪些触头损坏,因此有必要设计一个判断触头损坏的算法进一步判断哪些触头损坏。方法如下,当异或运算结果不为0及ffffffffh时,必然某些二进制位为0,而另一些二进制位为1。从生产实践得知,开关的触头很少一起损坏,一般是较少的几个触头先损坏,这样就可以通过比较为0的二进制位数与为1的二进制位数来决定哪些位对应的触点损坏,比如,如果异或运算结果D2为“10000000011000000000000010000000”,则为0的位有28位,为1的位有4位,因此可以判定,为1的位对应的触头是坏触头,共有4个。由以上的方法得到下面判断触头损坏的算法:
a.计算D2中为0的二进制位的位数N0;
b.计算D2中为1的二进制位的位数N1;
c.如果N0》N1,则为1的二进制位对应的触头是坏触头,共有N1个,否则为0的二进制位对应的触头是坏触头,共有N0个。
(3)软件流程图
根据以上的测试算法,可以设计出实现开关寿命测试及触点好坏判断的软件流程图,如图4所示。count是开关寿命计数器变量,开关每正确动作一次,count增加1,开关损坏时count值就是开关的实际寿命。D0和D1是连续两次采集的数据。
4 结束语
在本项目中,基于嵌入式技术来设计开关寿命测试仪的硬件,比采用工控机+采集卡的方案节约成本,而且携带方便。通过使用专门的算法来实现开关寿命的测试,提高了测试效率和测试精度。在某航空集团的应用表明,该测试仪工作可靠、容易使用,适合在开关生产行业推广应用。