CN111654426A - 基于Modbus协议的事件顺序记录事件信息获取方法及相关设备 - Google Patents

基于Modbus协议的事件顺序记录事件信息获取方法及相关设备 Download PDF

Info

Publication number
CN111654426A
CN111654426A CN202010771231.8A CN202010771231A CN111654426A CN 111654426 A CN111654426 A CN 111654426A CN 202010771231 A CN202010771231 A CN 202010771231A CN 111654426 A CN111654426 A CN 111654426A
Authority
CN
China
Prior art keywords
event information
soe
master station
soe event
returned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010771231.8A
Other languages
English (en)
Other versions
CN111654426B (zh
Inventor
贺学文
于龙
张艳兵
吴铀铀
饶东
徐鼎
李晓刚
张传祺
宋小莉
熊辉
李剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Helishi System Integration Co ltd
Original Assignee
Beijing Hollysys Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Hollysys Co Ltd filed Critical Beijing Hollysys Co Ltd
Priority to CN202010771231.8A priority Critical patent/CN111654426B/zh
Publication of CN111654426A publication Critical patent/CN111654426A/zh
Application granted granted Critical
Publication of CN111654426B publication Critical patent/CN111654426B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40228Modbus

Abstract

本发明实施例提供了基于Modbus协议的事件顺序记录事件信息获取方法及相关设备,主站通过向从站发送对SOE事件信息的获取请求,从而获得从站的SOE寄存器中的部分SOE事件信息,并且主站仅获得从未获得过的SOE事件信息。主站还可以根据上一次SOE报文中的SOE事件信息的情况来确定下一次发送对SOE事件信息的获取请求的时间,若上一次SOE报文中部分SOE事件信息是之前获得过的,可以在探测周期到来时,向从站发送新SOE探测请求。本发明可以实现当从站设备有新的SOE事件信息生成时,主站设备才从从站设备获取SOE事件信息,并且仅获得从站设备中新生成的SOE事件信息,使得获取SOE事件信息的通信过程大幅缩短,避免占用过多的通信时间,使得主站的遥信数据和遥测数据更新及时。

Description

基于Modbus协议的事件顺序记录事件信息获取方法及相关 设备
技术领域
本发明涉及数据传输技术领域,特别是涉及一种基于Modbus协议的事件顺序记录事件信息获取方法及相关设备。
背景技术
Modbus协议是1979年为使用可编程逻辑控制器(PLC)通信而发表的一种串行通信协议。Modbus协议已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用的连接方式。在Modbus协议的实际应用中,设备的全部遥信、遥测等数据往往需要包含N(N>1)轮次的请求/应答才能完成的。Modbus主从通信时,主站不仅要轮询以获得从站设备的遥信、遥测等数据信息,主站还需要触发遥控、遥测命令以让从站设备执行遥控、遥测指令。在工业控制系统,如发电厂、变电所,往往还需要获得从站设备的事件顺序记录(Sequence of Event,SOE)事件信息,SOE事件信息主要用于在事故发生的时候记录多个开关量输入量(DI)信号变位的准确时间,SOE事件信息要求以毫秒级的高分辨率分辨各个信号的状态变化的先后次序,帮助在事故情况下分辨事故的原因,找出首出故障。
目前,主站一般是将获取SOE事件信息的请求设置在普通轮询表中,导致获取SOE事件信息的请求占用获得遥信和遥测等数据的请求的通信时间,并且每次获取SOE事件信息均是通过多次请求,获得从站设备存储的全部SOE事件信息,使得主站获得遥信和遥测等数据的速度严重延迟,数据更新迟缓。
发明内容
本发明实施例的目的在于提供一种基于Modbus协议的事件顺序记录事件信息获取方法及相关设备,以实现当从站设备有新的SOE事件信息生成时,主站设备才从从站设备获取SOE事件信息,并且仅获得从站设备中新生成的SOE事件信息,使得获取SOE事件信息的通信过程大幅缩短,避免占用过多的通信时间,从而使得主站的遥信和遥测等数据的更新及时。具体技术方案如下:
第一方面,一种基于Modbus协议的事件顺序记录事件信息获取方法,包括:
主站每次从从站中获得SOE事件信息的过程包括至少一次请求应答过程,每次所述请求应答过程包括如下步骤:
所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求;其中,所述主站每次从所述从站中获得SOE事件信息的过程中发送的第一个事件信息获取请求中的事件信息存储地址为所述从站侧存储最晚事件的SOE事件信息的存储地址,所述主站在同一次从所述从站中获得SOE事件信息的过程中发送的后续事件信息获取请求中的事件信息存储地址为前一个事件信息获取请求中的事件信息存储地址之后的且间隔预设存储空间的存储地址;其中,所述从站侧按照事件的早晚顺序依次将各事件的SOE事件信息存储到多个连续的存储地址中,其中,每个存储地址存储一个事件的SOE事件信息且各存储地址对应的存储空间大小相同;
所述主站获得所述从站返回的、基于所述Modbus协议的SOE报文;
所述主站从所述SOE报文中获得所述从站返回的至少一个SOE事件信息;
所述主站将返回的至少一个SOE事件信息与上次最晚SOE事件信息对比,根据对比结果确定返回的各SOE事件信息中的、主站未获取过的SOE事件信息,其中,所述上次最晚SOE事件信息为:上一次从所述从站中获得SOE事件信息的过程中获得的最晚事件的SOE事件信息;
当返回的各SOE事件信息中不包括所述主站未获取过的SOE事件信息时,所述主站结束本次从所述从站中获得SOE事件信息的过程;
当返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息时,所述主站保存返回的各SOE事件信息,返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤;
当返回的部分SOE事件信息为所述主站未获取过的SOE事件信息时,所述主站保存所述主站未获取过的SOE事件信息,结束本次从所述从站中获得SOE事件信息的过程。
结合第一方面,在某些可选的实施方式中,所述主站将返回的至少一个SOE事件信息与上次最晚SOE事件信息对比,根据对比结果确定返回的各SOE事件信息中的、主站未获取过的SOE事件信息,包括:
所述主站将返回的SOE事件信息中的最晚事件的SOE事件信息与所述上次最晚SOE事件信息对比;
如果一致,则所述主站确定返回的SOE事件信息中不包括所述主站未获取过的SOE事件信息;
如果不一致,则所述主站按照事件从晚到早的顺序依次将返回的SOE事件信息分别与所述上次最晚SOE事件信息对比,若返回的全部SOE事件信息均与所述上次最晚SOE事件信息不一致,则所述主站确定返回的全部SOE事件信息均为所述主站未获取过的事件信息,否则,所述主站确定返回的部分SOE事件信息为所述主站未获取过的事件信息。
结合第一方面,在某些可选的实施方式中,所述主站从所述SOE报文中获得所述从站返回的至少一个SOE事件信息,包括:
所述主站判断所述SOE报文中是否携带有用于标识所述SOE报文中包括SOE事件信息的标识,如果是,则所述主站从所述SOE报文中获得所述从站返回的至少一个SOE事件信息。
结合第一方面,在某些可选的实施方式中,在所述主站保存返回的各SOE事件信息之后,所述方法还包括:
所述主站进行至少一次非SOE信息传输过程,并在所述至少一次非SOE信息传输过程结束后,再返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤。
结合第一方面,在某些可选的实施方式中,所述主站中保存有SOE事件信息标识,当返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息时,所述方法还包括:
所述主站将所述SOE事件信息标识更改为新SOE事件信息标识;
所述主站确定所述SOE事件信息标识是否为新SOE事件信息标识,如果是,再返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤。
结合第一方面,在某些可选的实施方式中,所述主站中保存有SOE事件信息标识,当返回的部分SOE事件信息为所述主站未获取过的SOE事件信息时,所述方法还包括:
所述主站将所述SOE事件信息标识更改为旧SOE事件信息标识;
在与预设SOE探测周期对应的探测时刻到达时,根据所述旧SOE事件信息标识,向所述从站发送新SOE探测请求,以探测所述从站侧是否存储有新的、所述主站从未获取过的SOE事件信息。
结合上一个实施方式,在某些可选的实施方式中,所述方法还包括:
当所述主站通过所述SOE探测请求确定所述从站侧存储有新的、所述主站从未获取过的SOE事件信息后,所述主站进入下一次从所述从站中获得SOE事件信息的过程。
第二方面,一种基于Modbus协议的事件顺序记录事件信息获取装置,应用于主站,所述装置包括:信息获取单元,用于从从站中获得事件顺序记录SOE事件信息,所述信息获取单元每次从所述从站中获得事件顺序记录SOE事件信息的过程包括至少一次请求应答过程;
所述信息获取单元包括:请求应答单元,用于执行至少一次请求应答过程;
所述请求应答单元,包括:请求发送单元、报文获得单元、SOE获得单元、对比单元、第一结果单元、第二结果单元和第三结果单元;
所述请求发送单元,用于在所述请求应答单元执行一次请求应答过程中,向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求;其中,所述主站每次从所述从站中获得SOE事件信息的过程中发送的第一个事件信息获取请求中的事件信息存储地址为所述从站侧存储最晚事件的SOE事件信息的存储地址,所述主站在同一次从所述从站中获得SOE事件信息的过程中发送的后续事件信息获取请求中的事件信息存储地址为前一个事件信息获取请求中的事件信息存储地址之后的且间隔预设存储空间的存储地址;其中,所述从站侧按照事件的早晚顺序依次将各事件的SOE事件信息存储到多个连续的存储地址中,其中,每个存储地址存储一个事件的SOE事件信息且各存储地址对应的存储空间大小相同;
所述报文获得单元,用于在所述请求应答单元执行一次请求应答过程中,获得所述从站返回的、基于所述Modbus协议的SOE报文;
所述SOE获得单元,用于在所述请求应答单元执行一次请求应答过程中,从所述SOE报文中获得所述从站返回的至少一个SOE事件信息;
所述对比单元,用于在所述请求应答单元执行一次请求应答过程中,将返回的至少一个SOE事件信息与上次最晚SOE事件信息对比,根据对比结果确定返回的各SOE事件信息中的、主站未获取过的SOE事件信息,其中,所述上次最晚SOE事件信息为:上一次从所述从站中获得SOE事件信息的过程中获得的最晚事件的SOE事件信息;
所述第一结果单元,用于在所述请求应答单元执行一次请求应答过程中,当返回的各SOE事件信息中不包括所述主站未获取过的SOE事件信息时,所述主站结束本次从所述从站中获得SOE事件信息的过程;
所述第二结果单元,用于在所述请求应答单元执行一次请求应答过程中,当返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息时,所述主站保存返回的各SOE事件信息,返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤;
所述第三结果单元,用于在所述请求应答单元执行一次请求应答过程中,当返回的部分SOE事件信息为所述主站未获取过的SOE事件信息时,所述主站保存所述主站未获取过的SOE事件信息,结束本次从所述从站中获得SOE事件信息的过程。
第三方面,一种设备,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序,所述程序至少用于实现上述任一项所述的一种基于Modbus协议的事件顺序记录事件信息获取方法。
第四方面,一种存储介质,所述存储介质用于存储程序,所述程序被处理器执行时实现上述任一项所述的基于Modbus协议的事件顺序记录事件信息获取方法。
本发明实施例提供的一种基于Modbus协议的事件顺序记录事件信息获取方法及相关设备,主站每次从从站中获得SOE事件信息的过程包括至少一次请求应答过程,每次所述请求应答过程包括如下步骤:所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求;其中,所述主站每次从所述从站中获得SOE事件信息的过程中发送的第一个事件信息获取请求中的事件信息存储地址为所述从站侧存储最晚事件的SOE事件信息的存储地址,所述主站在同一次从所述从站中获得SOE事件信息的过程中发送的后续事件信息获取请求中的事件信息存储地址为前一个事件信息获取请求中的事件信息存储地址之后的且间隔预设存储空间的存储地址;其中,所述从站侧按照事件的早晚顺序依次将各事件的SOE事件信息存储到多个连续的存储地址中,其中,每个存储地址存储一个事件的SOE事件信息且各存储地址对应的存储空间大小相同;所述主站获得所述从站返回的、基于所述Modbus协议的SOE报文;所述主站从所述SOE报文中获得所述从站返回的至少一个SOE事件信息;所述主站将返回的至少一个SOE事件信息与上次最晚SOE事件信息对比,根据对比结果确定返回的各SOE事件信息中的、主站未获取过的SOE事件信息,其中,所述上次最晚SOE事件信息为:上一次从所述从站中获得SOE事件信息的过程中获得的最晚事件的SOE事件信息;当返回的各SOE事件信息中不包括所述主站未获取过的SOE事件信息时,所述主站结束本次从所述从站中获得SOE事件信息的过程;当返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息时,所述主站保存返回的各SOE事件信息,返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤;当返回的部分SOE事件信息为所述主站未获取过的SOE事件信息时,所述主站保存所述主站未获取过的SOE事件信息,结束本次从所述从站中获得SOE事件信息的过程。由此可知,本发明可以实现当从站设备有新的SOE事件信息生成时,主站设备才从从站设备获取SOE事件信息,并且仅获得从站设备中新生成的SOE事件信息,使得获取SOE事件信息的通信过程大幅缩短,避免占用过多的通信时间,从而使得主站的遥信数据和遥测数据更新及时。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于Modbus协议的事件顺序记录事件信息获取方法的流程图;
图2为本发明提供的另一种基于Modbus协议的事件顺序记录事件信息获取方法的流程图;
图3为本发明提供的另一种基于Modbus协议的事件顺序记录事件信息获取方法的流程图;
图4为本发明提供的一种基于Modbus协议的事件顺序记录事件信息获取装置的结构示意图;
图5为本发明提供的一种设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Modbus协议是工业自动化领域广泛应用的应答通信协议,已经成为通用工业标准。Modbus协议分为基于串口(RS-232、RS-422、RS-485)的Modbus RTU协议和基于TCP/IP以太网的Modbus TCP协议。Modbus通信使用主(Master,也称主站)—从(Slave,也称从站、设备)技术,主站初始化传输(查询,Query,也叫请求,依次查询称为轮询),从站根据主站查询提供的数据作相应反应。主站可单独和从站通信,也能以广播方式和所有从站通信。如果单独通信,从站返回一个消息作为回应,如果是以广播方式查询的,则从站不作任何回应。
在Modbus协议中,只有主站才有发起请求(Query)的权利,从站只有收到请求后,才有权利向主站发送应答报文(Response)。换言之,在Modbus协议中,主站只能通过Query/Response才能获得从站的数据,从站永远不能向主站主动发送任何报文。
经本方案发明人研究发现,在Modbus协议的实际应用中,从站的全部遥信、遥测等数据往往需要包含N(N>1)轮次的请求/应答才能完成的。可以记这N个请求(简称轮询表)分别记为:Q1,Q2,……,Qn,记这N个请求对应的应答依次为R1,R2,……,Rn。Modbus协议作为典型的请求/应答型通信协议,常规的流程总是一问一答,即上次的请求要么超时,要么得到应答,才会进入下一次的发送请求,每次主站只发送一个请求。主站初始化时,首先发送请求Q1,主站在收到应答R1或者超时时间达到后,主站才会发送一下个请求Q2,主站在收到应答R2或者超时时间达到后,然后主站再发送请求Q3,如此轮转直到主站发送请求Qn,主站在收到应答Rn或者超时时间达到后,主站方才完成设备完整的一次轮询;然后主站发送请求Q1,开始新一轮请求,如此循环。
Modbus主从通信时,主站不仅要轮询以获得从站的遥信、遥测等数据信息,主站还需要触发遥控、遥测命令以让从站执行遥控、遥测指令。在工业控制系统,如发电厂、变电所,往往还需要获得从站的事件顺序记录(Sequence of Event,SOE)事件信息,SOE事件信息主要用于在事故发生的时候记录多个开关量输入量(DI)信号变位的准确时间,SOE事件信息要求以毫秒级的高分辨率分辨各个信号的状态变化的先后次序,帮助在事故情况下分辨事故的原因,找出首出故障。
本方案发明人研究发现,现有获取SOE事件信息的请求设置在轮询表中,又由于从站的SOE寄存器中可以存储大量SOE事件信息,所以轮询表中设置有多个获取SOE事件信息的请求。主站根据轮询表中的各个请求的排列顺序依次完成轮询,使得发送获取SOE事件信息的请求的数量和频次较多,大量占用轮询表中其它获取非SOE信息的请求的通信时间。例如占用获取遥信、遥测等数据的请求的通信时间,使得主站中对相应数据的更新较慢,严重影响控制过程。
如图1所示,本发明提供了一种基于Modbus协议的事件顺序记录事件信息获取方法,包括:
主站每次从从站中获得SOE事件信息的过程包括至少一次请求应答过程,每次所述请求应答过程如下步骤:
S100、所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求;其中,所述主站每次从所述从站中获得SOE事件信息的过程中发送的第一个事件信息获取请求中的事件信息存储地址为所述从站侧存储最晚事件的SOE事件信息的存储地址,所述主站在同一次从所述从站中获得SOE事件信息的过程中发送的后续事件信息获取请求中的事件信息存储地址为前一个事件信息获取请求中的事件信息存储地址之后的且间隔预设存储空间的存储地址;其中,所述从站侧按照事件的早晚顺序依次将各事件的SOE事件信息存储到多个连续的存储地址中,其中,每个存储地址存储一个事件的SOE事件信息且各存储地址对应的存储空间大小相同;
在实际应用中,主站可以多次从从站中获得SOE事件信息,每次主站从从站中获得SOE事件信息的过程可以包括至少一次请求应答过程。
在每次主站从从站中获得SOE事件信息的过程中发送的第一个事件信息获取请求中的事件信息存储地址为所述从站侧存储的最晚事件的SOE事件信息的存储地址。例如主站某次从从站中获得SOE事件信息的过程中发送的第一个事件信息获取请求可以是请求包括从站侧存储的最晚事件的SOE事件信息在内的SOE事件信息。
针对一个事件信息获取请求,所请求的SOE事件信息可以包括多个SOE事件信息,具体数量本发明不做限制,任何可行的数量均属于本发明的保护范围。所请求的多个SOE事件信息中可以有一个SOE事件信息是当前请求的最晚事件的SOE事件信息。
其中,后续事件信息获取请求是指主站一次从所述从站中获得SOE事件信息的过程中发送的第一个事件信息获取请求之后发送的事件信息获取请求。
应理解,从站侧按照事件的早晚顺序依次将各事件的SOE事件信息存储到多个连续的存储地址中,方便主站从从站侧存储的各事件的SOE事件信息中的最晚事件的SOE事件信息开始请求较新的SOE事件信息。
可选的,从站侧的SOE事件信息可以存储在一个独立的SOE寄存器中,每条SOE事件信息至少包括:事件发生时间和事件类型,SOE寄存器中的各条SOE事件信息的存储位置可以是按照事件发生时间从新到旧(从晚到早)的顺序进行排序。例如,SOE寄存器包括500个寄存器地址(000至499),一条SOE事件信息存储在对应的一个寄存器地址中。事件发生时间越晚的SOE事件信息对应的寄存器地址越大,事件发生时间最晚(即事件发生时间最新)的SOE事件信息保持存储在地址为499的寄存器地址中。当有新的最晚发生事件产生时,事件发生时间最晚的SOE事件信息将存储在499中,499中原来的SOE事件信息将按照顺序存储在更小的寄存器地址中。
当然,一条SOE事件信息也可以占用多个寄存器地址。例如一条SOE事件信息的发生时间占7个寄存器(年月日时分秒毫秒),事件类型占1个寄存器,则一条SOE事件信息占8个寄存器。这种情况下,本文所说的一条SOE事件信息存储在对应的一个寄存器地址可以是“初始地址+偏移量”,其中,初始地址可以是000,该SOE事件信息在SOE寄存器中的存储顺序的序号减去1的差,所述差与一条SOE事件信息所占的寄存器个数的乘积作为所述偏移量。例如,若一条SOE事件信息所占的寄存器的个数固定为8个,则在SOE寄存器中存储的第3条SOE事件信息的寄存器地址可以为:000+8×(3-1),本发明对此不做限制。
可选的,主站每次向从站请求的SOE事件信息的条数可以是固定,比如可以是10、20或30条SOE事件信息,或者其它数量的SOE事件信息也可以,本发明对此不做限制。
可选的,主站每次向从站请求的SOE事件信息的条数可以根据需要进行设定,比如上一次请求10条SOE事件信息,下一次可以请求20条或者其它数量的SOE事件信息,本发明对此不做限制。
可选的,当主站每次向从站请求的SOE事件信息的条数可以调整的时候,事件信息获取请求中可以携带有需要获得的SOE事件信息的数量,例如事件信息获取请求中可以携带有数量标识,若数量标识为20,则表示本次需要获得20条SOE事件信息。
可选的,事件信息获取请求中还可以携带有寄存器地址,该寄存器地址可以是当前请求的最晚事件的SOE事件信息的寄存器地址。例如,本次需要获得寄存地址为499至490的10条SOE事件信息,则事件信息获取请求中的寄存器标识可以为499,本发明对此不做限制。
从站将从寄存器地址为499的寄存器区域开始,拷贝499至490中的各SOE事件信息。当本次需要获得的是20条SOE事件信息时,则可以拷贝499至480中的各SOE事件信息,并将拷贝的内容通过SOE报文发送到主站,本发明对此不做限制。
可选的,事件信息获取请求中携带的寄存器地址还可以是当前请求的多个SOE事件信息对应的各寄存器地址的集合。例如,本次需要获得寄存地址为499至490的10条SOE事件信息,则事件信息获取请求中的寄存器地址可以为499-490,本发明对此不做限制。
S200、所述主站获得所述从站返回的、基于所述Modbus协议的SOE报文;
应理解,从站在收到主站发送的SOE事件信息获取请求后,可以从本侧存储的SOE事件信息中搜索获得SOE事件信息获取请求所请求的SOE事件信息。若成功搜索到SOE事件信息获取请求所请求的SOE事件信息,则可以将搜索到的SOE事件信息通过SOE报文返回到主站。
可选的,SOE报文中的各SOE事件信息可以是按照生成各SOE事件信息的时间的先后顺序进行排序。例如,生成时间最晚的SOE事件信息可以排列在SOE报文的开头位置,以此顺序依次排列各SOE事件信息,生成时间最早的SOE事件信息可以排列在SOE报文的末端,本发明对此不做限制。
应理解,按照生成时间排列各SOE事件信息可以方便后续步骤确定各SOE事件信息是否为未获取过的SOE事件信息。
S300、所述主站从所述SOE报文中获得所述从站返回的至少一个SOE事件信息;
应理解,SOE报文中可以携带有多个SOE事件信息,可以获得SOE报文中的一个或者多个或全部SOE事件信息,本发明对此不做限制。例如,主站可以从生成时间最晚的SOE事件信息开始,先获得该SOE事件信息,并执行步骤S400。当确定该SOE事件信息为返回的各SOE事件信息中的、主站未获取过的SOE事件信息时,再按照生成时间的先后顺序,获得下一个SOE事件信息并如此反复执行,当确定出一个SOE事件信息不是返回的各SOE事件信息中的、主站未获取过的SOE事件信息时或确定SOE报文中的全部SOE事件信息均是返回的各SOE事件信息中的、主站未获取过的SOE事件信息时,可以不再获得下一个SOE事件信息。
S400、所述主站将返回的至少一个SOE事件信息与上次最晚SOE事件信息对比,根据对比结果确定返回的各SOE事件信息中的、主站未获取过的SOE事件信息,其中,所述上次最晚SOE事件信息为:上一次从所述从站中获得SOE事件信息的过程中获得的最晚事件的SOE事件信息;
应理解,在结束一次主站从所述从站中获得SOE事件信息的过程后,可以将该次获得SOE事件信息的过程中,从站侧存储的、事件发生时间最晚的SOE事件信息保存在本地,以便于作为下一次主站从所述从站中获得SOE事件信息的过程的“上次最晚SOE事件信息”。
可选的,若返回的一个SOE事件信息与上次最晚SOE事件信息相同,则说明该返回的一个SOE事件信息,以及事件发生时间排列在其之后的其它剩余SOE事件信息也是之前已经获取过的SOE事件信息,不必继续获取上述之前已经获取过的SOE事件信息,如此可以节省通信时间。
S500、当返回的各SOE事件信息中不包括所述主站未获取过的SOE事件信息时,所述主站结束本次从所述从站中获得SOE事件信息的过程;
应理解,当返回的各SOE事件信息中事件发生时间最晚的SOE事件信息与上次最晚SOE事件信息相同,则说明从站侧存储的最新的SOE事件信息是上次最晚SOE事件信息,即从站侧存储的最新的SOE事件信息在之前已经被获取过,则从站侧存储的剩余其它SOE事件信息均在之前已经被获取过,这种情况下可以结束本次主站从从站中获得SOE事件信息的过程。
S600、当返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息时,所述主站保存返回的各SOE事件信息,返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤;
应理解,当返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息时,则说明从站侧存储的其它剩余SOE事件信息中还可能包括所述主站未获取过的SOE事件信息,则可以继续发送事件信息获取请求,即返回执行一次请求应答过程。
S700、当返回的部分SOE事件信息为所述主站未获取过的SOE事件信息时,所述主站保存所述主站未获取过的SOE事件信息,结束本次从所述从站中获得SOE事件信息的过程。
应理解,当返回的部分SOE事件信息为所述主站未获取过的SOE事件信息时,则说明从站侧存储的其它剩余SOE事件信息中均为所述主站之前已经获取过的SOE事件信息,则可以结束本次主站从从站中获得SOE事件信息的过程。
如图2所示,结合图1所示的实施方式,在某些可选的实施方式中,图1中步骤S400,具体可以包括:
S401、所述主站将返回的SOE事件信息中的最晚事件的SOE事件信息与所述上次最晚SOE事件信息对比;如果一致,则执行步骤S402,如果不一致,执行步骤S403。
应理解,针对一次主站从所述从站中获得SOE事件信息的过程的第一次请求应答过程,本文所说的返回的SOE事件信息中的最晚事件的SOE事件信息可以是从站侧所存储的最晚事件的SOE事件信息,上次最晚SOE事件信息可以是上一次主站从所述从站中获得SOE事件信息的过程中,从站侧所存储的最晚事件的SOE事件信息。即,将本次主站从所述从站中获得SOE事件信息的过程中,从站侧所存储的最晚事件的SOE事件信息与上一次主站从所述从站中获得SOE事件信息的过程中,从站侧所存储的最晚事件的SOE事件信息进行对比。
应理解,针对一次主站从所述从站中获得SOE事件信息的过程的任意一次请求应答过程,该SOE事件信息获取请求可以是本次主站从所述从站中获得SOE事件信息的过程的第一个SOE事件信息获取请求,也可以不是。当该SOE事件信息获取请求不是本次主站从所述从站中获得SOE事件信息的过程中的第一个SOE事件信息获取请求时,本文所说的返回的SOE事件信息中的最晚事件的SOE事件信息可以是当前请求所请求的多个SOE事件信息中的最晚事件的SOE事件信息。即,将当前请求所请求的多个SOE事件信息中的最晚事件的SOE事件信息与上次主站从所述从站中获得SOE事件信息的过程中,从站侧所存储的最晚事件的SOE事件信息进行对比。
应理解,可以通过比较得到是否返回的SOE事件信息中的最晚事件的SOE事件信息的事件发生时间与上次最晚SOE事件信息的事件发生时间一致,且返回的SOE事件信息中的最晚事件的SOE事件信息的事件类型与上次最晚SOE事件信息的事件类型一致。
应理解,事件发生时间可以是生成相应SOE事件信息的时间,本发明对此不做限制。
应理解,事件类型可以是导致生成相应SOE事件信息的SOE事件类型,在本领域有达到两百多种事件类型,包括:Imax+保护投上、ACCB联跳进线
、Address设定和ARM启动等,本发明对此不做限制。
S402、所述主站确定返回的SOE事件信息中不包括所述主站未获取过的SOE事件信息;
应理解,若返回的SOE事件信息中的最晚事件的SOE事件信息与所述上次最晚SOE事件信息一致,则说明返回的SOE事件信息中的最晚事件的SOE事件信息在上一次主站从所述从站中获得SOE事件信息的过程中已经被获取过。
从站侧存储的各SOE事件信息可以是按照各SOE事件信息的事件发生时间的先后顺序进行存储,若返回的SOE事件信息中的最晚事件的SOE事件信息在上次主站从所述从站中获得SOE事件信息的过程中已经被获取过,则说明从站侧的剩余其它SOE事件信息也已经在上一次或更早的主站从所述从站中获得SOE事件信息的过程中已经被获取过,则可以确定返回的SOE事件信息中不包括所述主站未获取过的SOE事件信息。
S403、所述主站按照事件从晚到早的顺序依次将返回的SOE事件信息分别与所述上次最晚SOE事件信息对比,若返回的全部SOE事件信息均与所述上次最晚SOE事件信息不一致,则所述主站确定返回的全部SOE事件信息均为所述主站未获取过的事件信息,否则,所述主站确定返回的部分SOE事件信息为所述主站未获取过的事件信息。
应理解,若返回的SOE事件信息中的最晚事件的SOE事件信息与所述上次最晚SOE事件信息不一致,则说明返回的SOE事件信息中的最晚事件的SOE事件信息在上次主站从所述从站中获得SOE事件信息的过程中没有被获取过。从站侧存储的各SOE事件信息可以是按照各SOE事件信息的事件发生时间的先后顺序进行存储,若返回的SOE事件信息中的最晚事件的SOE事件信息在上一次SOE事件信息获取请求中没有被获取过,则说明从站侧的剩余其它SOE事件信息可能也没有被获取过,则可以确定返回的SOE事件信息中包括所述主站未获取过的SOE事件信息。在这种情况下,若返回的全部SOE事件信息均与所述上次最晚SOE事件信息不一致,则所述主站确定返回的全部SOE事件信息均为所述主站未获取过的事件信息,否则,所述主站确定返回的部分SOE事件信息为所述主站未获取过的事件信息。
如图3所示,结合图1所示的实施方式,在某些可选的实施方式中,图1中步骤S300,具体可以包括:
S301、所述主站判断所述SOE报文中是否携带有用于标识所述SOE报文中包括SOE事件信息的标识,如果是,则触发步骤S302;
应理解,若SOE报文携带有用于标识所述SOE报文中包括SOE事件信息的标识,则可以说明SOE报文中携带有SOE事件信息获取请求所请求的SOE事件信息。即从站侧的SOE寄存器中存储有SOE事件信息获取请求所请求的SOE事件信息,且从站成功将SOE事件信息获取请求所请求的SOE事件信息拷贝至SOE报文中。
应理解,若SOE报文未携带有用于标识所述SOE报文中包括SOE事件信息的标识,则可以说明SOE报文中未携带有SOE事件信息获取请求所请求的SOE事件信息。即从站侧的SOE寄存器中未存储有SOE事件信息获取请求所请求的SOE事件信息,导致从站未能在SOE寄存器中搜索到SOE事件信息获取请求所请求的SOE事件信息。此时,可以转而向从站发送获取遥测数据和/或遥感数据的请求,或向从站发送遥测控制指令或遥感控制指令,本发明对此不做限制。
可选的,标识可以是SOE报文中事件发生时间最晚的SOE事件信息所在的寄存器地址,还可以是SOE报文中事件发生时间最早的SOE事件信息所在的寄存器地址,或者是SOE报文中的任意一个SOE事件信息所在的寄存器地址,本发明对此不做限制。当然,标识也可以是SOE报文中的各SOE事件信息所在的寄存器地址的集合,本发明对此不做限制。
应理解,通过判断SOE报文中是否携带有标识,可以快速判断SOE报文中是否携带有SOE事件信息获取请求所请求的SOE事件信息,在SOE报文中携带有SOE事件信息的情况下,可以执行接下来的步骤S302。若SOE报文中未携带有标识,则可以进行其它操作。例如返回到正常的轮询表中,主站向从站发送获得遥控和遥测等数据的请求,或向从站发送一些控制指令,如此可以减少一次主站从所述从站中获得SOE事件信息的过程占用的通信时间,进一步提高数据更新的速度。
S302、所述主站从所述SOE报文中获得所述从站返回的至少一个SOE事件信息。
应理解,SOE报文中的各SOE事件信息可以是按照事件发生时间进行排列的。例如,SOE报文中的各SOE事件信息中事件发生时间最晚的SOE事件信息可以排在SOE报文的开头位置,剩余其它SOE事件信息按照事件发生时间往后排列。
可选的,若SOE报文中的事件发生时间最晚的SOE事件信息为从未获取过的SOE事件信息,则可以确定SOE报文中包括从未获取过的SOE事件信息。
应理解,当SOE报文中包括从未获取过的SOE事件信息时,再进行接下来的步骤S600或S700;当SOE报文中不包括从未获取过的SOE事件信息时,则可以结束本次主站从所述从站中获得SOE事件信息的过程,转而获得从站中的遥测数据和/或遥感数据,或向从站发送遥测控制指令和/或遥感控制指令,可以节省获取SOE事件信息所占用的通信时间,从而将节省下来的时间用于获得从站中的遥测数据和/或遥感数据,或向从站发送遥测控制指令和/或遥感控制指令,进一步使得主站的遥信数据和遥测数据更新及时。
应理解,若所述主站确定返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息,则可以获SOE当前SOE报文中的全部SOE事件信息;若所述主站确定返回的部分SOE事件信息为所述主站未获取过的事件信息,则可以获SOE当前SOE报文中被确定为所述主站未获取过的SOE事件信息。
结合图1所示的实施方式,在某些可选的实施方式中,在步骤S600中的所述主站保存返回的各SOE事件信息之后,所述方法还包括:
所述主站进行至少一次非SOE信息传输过程,并在所述非SOE信息传输过程结束后,再返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤。
应理解,步骤S600是当前SOE报文中的各SOE事件信息均为主站未获取过的事件信息的情况下执行。由于执行本发明方法的设备每执行一次本文所说的一次请求应答过程需要占用一定的通信时间,理论上本次请求应答过程中的各SOE事件信息均为主站未获取过的事件信息,可以直接进入下一次请求应答过程,但这样会导致执行本发明方法的设备的通信资源在较长时间内被获取SOE事件信息的过程占用,导致其他非SOE信息传输过程受阻。所以,可以在进入下一次请求应答过程之前,先进入其他非SOE信息传输过程,执行一次或多次非SOE信息传输过程后再进入下一次请求应答过程,非SOE信息传输过程的具体次数可以根据实际情况进行设定,本发明对此不做限制。例如获得从站中的遥测数据和/或遥感数据,或向从站发送遥测控制指令和/或遥感控制指令等过程。在其他非SOE信息传输过程执行完成后再返回进入下一次请求应答过程,即再返回一次请求应答过程的步骤。如此,可以使得通讯资源的使用更加均衡。
应理解,非SOE信息传输过程可以理解为传输除了SOE事件信息以外的信息的传输过程,至少包括请求过程和应答过程。
可选的,本发明对至少一次非SOE信息传输过程的具体过程不做限制,任何可行的方式均属于本发明的保护范围。
结合图1所示的实施方式,在某些可选的实施方式中,所述主站中保存有SOE事件信息标识,当返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息时,所述方法还包括:
步骤一、所述主站将所述SOE事件信息标识更改为新SOE事件信息标识;
步骤二、所述主站确定所述SOE事件信息标识是否为新SOE事件信息标识,如果是,再返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤。
应理解,SOE事件信息标识可以用于表征本次请求应答过程中所获得的SOE事件信息中是否包括上次最晚SOE事件信息,若包括,则主站可以将SOE事件信息标识更改为旧SOE事件信息标识,若不包括,则主站可以将SOE事件信息标识更改为新SOE事件信息标识。
应理解,设置SOE事件信息标识有便于执行本发明方法的设备可以根据SOE事件信息标识确定是否可以进入下一次请求应答过程。即是否可以返回一次请求应答过程的步骤。
结合图1所示的实施方式,在某些可选的实施方式中,所述主站中保存有SOE事件信息标识,当返回的部分SOE事件信息为所述主站未获取过的SOE事件信息时,所述方法还包括:
步骤一、所述主站将所述SOE事件信息标识更改为旧SOE事件信息标识;
步骤二、在与预设SOE探测周期对应的探测时刻到达时,根据所述旧SOE事件信息标识,向所述从站发送新SOE探测请求,以探测所述从站侧是否存储有新的、所述主站从未获取过的SOE事件信息。
应理解,当判断SOE事件信息标识已经被更改为旧SOE事件信息标识时,说明上次一次请求应答过程结束后,上一次主站从所述从站中获得SOE事件信息的过程已经结束,并且在结束时,从站侧已经没有主站未获取过的SOE事件信息。那么在进入下一次主站从所述从站中获得SOE事件信息的过程的第一次请求应答过程之前,可以判断探测时刻是否到达,若到达则可以发送新SOE探测请求。
应理解,新SOE探测请求可以是请求获取从站侧存储的当前最新的SOE事件信息,若该当前最新的SOE事件信息为主站未获取过的SOE事件信息,则可以说明从站侧已经存储有主站未获取过的SOE事件信息。这种情况下,则可以进入下一次主站从所述从站中获得SOE事件信息的过程,否则主站可以不进入一次主站从所述从站中获得SOE事件信息的过程。这种方式,可以节省获取SOE事件信息的通信时间。即当从站侧出现“新的”SOE事件信息后,主站才会进入下一次主站从所述从站中获得SOE事件信息的过程。
结合上一个实施方式,在某些可选的实施方式中,所述方法还包括:
当所述主站通过所述SOE探测请求确定所述从站侧存储有新的、所述主站从未获取过的SOE事件信息后,所述主站进入下一次从所述从站中获得SOE事件信息的过程。
如图4所示,本发明提供了一种基于Modbus协议的事件顺序记录事件信息获取装置,应用于主站,所述装置包括:信息获取单元,用于从从站中获得事件顺序记录SOE事件信息,所述信息获取单元每次从从站中获得事件顺序记录SOE事件信息的过程包括至少一次请求应答过程;
所述信息获取单元包括:请求应答单元,用于执行至少一次请求应答过程;
所述请求应答单元,包括:请求发送单元100、报文获得单元200、SOE获得单元300、对比单元400、第一结果单元500、第二结果单元600和第三结果单元700;
所述请求发送单元100,用于在所述请求应答单元执行一次请求应答过程中,向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求;其中,所述主站每次从所述从站中获得SOE事件信息的过程中发送的第一个事件信息获取请求中的事件信息存储地址为所述从站侧存储最晚事件的SOE事件信息的存储地址,所述主站在同一次从所述从站中获得SOE事件信息的过程中发送的后续事件信息获取请求中的事件信息存储地址为前一个事件信息获取请求中的事件信息存储地址之后的且间隔预设存储空间的存储地址;其中,所述从站侧按照事件的早晚顺序依次将各事件的SOE事件信息存储到多个连续的存储地址中,其中,每个存储地址存储一个事件的SOE事件信息且各存储地址对应的存储空间大小相同;
所述报文获得单元200,用于在所述请求应答单元执行一次请求应答过程中,获得所述从站返回的、基于所述Modbus协议的SOE报文;
所述SOE获得单元300,用于在所述请求应答单元执行一次请求应答过程中,从所述SOE报文中获得所述从站返回的至少一个SOE事件信息;
所述对比单元400,用于在所述请求应答单元执行一次请求应答过程中,将返回的至少一个SOE事件信息与上次最晚SOE事件信息对比,根据对比结果确定返回的各SOE事件信息中的、主站未获取过的SOE事件信息,其中,所述上次最晚SOE事件信息为:上一次从所述从站中获得SOE事件信息的过程中获得的最晚事件的SOE事件信息;
所述第一结果单元500,用于在所述请求应答单元执行一次请求应答过程中,当返回的各SOE事件信息中不包括所述主站未获取过的SOE事件信息时,所述主站结束本次从所述从站中获得SOE事件信息的过程;
所述第二结果单元600,用于在所述请求应答单元执行一次请求应答过程中,当返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息时,所述主站保存返回的各SOE事件信息,返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤;
所述第三结果单元700,用于在所述请求应答单元执行一次请求应答过程中,当返回的部分SOE事件信息为所述主站未获取过的SOE事件信息时,所述主站保存所述主站未获取过的SOE事件信息,结束本次从所述从站中获得SOE事件信息的过程。
结合图4所示的实施方式,在某些可选的实施方式中,所述对比单元400,包括:第一对比子单元、第二对比子单元、第一确定单元、第二确定单元和第三确定单元;
所述第一对比子单元,用于将返回的SOE事件信息中的最晚事件的SOE事件信息与所述上次最晚SOE事件信息对比;
如果一致,则触发所述第一确定单元;如果不一致,则触发所述第二对比子单元;
所述第一确定单元,用于确定返回的SOE事件信息中不包括所述主站未获取过的SOE事件信息;
所述第二对比子单元,用于按照事件从晚到早的顺序依次将返回的SOE事件信息分别与所述上次最晚SOE事件信息对比,若返回的全部SOE事件信息均与所述上次最晚SOE事件信息不一致,则触发所述第二确定单元,否则,触发所述第三确定单元;
所述第二确定单元,用于确定返回的全部SOE事件信息均为所述主站未获取过的事件信息,
所述第三确定单元,用于确定返回的部分SOE事件信息为所述主站未获取过的事件信息。
结合图4所示的实施方式,在某些可选的实施方式中,所述SOE获得单元300,包括:第一SOE获得子单元和第二SOE获得子单元;
所述第一SOE获得子单元,用于判断所述SOE报文中是否携带有用于标识所述SOE报文中包括SOE事件信息的标识,如果是,则触发所述第二SOE获得子单元;
所述第二SOE获得子单元,用于从所述SOE报文中获得所述从站返回的至少一个SOE事件信息。
结合图4所示的实施方式,在某些可选的实施方式中,所述装置还包括:非SOE事件信息传输单元;
所述非SOE事件信息传输单元,用于在所述主站保存返回的各SOE事件信息之后,进行至少一次非SOE信息传输过程,并在所述至少一次非SOE信息传输过程结束后,再返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤。
结合图4所示的实施方式,在某些可选的实施方式中,所述装置还包括:新标识设置单元和新标识判断单元;
所述主站中保存有SOE事件信息标识,当返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息时,触发所述新标识设置单元;
所述新标识设置单元,用于将所述SOE事件信息标识更改为新SOE事件信息标识;
所述新标识判断单元,用于确定所述SOE事件信息标识是否为新SOE事件信息标识,如果是,则触发所述触发请求应答单元。
结合图4所示的实施方式,在某些可选的实施方式中,所述装置还包括:旧标识设置单元和新SOE探测请求发送单元;
当返回的部分SOE事件信息为所述主站未获取过的SOE事件信息时,触发所述旧标识设置单元;
所述旧标识设置单元,用于将所述SOE事件信息标识更改为旧SOE事件信息标识;
所述新SOE探测请求发送单元,用于在与预设SOE探测周期对应的探测时刻到达时,根据所述旧SOE事件信息标识,向所述从站发送新SOE探测请求,以探测所述从站侧是否存储有新的、所述主站从未获取过的SOE事件信息。
结合图4所示的实施方式,在某些可选的实施方式中,所述装置还包括:新过程单元;
所述新过程单元,用于当所述主站通过所述SOE探测请求确定所述从站侧存储有新的、所述主站从未获取过的SOE事件信息后,进入下一次从所述从站中获得SOE事件信息的过程。
本发明实施例提供的一种基于Modbus协议的事件顺序记录事件信息获取方法及相关设备,主站每次从从站中获得SOE事件信息的过程包括至少一次请求应答过程,每次所述请求应答过程包括如下步骤:所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求;其中,所述主站每次从所述从站中获得SOE事件信息的过程中发送的第一个事件信息获取请求中的事件信息存储地址为所述从站侧存储最晚事件的SOE事件信息的存储地址,所述主站在同一次从所述从站中获得SOE事件信息的过程中发送的后续事件信息获取请求中的事件信息存储地址为前一个事件信息获取请求中的事件信息存储地址之后的且间隔预设存储空间的存储地址;其中,所述从站侧按照事件的早晚顺序依次将各事件的SOE事件信息存储到多个连续的存储地址中,其中,每个存储地址存储一个事件的SOE事件信息且各存储地址对应的存储空间大小相同;所述主站获得所述从站返回的、基于所述Modbus协议的SOE报文;所述主站从所述SOE报文中获得所述从站返回的至少一个SOE事件信息;所述主站将返回的至少一个SOE事件信息与上次最晚SOE事件信息对比,根据对比结果确定返回的各SOE事件信息中的、主站未获取过的SOE事件信息,其中,所述上次最晚SOE事件信息为:上一次从所述从站中获得SOE事件信息的过程中获得的最晚事件的SOE事件信息;当返回的各SOE事件信息中不包括所述主站未获取过的SOE事件信息时,所述主站结束本次从所述从站中获得SOE事件信息的过程;当返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息时,所述主站保存返回的各SOE事件信息,返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤;当返回的部分SOE事件信息为所述主站未获取过的SOE事件信息时,所述主站保存所述主站未获取过的SOE事件信息,结束本次从所述从站中获得SOE事件信息的过程。
所述一种基于Modbus协议的事件顺序记录事件信息获取装置包括处理器和存储器,上述请求发送单元100、报文获得单元200、SOE获得单元300、对比单元400、第一结果单元500、第二结果单元600和第三结果单元700等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现当从站设备有新的SOE事件信息生成时,主站设备才从从站设备获取SOE事件信息,并且仅获得从站设备中新生成的SOE事件信息,使得获取SOE事件信息的通信过程大幅缩短,避免占用过多的通信时间,从而使得主站的遥信数据和遥测数据更新及时。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述一种基于Modbus协议的事件顺序记录事件信息获取方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述一种基于Modbus协议的事件顺序记录事件信息获取方法。
如图5所示,本发明实施例提供了一种设备70,所述设备70包括至少一个处理器701、以及与处理器701连接的至少一个存储器702、总线703;其中,处理器701、存储器702通过总线703完成相互间的通信;处理器701用于调用存储器702中的程序指令,以执行上述的一种基于Modbus协议的事件顺序记录事件信息获取方法。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有上述的一种基于Modbus协议的事件顺序记录事件信息获取方法包括的步骤的程序。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种基于Modbus协议的事件顺序记录事件信息获取方法,其特征在于,包括:
主站每次从从站中获得事件顺序记录SOE事件信息的过程包括至少一次请求应答过程,每次所述请求应答过程包括如下步骤:
所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求;其中,所述主站每次从所述从站中获得SOE事件信息的过程中发送的第一个事件信息获取请求中的事件信息存储地址为所述从站侧存储的最晚事件的SOE事件信息的存储地址,所述主站在同一次从所述从站中获得SOE事件信息的过程中发送的后续事件信息获取请求中的事件信息存储地址为前一个事件信息获取请求中的事件信息存储地址之后的且间隔预设存储空间的存储地址;其中,所述从站侧按照事件的早晚顺序依次将各事件的SOE事件信息存储到多个连续的存储地址中,其中,每个存储地址存储一个事件的SOE事件信息且各存储地址对应的存储空间大小相同;
所述主站获得所述从站返回的、基于所述Modbus协议的SOE报文;
所述主站从所述SOE报文中获得所述从站返回的至少一个SOE事件信息;
所述主站将返回的至少一个SOE事件信息与上次最晚SOE事件信息对比,根据对比结果确定返回的各SOE事件信息中的、主站未获取过的SOE事件信息,其中,所述上次最晚SOE事件信息为:上一次从所述从站中获得SOE事件信息的过程中获得的最晚事件的SOE事件信息;
当返回的各SOE事件信息中不包括所述主站未获取过的SOE事件信息时,所述主站结束本次从所述从站中获得SOE事件信息的过程;
当返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息时,所述主站保存返回的各SOE事件信息,返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤;
当返回的部分SOE事件信息为所述主站未获取过的SOE事件信息时,所述主站保存所述主站未获取过的SOE事件信息,结束本次从所述从站中获得SOE事件信息的过程。
2.根据权利要求1所述的方法,其特征在于,所述主站将返回的至少一个SOE事件信息与上次最晚SOE事件信息对比,根据对比结果确定返回的各SOE事件信息中的、主站未获取过的SOE事件信息,包括:
所述主站将返回的SOE事件信息中的最晚事件的SOE事件信息与所述上次最晚SOE事件信息对比;
如果一致,则所述主站确定返回的SOE事件信息中不包括所述主站未获取过的SOE事件信息;
如果不一致,则所述主站按照事件从晚到早的顺序依次将返回的SOE事件信息分别与所述上次最晚SOE事件信息对比,若返回的全部SOE事件信息均与所述上次最晚SOE事件信息不一致,则所述主站确定返回的全部SOE事件信息均为所述主站未获取过的事件信息,否则,所述主站确定返回的部分SOE事件信息为所述主站未获取过的事件信息。
3.根据权利要求1所述的方法,其特征在于,所述主站从所述SOE报文中获得所述从站返回的至少一个SOE事件信息,包括:
所述主站判断所述SOE报文中是否携带有用于标识所述SOE报文中包括SOE事件信息的标识,如果是,则所述主站从所述SOE报文中获得所述从站返回的至少一个SOE事件信息。
4.根据权利要求1所述的方法,其特征在于,在所述主站保存返回的各SOE事件信息之后,所述方法还包括:
所述主站进行至少一次非SOE信息传输过程,并在所述至少一次非SOE信息传输过程结束后,再返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤。
5.根据权利要求1所述的方法,其特征在于,所述主站中保存有SOE事件信息标识,当返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息时,所述方法还包括:
所述主站将所述SOE事件信息标识更改为新SOE事件信息标识;
所述主站确定所述SOE事件信息标识是否为新SOE事件信息标识,如果是,再返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤。
6.根据权利要求1所述的方法,其特征在于,所述主站中保存有SOE事件信息标识,当返回的部分SOE事件信息为所述主站未获取过的SOE事件信息时,所述方法还包括:
所述主站将所述SOE事件信息标识更改为旧SOE事件信息标识;
在与预设SOE探测周期对应的探测时刻到达时,根据所述旧SOE事件信息标识,向所述从站发送新SOE探测请求,以探测所述从站侧是否存储有新的、所述主站从未获取过的SOE事件信息。
7.根据权利要求6所述的方法,其特征在于,还包括:
当所述主站通过所述SOE探测请求确定所述从站侧存储有新的、所述主站从未获取过的SOE事件信息后,所述主站进入下一次从所述从站中获得SOE事件信息的过程。
8.一种基于Modbus协议的事件顺序记录事件信息获取装置,其特征在于,应用于主站,所述装置包括:信息获取单元,用于从从站中获得事件顺序记录SOE事件信息,所述信息获取单元每次从所述从站中获得事件顺序记录SOE事件信息的过程包括至少一次请求应答过程;
所述信息获取单元包括:请求应答单元,用于执行至少一次请求应答过程;
所述请求应答单元,包括:请求发送单元、报文获得单元、SOE获得单元、对比单元、第一结果单元、第二结果单元和第三结果单元;
所述请求发送单元,用于在所述请求应答单元执行一次请求应答过程中,向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求;其中,所述主站每次从所述从站中获得SOE事件信息的过程中发送的第一个事件信息获取请求中的事件信息存储地址为所述从站侧存储最晚事件的SOE事件信息的存储地址,所述主站在同一次从所述从站中获得SOE事件信息的过程中发送的后续事件信息获取请求中的事件信息存储地址为前一个事件信息获取请求中的事件信息存储地址之后的且间隔预设存储空间的存储地址;其中,所述从站侧按照事件的早晚顺序依次将各事件的SOE事件信息存储到多个连续的存储地址中,其中,每个存储地址存储一个事件的SOE事件信息且各存储地址对应的存储空间大小相同;
所述报文获得单元,用于在所述请求应答单元执行一次请求应答过程中,获得所述从站返回的、基于所述Modbus协议的SOE报文;
所述SOE获得单元,用于在所述请求应答单元执行一次请求应答过程中,从所述SOE报文中获得所述从站返回的至少一个SOE事件信息;
所述对比单元,用于在所述请求应答单元执行一次请求应答过程中,将返回的至少一个SOE事件信息与上次最晚SOE事件信息对比,根据对比结果确定返回的各SOE事件信息中的、主站未获取过的SOE事件信息,其中,所述上次最晚SOE事件信息为:上一次从所述从站中获得SOE事件信息的过程中获得的最晚事件的SOE事件信息;
所述第一结果单元,用于在所述请求应答单元执行一次请求应答过程中,当返回的各SOE事件信息中不包括所述主站未获取过的SOE事件信息时,所述主站结束本次从所述从站中获得SOE事件信息的过程;
所述第二结果单元,用于在所述请求应答单元执行一次请求应答过程中,当返回的全部SOE事件信息均为所述主站未获取过的SOE事件信息时,所述主站保存返回的各SOE事件信息,返回所述主站向所述从站发送基于Modbus协议的、包括事件信息存储地址的事件信息获取请求的步骤;
所述第三结果单元,用于在所述请求应答单元执行一次请求应答过程中,当返回的部分SOE事件信息为所述主站未获取过的SOE事件信息时,所述主站保存所述主站未获取过的SOE事件信息,结束本次从所述从站中获得SOE事件信息的过程。
9.一种设备,其特征在于,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序,所述程序至少用于实现权利要求1至7中任一项所述的一种基于Modbus协议的事件顺序记录事件信息获取方法。
10.一种存储介质,其特征在于,所述存储介质用于存储程序,所述程序被处理器执行时实现权利要求1至7中任一项所述的一种基于Modbus协议的事件顺序记录事件信息获取方法。
CN202010771231.8A 2020-08-04 2020-08-04 基于Modbus协议的事件顺序记录事件信息获取方法及相关设备 Active CN111654426B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010771231.8A CN111654426B (zh) 2020-08-04 2020-08-04 基于Modbus协议的事件顺序记录事件信息获取方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010771231.8A CN111654426B (zh) 2020-08-04 2020-08-04 基于Modbus协议的事件顺序记录事件信息获取方法及相关设备

Publications (2)

Publication Number Publication Date
CN111654426A true CN111654426A (zh) 2020-09-11
CN111654426B CN111654426B (zh) 2020-11-03

Family

ID=72348659

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010771231.8A Active CN111654426B (zh) 2020-08-04 2020-08-04 基于Modbus协议的事件顺序记录事件信息获取方法及相关设备

Country Status (1)

Country Link
CN (1) CN111654426B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113055387A (zh) * 2021-03-15 2021-06-29 西安热工研究院有限公司 汽轮机伺服主从卡通讯协议
CN116437390A (zh) * 2023-06-13 2023-07-14 瑞纳智能设备股份有限公司 温控面板、温控阀、二者之间的通信方法以及温控系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981862A (zh) * 2012-12-26 2013-03-20 华自科技股份有限公司 一种人机界面显示及通信模块
US20140025321A1 (en) * 2007-04-03 2014-01-23 Electro Industries/Gaugetech System and method for performing data transfers in an intelligent electronic device
CN105429958A (zh) * 2015-10-30 2016-03-23 武汉华茂工业自动化有限公司 一种基于Android开发的企业应用平台系统
CN108111355A (zh) * 2017-12-28 2018-06-01 山东鲁能智能技术有限公司 数据通信网关机及其同步数据的方法、装置、及介质
CN110830348A (zh) * 2019-11-13 2020-02-21 上海艾临科智能科技有限公司 一种基于串口通信的从机数据获取方法、装置及系统
CN111130677A (zh) * 2019-12-06 2020-05-08 北京和利时智能技术有限公司 Soe事件记录方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140025321A1 (en) * 2007-04-03 2014-01-23 Electro Industries/Gaugetech System and method for performing data transfers in an intelligent electronic device
CN102981862A (zh) * 2012-12-26 2013-03-20 华自科技股份有限公司 一种人机界面显示及通信模块
CN105429958A (zh) * 2015-10-30 2016-03-23 武汉华茂工业自动化有限公司 一种基于Android开发的企业应用平台系统
CN108111355A (zh) * 2017-12-28 2018-06-01 山东鲁能智能技术有限公司 数据通信网关机及其同步数据的方法、装置、及介质
CN110830348A (zh) * 2019-11-13 2020-02-21 上海艾临科智能科技有限公司 一种基于串口通信的从机数据获取方法、装置及系统
CN111130677A (zh) * 2019-12-06 2020-05-08 北京和利时智能技术有限公司 Soe事件记录方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113055387A (zh) * 2021-03-15 2021-06-29 西安热工研究院有限公司 汽轮机伺服主从卡通讯协议
CN116437390A (zh) * 2023-06-13 2023-07-14 瑞纳智能设备股份有限公司 温控面板、温控阀、二者之间的通信方法以及温控系统
CN116437390B (zh) * 2023-06-13 2023-08-18 瑞纳智能设备股份有限公司 温控面板、温控阀、二者之间的通信方法以及温控系统

Also Published As

Publication number Publication date
CN111654426B (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN111654426B (zh) 基于Modbus协议的事件顺序记录事件信息获取方法及相关设备
CN109558065B (zh) 数据删除方法及分布式存储系统
AU3739800A (en) Fault data synchronization via peer-to-peer communications network
CN111510350B (zh) 基于多信道的数据分时采集方法及装置
CN112272243B (zh) 地址分配方法
CN111541596A (zh) 一种接力应答自动编号方法、装置、设备及存储介质
CN111225082B (zh) 一种物联网智能设备的身份管理方法、装置及物联网平台
CN108319538A (zh) 大数据平台运行状态的监控方法和系统
CN112311628A (zh) 网络测速方法、系统、网络设备和存储介质
CN111654425B (zh) 基于Modbus协议的故障录波信息获取方法及相关设备
CN112118151A (zh) 网络测速方法、装置、系统、电子设备及存储介质
CN111818127B (zh) 数据同步方法及装置
CN114328122A (zh) 一种io全生命周期时延监测方法及相关装置
CN106254515A (zh) 一种存储系统的负载均衡方法及设备
CN111355765A (zh) 一种网络请求的处理、发送方法及装置
CN108038127A (zh) 一种数据同步的方法、装置、终端设备及存储介质
CN108829735B (zh) 并行执行计划的同步方法、装置、服务器及存储介质
CN109274763B (zh) 一种信息同步方法及双机热备设备
CN112261512B (zh) 非平衡轮询协议的主站遥控方法、装置、存储介质和设备
CN113568781B (zh) 一种数据库错误处理方法、装置及数据库集群访问系统
CN114691443A (zh) 一种截面数据发送方法、装置、电子设备及存储介质
CN108805741B (zh) 一种电能质量数据的融合方法、装置及系统
US20210044449A1 (en) Control system and control method
CN114422621B (zh) 一种通信连接方法、站控层装置及存储介质
CN111935847B (zh) 一种无线数据通信的方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211105

Address after: 100176 room 3412, floor 4, building 3, yard 2, Desheng Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing

Patentee after: Beijing Helishi system integration Co.,Ltd.

Address before: 100176 courtyard 2, Disheng Middle Road, Daxing Economic and Technological Development Zone, Beijing

Patentee before: BEIJING HOLLYSYS Co.,Ltd.