沈阳建筑大学信息与控制工程学院 田朝霞 张 颖 潘翔宇 李俊达
电梯故障检测环节繁琐、耗时,电梯监控系统的使用大大减少了人力资源的消耗,为电梯的检修和控制提供了较为直观、准确的数据,为电梯的安全稳定运行提供了更为便利的条件。本文以蚁群算法为基础,以六层六站电梯监控系统仿真模型为测试对象,监测电梯实际运行情况,建立基于蚁群算法的PLC电梯故障监控系统模型,以期提高电梯故障的检测效率及准确率。
将电梯故障测试集T类比为蚁群算法中的城市集合,测试矢量ti是其中的元素,将故障作为食物,以故障为目标,则电梯故障检测问题即可转化为蚁群如何通过最少的测试矢量检测出故障点。本文以电梯各信号输入点作为测试矢量ti,并将由其故障状态构成的集合作为已知的故障检测集。在此模型中,不同测试集中的各矢量关联程度要小于同一测试集中各矢量的关联度。
设 ti与 tj的自启发量为:
其中,F是电路的故障集合;
fa是故障a的故障检测集;
p( fa)为故障a出现的概率。
假设电梯的故障集合F中测试矢量总数为m,则精英蚂蚁数为σ= m / 10。
第K个蚂蚁从测试矢量 ti到 tj的概率为:
t+1时刻测试矢量 ti到 tj的信息素为:
(t)表示此次循环中从测试矢量 ti到 tj的信息素增量;
(t)是此次循环中极优路径的额外信息素增量;
在本监控故障模型中,一次循环后第K只蚂蚁所经过的路径长度为:
Tk是第K只蚂蚁在本次循环中所经过的测试矢量集合;
由公式(1)可看出,若故障点ti,tj多次同时在同一故障检测集中出现,则二者之间的关联程度就越强,所以当第一次选择了 ti后,第二次选择 tj的可能性就增大,这样就对故障监测的时间和路径长度进行了优化。
(1)参数初始化。设初始时间 t = 0,循环次数 Nc= 0,并设定其最大值为 Ncmax,将m个蚂蚁分别放到 n 个测试矢量上,将每两个测试矢量间的信息素设置为 τmax;
(2)循环次数Nc=Nc+ 1 ;
(3)设故障总数为n,初始化故障序号a = 1;
(4)蚂蚁数目初始化 k = 0;
(5)蚂蚁数 k = k +1;
(6)蚂蚁k要通过遍历找出故障a,根据概率转移公式(3)选择下一个待检测的矢量 tj;
(7)将蚂蚁k移动到 tj,并将 tj记录到蚂蚁k的检索表中,同时更改检索表指针,使其指向下一待测矢量;
(8)判断故障a对应的故障检测集中的测试矢量是否全部包含在蚂蚁k的检索表中,若已全部包含,则顺序执行;若未全部包含,则跳转到(6);
(9)若k > m则顺序执行;若k ≤ m则跳转到(5);
(10)根据公式(4)更新每两个测试矢量间的信息素;
(11)若故障集已遍历完,则顺序执行;若未完全遍历,则令a = a + 1,选择下一故障为目标,并跳转到(4);
(12)判断循环次数Nc≥ Ncmax是否成立,若成立,则循环结束并输出结果;若不成立,则清空每只蚂蚁的检索表,跳转到(2)继续循环。
本文以由4个电梯信号输入点构成的故障检测集进行仿真实验,设定参数之后,根据计算结果来判断采用蚁群算法进行电梯故障监控的效果。故障集F如表1所示。
表1 电梯故障集F
故障与其对应的故障诊断集关系见表2。
表2 故障诊断集
其中,表中0表示低电平,1表示高电平。
根据故障集和故障诊断集,按照故障检测步骤对测试矢量进行计算,得出各矢量之间的关联度。设置参数:迭代次数Ncmax= 200。经过计算,确定出基于蚁群算法的电梯单故障检测的平均可靠性为97.73%。并且,可以得出结论:改进后的蚁群算法可以使电梯单故障诊断的测试矢量路径趋近于最优路径,从而提高故障检测效率。
在电梯的故障检测中应用了改进后的蚁群算法,以通过搜索最少的测试矢量来检测到电梯故障为目的,研究蚁群搜索最优解的具体过程,建立以电梯信号输入点为测试矢量的故障集,确定各矢量之间的关联程度,在进行了仿真实验后,得出了检测故障的最优路径和可靠度。仿真实验表明,应用蚁群利用测试矢量间的关联度减少了矢量的检测,从而降低了检测程序的长度,同时也提高了检测的效率,为电梯的故障监控提供了较好的参考模型。
[1]杨章勇,李静,石永兵.基于WinCC和S7-300PLC的电梯监控系统设计与仿真[J].机械工程与自动化,2016(04):40-42.
[2]程艳燕.蚁群算法基本原理及其应用综述[J].科技创业月刊,2011,24(04):117-121.
[3]王晴.基于蚁群算法的电路故障诊断技术研究[D].华中科技大学,2007.