Modbus通讯协议在控制工程中的应用

(整期优先)网络出版时间:2022-04-21
/ 2

Modbus通讯协议在控制工程中的应用

刘跃章 1 汪 伟 2

( 1 广西电力职业技术学院,广西南宁 530000;

2 湖南工业职业技术学院,湖南长沙 410000)

摘要:Modbus是一种串行通信协议,目前主要以串口以太网以及其他支持互联网协议的网络版本方式实现通讯,它的优点是结构简单明了、通讯可靠、通讯数据量大,缺点是通讯速度相对较为缓慢,不适用于一些高要求的反馈控制系统。大多数Modbus设备通过485串口进行通信,广泛应用于控制工程中。如火电厂锅炉壁温、发电机温度的采集系统就是以Modbus协议通过485串口方式与DCS控制系统进行通讯,部分智能仪表也是通过Modbus协议与PLC等设备进行通讯。文通过分析Modbus通讯协议在控制工程中的应用,掌握Modbus通讯协议的特点与相关知识,提高控制工程设计、维护的可靠性。

关键词:Modbus,通讯协议,控制工程

前言:火力发电厂中,由于锅炉壁温、发电机定子温度等相关设备的测点数量较多,如果使用实际接线通道一对一连接DCS,首先需要敷设大量的线缆,还要更多的DCS通道与卡件、控制器等相关配套设备,增加施工任务量的同时也极大地浪费了材料,加大了经济投入成本。因此,在工程中一般都是引用远程IO通讯的形式,将就地温度集中至前置盒,再将各个前置端使用RS485的方式进行串接,连接至DCS控制系统已配置好的通讯卡,最后进行相应的组态即可实现DCS对远程IO设备相关测点的监控。在PLC相关控制设备中,也同样具备Modbus通讯的功能。因此,在工程应用中,要结合实际具体情况选择相应的通讯方式并进行相对应的通讯配置,才能使控制系统正常工作。

一、火电厂智能前端

火电厂智能前端主要用于生产过程中各种模拟量、开关量信号的就地集中采集和数字式转换,转换后的数据可直接用于就地设备的控制,也可通过网络将数据送入DCS等,由系统做统一处理后,用于设备参数监测及作为设备控制的依据。火电厂智能前端一般采用壁挂式就地安装,可节省大量信号电缆,采用(RS-485/RS-422)现场总线式远程冗余通讯网络,很大程序上保证了通讯线路的正常工作,确保测点参数的正常采集与处理。火电厂智能前端一般使用是MODBUS协议中的RTU模式,以串口RS485的通讯方式进行组网(图1),整个智能前端系统结构如图2所示。

6260f0e3c102f_html_c23f064f209be65e.png
1:RS-485通讯接线图

6260f0e3c102f_html_ce8b33aa14eb51a1.png
2:RS-485通讯系统构成图

在通讯双方中,一般DCS为主站方(master),主站方发送数据请求命令,一次通讯发送一个命令,可以多个设备同时接收,串口通讯参数一般设置为(baud:9600,word:8,parit:even,stop:1),端口号由DCS选择,单层模式接收的命令格式一般如下例,共8字节(16进制模式):

第1字节 slave address:01(单层结构从1-设备数,多层为1-分组数)

第2字节 function:03(采用的功能码为3,Read Holding Registers)

第3字节 Starting Address Hi:00(欲读寄存器首地址高字节)

第4字节 Starting Address Lo:00(欲读寄存器首地址低字节)

第5字节 No.of Registers Hi:00(欲读字个数高字节)

第6字节 No.of Registers Lo:18(10)(欲读字个数低字节,24点(16点))

第7字节 Error Check Hi:** (16bits CRC校验高字节)

第8字节 Error Check Lo:** (16bits CRC校验低字节)

进入DCS通讯卡分析模式察看Modbus报文,如图3所示。

6260f0e3c102f_html_a58d5846e4b37d44.jpg
3DCS通讯卡Modbus报文

因此,就地智能前端各通讯参数设置与DCS通讯卡件参数设置要一致才能

正常通讯。

可通过使用Modscan软件检测智能前端至DCS之间的通讯是否正常,Modscan软件主要设置有:Address:001;Length:24,即从001通道开始扫描直至第24个通道,也可从其它通道开始到其它别的通道;Device Id:即输入就地智能前端的地址,如1、2、3……32等,其它如波特率、停止位等的设置要与就地设置一致。设置正确后即可查看接收到的数据。显示如40001:<196> 40002:<201> ......40012:<203> 40013:<205>......即表示该智能前端1通道温度为19.6度,2通道温度为20.1度,12通道为20.3度,13通道为20.5度。因是整数型传输,数据需在DCS侧乘以0.1系数。

  1. PLCModbus通讯方式

当PLC以Modbus协议与第三方系统如组态王、scada、DCS、触摸屏等进行通讯时,需要对PLC进行编程初始化调用Modbus库,当PLC做为从站或主站时,调用程序是不同的。以S7-200PLC做从站为例,调用MBUS_INIT 指令(初始化从站)和MBUS_SLAVE指令。MBUS_INIT指令用于使能和初始化或禁止Modbus通讯,必须无错误的执行,然后才能够使用 MBUS_SLAVE指令。MBUS_SLAVE指令用于服务来自Modbus主站的请求,必须在每个循环周期都执行,以便检查和响应Modbus请求。配置如图4所示。

6260f0e3c102f_html_dee108139da2150.jpg

图4:PLC调用Modbus协议配置

SM0.1:首次扫描为1,以后为0,SM0.0:始终接通。即用SM0.1使PLC在第一循环扫描中初始化Modbus从站协议,用SM0.0使每循环周期内执行Modbus从站协议。模式(Mode):为1时,将端口0分配给Modbus协议,并启用该协议;为0时,将端口0分配给PPI,并禁止Modbus协议。Addr设置地址,其数值在1到247之间。Baud为波特率设设置。Parity用于设置校验位使之与Modbus主站相配匹:0—无校验(NONE),1—奇校验(ODD),2—偶校验(EVEN)。MaxIQ将Modbus地址0xxxx和1xxxx可用的I和Q点数设为一个0--128之间的数值,数值为0时,禁止输入和输出的所有读和写操作。参数MaxAI将Modbus地址3xxxx可用的字输入(AI)数目设为一个0--32之间的数值,数值为0时,禁止读模拟量输入。参数MaxHold设置可以使用的V区字保持寄存器的个数,相应于Modbus地址4xxxx。参数HoldStart是V存储区的保持寄存器的起始地址。

PLC配置好后,可使用Modscan软件检测通讯是否正常。要注意软件设置的地址、波特率等参数一致。在PLC输出线圈Q0.0和Q0.2闭合的情况下,测试的效果如图5。

6260f0e3c102f_html_c5cc8cdcb0ddb6b7.jpg

图5:Modbus测试效果

结束语:Modbus通讯协议在控制工程中的应用,必须离不开上位系统与下位系统的正确配置,才能正常收发数据。Modbus通信协议传输字节数少、效率高,广泛应用于众多小型仪表和大型工业设备,再加上RS232/RS485端口采用Modbus通信方式的场合很多,使用经济、便捷,值得深入学习。



参考文献:

[1]向晓汉.工业控制系统及应用-PLC与人机界面.化学工业出版社.

[2]赵钊.基于Modbus协议的DCS系统与PLC系统的通讯[J].节能技术,2011,29(04).

[3]郭琼 姚晓宁.现场总线技术及其应用.机械工业出版社.

[4]基于Modbus协议的工业自动化网络规范第1部分:Modbus应用协议GB/T19582.1-2008.

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

Shape1

2