APP下载

基于Modbus RTU的S7-200SMART与ABBS+ DCS的通信

2019-02-06胡鑫

科技创新导报 2019年26期
关键词:寄存器组态串口

胡鑫

摘   要:本文主要讨论ABB S+ DCS系统与S7-200 SMART PLC之间通过MODBUS RTU协议进行实时通信在火电厂辅机系统中的应用,主要介绍了MODBUS协议的类型、主要内容、报文格式以及校验方式;S7-200 SMART PLC Modbus通信的寻址方式;ABB S+ DCS寻址方式;串口服务器的硬件配置以及软件组态。

关键词:Modbus协议  ABB S+ DCS  S7-200 SMART PLC

中图分类号:TP273                                文献标识码:A                        文章编号:1674-098X(2019)09(b)-0123-05

Abstract: This article mainly discusses the application of real-time communication between ABB S + DCS system and S7-200 SMART PLC through MODBUS RTU protocol in auxiliary system of thermal power plant. It mainly introduces the types, main contents, message format and verification mode of MODBUS protocol, addressing mode of S7-200 SMART PLC Modbus communication, addressing mode of ABB S + DCS; Hardware configuration and software configuration of serial server.

Key Words: Modbus protocol; ABB S + DCS; S7-200 SMART PLC

某百万千瓦电厂主机各系统采用ABB S+ DCS系统进行控制。在当前环保压力下,为了实现脱硫废水零排放,在原有脱硫公用系统中增加了脱硫废水零排放系统。该系统主要仍采用DCS进行控制,但是系统中部分压缩机设备由厂家整体提供,其控制器采用的是S7-200 SMART PLC。虽然压缩机在运行时并不需要人为进行干预,但是为了运行人员启停设备以及监视压缩机设备的运行状况,必然需要通过某种方式将压缩机的运行数据送至集控室DCS系统进行显示和操作。该厂采用了MODBUS RTU协议实现了DCS系统与PLC之间的数据交互。

1  Modbus协议简介

Modbus 网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。从物理层连接方式上来讲,Modbus可分为基于串口的Modbus RTU、Modbus ASCII和基于网线的Modbus TCP/IP方式。对与Modbus ASCII和RTU两种方式,在同样的波特率下,ASCII比RTU传输的数据量要小。Modbus TCP/IP是一种将Modbus协议作为应用层协议,TCP作为传输层协议,IP作为网络层协议,502作为服务端口的方式。

1.1 Modbus报文结构

Modbus RTU通讯采用主-从方式,即Modbus主站发出数据请求消息,从站端接收到准确的信息后,根据主站的数据请求内容,将主站所需的数据发送至主站以响应主站的请求,此外,主站也可以使用不同的功能码直接修改从站寄存器中的数据,从而实现双向读写。Modbus主站查询的报文格式为从站地址、功能码、起始寄存器地址、查询的数据长度、错误校验。从站的响应报文格式为从站地址、功能码、数据长度、数据、错误校验。其报文结构如图1所示。

1.2 Modbus功能码

一般来讲,常用的数据类型有布尔型、整型、字符型、浮点型。在工业控制过程中为了实现对就地设备的自动化控制,我们就需要对不同的类型的数据进行读写操作。因此,Modbus协议中定义了不同功能的功能码来满足人们的需求,这样的话,主从站就可以实现对各自不同地址的寄存器进行不同的操作。由于协议中定义的功能码较多,在此只列出工业控制中最常用的几种功能码。常用功能码的定义如表1所示。

1.3 Modbus地址结构

Modbus地址由5位数字组成,包括起始的数据类型代号,以及后面的偏移地址。Modbus地址定义和可以使用的功能码如表2所示。

2  系统结构及串口服务器组态

2.1 系统结构

由于脱硫废水零排放系统为新增系统且主要控制部分仍采用DCS进行控制,因此该系统只采用了单回路通信。其通信回路首先是压缩机控制器S7-200 SMART PLC通过串口连接到Moxa NPort5630,然后NPort再通過网线连接到ABB DCS系统操作网交换机。PLC的通信数据首先是由DCS系统接口服务器进行数据采集,然后再通过A、B两个冗余的交换机将数据送至DCS服务器目的节点。其系统结构如图2所示。

2.2 串口服务器组态

串口服务器提供串口转网络功能,能够将RS-232/485/422串口转换成TCP/IP网络接口,实现RS-232/485/422串口与TCP/IP网络接口的数据双向透明传输。使得串口设备能够立即具备TCP/IP网络接口功能,连接网络进行数据通信。本工程中使用的串口服务器为Moxa NPort5630。其配置步骤如下。

(1)NPORT装置上电,根据项目设置要求在液晶指示屏设置好IP地址;

(2)安装NPORT ADMINISTRATOR 软件;

(3)安装完毕后,运行Nport Administrator, 使用Broadcast search功能找到设好IP地址的NPORT:

(4)右键单击搜索到的NPORT并从快捷菜单中选中Configure;

(5)選中Configure seiral选项卡,将串口基本参数设置为:波特率:9600;数据位:8;停止位:1;奇偶校验:无;串口别名:COM1,然后设置operating mode为Real COM。

(6)使用COM MAPPING 将虚拟串口映射到计算机串口,选择要使用的端口,在高级设置选项卡中设置 tx mode: Classical, 同时勾选 Fast Flush:选择Apply, 将端口设置存入Nport。

(7)Nport5630通讯接口为RJ45接口,其中8根线中5对应RS485的Data-;6对应RS485的Data+;7对应RS485的GND。

3  S7-200SMART PLC组态

S7-200 SMART PLC的PORT0端口的针脚8对应RS485的Data+;针脚3对应RS485的Data-;1对应RS485的GND。为了实现PLC和与Nport串口服务器实现硬件连接,就需要将PLC的串口的8、3、1分别与串口服务器网线的6、5、7连接起来,然后再进行软件组态。

3.1 S7-200 SMART PLC Modbus RTU从站寻址

在通信过程中,我们需要对PLC CPU的寄存器进行读写操作,那么就需要将Modbus地址映射到CPU地址,对于S7 200SMART PLC来讲,其映射关系是00001至00256映射到Q0.0-Q31.7的离散量输出;10001至10256是映射到I0.0-I31.7的离散量输入;30001至30056是映射到 AIW0- AIW110的模拟量输入寄存器;40001至49999和 400001 至465535是映射到V存储器的保持寄存器。

3.2 S7-200 SMART PLC Modbus RTU从站组态

开始组态S7-200 SMART Modbus从站前首先应在组态软件项目树中双击PLC CPU,将RS485端口地址设置为:11;波特率设置为:9.6Kbps。

通过以上设置后,我们就可以开始PLC从站组态啦,其组态步骤如下:

(1)在组态通信逻辑前,要先确认安装的STEP7 MICRO/WIN SMART组态软件是否自带Modbus通讯库文件,若没有则需要下载库文件后,将库文件放到C:\Users\Public\Documents\Siemens\STEP 7-MicroWIN SMART\Lib目录下,在STEP7 MICRO/WIN SMART组态软件中鼠标右键单击项目树的“库”节点,并从快捷菜单中选择“刷新库”。

(2)在梯形图中添加库指令MBUS_INIT,并用SM0.1特殊寄存器使能。将MBUS_INIT指令块各引脚设置如图3所示。

其中Mode设置成Modbus协议;地址设置为11;波特率设置为9600;奇偶校验为无;使用端口设置成0(即CPU自带RS485接口);延时设置为0;Modbus可用的最大IQ点数为256;可用的AI寄存器数为56;Modbus可访问的V区存储器起始地址为VB2000。PLC的VW2000字存储器对应到Modbus的地址为40001保持寄存器。

(3)用SM0.0特殊寄存器使能MBUS_SLAVE指令。

(4)在项目树中右键单击程序块,选中库存储器,为Modbus RTU Slave库分配780个字节的存储区。

(5)为了更好的理解PLC通信逻辑组态过程,我们只以蒸汽压缩机进口温度为例。为了减小通信的数据量,我们将蒸汽压缩机进口温度AI经过标度变换后的模拟量实际值经过放大取整,然后通过MOV指令将处理过的整型数据写入到VW2000存储器中。这样的话PLC端的逻辑组态就完成了。

4  ABB S+ DCS组态

4.1 ABB S+ DCS简介

ABB S+ DCS系统结构简洁,控制平台可扩展性高。为了实现全厂自动化,DCS系统配备了有不同类型驱动软件的接口服务器,通过使用接口服务器便可实现和PLC控制系统的通信。

4.2 接口机驱动设置

为了和S7 200 SMART PLC实现通信功能,首先要在接口服务器中添加Modbus驱动,其驱动添加步骤如下:

(1)在windows操作系统注册表中添加Modbus RTU的驱动接口,其操作方法为打开ABB厂家提供的驱动注册表模板并修改注册表文件中串口参数和驱动名(本工程命名为Modbus_F7)后直接进行注册。此外也可以使用S+ Operation中scanmonitor执行软件的NEW DRIVER功能进行添加。这样添加的话同样需要设置串口名称(应与Nport中使用的串口一致)并设置波特率为9600、数据位为8、校验位为无停止位为1(与PLC串口设置一致)。

(2)配置好驱动程序后使用scanmonitor软件的Start TntScanner功能找到新加的驱动,然后右键单击该驱动并选择Rigester,将Active选项设置为YES来激活该驱动(见图4)。

4.3 S+DCS通信标签介绍

在和PLC建立连接后,需要在DCS组态软件中添加标签。添加标签前应了解标签选项卡中各子选项的含义。ABB DCS系统通信标签Acquisition选项卡字段定义见表3所示。

其中标签的信号类别字段设置为1时可表示该标签对应的Modbus信号为离散量输出或者保持寄存器,可使用的功能码为1和3;该值设为0时,表示该标签对应的Modbus信号为为离散量输入或者输入寄存器,可使用的功能码为2和4。数据类型字段设置为1是表示该数据的数据类型为整型数据。

4.4 DCS标签组态

为了更好的理解DCS系统中Modbus RTU通信标签的组态过程,我们以蒸汽压缩机的进口温度为例。

(1)新建通讯标签,设置标签General选项卡中的标签名,然后选择该标签Source为EXT外部变量

(2)设置该标签对应的Modbus驱动名为Modbus_F7;从站地址设置为11;寄存器地址设置为0;数据类型设置为1;信号类别设置为1;其它选项用默认数值即可。如图5所示。

(3)前面已经提过,PLC送过来的数据是经过放大后的整型数据,为了得到真实的数据,在DCS侧就应该做相应的缩小。这时候我们需要通过 S+ Operations 相应标签的参数卡ALMLEVEL字段HIGH INSTRUMENT LIMT和 LOW INSTRUMENTLIMT 按实际量程来填,然后在 CONVERSION 字段里的 VAL0和 SPAN 按需要放大的倍数来填。

5  结语

ABB S+ DCS系统与S7200 SMART PLC之间的通信已经完成。蒸汽压缩机就地控制柜触摸屏上的数据和DCS系统操作员站的数据完全一致,运行人员可以很好的对蒸汽压缩机的数据进行监控,解决了新增非DCS系统无法监控的难题。

参考文献

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

[2] EN-1801-MODBUS RTU NPORT设置及MODSIMMODSCAN测试.

[3] EN-1212-S+Operations SV1.1 TC2 Modbus RTU settings.

猜你喜欢

寄存器组态串口
浅谈AB PLC串口跟RFID传感器的通讯应用
基于PLC及组态技术的恒温控制系统开发探讨
Lite寄存器模型的设计与实现
分簇结构向量寄存器分配策略研究*
基于PLC和组态的智能电动拧紧系统
PLC组态控制在水箱控制系统的应用
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
铸造行业三维组态软件的应用
基于并行控制的FPGA多串口拓展实现