CN111130677A - Soe事件记录方法及系统 - Google Patents

Soe事件记录方法及系统 Download PDF

Info

Publication number
CN111130677A
CN111130677A CN201911241997.9A CN201911241997A CN111130677A CN 111130677 A CN111130677 A CN 111130677A CN 201911241997 A CN201911241997 A CN 201911241997A CN 111130677 A CN111130677 A CN 111130677A
Authority
CN
China
Prior art keywords
soe
event
equipment
module
clock
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.)
Pending
Application number
CN201911241997.9A
Other languages
English (en)
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 HOLLYSYS AUTOMATION & DRIVE Co.,Ltd.
Original Assignee
Ningbo Helishi Intelligent Technology Co ltd
Beijing Hollysys Automation & Drive 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 Ningbo Helishi Intelligent Technology Co ltd, Beijing Hollysys Automation & Drive Co ltd filed Critical Ningbo Helishi Intelligent Technology Co ltd
Priority to CN201911241997.9A priority Critical patent/CN111130677A/zh
Publication of CN111130677A publication Critical patent/CN111130677A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers

Abstract

本申请提供了SOE事件记录方法及系统,该方法首先依据外部校时时钟对控制系统中的各级设备逐级进行校时;具体的,以主控制器为起始逐级向下一级设备发送时钟校准信息进行时钟校准。当SOE模块检测到开关量输入通道发生变为后,存储变为事件并插入校准后的时间戳生成SOE事件。然后,以SOE模块为起始,逐级通知上一级设备读取新的SOE事件,直到主控制器读取新的SOE事件。利用该方案能够实现包含多个采用不同通信协议的设备的控制系统中各个设备的时钟同步,从而保证SOE模块生成的SOE事件中的时间戳精准。同时,控制系统中的各级设备都具备非周期通讯机制,各级设备通过非周期通讯机制读取下一级设备中的SOE事件,实现SOE事件逐级上传至主控制器中。

Description

SOE事件记录方法及系统
技术领域
本发明属于工业控制技术领域,尤其涉及SOE事件记录方法及系统。
背景技术
事件顺序记录(sequence of event,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模块,以及设置在所述主控制器和所述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事件逐级上传至主控制器中。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明提供的一种包含多级设备的控制系统的结构示意图;
图2示出了本发明提供的一种包含多级设备的控制系统实例的结构示意图;
图3示出了本发明提供的一种SOE事件记录方法流程图;
图4示出了图2所示系统的校时过程的示意图;
图5示出了图2所示系统的事件上传和事件确认过程的示意图;
图6示出了本发明提供的另一种SOE事件记录方法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,示出了本发明提供的一种包含多级设备的控制系统的结构示意图,该系统包括:主控制器110、至少一个中间级设备120和SOE模块130。
主控制器110可以采用可编程逻辑控制器(Programmable Logic Controller,PLC)。
中间级设备可以根据工业控制系统的特点及所选用的现场通信总线确定。
例如,本实施例以中间级设备包括采用Powerlink通信协议的模块或设备,采用DP协议的设备等。具体的如图2所示,该实例中采用Powerlink通信协议的设备或模块包括Powerlink主站和Powerlink从站,采用分布式外围设备(Distributed Peripherals,DP)协议的设备或模块包括DP主站和DP从站,其中,Powerlink从站和DP主站实际为Powerlink从站转DP主站的网关模块。
如图2所示,PLC与Powerlink主站之间通过PCIe协议进行通信,Powerlink主站与网关模块之间通过Powerlink协议进行通信,网关模块与DP从站之间通过DP协议进行通信,SOE模块设置在DP从站内,即网关模块与SOE模块之间通过DP协议进行通信。可见图2所示的控制系统中包括三种采用不同通信协议通信的设备。
PCIe协议是一种高速串行计算机扩展总线标准,属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽。
Powerlink是一项在标准以太网介质上,解决工业控制及数据采集领域数据传输实时性的技术。
如图1或图2所示的包含多级采用不同通信协议的设备的系统中,SOE模块与直连的设备之间需要特殊通讯机制来获取SOE事件数据,如果与SOE模块直连的设备与主控制器之间还存在其它设备,尤其是其它设备采用的通信协议与直连SOE模块的设备所采用通信协议不同时,需要各级设备均具有特殊通信机制,而这在系统设计之初就需要设计好,否则无法实现系统中各个设备之间通讯。
下面将结合图3所示的SOE事件记录方法流程图介绍本申请提供的适用于图1或图2所示的系统的SOE事件记录方法。
参见图3,该方法包括以下步骤:
S110,主控制器接收外部校时时钟并以依据外部校时时钟校准自身的系统时钟。
外部校时时钟可以通过上层应用发送至主控制器,或者,与主控制器连接的设备发送至主控制器。
在一种应用场景下,整个工业控制系统中包括多个主控制器,每个主控制器通过多级设备连接至SOE模块,如果多个主控制器之间的时钟不同步,整个工业控制系统中隶属于不同主控制器的SOE事件对应的时间基准不同,可能会导致整个工业系统的事件分析受影响,例如,分析具有一定时间顺序的事件时可能会导致分析结果错误。因此,需要对工业控制中的各级设备的时钟基准进行同步校准,且与外部的标准时间源同步。
主控制器接收到外部校时时钟后将自身的系统时钟校准至与外部校时时钟一致。
S120,控制系统中的各级设备以主控制器为起始,逐级向下一级设备发送时钟校准信息进行时钟校准;直到SOE模块依据接收到的时钟校准信息校准自身的系统时钟。
主控制器将自身的系统时钟校准至与外部校时时钟一致后,向下一级设备发送时钟校准信息以使该设备进行时钟校准,即,从主控制器至SOE模块逐级下发时钟校准信息,以使各级设备的系统时钟均与外部校时时钟一致。
在本发明的一个实施例中,为了防止设备内的系统时钟突变,被校时设备采用预设时钟步长逐渐调节系统时钟与外部校时时钟同步。例如,被校时设备的当前系统时钟与外部校时时钟之间的时间差为500ms,预设时间步长是100ms,则从当前系统时钟调整至外部校时时钟需要进行5次调整,每次调整100ms。
此外,考虑到校时帧对工业总线的占用开销、被校时对象处理的开销,同时考虑到各设备均具有一定的守时精度能力,因此,校时间隔可以适当放大,如,每分钟进行一次校时。
例如,参见图4,示出了图2所示的控制系统中各级设备的校时过程示意图,如图4所示,校时过程包括以下过程:
(1)PLC模块接收到外部校时时钟后,调整自身的系统时钟与外部校时时钟同步;
(2)PLC模块通过PCIe协议内的校时协议向Powerlink主站发送时钟校准信息,Powerlink主站根据接收到的时钟校准信息校准自身的系统时钟;
(3)Powerlink主站通过Powerlink协议中的同步帧向网关模块发送时钟校准信息,网关模块依据接收到的时钟校准信息校准自身的系统时钟;
(4)网关模块通过DP协议中的广播帧向SOE模块发送时钟校准信息,SOE模块依据接收到的时钟校准信息校准自身的系统时钟。校时报文添加到广播帧上发送至与该网关模块连接的各个SOE模块。
需要说明的是,为了避免校时信息传输对现场总线协议产生较大的影响,在本申请的一个实施例中,时钟校准信息在现场总线协议中传输时采用现场总线协议中的标准报文格式,例如,Powerlink协议自带同步帧并支持1588分布式时钟协议,DP协议中有约定的广播帧格式,校时报文附属在该广播帧上传输。
S130,SOE模块查询到开关量输入通道发生变位后,存储该变位事件并插入该SOE模块校准后的时间戳生成SOE事件。
SOE模块查询开关量输入通道是否发生变位,变位是指开关量输入通道由“1”变为“0”或者,由“0”变为“1”。SOE模块就是记录这种变化事件。若SOE模块检测到开关量输入通道发生变位,则存储该变位事件并依据系统时间添加时间戳并存储至本地的事件缓存区。
SOE模块中还设置有事件缓存区,将生成的SOE事件存储至事件缓存区中,以便上一级设备读取SOE事件。例如,事件缓存区可以采用队列结构,即数据采取先进先出的机制存储及读取。
此外,需要说明的是,每一级设备只能获知与自身直连的设备的ID信息,无法获知未与自身直连的设备的ID信息,因此,在主控制器与SOE模块之间存在其它设备的应用场景中,主控制器并不知道该主控制器的控制范围内的SOE模块的ID信息,此种情况下,SOE模块在上传SOE事件数据时除上传SOE事件本身还需要携带该SOE模块的ID信息,以便主控制器获知当前上传SOE事件的模块的身份标识,进而方便上层应用分析SOE事件。这一点也需要在系统设计之初就设计好。
S140,控制系统中的各级设备以SOE模块为起始,通过周期数据逐级向上一级设备发送读取SOE事件的指示消息,接收到指示消息的设备通过非周期数据逐级从下一级设备中读取SOE事件。
SOE模块生成SOE事件后,通过周期数据向与该SOE模块直连的设备发送读取SOE事件的指示消息,与SOE模块直连的设备接收到该指示消息后从SOE模块中读取SOE事件。与SOE模块直连的设备读取到SOE事件后,向该设备的上一级设备发送读取SOE事件的指示消息,各级设备依次重复上述过程,直到主控制器接收到指示消息并从发送该指示消息的设备中读取SOE事件。
例如,如图5所示,示出了本发明提供的一种图2所示控制系统的事件上传过程的示意图,事件上传过程包括以下步骤:
(1)SOE模块中的事件缓冲区内不为空时,通过DP周期数据向网关模块中的DP主站指示有SOE事件产生,网关模块内的DP主站接收到指示信息后通过非周期数据交互机制从SOE模块中读取SOE事件数据;同时,DP主站通过内部机制通知Powerlink从站侧;
(2)网关模块内的Powerlink从站通过周期数据指示Powerlink主站有SOE事件待读取,Powerlink主站通过非周期数据交互机制从网关模块中读取SOE事件数据;
(3)Powerlink主站通过内部通信机制通知PLC模块有SOE事件待读取,PLC模块通过非周期数据交互机制从Powerlink主站中读取SOE数据。
为了使SOE事件传输不对控制系统的现场总线协议产生较大影响,在本发明的一个实施例中,系统中的各级设备均不解析SOE事件内容,只进行非周期数据交互,即各级设备之间只对SOE事件进行转发不解析。
在本发明一种可能的实现方式中,各级设备通过非周期数据交互机制读取SOE事件的过程可以包括以下步骤:
接收到指示消息的设备向该设备的下一级设备发送非周期数据交互请求,该非周期数据交互请求用于请求读取下一级设备中的SOE事件;该下一级设备响应所述非周期数据交互请求,向该设备返回SOE事件。
为了避免SOE事件数据丢失,在本发明的一个实施例中,对于SOE数据采用事件确认机制,即主控制器在读取到SOE事件后,逐级向下一级设备返回事件确认报文,直到SOE模块接收到该事件确认报文后,才将刚上传的SOE事件从SOE模块本地存储空间清除。
请参见图5,确认报文回传过程如下:
(1)PLC模块收到SOE事件数据后向Powerlink主站发送事件确认报文,并同步更新SOE事件缓存区中的队尾指针;
PLC模块中设置有事件缓存区,例如,该事件缓存区采用环形队列结构,当有新的SOE事件数据存入事件缓存区中后需要更新环形队列中的队尾指针。其中,环形队列中的队头指针指向队首元素的前一个位置,队尾指针指向队尾元素。
(2)Powerlink主站将确认报文透传到网关模块的Powerlink从站侧,网关模块的Powerlink从站通过内部机制将确认报文传递至DP主站;
(3)DP主站通过DP协议将确认报文传递给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事件后,向SOE模块反馈事件已读取的事件确认报文,SOE模块依据该事件确认报文从本地的事件缓存区中清除该SOE事件,从而减轻SOE模块内事件缓存区的存储压力。而且,采用这种多级缓存机制,能够防止系统出现瞬时大规模SOE事件无法及时上传至SOE模块的现象发生。
在本申请的另一个实施例中,主控制器支持多个客户端独立读取SOE事件。请参见图6,该方法在图3所示实施例的基础上还包括以下步骤:
S210,当主控制器接收到上层的应用客户端发起的事件读取请求后,确定该应用客户端对应的事件缓存区中的头指针位置。
主控制器从下一级设备读取的SOE事件后存储至本地的事件缓存区中,以便上层应用客户端从该事件缓存区中读取SOE事件。
S220,依据头指针位置从事件缓存区中读取指定条数的SOE事件,并反馈给所述应用客户端,并更新该应用客户端对应的所述事件缓存区中的头指针位置。
本申请中的事件缓存区采用队列结构,数据读取遵循“先入先出”的读取规则,具体的,队列中的头指针(即,队头指针)指向队首元素的前一个位置,因此,头指针+1对应的位置即队首元素,在应用客户端读取队首元素后,主控制器需要更新头指针的位置,即,“头指针+1”作为新的头指针。主控制器需要保存事件缓存区内头指针的位置,以便从事件缓存区中正确读取SOE事件。
当然,在其它实施例中,应用客户端可以一次读取多条SOE事件,例如,一次可以读取10条,则将“头指针+10”作为新的头指针。
需要说明的是,上述“头指针+1”和“头指针+10”中“1”和“10”分别代表存储一条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模块的情况发生,在本申请的一个实施例中,控制系统中的主控制器、SOE模块,以及与SOE模块直连的设备中均设置有事件缓存区。
具体的,当与所述SOE模块直连的设备从所述SOE模块中读取SOE事件并存储至该设备的事件缓存区后,向所述SOE模块反馈事件确认报文;SOE模块,还用于接收到与自身直连的设备反馈的事件确认报文后,清除所述SOE模块的缓存区中存储的与该事件确认报文相关联的SOE事件。
在本申请的另一个实施例中,主控制器支持多个客户端独立读取SOE事件,在本实施例中,所述主控制器,还用于当接收到上层的应用客户端发起的事件读取请求后,确定该应用客户端对应的事件缓存区中的头指针位置;并依据所述头指针位置从所述事件缓存区中读取指定条数的SOE事件,反馈给所述应用客户端,并更新本地存储的与所述应用客户端对应的所述事件缓存区的头指针位置。主控制器维护多个应用读取SOE事件对应的头指针,实现多个应用独立读取SOE事件。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请各实施例中的装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种SOE事件记录方法,其特征在于,应用于包括多级设备的控制系统,所述方法包括:
主控制器接收外部校时时钟并依据所述外部校时时钟校准自身的系统时钟;
所述控制系统中的各级设备以所述主控制器为起始,逐级向下一级设备发送时钟校准信息进行时钟校准,直到SOE模块依据接收到的时钟校准信息校准自身的系统时钟;
SOE模块查询到开关量输入通道发生变位后,存储该变位事件并插入该SOE模块校准后的时间戳生成SOE事件;
所述控制系统中的各级设备以SOE模块为起始,通过周期数据逐级向上一级设备发送读取SOE事件的指示消息,接收到所述指示消息的设备通过非周期数据逐级从下一级设备中读取SOE事件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述主控制器读取到SOE事件后,逐级向下一级设备返回事件确认报文,所述事件确认报文用于表征该SOE事件已接收;
当所述SOE模块接收到所述事件确认报文后,清除所述SOE模块的事件缓存区中存储的与所述事件确认报文相关联的SOE事件。
3.根据权利要求1或2所述的方法,其特征在于,与所述SOE模块直连的设备中设置有事件缓存区,所述方法还包括:
当与所述SOE模块直连的设备从所述SOE模块中读取SOE事件并存储至该设备的事件缓存区后,向所述SOE模块反馈事件确认报文;
所述SOE模块接收到与自身直连的设备反馈的事件确认报文后,清除所述SOE模块的缓存区中存储的与该事件确认报文相关联的SOE事件。
4.根据权利要求1所述的方法,其特征在于,接收到所述指示消息的设备通过非周期数据从下一级设备中读取SOE事件,包括:
所述接收到所述指示消息的设备向该设备的下一级设备发送非周期数据交互请求,该非周期数据交互请求用于请求读取下一级设备中的SOE事件;
所述下一级设备响应所述非周期数据交互请求,向该设备返回SOE事件。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述主控制器接收到上层的应用客户端发起的事件读取请求后,确定该应用客户端对应的事件缓存区的头指针位置;
依据所述头指针位置从所述事件缓存区中读取指定条数的SOE事件,并反馈给所述应用客户端,并更新主控制器内存储的与所述应用客户端对应的所述事件缓存区的头指针位置。
6.根据权利要求1所述的方法,其特征在于,所述控制系统中的各级设备以所述主控制器为起始,逐级向下一级设备发送时钟校准信息进行时钟校准,包括:
所述控制系统中的任一设备接收到时钟校准信息后,按照预设时间步长调整该设备的当前系统时钟,直到该设备的系统时钟与所述时钟校准信息中的同步时钟一致。
7.一种SOE事件记录系统,其特征在于,包括:主控制器、SOE模块,以及设置在所述主控制器和所述SOE模块之间的至少一级中间级设备;
主控制器接收外部校时时钟并依据所述外部校时时钟校准自身的系统时钟;
以所述主控制器为起始,逐级向下一级设备发送时钟校准信息进行时钟校准,直到SOE模块依据接收到的时钟校准信息校准自身的系统时钟;
SOE模块查询到开关量输入通道发生变位后,存储该变位事件并插入该SOE模块校准后的时间戳生成SOE事件;
以SOE模块为起始,通过周期数据逐级向上一级设备发送读取SOE事件的指示消息,接收到所述指示消息的设备通过非周期数据逐级从下一级设备中读取SOE事件。
8.根据权利要求7所述的系统,其特征在于,
所述主控制器,还用于当读取到SOE事件后,逐级向下一级设备返回事件确认报文,所述事件确认报文用于表征该SOE事件已接收;
所述SOE模块,还用于当接收到所述事件确认报文后,清除所述SOE模块的事件缓存区中存储的该SOE事件。
9.根据权利要求7或8所述的系统,其特征在于,与所述SOE模块直连的设备中设置有事件缓存区;
当与所述SOE模块直连的设备从所述SOE模块中读取SOE事件并存储至该设备的事件缓存区后,向所述SOE模块反馈事件确认报文;
所述SOE模块,还用于接收到与自身直连的设备反馈的事件确认报文后,清除所述SOE模块的缓存区中存储的与该事件确认报文相关联的SOE事件。
10.根据权利要求7或8所述的系统,其特征在于,
所述主控制器,还用于当接收到上层的应用客户端发起的事件读取请求后,确定该应用客户端对应的事件缓存区中的头指针位置;并依据所述头指针位置从所述事件缓存区中读取指定条数的SOE事件,反馈给所述应用客户端,并更新本地存储的与所述应用客户端对应的所述事件缓存区的头指针位置。
CN201911241997.9A 2019-12-06 2019-12-06 Soe事件记录方法及系统 Pending CN111130677A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911241997.9A CN111130677A (zh) 2019-12-06 2019-12-06 Soe事件记录方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911241997.9A CN111130677A (zh) 2019-12-06 2019-12-06 Soe事件记录方法及系统

Publications (1)

Publication Number Publication Date
CN111130677A true CN111130677A (zh) 2020-05-08

Family

ID=70497696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911241997.9A Pending CN111130677A (zh) 2019-12-06 2019-12-06 Soe事件记录方法及系统

Country Status (1)

Country Link
CN (1) CN111130677A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111654426A (zh) * 2020-08-04 2020-09-11 北京和利时系统工程有限公司 基于Modbus协议的事件顺序记录事件信息获取方法及相关设备
CN113176742A (zh) * 2021-03-24 2021-07-27 广东芬尼克兹节能设备有限公司 多设备间的集控控制方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801023A (zh) * 2005-11-14 2006-07-12 杨卫民 一种多事件顺序记录与测试系统
KR20080076530A (ko) * 2007-02-16 2008-08-20 현대중공업 주식회사 감시 및 제어시스템의 에스오이 구현방법
CN109120067A (zh) * 2018-09-05 2019-01-01 杭州和利时自动化有限公司 一种事件顺序记录上报方法、装置、设备及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801023A (zh) * 2005-11-14 2006-07-12 杨卫民 一种多事件顺序记录与测试系统
KR20080076530A (ko) * 2007-02-16 2008-08-20 현대중공업 주식회사 감시 및 제어시스템의 에스오이 구현방법
CN109120067A (zh) * 2018-09-05 2019-01-01 杭州和利时自动化有限公司 一种事件顺序记录上报方法、装置、设备及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111654426A (zh) * 2020-08-04 2020-09-11 北京和利时系统工程有限公司 基于Modbus协议的事件顺序记录事件信息获取方法及相关设备
CN111654426B (zh) * 2020-08-04 2020-11-03 北京和利时系统工程有限公司 基于Modbus协议的事件顺序记录事件信息获取方法及相关设备
CN113176742A (zh) * 2021-03-24 2021-07-27 广东芬尼克兹节能设备有限公司 多设备间的集控控制方法及装置

Similar Documents

Publication Publication Date Title
CN113542090B (zh) 一种EtherCAT主从站一体网桥控制器及控制方法
EP1427121B1 (en) Radio access network, radio communication method, synchronous server and node
CN104980519B (zh) 多机房存储系统
US6535926B1 (en) Time synchronization system for industrial control network using global reference pulses
CN103098419B (zh) 用于以可转换的数据速率进行串行数据传输的方法和装置
EP3261275B1 (en) Method for clock synchronization of an industrial internet field broadband bus
US8315274B2 (en) System and method for supporting synchronous system communications and operations
KR20150143801A (ko) 타임스탬프를 생성하는 방법, 장치, 그리고 시스템
KR101400329B1 (ko) 통신 네트워크 시스템
CN111130677A (zh) Soe事件记录方法及系统
EP2448168A1 (en) Method and system for bearing time synchronization protocol in optical transport network
JP7401656B2 (ja) クロック・ソースを選択するための方法、装置、及びシステム、並びに記憶媒体
EP3809615A1 (en) Time synchronization of distributed devices
CN113300798B (zh) 一种异步终端的传输确定性接入方法
CN113037417A (zh) 实现精确时间协议报文一步模式的方法、装置及存储介质
KR101847366B1 (ko) 시각 동기 장치 및 시각 동기 시스템
CN104202137A (zh) 一种基于e1链路的ieee1588时钟同步方法、系统及装置
CN1813434A (zh) 用于为经由ieee802.11lan相连的节点进行无线1394总线时钟同步的方法
CN104158646A (zh) 链路延迟处理方法及装置
US10462818B2 (en) Method of transmitting data between network devices over a non-deterministic network
CN112865906B (zh) 实现精确时间协议同步报文的方法、装置及存储介质
EP3710929B1 (en) Optimized reconciliation in a controller switch network
CN111357243A (zh) 总线系统的用户设备、运行方法及总线系统
US20180176872A1 (en) Metered interface
CN112865907B (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
TA01 Transfer of patent application right

Effective date of registration: 20210402

Address after: 100176 Floor 5 510-1515, No. 1 Building, No. 2 Courtyard, Dishengzhong Road, Daxing District Economic and Technological Development Zone, Beijing

Applicant after: BEIJING HOLLYSYS AUTOMATION & DRIVE Co.,Ltd.

Address before: 100176 1510-1515, floor 5, building 1, yard 2, Disheng Middle Road, Beijing Economic and Technological Development Zone, Beijing

Applicant before: BEIJING HOLLYSYS AUTOMATION & DRIVE Co.,Ltd.

Applicant before: NINGBO HELISHI INTELLIGENT TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20200508

RJ01 Rejection of invention patent application after publication