一种适用于自动化起重机的多源故障报警系统*
2023-12-29余丹炯
余丹炯
上海振华重工(集团)股份有限公司设计研究总院智慧院
1 引言
随着港口起重机的自动化和智能化程度越来越高,各种传感器、变频驱动装置、高精度检测装置、工业摄像头等设备以及调度、管理等软件系统在起重机上的应用也越来越多。传统的起重机管理系统往往只能跟起重机的PLC通讯,进行预先设定的关键点报警。对于自动化程度高的起重机的故障监控,该方案存在故障监控点不足、难于精确定位、指导用户排故和维保有限、后期扩展难等问题。针对这些问题,提出一种可监控多故障源、扩展性强、支持大容量数据的故障报警系统。
2 系统概述
适用于自动化起重机的多源故障报警系统,充分考虑自动化起重机的复杂性、系统多样性、大数据量的并发特性,以分散采集、压缩传输、集中显示的方式设计。系统以单机数据为基点,通过OPC UA与底层设备、各控制子系统如PLC、激光器、智能电表、调度系统等通讯,获得其报警源数据。
系统由起重机侧和中控侧组成,在起重机侧进行多源数据的采集和处理,并转成统一的格式上传到中控侧(见图1)。中控侧集中收集多台起重机报警数据后,进行解压、解析、与数据库联动生成数据发送至应用端。应用端对收集到的数据进行分析,生成不同的分析报表。同时应用端也可以把用户对于故障数据的定义进行修改,发送给故障服务器,进行热更新。整套系统采用B/S架构,前后端分离设计,支持主流浏览器以及其他不同终端的访问。
图1 系统架构图
3 系统运作原理
3.1 起重机侧
起重机侧包括故障发生源和采集仪。故障发生源包括起重机上各种变频器、激光扫描、自动化控制系统等发生故障引起起重机运行异常的故障数据来源。采集仪上部署数据采集、分析和传输软件。本采集仪内置ZPMC OPC UA,其支持港机行业常用的PLC系统,通过内嵌的驱动获取起重机的运行数据,也支持MQTT、MQ等常见的消息总线,与调度系统、吊具管理系统等通讯。单台设备上的采集仪把这些多元异构数据汇总后,进行统一编码、缓存、压缩和发送。
故障分为开关量故障和模拟量故障。考虑到单台的故障定义数就可达上万条,本系统的采集仪在起重机侧对这2大类故障的触发机制、传输方式进行设计。
3.1.1 开关量故障触发机制
开关量故障即故障位的值为True时,故障触发;为False时,故障解决。如起升机构减速箱低油位故障,减速箱油位低于正常值时输出True,发出报警,提醒用户进行下一步处理;当油位正常后,该故障值变为False。以一台双小车岸边集装箱起重机为例,该类故障为约5 000个。针对此类故障,本系统把32个开关量的故障点打包成1个4字节数据进行传输,把开关量的点位定义压缩至1/32,从而降低数采软件压力和传输压力。
3.1.2 模拟量故障触发机制
模拟量故障是指一个模拟量值符合定义条件时触发相对应的故障,如风速值大于20 m/s触发大风报警故障。此后若风速值在20 m/s以上波动,系统会一直触发这条故障,直至风速值降为20 m/s以下。
另一种模拟量故障命名为codeFault,即该模拟量在不同的点值时代表不同的故障。如自动化起重机的目标检测系统的故障字等于8 008时,表示目标检测系统出现马达运行超时故障;该值等于8 020时,表示自动标定失败故障。1个无符号的双字节的取值范围是0~65 535,这意味着1个无符号的双字节模拟量最多可以定义65 535条故障。以岸边集装箱起重机为例,codeFault常用于变频器的故障,其每个故障字都有上万条故障定义[1]。每台全自动双小车岸边集装箱起重机一般配有数十个变频器,传统的监控软件需要为此定义十几万条变频器故障,对于软件而言负担太大。为了解决这个问题,根据codeFault同一时刻只能触发1条故障的特性,本系统设计了一套机制,只需定义1条大于零的故障,具体的故障含义则根据系统运行时读取的实时值而定,步骤如下。
步骤一:定义1条故障规则codeFault>0。
步骤二:系统实时监测步骤一所定义规则是否满足,若满足,则转入步骤三。
步骤三:系统读取codeFault当前的实时值,检索数据库获取当前值代表的故障含义并推送至应用端,转入步骤四。
步骤四:系统监测codeFault是否保持上一步骤的值,如是,不做操作;如不是,则关闭步骤三触发的故障,回到步骤二开始新一轮的该条规则的监测。
该机制可缩减编写程序的工作量,减少数据通讯量。与上文中提到的大风报警故障不同的是,codeFault的值变化时会结束已有的故障且触发一条新的故障,直至点值为0,说明所有的故障已解决。
3.1.3 故障传输机制
每个采集仪负责每台起重机的数据收集和处理,为了节约与中控的数据通讯量,将只有状态发生变化的报警数据源打包发送。采集仪对每次采集到的数据进行处理比对,把变化的数据进行打包,采用自定义的protobuf消息体进行传输,推送至中控端。Protobuf是一种数据序列化工具和通信协议,全称为Protocol Buffers,被广泛应用于分布式系统、通信协议、数据存储等领域。依靠其高压缩率的特点,本系统实现了上百万条故障的数据吞吐[2]。
考虑到单机与中控之间存在通讯波动问题,采集端会在通讯中断的情况下,把故障数据缓存起来,等通讯恢复后,再同步至中控侧,确保故障数据的完整性。
3.2 中控侧
中控侧的故障服务由故障定义服务、故障监听服务、故障存储服务、故障数据服务、故障展示服务组成(见图2)。故障服务接收来自于各起重机侧的故障数据,把这些故障数据进行处理、存储等操作后,以多种方式进行呈现。
图2 数据流程图
3.2.1 故障定义服务
该服务定义起重机确切的故障含义,包括故障的等级、类别、触发条件、发生原因、现象、解决方法等。如上文中提到的codeFault,每一类变频器的故障定义都由该服务管理。故障定义服务作为基础服务为其他服务提供定义信息,并可接收来自应用端的更新需求,提供故障热更新服务,可优化用户的使用体验。
自动化起重机的智能化程度高,所用的新技术多,这意味着故障定义库需要不断地更新。常规的监控软件对故障定义进行改动时,往往需要改动工程文件,进而需要重新进行编译、重启服务等操作,这会影响现场调试工程师的工作效率。本系统研发了故障定义热更新服务,有权限的用户只需在网页上打开故障配置页面进行更新、下载即可完成,其他客户端只需进行一步刷新操作就可生效。
3.2.2 故障监听服务
当故障监听服务器接收到变化的数据包后,对数据包进行解析。变化的数据包括如下几种情况:触发条件由满足变成不满足、触发条件由不满足变成满足、数据质量由坏变成好、数据质量由好变成坏。故障监听服务根据变化情况对故障状态进行更新,对于codeFault类型的故障则进行进一步解析,如对应的模拟量值为0时把该模拟量上次触发的故障更新为已解决;如收到的值为非0时则表示有新的故障触发,此时故障监听服务判断该模拟量是否在这之前已经触发过其他故障,如是,则把上一次故障标识为已解决,同时触发一条新的故障。
3.2.3 故障存储服务
故障存储服务接收来自故障监听服务的消息,将相应的故障变化记录至关系型数据库并提供应用端的数据查询服务。该服务会记录每一条故障发生的开始时间、结束时间、发生部件、故障发生时的一些特征值等详细信息。
考虑到自动化起重机的故障数量多,为了优化数据查询效率,存储服务首先根据故障分类、等级对故障进行分库存储,把发生频率高的事件类单独存储,并单独设置其老化周期。其次利用数据库的自动化任务调度,定期将故障数据按照日、周、月、年进行抽取存储,按照年表、月表、周表、日表和详表这几种数据精度进行归并,实现故障数据的快速检索。
3.2.4 故障数据服务
故障数据是自动化起重机重要的运行状态数据,为了满足码头其它系统对其数据的需求,故障报警系统设计了3种数据服务接口。第一种是RESTful接口,是一种基于HTTP协议的接口,使用标准的HTTP方法和状态码,以及遵循一致的数据格式进行数据交换,这种一致性使得不同系统之间的集成更加简单。第二种是OPC UA接口,是一种开放的、跨平台的通信协议和数据模型,用于实现工业自动化系统中不同设备和应用程序之间的交互操作。第三种是文件方式,故障数据服务可定期导出为CSV格式的数据文件供外部系统取用。
3.2.5 故障展示服务
用户可通过浏览器访问该系统,对故障定义进行修改。故障的展示包括实时故障显示、故障追溯、历史故障分析等。
(1)实时故障显示。实时故障是正在发生的故障,包括故障发生的时间、设备号、部位等详细信息,以弹窗方式显示提醒用户,不同等级的故障以不同颜色区别显示。为了帮助用户更快地解决故障,点选某一条故障后可快速跳转至故障帮助。故障帮助不仅有积累了解决方法的专家知识库,还能与故障追溯功能联动。
(2)故障追溯。自动化起重机的机理复杂,为了更好地排查问题,本系统提供数据联合查询的方式。故障发生前后起重机的一些特征值往往有异常波动,基于这个特性,故障追溯模块以故障发生的时刻为基点,与记录起重机运动参数的数据库联动,描绘出参数的波形图。用户可以选择或者事先定义好关联的数据,将其图形化地显示出来,也可导出数据进行下一步分析。这种直观的表现方式可以帮助用户快速定位问题,解决故障,减少故障停机时间。
(3)历史故障分析。用户可以选择一段时间从数据库里查询出故障记录。系统以列表和图表相结合的方式呈现,如提供故障平均发生时间的柱状图显示、不同故障类别以及不同故障级别的占比饼图显示等。同时还对故障进行分析,如可根据故障发生频次排序展示最影响起重机运行的前10种故障。
考虑到某些特别故障需要及时上报,特别设计故障推送机制。通过与用户管理系统联动,相关故障触发后第一时间通过邮件、短信、微信等方式推送至相关人员。
4 结语
自动化起重机的多源故障报警系统可解决传统工业监控软件依赖于微软操作系统的问题,实现跨平台运行,且不再局限于PLC的数据来源,从而把自动化起重机上的所有系统纳入监控范围。该系统在提高起重机的安全性、减少停机损失、提高运行效率、延长设备寿命等方面可发挥重要作用。