摘要:本文就西门子S7-300系列PLC与横河CS3000型DCS集散控制系统的之间的通信,介绍如何实现Modbus和Profibus-DP协议设备的相互通信、上海泗博自动化的Modbus转Profibus-DP网关PM-160在其中的应用,以及这两种不同通信协议的通信方式。
关键词:Modbus协议 Profibus-DP协议 Modbus转Profibus-DP 串口转Profibus-DP 分布式控制系统 通信网络
一、 引言
现代工业的迅速发展,不断促进着自动化控制技术及设备通信技术创新的发展。当前,PLC、DCS、智能仪表等已广泛应用到现场生产控制系统中,并发展到由上述设备相互协同、共同面向整个生产过程的分布式工业控制系统。在此系统中,现场总线通信技术至关重要。本文就某水利站分布式控制系统项目,介绍上海泗博自动化的Modbus转Profibus-DP协议网关设备的应用。
二、 系统组成
1、 系统结构
本系统构成如图1,其中略去了西门子S7-300PLC之外的其它现场级控制设备。系统上位机采用横河CS3000型DCS集散控制系统,实现对整个水利项目进行集中监控。下位机之一采用的是西门子S7-300系列PLC,实现对现场各种智能仪表,包括现场电机、智能开关、变频器、传感器等执行、检测设备的启停控制、信息采集等操作。
图1 系统结构
在上图所示系统结构中,现场各种智能仪表(采用的是Modbus协议或者各种非标协议,接口为RS485、RS422或者RS232)都能够通过上海泗博自动化的通用串口(Modbus/RS485/RS422/RS232)转Profibus-DP网关PM-160连接到西门子S7-300PLC。此时,网关PM-160在串口侧的协议类型为Modbus主站或者通用模式。横河DCS对西门子S7-300PLC的数据采集和监控同样需要使用上海泗博自动化的通用串口(Modbus/RS485/RS422/RS232)转Profibus-DP网关PM-160,此时,网关PM-160在串口侧的协议类型为Modbus从站。
2、 通信网络组成
2.1 Profibus协议简介
PROFIBUS 是目前国际上通用的现场总线标准之一,以其独特的技术特点、严格的认证
规范、开放的标准、众多厂商的支持和不断发展的应用行规,已成为最重要的和应用最广泛的
现场总线标准。
PROFIBUS 现场总线通讯协议包括三个主要部分:
• PROFIBUS DP:主站和从站之间采用轮循的通讯方式,主要应用于自动化系统中单元级和现场级通信。
• PROFIBUS PA:电源和通信数据通过总线并行传输,主要用于面向过程自动化系统中单元级和现场级通讯。
• PROFIBUS FMS:定义了主站和主站之间的通讯模型,主要用于自动化系统中系统级和车间级的过程数据交换
其中,PROFIBUS-DP 是高速网络,通讯速率达到12M。PROFIBUS-DP 可以连接远程I/O、执
行机构、智能马达控制器、人机界面HMI、阀门定位器、变频器等智能设备, 一条PROFIBUS-DP 总线可以最多连接123 个从站设备。PROFIBUS-DP 的拓扑结构可以是总线型、星型和树型,通讯介质可以是屏蔽双绞线、光纤,也支持红外传输,采用双绞线时,不加中继器最远通讯距离可达1.2 公里,最多可以采用9 个中继器,最远通讯距离可达9 公里。采用光纤时,最远通讯距离可达100 公里以上,其中采用多膜光纤,两点间最远距离可达3 公里,采用单膜光纤时,两点间最远距离可达3 公里。
2.2 Modbus协议简介
Modbus协议是一种适用于工业控制领域的主从式串口通讯协议,它采用查询通讯方式进行主从设备的信息传输,可寻址1-247个设备地址范围。协议包括广播查询和单独设备查询两种方式,二者区别就是广播查询不需要从设备回应信息,主、从设备查询通讯过程见图2:
图2 Modbus主、从设备查询响应
Modbus协议常用功能码如图3所示:
图3 Modbus协议常用功能码
Modbus协议有两种传输模式:ASCII模式和RTU模式。同波特率下,RTU模式较ASCII模式能传输更多的数据,所以工业网络大都采用RTU模式。RTU模式下的信息传输报文格式如图4:
图4 Modbus RTU信息报文格式
它没有起始位和停止位,而是由至少3.5个字符间隔时间作为信息的起始和结束标志。信息帧所有字符位由16进制字符0-9、A-F组成。
Modbus RTU通讯协议帧结构:
图5 RTU通讯协议帧格式
Modbus RTU方式主站读取从站寄存器数据示例:主设备查询。
图6 主设备查询格式
Modbus RTU方式主站读取从站寄存器数据示例:从设备响应。
图7 从设备响应格式
2.3 网络构成及硬件介绍
如图1所示,在该系统设计中有两个网络使用了上海泗博自动化的Modbus转Profibus-DP网关PM-160。网关在这两个网络中的作用不一样,其中:
在上层网络中(建立西门子S7-300PLC和横河DCS连接通信),Modbus转Profibus-DP网关PM-160在Modbus侧做Modbus从站,在Profibus-DP侧做从站,建立Profibus-DP主站(西门子S7-300 PLC)和Modbus主站(横河CS3000)的通信。DCS通信部分采用横河型号为ALR121的通信模块,并配套横河提供的Modbus通信软件包,该通信模块最大通信数据容量为4000字。通过上海泗博自动化的网关配置软件对PM-160进行相关配置,将DCS的读、写指令及数据做相应转换、存储,并映射到西门子PLC的输入、输出映像区,以实现对上下位机控制信息的实时传输。
在下层网络中(建立西门子S7-300PLC和现场智能仪表的连接通信),Modbus转Profibus-DP网关PM-160在Modbus侧做Modbus主站,在Profibus-DP侧做从站,建立Modbus从站(现场各种智能仪表(现场电机、智能开关、变频器、传感器等))与Profibus-DP主站(西门子S7-300PLC)的通信。串口网络(现场智能仪表)设备接口为RS485或者RS232,它们都可以通过上海泗博自动化的Modbus转Profibus-DP网关PM-160实现与西门子S7-300PLC的连接通信。其中,通过使用网关的配套配置软件对PM-160进行相关配置,将需要采集的从站设备信息通过网关读、写命令及数据转换、存储,映射到西门子PLC的输入、输出映射区,以实现PLC对现场智能仪表数据的采集和监控。
三、 Modbus转Profibus-DP网关PM-160的配置
PM-160是通用型Modbus/RS485/RS422/RS232到Profibus-DP的协议转换网关,在网关RAM中建立了Modbus/RS485/RS422/RS232到Profibus-DP的映射数据区,由软件实现Modbus/RS485/RS422/RS232到Profibus-DP的协议转换和数据交换。凡具有RS485/422/232接口的设备(Modbus协议或者非标协议)都可以通过PM-160与现场总线Profibus-DP互联。其中,PM-160在与Profibus-DP通讯是作为Profibus-DP从站,PM-160在与串口设备通信时,可以作Modbus主站、Modbus从站,也支持与非标串口设备实现数据透明传输。通过在西门子STEP7中注册网关PM-160的GSD文件,即可在该编程软件中对该网关进行相关硬件和软件配置,完成相应的通讯功能。请见如下详细的硬件和软件配置方法:
1、 Modbus转Profibus-DP网关PM-160的硬件配置
PM-160的Profibus-DP从站地址可以通过网关的硬件旋码开关或者配置按钮来设置。旋码开关有两位,左侧位设置地址高位(十位),右侧位设置地址低位(个位)。通过拨码开关可设置网关PM-160处于正常运行状态或者配置状态。当PM-160处于配置状态时,用户可通过配套配置软件设置相关读写命令和参数。
PM-160自带标准Profibus-DP接口,用户可使用标准Profibus-DP连接头和标准的Profibus-DP电缆将其连接至Profibus-DP现场总线中。
PM-160提供RS485/422/232三种串口,Modbus从站、主站设备以及用户非标串口设备可以通过这三种接口实现与网关PM-160的连接通讯。PM-160没有内置终端电阻,在进行RS485通信时,请注意在RS485总线终端各添加一个终端电阻(120欧姆)。
2、 Modbus转Profibus-DP网关PM-160的软件配置
1) 使用配套软件设置PM-160的现场总新和子网相关参数和命令
通过拨码开关将PM-160设置为配置状态,打开安装的配置软件(产品光盘或者访问http://www.sibotech.net/DownLoad01.asp ):
当实现PLC与DCS通信时,子网协议类型设置为Modbus从站,并设置串口通信波特率、数据位、奇偶校验位、停止位、PM-160作为Modbus从站的地址、通信接口。其中,串口通信波特率、数据位、奇偶校验位、停止位的设置应该和所连接的Modbus主站设备(DCS)一致;
图8 PM-160在Modbus侧作Modbus从站(连接PLC和DCS)
当实现PLC与Modbus设备通信时,子网协议类型设置为Modbus主站,并设置串口通信参数、通讯传输模式、通信接口等。其中,串口通信参数的设置应该和所连接的Modbus从站设备一致:
图9 PM-160在Modbus侧作Modbus主站(连接PLC和Modbus从站)
其中,图9中的“节点-1”表示连接的从站设备地址为1,配置了“读保持寄存器”和“预置多个寄存器”两条命令,表示网关读取了从站对应地址的数据,并且能够输出数据到Modbus从站设备,命令配置方法如下:
图10 PM-160在Modbus侧作Modbus主站(命令配置)
Modbus寄存器起始地址:用户输入目标采集数据的Modbus寄存器起始地址;
数据个数:目标数据的寄存器个数或者线圈条数;
内存映射起始地址:Modbus从站设备数据的对应内存缓冲区地址。
当实现PLC与非标协议设备通信时,子网协议类型设置为通用模式,并设置串口通信参数、控制方式、通信接口等。其中,串口通信参数的设置应该和所连接的非标串口设备(现场智能仪表)一致:PM-160支持的通用模式即透明传输模式,用户可通过数据中的数据长度和事务序列号以判断数据完整性和是否是一帧新的数据。
图11 通用模式
2) 在STEP7中对网关M-160进行组态设置
在STEP7的硬件组态界面,导入PM-160对应的GSD文件,把PM-160的配置文件添加到STEP7的设备配置库中。用户可在硬件组态界面找到注册的设备:Catalog->PROFIBUS DP->Additional Field Devices->General->CONVERTER->PM-160。
图12 组态界面
将PM-160添加到STEP7的组态页面后,可以插入相应的数据块进行映像区地址映射。PM-160提供的数据块如下:
图13 PM-160提供的数据块
推动需要的输入输出数据块到网关对应的槽位。如下图所示,将数据块“24Words Input,24Words Output”拖动到Profibus-DP从站地址为3的PM-160的槽位中,此时,对应的映射区地址分别为256,PLC程序需通过PIW256(PIB256)或者PQW256(PQB256)对相应的数据进行寻址访问。
图14 PLC映像区起始地址(命令配置)
四、 数据读写
1、DCS读写PLC数据
DCS作为Modus主站通过PM-160读写PLC数据,使用04H功能码读数据,对应的寄存器起始地址为0H(30001H),使用10H(03H)功能码写数据,对应的寄存器起始地址为0H(40001H)。
2、PLC读写现场智能仪表数据
1) PLC读写Modbus从站设备数据
PLC通过PM-160发送Modbus主站指令读写现场串口设备数据。映像区起始地址和网关内存映射起始地址对应关系如下:以图14中的配置为例。
图15 PLC通过PM-160读写Modbus从站设备数据地址对应关系
2) PLC读写非标串口设备数据
PLC的输入映射区前两个字节分别表示接收的串口数据长度和事务序列号,其它为接收到的数据。事务序列号变化,表示接收到了一帧新的串口数据。其中,可通过配置软件设置是否开启串口数据长度功能。PLC的输出映射区前两个字节分别表示发送的串口数据长度和事务序列号,其它为要发送的串口数据。事务序列号变化,PLC发送相应长度的串口数据。
五、 结束语
在该系统中,Modbus转Profibus-DP网关PM-160扮演了三种角色:建立Modbus主站和Profibus-DP主站之间的连接通信(Modbus主站模式);建立Modbus从站和Profibus-DP主站之间的连接通信(Modbus从站模式);建议非标串口设备和Profibus-DP主站之间的连接通信(通用模式)。自本通信系统运行以来,整个系统通讯正常,有效保证了整个水利工程控制系统的正常运行。使用上海泗博自动化的Modbus转Profibus-DP网关可以极大地方便自动化工业现场的控制和操作。