CN112698982B - 一种工业现场总线调度方法及装置 - Google Patents
一种工业现场总线调度方法及装置 Download PDFInfo
- Publication number
- CN112698982B CN112698982B CN202110310152.1A CN202110310152A CN112698982B CN 112698982 B CN112698982 B CN 112698982B CN 202110310152 A CN202110310152 A CN 202110310152A CN 112698982 B CN112698982 B CN 112698982B
- Authority
- CN
- China
- Prior art keywords
- bus
- buses
- communication
- normal
- module
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/4226—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种工业现场总线调度方法及装置,采用多个异构工业现场总线的设计,工业控制系统运行时可对多个异构总线进行筛选,利用信誉度系数最高的总线将工业现场的设备数据传输至工业控制器。本发明公开的方法和装置能够有效降低对工业现场总线的攻击误判和逃逸,且步骤简单,易于工程实现;另外,本发明公开的方法和装置能支持所有工业控制系统中标准的数据通信接口以及相应的数据通信协议,具有良好的兼容性和可扩展性。
Description
技术领域
本发明涉及工业控制安全技术领域,特别是涉及一种工业现场总线调度方法及装置。
背景技术
工业控制系统是计算机设备与工艺过程控制设备相结合的自动控制系统,由工业控制器、工业现场总线和多个现场设备构成,其中,现场设备为IO(input/output)设备,例如,开关、阀门、机械臂、伺服电机、温度传感器、湿度传感器、压力传感器等。工业控制器是工业控制系统的核心控制设备,主要用于对各个IO设备的实时控制及状态监测。IO设备与工业控制器二者之间的数据交互是通过工业现场总线完成的,如果工业现场总线遭受安全攻击,将严重影响数据传输的安全性和准确性。
目前,针对工业现场总线的安全措施主要采用同构冗余的设计,即,设计两个完全相同的工业现场总线,当工作的总线出现故障或被攻击时,及时切换到另一个总线。但是,由于两个总线采用同构设计的方式,当总线的某个漏洞被攻击时,将会同时影响两个总线,导致IO设备与工业控制器之间传输的数据发生错误,进而给整个工业控制系统造成重大损失。
发明内容
本发明实施例中提供了一种工业现场总线调度方法及装置,以解决现有工业现场总线安全措施有效性较差的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
一种工业现场总线调度方法,应用于包含至少3个异构总线的工业控制系统,所述方法包括:
分别获取每个总线当前传输的设备数据;
根据每个总线当前传输的设备数据,判断是否存在通信正常的总线,
如果是,获取每个通信正常总线的信誉度系数;
将信誉度系数最高的通信正常总线当前传输的设备数据发送至工业控制器;
更新所有总线的信誉度系数。
可选地,所述根据每个总线当前传输的设备数据,判断是否存在通信正常的总线,包括:
分别对每个总线当前传输的设备数据进行解析和校验;
针对每一个总线,判断解析或校验设备数据时是否发生错误,
如果是,将发生错误的总线确定为通信异常的总线;
如果否,将未发生错误的总线确定为通信正常的总线;
分别记录每个总线出现通信异常的次数。
可选地,所述更新所有总线的信誉度系数,包括:
判断通信正常总线的数量是否大于或等于3,
如果是,选取3个通信正常的总线;对选取出的3个总线进行裁决,并记录每个所述总线在本次裁决时的出错数;将出错数最多的总线确定为裁决异常的总线;
分别记录每个总线出现裁决异常的次数;
根据每个总线出现通信异常的次数以及出现裁决异常的次数,分别计算每个总线的信誉度系数。
可选地,所述根据每个总线出现通信异常的次数以及出现裁决异常的次数,分别计算每个总线的信誉度系数,包括:
根据以下公式分别计算每个总线的信誉度系数:
其中,Pi为总线i的信誉度系数,Wi为总线i出现通信异常的次数,Ui为总线i出现裁决异常的次数,di为总线i预先计算的异构度,T为所有总线向工业控制器发送设备数据的总次数,a,b为预设常数;当工业控制系统处于初始状态时,每个总线的信誉度系数为各自的异构度。
可选地,所述选取3个通信正常的总线,包括:
判断通信正常总线的数量是否等于3,
如果是,选取所有通信正常的总线;
如果否,在所有通信正常的总线中随机选取3个总线。
可选地,所述对选取出的3个总线进行裁决,并记录每个所述总线在本次裁决时的出错数,包括:
针对每一个现场设备,均判断3个总线中是否存在当前传输的设备数据与其余2个总线当前传输的设备数据均不相同的总线,
如果是,确定设备数据不相同的总线出错;
记录每一个总线在本次裁决时出错的次数。
可选地,在执行所述更新所有总线的信誉度系数的步骤之后,还包括:
判断是否存在信誉度系数低于预设清洗阈值的总线,
如果是,向工业控制器发送清洗所述总线的提示信息。
可选地,所述将信誉度系数最高的通信正常总线当前传输的设备数据发送至工业控制器,包括:
对信誉度系数最高通信正常总线当前传输的设备数据进行加密处理;
将加密后的设备数据发送至工业控制器。
一种工业现场总线调度装置,应用于包含至少3个异构总线的工业控制系统,所述装置包括:
设备数据获取模块,用于分别获取每个总线当前传输的设备数据;
通信情况判别模块,用于根据每个总线当前传输的设备数据,判断是否存在通信正常的总线,
信誉度系数获取模块,用于当存在通信正常的总线时,获取每个通信正常总线的信誉度系数;
设备数据发送模块,用于将信誉度系数最高的通信正常总线当前传输的设备数据发送至工业控制器;
信誉度系数更新模块,用于更新所有总线的信誉度系数。
可选地,所述通信情况判别模块,包括:
解析和校验模块,用于分别对每个总线当前传输的设备数据进行解析和校验;
判断模块,用于针对每一个总线,判断解析或校验设备数据时是否发生错误,
通信异常总线确定模块,用于当解析或校验总线当前传输设备数据发生错误时,将发生错误的总线确定为通信异常的总线;
通信正常总线确定模块,用于当解析和校验总线当前传输设备数据未发生错误时,将未发生错误的总线确定为通信正常的总线;
通信异常记录模块,用于分别记录每个总线出现通信异常的次数。
可选地,所述信誉度系数更新模块,包括:
通信正常总线数量判断模块,用于判断通信正常总线的数量是否大于或等于3,
总线选取模块,用于当通信正常总线的数量大于或等于3时,选取3个通信正常的总线;
总线裁决模块,用于对选取出的3个总线进行裁决,并记录每个所述总线在本次裁决时的出错数;
裁决异常总线确定模块,用于将出错数最多的总线确定为裁决异常的总线;
裁决异常记录模块,用于分别记录每个总线出现裁决异常的次数;
计算模块,用于根据每个总线出现通信异常的次数以及出现裁决异常的次数,分别计算每个总线的信誉度系数。
可选地,所述总线裁决模块,包括:
设备数据比较模块,用于针对每一个现场设备,均判断3个总线中是否存在当前传输的设备数据与其余2个总线当前传输的设备数据均不相同的总线,
出错总线确定模块,用于当3个总线中存在当前传输的设备数据与其余2个总线当前传输的设备数据均不相同的总线时,确定设备数据不相同的总线出错;
出错数记录模块,用于记录每一个总线在本次裁决时出错的次数。
由以上技术方案可见,本发明实施例提供的一种工业现场总线调度方法及装置,采用多个异构工业现场总线的设计,工业控制系统运行时可对多个异构总线进行筛选,利用信誉度系数最高的总线将工业现场的设备数据传输至工业控制器。本发明公开的方法和装置能够有效降低对工业现场总线的攻击误判和逃逸,且步骤简单,易于工程实现;另外,本发明公开的方法和装置能支持所有工业控制系统中标准的数据通信接口以及相应的数据通信协议,具有良好的兼容性和可扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种工业现场总线调度方法的流程示意图;
图2为本发明实施例提供的一种图1中步骤S102的流程示意图;
图3为本发明实施例提供的一种图1中步骤S105的流程示意图;
图4为本发明实施例提供的一种图3中步骤S1053的流程示意图;
图5为本发明实施例提供的一种工业现场总线调度装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图1为本发明公开的一种工业现场总线调度方法的流程示意图,应用于包含至少3个异构总线的工业控制系统,该系统还包括工业控制器和多个现场设备,其中,现场设备为IO(input/output)设备,能够接收工业控制器发送的指令数据,以及向工业控制器发送设备数据。在本发明公开的实施例中,工业控制系统中的总线为异构设计,即,不同的总线具有不同传输协议的通信接口,例如,CAN总线、串口、以太网等。
如图1所示,本发明公开的调度方法包括以下步骤。
步骤S101:分别获取每个总线当前传输的设备数据。
现场设备在工业控制系统运行的过程中,会产生相应的设备数据,例如,工作状态、设备温度等,这些设备数据通过总线传输至工业控制器。每个总线都会按照自己的通信协议对传输的设备数据进行组包处理,即,按照通信协议对设备数据进行处理,使处理后的数据不仅包含原本的设备数据,还包含有其他根据通信协议添加的数据内容,例如,起始位、校验位和停止位等。
以一个现场设备为例,该现场设备在当前时刻产生的设备数据,分别通过每一个总线进行传输,每一个总线根据自己的通信协议对该设备数据进行组包处理。按照上述方式,所有现场设备都会分别通过不同的总线进行传输,从而,能够分别获取每个总线当前传输的设备数据。
步骤S102:根据每个总线当前传输的设备数据,判断是否存在通信正常的总线。
对总线当前传输的设备数据进行解析和校验后,可确定总线当前的通信是否正常。
在本发明公开的一个实施例中,如图2所示,本步骤可由以下子步骤完成。
步骤S1021:分别对每个总线当前传输的设备数据进行解析和校验。
在本发明公开的实施例中,每个总线的通信协议都不相同,例如,工业控制系统中的总线为spi、can和uart,其中spi总线有spi通信协议,can总线有can通信协议,uart总线有uart通信协议。
针对每一个总线,都会按照各自的通信协议,对其传输的设备数据进行解析和校验。若在解析某一个总线当前传输的设备数据时,出现通信协议不完整,或者通信协议解析错误,或者数据校验错误等情况,则确定该总线通信异常。
根据总线不同,运行的通信协议以及校验方法也有所不同,通信协议可以为串行数据通信协议,SPI数据通信协议,百兆/千兆网络通信协议等。数据校验方式也可以为奇偶校验、CRC校验、ECC校验等。
步骤S1022:针对每一个总线,判断解析或校验设备数据时是否发生错误。
针对每一个总线,根据解析和校验结果,判定在解析或校验设备数据时是否发生错误。
例如,工业控制系统中共设置有4个总线,分别为A、B、C和D,其中,在解析和校验A当前传输的设备数据时,出现通信协议不完整的情况,而B、C和D没有发生上述错误,因此,可以确定在解析或校验A总线传输的设备数据时发生错误。
如果某个总线在解析或校验设备数据时发生错误,执行步骤S1023。
步骤S1023:将发生错误的总线确定为通信异常的总线。
如果某总线在解析或校验设备数据时发生错误,则将这个发生解析错误的总线确定为通信异常的总线。
如果某个总线在解析或校验当前设备数据时未发生错误,执行步骤S1024:将未发生错误的总线确定为通信正常的总线。
若对某总线的设备数据进行解析或校验后未发生错误,则将该总线确定为通信正常的总线。
步骤S1025:分别记录每个总线出现通信异常的次数。
在分别解析和校验每个总线当前传输的设备数据是否发生错误之后,记录每个总线出现通信异常的次数。例如,在对总线A、B、C和D当前传输的设备数据进行解析和校验之后,若只有A出现错误,将A作为通信异常的总线。A在本次发生通信异常的情况之前,已经发生过2次通信异常,因此,在A本次发生通信异常之后,将A发生通信异常的次数增加1,此时,记录A发生通信异常的次数为3。而其他总线在本次没有发生通信异常的情况,则记录其他总线出现通信异常的次数不发生变化,与上一次记录的数据相同。
如果所有总线的通信均不正常,则不向工业控制器发送设备数据,而是生成并发送报警信息,提示工作人员对所有总线进行核实、检查。
在执行步骤S102之后,若确定存在通信正常的总线,则执行步骤S103。
步骤S103:获取每个通信正常总线的信誉度系数。
在本发明公开的实施例中,总线的信誉度系数代表该总线能够被信任的程度。信誉度系数越高,说明总线遭受攻击的可能性越小,通过该总线传输的设备数据越准确;信誉度系数越低,说明总线被攻击的可能性越大,通过该总线传输的设备数据很可能是已经被篡改过的错误数据。
本步骤中获取的总线信誉度系数是在上一次调度周期时更新的信誉度系数,具体说明可参见后述实施例。
步骤S104:将信誉度系数最高的通信正常总线当前传输的设备数据发送至工业控制器。
在获取每个通信正常总线的信誉度系数之后,将信誉度系数最高的一个总线作为本次向工业控制器传输设备数据的总线。
在本发明公开的一个实施例中,在上一次调度周期更新信誉度系数时,会对总线进行裁决,并记录每个总线在上一次裁决时的出错数。在本次调度周期时所获取的信誉度系数,是由上一次调度周期时更新得到的,如果本次调度周期时同时出现两个或两个以上总线的信誉度系数相等且最高,则选取在上一次裁决时出错数最少的总线,利用该总线向工业控制器传输设备数据。如果利用出错数也无法选择出一个总线,则在信誉度系数最高的多个总线中,随机选取一个用于传输设备数据。
步骤S105:更新所有总线的信誉度系数。
在本发明公开的一个实施例中,如图3所示,本步骤可由以下子步骤完成。
步骤S1051:判断通信正常总线的数量是否大于或等于3。
在执行步骤S102之后,即可获知通信正常总线的数量。
如果通信正常的总线数量大于3或者等于3,则执行步骤S1052:选取3个通信正常的总线。
在本发明公开的一个实施例中,该步骤可通过以下子步骤完成。
1)判断通信正常总线的数量是否等于3。
如果通信正常总线的数量等于3,则将3个通信正常的总线全部选出,在后续步骤中进行裁决。
如果通信正常的总线数量不等于3,即大于3,则在所有通信正常的总线中随机选取3个总线,在后续步骤中进行裁决,其中,随机选取的方式可以为随机数生成算法,例如,线性同余法、正态分布随机数生成、LFSR随机数生成法等。
步骤S1053:对选取出的3个总线进行裁决,并记录每个总线在本次裁决时的出错数。
对步骤S1052选取的3个总线进行裁决,以确定每个总线在本次裁决时的出错数,该出错数仅为在本次调度周期中,总线被裁决时的出错数,不同调度周期内记录的出错数不累计。其中,调度周期是指:从步骤S101分别获取每个总线当前传输的设备数据开始,直到执行完成步骤S105为止,为一个调度周期。
在本发明公开的一个实施例中,如图4所示,该步骤可由以下子步骤完成。
步骤S5301:针对每一个现场设备,均判断3个总线中是否存在当前传输的设备数据与其余2个总线当前传输的设备数据均不相同的总线。
以一个现场设备为例,在分别获取3个总线当前传输的该现场设备的设备数据之后,比较这3个设备数据是否相同,如果出现其中一个总线的设备数据与其他两个总线的设备数据不相等,则确定在当前传输该现场设备的设备数据时,这个总线的设备数据与其余2个总线的设备数据均不相同。例如,针对某一个现场设备,A总线当前传输的设备数据为3928675837,B总线当前传输的设备数据为4938384767,C总线当前传输的设备数据为4938384767,则可确定A即为当前传输该现场设备的设备数据时,与其余两个均不相同的总线。若针对某现场设备,A、B和C三者当前传输的设备数据均不相等,则将A、B和C均作为在当前传输该现场设备的设备数据时,与其余2个均不相同的总线。按照以上方式比较每一个现场设备分别通过三个总线当前传输的设备数据。
如果是,执行步骤S5302。
步骤S5302:确定设备数据不相同的总线出错。
若某个总线当前传输某个现场设备的设备数据时,与其余两个总线当前传输的设备数据均不相等,则确定这个不相等的总线出错一次。
如果针对某个现场设备,3个总线当前传输的设备数据均相等,则确定这3个总线在当前传输该现场设备的设备数据时,均没有出错。
如果针对工业控制系统中的每一个现场设备,3个总线当前传输的设备数据均相同,说明3个总线在本次裁决中均未出现错误。则本次裁决中没有出现裁决异常的总线,每个总线出现裁决异常的次数不发生变化。
步骤S5303:记录每一个总线在本次裁决时出错的次数。
按照上述方法针对所有现场设备比较3个总线当前传输的设备数据,从而可得知每个总线在传输哪些现场设备的设备数据时出错,记录每个总线在本次裁决时出错的次数。
例如,A总线在当前传输a现场设备时出错,将A总线的出错次数增加1,A总线在传输b现场设备时又出错,再次将A总线的出错次数增加1。直到比较过所有现场设备通过3个总线当前传输的设备数据之后,本次裁决完成,能够获知每个总线在本次裁决时一共出错的次数。
在执行完步骤S5303之后,继续执行步骤S1054。
步骤S1054:将出错数最多的总线确定为裁决异常的总线。
将在本次裁决中出错数最多的总线确定为裁决异常总线,将这个总线发生裁决异常的数增加1。如果本次裁决中三个总线的出错数相同,则将三个总线均确定为裁决异常总线,并分别将这3个总线发生裁决异常的次数增加1。
如果通信正常的总线数量小于3,则本次不对总线进行裁决,每个总线出现裁决异常的次数不变,仍为上一次裁决时记录的裁决异常次数。因此,每个总线被计算出的信誉度系数实际上仍为上一次更新的信誉度系数。
步骤S1055:分别记录每个总线出现裁决异常的次数。
分别记录每个总线出现裁决异常的次数,在本发明公开的实施例中,所记录的裁决异常的次数以及通信异常的次数均为累计值。
步骤S1056:根据每个总线出现通信异常的次数以及出现裁决异常的次数,分别计算每个总线的信誉度系数。
在本发明公开的一个实施例中,可根据以下公式分别计算每个总线的信誉度系数。
其中,Pi为总线i的信誉度系数,Wi为总线i出现通信异常的次数,Ui为总线i出现裁决异常的次数,di为总线i预先计算的异构度,T为所有总线向工业控制器发送设备数据的总次数。a,b为预设常数;当工业控制系统处于初始状态时,每个总线的信誉度系数为各自的异构度。
在本发明公开的另一个实施例中,在执行前述步骤S105更新所有总线的信誉度系数的步骤之后,还包括以下步骤。
1)判断是否存在信誉度系数低于预设清洗阈值的总线。
预先设备清洗阈值,判断是否存在信誉度系数低于预设清洗阈值的总线。
如果存在,则向工业控制器发送清洗总线的提示信息,以使工业控制器对该总线进行清洗。对总线进行清洗的方式可以为:对总线的控制器进行复位处理,若复位处理无效,则对其进行断电重启,若重启后仍无效,则会产生告警信息,提示工作人员进行人工处理。
在本发明公开的一个实施例中,前述步骤S104将信誉度系数最高的通信正常总线当前传输的设备数据发送至工业控制器,包括以下子步骤。
1)对信誉度系数最高的通信正常总线当前传输的设备数据进行加密处理。
对信誉度系数最高的一个总线当前传输的设备数据进行加密处理,加密方式可以为MD5加密算法、SHA加密算法、TEA加密算法、IDEA加密算法、AES加密算法等。
2)将加密后的设备数据发送至工业控制器。
图5为本发明实施例提供的一种工业现场总线调度装置的结构示意图,该装置应用于包含至少3个异构总线的工业控制系统,如图5所示,该装置包括以下模块。
设备数据获取模块11,被配置为分别获取每个总线当前传输的设备数据;
通信情况判别模块12,被配置为根据每个总线当前传输的设备数据,判断是否存在通信正常的总线,
信誉度系数获取模块13,被配置为当存在通信正常的总线时,获取每个通信正常总线的信誉度系数;
设备数据发送模块14,被配置为将信誉度系数最高的通信正常总线当前传输的设备数据发送至工业控制器;
信誉度系数更新模块15,被配置为更新所有总线的信誉度系数。
在本发明公开的一个实施例中,前述实施例中的通信情况判别模块12,包括以下子模块。
解析和校验模块,被配置为分别对每个总线当前传输的设备数据进行解析和校验;
判断模块,被配置为针对每一个总线,判断解析或校验设备数据时是否发生错误;
通信异常总线确定模块,被配置为当解析或校验总线当前传输设备数据发生错误时,将发生错误的总线确定为通信异常的总线;
通信正常总线确定模块,被配置为当解析和校验总线当前传输设备数据未发生错误时,将未发生错误的总线确定为通信正常的总线;
通信异常记录模块,被配置为分别记录每个总线出现通信异常的次数。
在本发明公开的一个实施例中,前述实施例中的信誉度系数更新模块15,包括以下子模块。
通信正常总线数量判断模块,被配置为判断通信正常总线的数量是否大于或等于3;
总线选取模块,被配置为当通信正常总线的数量大于或等于3时,选取3个通信正常的总线;
总线裁决模块,被配置为对选取出的3个总线进行裁决,并记录每个总线在本次裁决时的出错数;
裁决异常总线确定模块,被配置为将出错数最多的总线确定为裁决异常的总线;
裁决异常记录模块,被配置为分别记录每个总线出现裁决异常的次数;
计算模块,被配置为根据每个总线出现通信异常的次数以及出现裁决异常的次数,分别计算每个总线的信誉度系数。
在本发明公开的一个实施例中,前述实施例中的总线裁决模块,包括以下子模块。
设备数据比较模块,被配置为针对每一个现场设备,均判断3个总线中是否存在当前传输的设备数据与其余2个总线当前传输的设备数据均不相同的总线;
出错总线确定模块,被配置为当3个总线中存在当前传输的设备数据与其余2个总线当前传输的设备数据均不相同的总线时,确定设备数据不相同的总线出错;
出错数记录模块,被配置为记录每一个总线在本次裁决时出错的次数。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种工业现场总线调度方法,其特征在于,应用于包含至少3个异构总线的工业控制系统,所述方法包括:
分别获取每个总线当前传输的设备数据;
分别对每个总线当前传输的设备数据进行解析和校验;
针对每一个总线,判断解析或校验设备数据时是否发生错误,
如果是,将发生错误的总线确定为通信异常的总线;
如果否,将未发生错误的总线确定为通信正常的总线;
分别记录每个总线出现通信异常的次数;
判断是否存在通信正常的总线,
如果是,获取每个通信正常总线的信誉度系数,所述信誉度系数是在上一次调度周期中更新的信誉度系数;
将信誉度系数最高的通信正常总线当前传输的设备数据发送至工业控制器;
更新所有总线的信誉度系数,步骤包括:
判断通信正常总线的数量是否大于或等于3,
如果是,选取3个通信正常的总线;针对每一个现场设备,均判断3个总线中是否存在当前传输的设备数据与其余2个总线当前传输的设备数据均不相同的总线,如果是,确定设备数据不相同的总线出错;记录每一个总线在本次裁决时出错的次数;将出错数最多的总线确定为裁决异常的总线;
分别记录每个总线出现裁决异常的次数;
根据以下公式分别计算每个总线的信誉度系数:
其中,Pi为总线i的信誉度系数,Wi为总线i出现通信异常的次数,Ui为总线i出现裁决异常的次数,di为总线i预先计算的异构度,T为所有总线向工业控制器发送设备数据的总次数,a,b为预设常数;当工业控制系统处于初始状态时,每个总线的信誉度系数为各自的异构度。
2.根据权利要求1所述的方法,其特征在于,所述选取3个通信正常的总线,包括:
判断通信正常总线的数量是否等于3,
如果是,选取所有通信正常的总线;
如果否,在所有通信正常的总线中随机选取3个总线。
3.根据权利要求1所述的方法,其特征在于,在执行所述更新所有总线的信誉度系数的步骤之后,还包括:
判断是否存在信誉度系数低于预设清洗阈值的总线,
如果是,向工业控制器发送清洗所述总线的提示信息。
4.根据权利要求1所述的方法,其特征在于,所述将信誉度系数最高的通信正常总线当前传输的设备数据发送至工业控制器,包括:
对信誉度系数最高通信正常总线当前传输的设备数据进行加密处理;
将加密后的设备数据发送至工业控制器。
5.一种工业现场总线调度装置,其特征在于,应用于包含至少3个异构总线的工业控制系统,所述装置包括:
设备数据获取模块,用于分别获取每个总线当前传输的设备数据;
通信情况判别模块,用于分别对每个总线当前传输的设备数据进行解析和校验;针对每一个总线,判断解析或校验设备数据时是否发生错误,如果是,将发生错误的总线确定为通信异常的总线;如果否,将未发生错误的总线确定为通信正常的总线;分别记录每个总线出现通信异常的次数;判断是否存在通信正常的总线;
信誉度系数获取模块,用于当存在通信正常的总线时,获取每个通信正常总线的信誉度系数,所述信誉度系数是在上一次调度周期中更新的信誉度系数;
设备数据发送模块,用于将信誉度系数最高的通信正常总线当前传输的设备数据发送至工业控制器;
信誉度系数更新模块,用于更新所有总线的信誉度系数,包括:
判断通信正常总线的数量是否大于或等于3,
如果是,选取3个通信正常的总线;针对每一个现场设备,均判断3个总线中是否存在当前传输的设备数据与其余2个总线当前传输的设备数据均不相同的总线,如果是,确定设备数据不相同的总线出错;记录每一个总线在本次裁决时出错的次数;将出错数最多的总线确定为裁决异常的总线;
分别记录每个总线出现裁决异常的次数;
根据以下公式分别计算每个总线的信誉度系数:
其中,Pi为总线i的信誉度系数,Wi为总线i出现通信异常的次数,Ui为总线i出现裁决异常的次数,di为总线i预先计算的异构度,T为所有总线向工业控制器发送设备数据的总次数,a,b为预设常数;当工业控制系统处于初始状态时,每个总线的信誉度系数为各自的异构度。
6.根据权利要求5所述的装置,其特征在于,所述通信情况判别模块,包括:
解析和校验模块,用于分别对每个总线当前传输的设备数据进行解析和校验;
判断模块,用于针对每一个总线,判断解析或校验设备数据时是否发生错误;
通信异常总线确定模块,用于当解析或校验总线当前传输设备数据发生错误时,将发生错误的总线确定为通信异常的总线;
通信正常总线确定模块,用于当解析和校验总线当前传输设备数据未发生错误时,将未发生错误的总线确定为通信正常的总线;
通信异常记录模块,用于分别记录每个总线出现通信异常的次数。
7.根据权利要求6所述的装置,其特征在于,所述信誉度系数更新模块,包括:
通信正常总线数量判断模块,用于判断通信正常总线的数量是否大于或等于3;
总线选取模块,用于当通信正常总线的数量大于或等于3时,选取3个通信正常的总线;
总线裁决模块,用于对选取出的3个总线进行裁决,并记录每个所述总线在本次裁决时的出错数;
裁决异常总线确定模块,用于将出错数最多的总线确定为裁决异常的总线;
裁决异常记录模块,用于分别记录每个总线出现裁决异常的次数;
计算模块,用于根据每个总线出现通信异常的次数以及出现裁决异常的次数,分别计算每个总线的信誉度系数。
8.根据权利要求7所述的装置,其特征在于,所述总线裁决模块,包括:
设备数据比较模块,用于针对每一个现场设备,均判断3个总线中是否存在当前传输的设备数据与其余2个总线当前传输的设备数据均不相同的总线;
出错总线确定模块,用于当3个总线中存在当前传输的设备数据与其余2个总线当前传输的设备数据均不相同的总线时,确定设备数据不相同的总线出错;
出错数记录模块,用于记录每一个总线在本次裁决时出错的次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110310152.1A CN112698982B (zh) | 2021-03-24 | 2021-03-24 | 一种工业现场总线调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110310152.1A CN112698982B (zh) | 2021-03-24 | 2021-03-24 | 一种工业现场总线调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112698982A CN112698982A (zh) | 2021-04-23 |
CN112698982B true CN112698982B (zh) | 2021-06-29 |
Family
ID=75515444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110310152.1A Active CN112698982B (zh) | 2021-03-24 | 2021-03-24 | 一种工业现场总线调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112698982B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1791007A (zh) * | 2004-12-02 | 2006-06-21 | 华为技术有限公司 | 一种通信设备及其内部链路故障的定位方法 |
CN101115053A (zh) * | 2007-08-24 | 2008-01-30 | 中国科学院计算技术研究所 | 一种信誉流量控制方法 |
CN101135909A (zh) * | 2006-06-30 | 2008-03-05 | 株式会社日立制作所 | 诊断装置及方法、总线系统及其控制方法、线路诊断程序 |
CN107508831A (zh) * | 2017-09-21 | 2017-12-22 | 华东师范大学 | 一种基于总线的入侵检测方法 |
US20180276165A1 (en) * | 2015-10-09 | 2018-09-27 | Sony Corporation | Bus system and communication device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008052315A (ja) * | 2006-08-22 | 2008-03-06 | Yokogawa Electric Corp | フィールドバス通信診断装置およびフィールドバス通信診断方法 |
CN111510465B (zh) * | 2020-06-30 | 2020-10-13 | 之江实验室 | 一种基于混合数据类型工业协议的拟态裁决方法及裁决器 |
-
2021
- 2021-03-24 CN CN202110310152.1A patent/CN112698982B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1791007A (zh) * | 2004-12-02 | 2006-06-21 | 华为技术有限公司 | 一种通信设备及其内部链路故障的定位方法 |
CN101135909A (zh) * | 2006-06-30 | 2008-03-05 | 株式会社日立制作所 | 诊断装置及方法、总线系统及其控制方法、线路诊断程序 |
CN101115053A (zh) * | 2007-08-24 | 2008-01-30 | 中国科学院计算技术研究所 | 一种信誉流量控制方法 |
US20180276165A1 (en) * | 2015-10-09 | 2018-09-27 | Sony Corporation | Bus system and communication device |
CN107508831A (zh) * | 2017-09-21 | 2017-12-22 | 华东师范大学 | 一种基于总线的入侵检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112698982A (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10992688B2 (en) | Unauthorized activity detection method, monitoring electronic control unit, and onboard network system | |
JP6669156B2 (ja) | アプリケーション自動制御システム、アプリケーション自動制御方法およびプログラム | |
EP1811381B1 (en) | Software operation modeling and monitoring device and method | |
WO2017119027A1 (ja) | 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム | |
CN108885664A (zh) | 信息处理方法、信息处理系统、以及程序 | |
CN111510465B (zh) | 一种基于混合数据类型工业协议的拟态裁决方法及裁决器 | |
US20060150033A1 (en) | Method for monitoring the execution of a program in a micro-computer | |
CN112698982B (zh) | 一种工业现场总线调度方法及装置 | |
CN112380073B (zh) | 一种故障位置的检测方法、装置及可读存储介质 | |
EP3631637B1 (en) | System, device and method for frozen period detection in sensor datasets | |
CN111555899A (zh) | 告警规则配置方法、设备状态监测方法、装置和存储介质 | |
WO2020044898A1 (ja) | 機器状態監視装置及びプログラム | |
WO2023181241A1 (ja) | 監視サーバ装置、システム、方法、及びプログラム | |
WO2018138793A1 (ja) | 攻撃・異常検知装置、攻撃・異常検知方法、および攻撃・異常検知プログラム | |
JP7347953B2 (ja) | 機器予兆監視装置、および、機器予兆監視方法 | |
US9372746B2 (en) | Methods for identifying silent failures in an application and devices thereof | |
JP6819610B2 (ja) | 診断装置、診断方法、及び、診断プログラム | |
WO2020109252A1 (en) | Test system and method for data analytics | |
JP6863290B2 (ja) | 診断装置、診断方法、及び、診断プログラム | |
US20220046339A1 (en) | Data collection device, data collection method, and program | |
JP4155208B2 (ja) | アクセスログ処理装置、アクセスログ処理方法およびアクセスログ処理プログラム | |
JP3962956B6 (ja) | 情報処理装置および情報処理方法 | |
JP3962956B2 (ja) | 情報処理装置および情報処理方法 | |
WO2022019106A1 (ja) | 制御装置、制御方法および制御プログラム | |
CN111078458B (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 |