摘要:本文旨在构建一种基于互联网的电梯故障诊断专家系统,利用Prolog建立知识库,以网络服务系统的方式对电梯数据进行实时故障诊断处理,将变被动的故障维修行为为主动的预防维护。当电梯出现故障时,专家系统会及时通知维修人员并进行分析判断,协助维修人员尽快排除故障,减少停机时间,甚至在 电梯出现故障之前便可通过其他状态量来预测电梯故障,以及将要出现的故障原因。
关键词:电梯故障诊断;专家系统;在线; Prolog;知识库
0引言
近几年来,电梯行业飞速发展,电梯被广泛普及应用。在高层建筑大量涌现的今天,电梯作为城市的象征,给人们的工作和生活带来了前所未有的便利。作为一种机电设备,随着电梯使用时间和频繁程度的增加,机械磨损、电气老化和装置失效随之而来,各种故障不可避免。如何提高维护保养技术和管理水平,已成为各大电梯制造企业、维保企业和电梯用户关心的问题。
计算机控制技术和网络通讯技术与日俱进,对电梯产品而言,电梯故障诊断专家系统系统,作为一种全新的产品概念和服务观念,会越来越多地受到用户的关注。采用在线专家系统进行对电梯整体运行实时故障诊断的时机已经成熟,相对电梯远程监视而言,在线电梯故障诊断专家系统存在更大的优势,能够对处于运行的电梯进行故障诊断处理及排除、预告早期故障,以及对故障进行统计与分析。
1系统构架设计
在线电梯故障诊断专家系统,提出在专用网络或互联网上对电梯运行数据进行专家分析,并将结果返回相应的客户端。维保人员、物业人员可通过互联网调用专家系统对电梯运行状态进行监控。本系统设计主要包括:专家系统(含数据预处理、知识获取、知识库、推理机)、网络服务(含数据库、解释机制、日志通知)、人机接口(含web service接口、监控界面、专家界面)等三大部分。本设计的专家系统体系构架如下(图1)。
.png)
图1 电梯故障诊断专家系统体系构架
电梯设备通过向Web Service服务器提交进行电梯运行数据,Web Service服务器将电梯运行数据进行预处理,将电梯运行数据封装为prolog格式,再透明地向推理机提交请求,推理机启动相应的推理组件,按设计好的规则和算法进行逻辑计算,如果电梯运行数据匹配知识库中的规则,系统会将故障进行记录到数据库,并推送至维保人员客户端,告知故障原因和解释。
维保人员得知电梯产生故障后,可以进入监控系统的人机交互界面,获取设备故障日志信息和故障解释,并立刻赶往电梯设备现场,根据专家系统的提示对电梯设备维修养护。
电梯专家通过专用客户端或网页浏览器登录到专家系统,经服务器验证后,进入规则管理和维护的人机交互界面,调取知识库规则并通过Prolog形式将其展示出来。电梯专家可以更新、增减服务器知识库的内容,实现对知识库的管理和维护。
2系统开发
2.1知识获取
在线电梯故障诊断专家系统作为一个程序系统,是一种能够对电梯的运行状态或产生的问题进行分析给出具有专家水平结论的特殊复杂程序,并对不同应用端有着各自的特殊点和侧重点。
从电梯控制系统上讲,能够提供电梯运行状态的部件包括了电动机驱动电路、电梯控制器和变频器、安全回路、楼层召唤电路、楼层显示电路,这些电气状态都可以为专家系统提供原始数据,包括了各种主机控制信号、抱闸控制信号、运行方向信号、开关门控制信号、各种安全保护状态信号。作者总结目前流行的各类电梯,我们将一些主要故障纳入知识库的管理,包括制动器触点粘连故障、开关门运行卡阻、各个行程开关的不动作、门安全触板开关和光幕信号的损坏等,也包括一些指令召唤按钮故障、信号指示故障以及机房环境和电压波动产生的故障等。
2.2数据表示
电梯控制系统运行状态,包括了驱动控制信号、制动控制信号、方向信号等。其表现形式是多种多样的,电梯故障诊断在线专家系统应当能够接受这些原始数据,并能通过专家系统对电梯进行在线诊断。
本文对电梯运行状态进行了归类,根据状态的数据类型按照三种类型对其分别表示,这里借助Prolog语言进行表示。
(1)基于事实状态的数据,比如机房内的空气温度须要保持在5至40度之间,超过40度应当触发报警。这种数据输入信号主要采用port(即端口输入)二元组列表来表示事实,即port(对象名,值),可以将多个数据组成以下动态数据输入,比如:“机房温度为35度,湿度60%(其中机房温度表示为jfwd,机房湿度表示为jfsd)”,用一阶逻辑谓词表示为port(jfwd,35),port(jfsd,60)。
(2)基于需要维持状态时间的数据,主要采用port(对象名,值,持续时间)三元组来表示事实,如:“运行继电器全程运行超时持续时间为40秒”用一阶逻辑谓词表示为port(xxj,1,40000)。
(3)基于上次状态值的数据,这种多状态的数据采用port(对象名,值,持续时间、上次状态)四元组来表示,如:“抱闸制动器触点一为低电平,并持续1秒,上次状态为高电平”用谓词表示为port(sb,0,1000,1)。
2.3知识库与推理机制
知识库系统,存放了电梯故障诊断的知识,包括了大量解决电梯故障问题的知识规则。在系统建立期间,将电梯故障经验性的知识转化为规则存入系统以形成集合,所有规则共同组成一个知识库。举例说明:如果机房温度JFWD小于5或大于 40,则触发事件异常温度情况,应当采取对机房进行降温的措施。现利用Prolog语言来实现专家系统知识库,InputData为电梯设备传入数据,产生event事件。规则如下:
unsaferull(event02,InputData):-member(port(jfwd,iJFWD),InputData),iJFWD>40, iJFWD<5.
构建好知识库之后,系统使用正向推理机制实现推理,利用输入事实以递归的方式逐条匹配规则。通过Prolog语言实现基本语句的形式如下:
liftExpertRull(Rull,RawData):-sort(RawData,InputData),unsaferull(Rull,InputData).
2.4实现专家系统的网络调用
在与交互Prolog会话中,系统利用JPL为Java和SWI-Prolog[1]之间提供的桥梁,实现用内置谓词consult加载Prolog知识库。通过Query查询,返回Hashtable类型结果。
创建一个jpl.Query实例,实现调用consult,参数为字符串‘liftExpert.pl’。
public Boolean ConsultExpertKB(String strliftExpert) {
try {
String strQuery0 = "consult(" + strliftExpert + ")";
Query q = new jpl.Query(strQuery0);
return q.hasSolution();
} catch (jpl.PrologException e) {
errorinfo = e.getMessage();
return false;
}
}
系统采用Axis2[2]作为实现web service接口的开发平台,其核心是一个SOAP处理器,能够被包括各种客户端(包括手机)、服务器端、SOAP网关等各种应用所调用,主要包括电梯设备、维保人员的监控客户端、电梯专家维护知识库的客户端等。
2.6监控客户端开发
为实现监控功能,本文使用了java开发了专家系统的客户端,维保人员可以通过该界面查看电梯的注册代码、发生故障的时间、事件ID,以及发生事件时设备相关继电器的状态和解释(图2)。
.png)
图2 专家系统监控客户端
3 结束语
本文介绍了一种利用Prolog实现的在线电梯故障诊断专家系统的设计开发。通过该系统,电梯使用单位特别是一些在公共场所运行的电梯管理部门,能及时地监控到电梯的运行状况,避免发生任何事故;电梯维护保养单位能够及时了解到其所维护保养的电梯故障信息,以及产生电梯故障的解释和处理故障的办法,甚至在故障发生之前就能够得到预警信息,大大加快排除故障的时间,能够有效地降低事故的发生概率,减少经济损失,提升电梯故障解决效率。
4参考文献
[1] SWI-Prolog reference manual [EB/OL].
https://www.swi-prolog.org/pldoc/doc_for?object=manual.
[2]Apache Axis2 User's Guide[EB/OL].
https://axis.apache.org/axis2/java/core/docs/userguide.html
作者简介:邹剑杰(1981-),男,南京人,工程师,工程硕士。