工业触摸屏Modbus通讯可靠性设计和通讯安全分析

(整期优先)网络出版时间:2022-09-22
/ 3

工业触摸屏Modbus通讯可靠性设计和通讯安全分析

曾云洪1,,2  ,董玉红2

1)(空调设备及系统运行节能国家重点实验室)

2(珠海格力电器股份有限公司) 广东,珠海 519000

摘要:工业设备控制领域对于所选通讯方案的需求,体现在控制准确性、实时性、可靠性、安全性等多个方面。作为方案成熟且被广泛使用的工业级通讯总线——Modbus通讯成为了工控行业不可或缺的重要选择之一。本文针对Modbus通讯在工业领域的实际使用中遇到的突出性问题,提出关于Modbus通讯可靠性的设计和优化方案,并对特殊使用场合下通讯数据安全问题提出解决方案。

Based on industrial touch screen

Modbus communication reliability design and security analysis

Zeng Yunhong1, 2  Dong Yuhong2

1)( State Key Laboratory of Green Air-conditioning Equipment and System)

2)(Gree Electric Appliances,Inc. of Zhuhai)  Zhuhai,Guangdong 519000

关键词:Modbus通讯;工控领域;可靠性;安全防护

Abstract:Based on industrial touch screen

Modbus communication reliability design and security analysis

In the field of industrial equipment control, the requirements for the selected communication scheme are reflected in the control accuracy, real-time performance, reliability, security and other aspects. As a mature and widely used industrial communication bus, Modbus communication has become one of the indispensable and important choices in industrial control industry. In view of the prominent problems encountered in the practical application of Modbus in the industrial field, this paper proposes a design and optimization scheme for the reliability of Modbus communication, and proposes a solution to the security problem of communication data in special application occasions.

Keywords: Modbus communication  industrial control field  reliability  security protection


工业控制系统通讯方案,除满足基本通讯控制要求外,最重要的指标通常为通讯的可靠性、时序控制合理性以及数据传输的安全性。Modbus通讯,其通讯架构、数据传输格式、数据帧含义等均有严格的国际标准供参考和开发,使得其通用性、规范性更具优势,在工业领域的应用越来越成熟。

对于Modbus的实际应用来说,首先,作为控制设备自身,需考虑自身作为上位机和下位机时分别需如何满足与其他设备的通讯需求,做到自身数据的有效传输、对数据的正确解析;其次,作为整套控制架构,需考虑通讯时序是否满足控制要求、架构合理性及可靠性等。开发人员在确定方案后进行设计规范的制定、数据含义的定义等等,然后开始软件开发。

然而真正使用中,我们会发现Modbus通讯可能存在一些问题,如数据帧误解析、数据受到干扰后误识别、缺乏数据回读机制等等,该类问题可归类为通讯可靠性问题。此外在一些特殊应用场合,对于通讯数据的安全性要求十分严格,设备间禁止采用明文数据进行传输,所以我们还需考虑该类设备安全通讯问题。

1.通讯网络分析

实际使用中,上位机作为时序主控,发出控制命令进行设备的读写操作;下位机响应上位机命令并反馈设备状态。如图1工业设备通讯架构为例,显示器作为上位机与主控制器和监控模块等设备通讯,同时作为下位机与集中控制器或群控系统通讯。

图1 通讯架构示例

以图中显示器为例进行详细分析,其作为上位机时通讯处理机制如下图所示:


图3 显示器作为下位机时通讯处理机制


图2 显示器作为上位机时通讯处理机制

具体地,首先,显示器发出点名下位机设备的通讯帧,开始循环的与各下位机设备进行通讯。

数据帧发出后,显示器在通讯超时时间内接收到下位机的回复数据,则进行下一步处理,否则判为通讯超时;

满足上一条件后,显示器判断接收数据的帧格式是否符合modbus通讯格式,满足则进行下一步处理,否则不处理该帧数据;

满足数据格式后,显示器对有效数据进行逐个解析,该过程中会逐个判断数据合理性,如数据不在定义范围,则舍弃;本轮通讯结束后,开始下一帧数据通讯。

当显示器作为下位机设备,与上位机设备进行通讯时,其通讯处理机制如图3所示:

具体地,首先,显示器接收到上位机发出的通讯数据,开始进行数据格式的判断,如满足规范要求,则回复点名数据;

之后开始对接收的数据进行解析,逐个判断数据的合理性,并完成数据赋值或显示;

本轮通讯结束后,等待下一次上位机发送通讯数据,循环处理。

数据帧格式作为Modbus通讯必备依据,软件处理时必须进行完整的数据格式判断。以图4的0x10功能码的请求、回复帧为例:

图4 通讯帧示例

软件处理时,其判断条件包括:

1)请求与回复数据中设备地址、功能码、起始地址、数据数量、校验码是否一致;

2)数据数量是否等于字节个数*2;

3)字节个数是否等于有效数据长度。只要有其中一项不符合,则该帧数据需舍弃不处理。

2.通讯可靠性设计方案

Modbus通讯在实际使用中,仅做常规的帧格式判断往往是不够的,在工控领域的实际使用中,还需根据控制系统自身特点,定义自身特有的属性和规范,使参与通讯的各设备按照定义的规范要求进行软件开发,以达到系统的可靠性设计。

21 关于通讯时序的控制

1)各下位机设备需严格按照规定的超时时间进行数据回复,一般为4~20ms。试想如有设备未及时回复数据会怎么样呢?以图1通讯架构为例,假设显示器请求主控制器后,主控制器没有及时回复,而是过了500ms左右回复。那么显示器下一轮请求监控模块数据时,可能存在监控模块的数据与主控制器延时回复的数据重叠,造成总线上的数据乱码。如果所有下位机均不按一定规范去进行时序的控制,那么控制系统的通讯就会存在严重问题。

2)通讯超时后上位机设备需做好软件处理,不能误解析错误数据。工控系统存在各种使用场合,有些设备会不定时、不规则的断电等操作,或受到干扰后终止数据传输。上位机接收到数据不完整、不符合帧格式,则进入超时等待程序,此时不可进行数据的解析和使用,而是超时后舍弃不处理。

22 数据含义防耦合

工控领域设备投入使用后,可能使用环境较为恶劣,存在电磁干扰或其他通讯线路的数据干扰,设计时需着重考虑数据定义防耦合问题。

针对模拟量数据,如是枚举值的形式,如空调的运行模式选项为制冷、制热、送风等,数据含义不要用0x00、0xff等定义,可选取其他十六进制数据。

针对开关量数据,条件允许的情况下,不要采用0、1进行定义,可以采用Byte/word等数据位去定义。防止某个数据位收到干扰后发生翻转,导致定义的开关量数据发生跳变。

23数据回读机制

为保障控制命令的有效性,设计时采用数据回读机制,如图5所示:

图5 数据回读机制

具体地,当上位机下发控制命令后,下位机会将接收到的控制命令进行解析和使用,但是为保证下位机正确接收到数据并解析使用,上位机应下发控制命令后再次读取对应的数据位,确认是否成功。下位机在回复读命令时,不应直接将上一帧控制命令的通讯缓存直接赋回通讯、传给上位机,而应解析并正确使用后将自身数据赋给通讯。上位机进行回读数据的判断,如数据与控制下发的数据一致,则说明下发成功,本轮通讯结束。如不一致,则认为下发未成功,上位机重启控制命令的下发。

3.设备安全通讯方案

在某些特殊工业应用场所,设备厂商对于工控设备对外提供的通讯接口要求十分严格。常用的对外接口通常以Modbus RTU或Modbus TCP/IP为主。根据国标GB/T 33009.1-2016《工业自动化和控制系统网络安全 集散控制系统(DCS)第1部分:防护要求》中要求,其网络架构图如下所示:

图6 DCS控制系统网络架构示意图(取自国标GB/T 33009.1-2016)

注:过程监控层,指DCS集中控制系统或群控系统,作为上位机实现对现场控制层的控制;

现场控制层,指本文所介绍工控系统,其所提供的对外通讯接口由过程监控层使用,同时具备对于现场设备层的控制作用;

现场设备层,指工控系统所控制的下层设备,如暖通空调、工业仪表等。

针对工控设备对外接口要求及标准,我们尝试采用一种数据加密传输、密码防护的机制去解决设备网络安全通讯问题。使设备产品提供的对外接口满足特殊场合的使用需求。

31 数据加密传输

除正式的Modbus通讯格式外,过程监控层下发命令分为读、写命令。不论是其下发写命令的数据,还是其读取现场控制层的数据,我们可设计有效数据加密传输的方法,防止通讯帧被监听。过程监控层与现场控制层商定一种密码传输及解密方案,双方遵照约定进行开发即可完成数据保密传输工作。具体流程可参照图7:

图7 数据加密传输方案

具体实施中,可采用数据偏移的方式进行传输,上位机发送控制指令时,写命令的有效数据位可逐个进行一定的偏移值的累加,按照一定规律完成全部有效数据的加密。下位机解析时首先获取有效数据个数,找出加密规律,从而完成解密操作,如图8。以上仅提供一种较为简单的加密方式,实际可视具体设计方案择优选取。

图8 数据加密传输具体实施例

32密码防护机制

为保证上位机设备能够正确的与所属下位机设备进行通讯,在通讯前制定密码防护机制,从而保证上位机控制对象正确,同时保证下位机设备不会被非法上位机控制。

密码防护机制可参照图9,上位机和下位机在通讯前先进行握手,双方判断密码正确才能开始通讯,否则下位机不回复任何指令,达到防护作用。

图9 密码防护方案

通过以上两种方法,可满足特定应用场合中对于设备控制系统Modbus通讯的安全要求,起到设备安全通讯的作用,保证整个通讯链路的可靠性及安全性。

4.结论

本文从Modbus设计规范开始说起,重点介绍工业领域中Modbus可靠性设计的一系列方案,并对特殊使用场合中设备安全通讯方案做出说明。本文所提到的各个解决方案,均是结合实际使用过程中遇到的问题,尝试找出问题原因,并最终形成设计规范。目前各个方案已经实际应用并取得良好的效果,希望能够通过本文为工控领域类似设计提供技术指引及方案。

参考文献

[1]GB/Z 19582.1-2004 《基于Modubs协议的工业自动化网络规范 第1部分:Modbus应用协议》.

[2]GB/Z 19582.2-2004 《基于Modubs协议的工业自动化网络规范 第2部分:Modbus协议在串行链路上的实现指南》.

[3] GB/T 33009.1-2016《工业自动化和控制系统网络安全 集散控制系统(DCS)第1部分:防护要求》.