如何实现西门子S7-300 PLC与DCS控制系统的通信
——上海泗博自动化Modbus转PROFIBUS-DP网关的应用
摘要:本文就西门子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,实现对现场各种智能仪表,包括现场电机、智能开关、变频器、传感器等执行、检测设备的启停控制、信息采集等操作。
在上图所示系统结构中,现场各种智能仪表(采用的是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 现场总线通讯协议包括三个主要部分: (1). PROFIBUS DP:主站和从站之间采用轮循的通讯方式,主要应用于自动化系统中单元级和现场级通信;
(2). PROFIBUS PA:电源和通信数据通过总线并行传输,主要用于面向过程自动化系统中单元级和现场级通讯;
(3). 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:
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从站设备一致: