技术领域
[0001] 本申请涉及控制系统技术领域,尤其涉及一种自定义系统报警的方法、装置及相关产品。
相关背景技术
[0002] 系统报警是自动化控制系统对控制单元、操作站、通信系统等进行功能诊断,当发生异常时发出的报警,比如卡件故障、通讯错误等。现有技术一般是由下位机直接将系统报警上送至上位机软件,并在交互界面上展示系统报警,比如在交互界面上显示故障代码或故障提示信息。其中,所述上位机用于直接发送操作指令的计算机或单片机,一般提供用户操作交互界面向用户展示反馈数据。下位机用于直接与机器相连接的计算机或单片机,一般用于接收和反馈上位机的指令,并且根据指令控制机器执行动作以及从机器传感器读取数据。
[0003] 但现有技术中的系统报警一般不需要组态,而是固化在控制系统中不能随意添加或改变。然而,随着自动化控制系统的工业现场越来越多,一些特有的故障场景或不满足工业生产现场实际情景的系统报警越来越多。而现有的固有系统报警并无法满足多样化的需求,导致报警不发生或报警发生操作人员掌握故障信息不准确。这使得操作人员无法及时准确处理自动化控制系统的系统故障。
具体实施方式
[0045] 本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”“第三”、和“第四”等是用于区别不同对象,而不是用于限定特定顺序。
[0046] 在本申请实施例中,“作为示例”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“作为示例”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“作为示例”或者“例如”等词旨在以具体方式呈现相关概念。
[0047] 本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
[0048] 正如前文所述,现有技术一般是由下位机直接将系统报警上送至上位机软件,并在交互界面上展示系统报警,比如在交互界面上显示故障代码或故障提示信息。但现有技术中的系统报警一般不需要组态,而是已经固化在控制系统中不能随意添加或改变。这种固有系统报警不满足日益发展的自动化控制系统的需求。
[0049] 基于此,本申请提出通过预先配置自定义的系统报警,解决固有的系统报警无法体现工业生产现场特有的故障场景。具体来讲,通过加载预先配置的报警组态信息,获取报警触发规则。然后当获取的报警条件和报警触发规则相同时,生成自定义的系统报警,并将自定义的系统报警加入到实时系统报警列表中进行展示。
[0050] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0051] 参见图1,为本申请实施例提供的一种自定义系统报警的方法流程图,应用于自动化控制系统。该方法至少包括以下步骤:
[0052] S101:加载预先配置的报警组态信息,获取多个报警触发规则。
[0053] 在本申请实施例中,自动化控制系统要实现自定义系统报警,首先需要加载预先配置的报警组态信息,获取多个报警触发规则。在本申请实施例中,多个报警触发规则可以为触发所有自定义的系统报警的报警触发规则。其中报警触发规则是指触发某一自定义的系统报警所需要的限制条件。报警组态信息是指配置的涉及系统报警的信息组成的信息集合。在本申请实施例中,报警组态信息包括报警触发规则。
[0054] 其中,系统报警包括两种,分别为自定义的系统报警和固有的系统报警。可以理解的是固有的系统报警是指自动化控制系统中已经存在的系统报警,比如卡件故障等。自定义的系统报警是指某些工业生产现场特有的系统故障,而固有的系统报警并不未涉及。
[0055] 在本申请实施例中,可以通过以下方式预先配置报警组态信息:
[0056] 预先建立配置界面,并基于预设的配置界面,配置报警的信息;将配置完成后的报警的信息,通过预设格式保存到报警组态信息。其中,配置报警的信息包括报警触发规则和报警内容。可以理解的是,报警内容为报警的描述信息。
[0057] 在本申请实施例中,预设的配置界面提供两个功能,完全自定义的系统报警和固有的系统报警的重定义。如果第二报警为自定义的系统报警,则进入完全自定义的系统报警,配置报警触发规则和报警内容。将配置好的报警信息保存至报警组态信息的文件。如果第二报警为固有的系统报警,则进入固有的系统报警的重定义。修改第二报警的报警内容,使其满足不同的现场生产场景。将修改后的第二报警的报警内容,通过预设格式保存至报警组态信息的文件中。可以理解的是,如果第二报警的报警内容不需要进行修改,则第二报警的报警内容保存原报警内容。
[0058] 在本申请实施例中,预设格式为(身份标识,报警触发规则,报警内容)。在本申请实施例中,具体格式可以为:
[0059] UUID_0001,报警条件_0001,报警描述_0001
[0060] UUID_0002,报警条件_0002,报警描述_0002
[0061] 其中UUID是报警的唯一身份标识,用于标识报警。在固有的系统报警,其UUID为固定值。自定义的系统报警为控制系统为其自动分配的UUID。如果自定义的系统报警的触发规则和报警内容发生修改,则为上述自定义的系统报警重新分配一个新的UUID。在本申请实时报警数据中,不需要携带报警内容,报警内容只在界面显示时处理,提升数据传递效率。
[0062] S102:响应于获取的报警条件满足报警触发规则,生成第一报警。
[0063] 在本申请实施例中,当获取多个报警触发规则之后,自动化控制系统会将获取的报警条件与报警触发规则进行比对,如果获取的的报警条件满足报警触发规则,则生成第一报警。其中,第一报警为自定义的系统报警。
[0064] 示例性说明:触发规则包括A、B、C、D。其中A对应A报警,B对应B报警,C对应C报警,D对应D报警。如果获取的报警条件为A,即A满足触发规则,则生成A报警。相应地,如果获取的报警为B,B满足触发规则,则生成B报警。
[0065] 在本申请实施例中,需要定时判断获取的报警条件是否满足报警触发规则。且所述获取的报警条件也属于实时报警条件。获取的第一报警也不断发生变化。
[0066] S103:将第一报警加入到实时系统报警列表。
[0067] 将生成的第一报警,加入到实时系统报警列表。在本申请实施例中,实时系统报警列表包括实时控制系统中多个系统报警,并且多个系统报警以列表的形式进行呈现。
[0068] 在本申请实施例中,实时系统报警列表处理包括第一报警,还包括满足要求的其他固有的系统报警。即自定义的系统报警和固有的系统报警无差别加入到实时系统报警列表中。这种无差别加入的方式不会对用户的使用习惯产生任何干扰。
[0069] S104:根据实时系统报警列表进行报警展示。
[0070] 对于获取的实时系统报警列表,可以在查询界面进行报警展示。在本申请实施例中,报警组态信息还包括身份标识和报警内容。其中,身份标识用于表示报警;根据实时系统报警列表进行报警展示,包括:
[0071] 加载报警组态信息,获取报警的身份标识和报警内容;当从系统报警服务中获取实时系统报警列表之后,根据所述实时系统报警列表中的每个报警的身份标识,报警组态信息中获取对应的报警内容。展示的报警包括报警内容以及报警对应的身份标识。
[0072] 本申请提供了一种自定义系统报警的方法,首先加载预先配置的报警组态信息,获取报警触发规则。然后当获取的报警条件和报警触发规则相同时,生成自定义的系统报警,并将自定义的系统报警加入到实时系统报警列表中进行展示。如此,通过预先配置报警组态信息,可以将特殊的系统报警提前在报警组态信息中进行配置,当获取报警条件后,就可以根据触发规则生成满足要求的系统报警。因此,解决固有的系统报警无法体现工业生产现场特有的故障场景,使操作人员可以及时准确处理自动化控制系统的系统故障。
[0073] 参见图2,为本申请实施例提供的另一种自定义系统报警的方法流程图,应用于自动化控制系统。该方法涉及三个处理模块,分别为系统报警服务、自定义系统报警计算服务和实时系统报警显示模块。该方法至少包括以下步骤:
[0074] S201:启动自定义系统计算服务,加载自定义系统报警组态信息,获取全部自定义系统报警触发规则。
[0075] S202:定时判断获取的报警条件是否满足全部自定义系统报警触发规则,若是,产生自定义系统报警,进入步骤S203。
[0076] S203:系统报警服务接收自定义系统计算服务推送的自定义系统报警和上位机发送的固有系统报警。
[0077] S204:整合自定义系统报警和固有系统报警至同一队列中。
[0078] S205:启动实时系统报警显示模块,加载自定义系统报警组态信息,获取所有系统报警的UUID及其报警内容。
[0079] S206:定时向系统报警服务发送获取当前时刻系统报警队列的请求。
[0080] S207:系统报警服务返回当前系统报警队列。
[0081] S208:实时系统报警显示模块根据UUID在自定义系统报警组态信息中获取报警内容。
[0082] 遍历每一条系统报警,然后以报警UUID为索引,在自定义系统报警组态信息中获取对应的报警内容。
[0083] S209:报警在界面进行展示。
[0084] 在本申请实施例中,展示了内容既包括系统报警,也包括报警内容。
[0085] 在本申请实施例提供的自定义系统报警的方法,报警以UUID为标记,且实时报警数据流中不需要携带报警内容。报警内容只需要在界面显示时处理。如此,在保证解决固有的系统报警无法体现工业生产现场特有的故障场景的前提下,还可以有效提升各数据模块之间传递报警数据的效率。
[0086] 此外,为进一步使本申请实施例提供的自定义系统报警的方法可以进行历史查询,处理进行图1或图2获取自定义系统报警之外,本申请还进一步提供了一种历史报警查询的方法。具体参见图3,为本申请实施例提供的一种基于自定义系统报警的历史报警查询的方法流程图。
[0087] S301:将获取的系统报警的报警内容存入历史报警数据库中。
[0088] 在本申请实施例中,历史报警数据库通过报警索引表和报警信息表记录所述报警。其中,报警索引表的存储结构可以如表1所述。一项为报警UUID(Alarm UUID),一项为报警内容(AlarmDescription)。
[0089] AlarmUUID AlarmDescriptionuuid_0 desc_0
uuid_1 desc_1
... ...
[0090] 表1
[0091] 报警信息表的存储结构,其中一项必须为报警UUID(Alarm UUID)。其他项为报警时间信息,比如报警产生时间(AlarmTime)、报警消除时间(AlarmRemoveTime)、报警确认时间(AlarmAckTime)等。如表2,为本申请实施例提供的一种报警信息表存储结构。
[0092] AlarmTime AlarmUUID AlarmAckTime AlarmRemoveTime ...05.05.2022,06:03:11.644 uuid_0 05.05.2022,07:03:11.644 05.04.2022,08:03:11.644 ...
05.05.2022,06:03:11.644 uuid_1 05.05.2022,07:03:11.644 05.04.2022,08:03:11.644 ...... ... ... ... ...
05.04.2022,06:03:11.644 uuid_0 05.04.2022,07:03:11.644 05.04.2022,08:03:11.644 ...
05.04.2022,06:03:11.644 uuid_1 05.04.2022,07:03:11.644 05.04.2022,08:03:11.644 ...... ... ... ...
[0093] 表2
[0094] 在本申请实施例中,将获取的系统报警的报警内容存入历史报警数据库中的具体实现方式详见下文图4描述,这里不再论述。
[0095] S302:根据查询条件,从历史报警数据库中获取对应的多个报警。
[0096] 在本申请实施例中,所述多个报警包括自定义的系统报警和固有的系统报警。根据查询条件,比如报警时间信息,就可以获取对应的多个报警。在本申请实施例中,根据身份标识,比如UUID,就可以获取相对应的报警内容。
[0097] S303:将所述多个报警进行展示。
[0098] 在本申请实施例中,将多个报警以及报警对应的报警内容都进行展示。
[0099] 参见图4,为本申请实施例提供的一种自定义系统报警的存储方法示意图。该方法至少包括以下步骤:
[0100] S401:启动历史报警服务,加载自定义系统报警组态信息,获取所有系统报警对应的UUID及其对应的报警内容。
[0101] S402:系统报警服务实时推送系统报警队列,历史报警服务以UUID为索引,在自定义系统报警组态信息中获取每条报警对应的报警内容。
[0102] S403:将报警内容以及报警UUID等存储在历史报警数据库中。
[0103] 在本申请实施例中,将报警内容与具体报警信息分表存储,不需要每条报警信息中都记录报警内容,可以有效减少历史报警数据存储占用空间。
[0104] 参见图5,为本申请实施例提供的一种自定义系统报警的装置结构示意图500。该装置至少包括以下单元:
[0105] 加载单元501,用于加载预先配置的报警组态信息,获取多个报警触发规则;所述报警组态信息包括报警触发规则。
[0106] 响应单元502,用于响应于获取的报警条件满足所述报警触发规则,生成第一报警;所述第一报警为自定义的系统报警。
[0107] 加入单元503,用于将所述第一报警加入到实时系统报警列表;所述实时系统报警列表包括固有系统报警。
[0108] 展示单元504,用于根据所述实时系统报警列表进行报警展示。
[0109] 可选的,装置还包括:
[0110] 配置单元,用于基于预设的配置界面,配置报警的信息;所述报警的信息包括报警触发规则和报警内容。
[0111] 存储单元,用于将配置完成后的所述报警的信息,通过预设格式保存至所述报警组态信息;所述预设格式为(身份标识,报警触发规则,报警内容);所述身份标识用于唯一标识所述报警。
[0112] 本申请提供了一种自定义系统报警的方法,加载单元501加载预先配置的报警组态信息,获取报警触发规则。响应单元502当获取的报警条件满足报警触发规则时,生成自定义的系统报警。加入单元503,将自定义的系统报警加入到实时系统报警列表。展示单元504根据实时系统报警列表进行展示。如此,通过预先配置报警组态信息,可以将特殊的系统报警提前在报警组态信息中进行配置,当获取报警条件后,就可以根据触发规则生成满足要求的系统报警。因此,解决固有的系统报警无法体现工业生产现场特有的故障场景,使操作人员可以及时准确处理自动化控制系统的系统故障。
[0113] 本申请实施例还提供了一种电子设备。该设备包括:存储器和处理器。
[0114] 存储器用于用于存储程序代码,并将程序代码传输给处理器。
[0115] 处理器:用于根据程序代码中的指令执行上述一种自定义系统报警的方法的步骤。
[0116] 本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请实施例的一种自定义系统报警的方法。
[0117] 在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0118] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0119] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0120] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0121] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0122] 以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。