1、转换桥连接 MODBUS 通信协议设备的实例-MODBUS 转 PROFIBUS 协议北京鼎实创新科技有限公司(中国现场总线 PROFIBUS 技术资格中心)1 引言PROFIBUS 是一种国际化、开放式、不依赖于设备生产商的现场总线标准。广泛适用于制造业自动化、流程工业自动化和楼宇、交通、电力等其他领域自动化。PROFIBUS 由三个兼容部分组成,即 PROFIBUS-DP(Decentralized Periphery)、PROFIBUS-PA(Process Automation)、PROFIBUS-FMS(Fieldbus Message Specification)。其中PROFIB
2、US-DP 是一种高速低成本用于设备级控制系统与分散式 I/O 通信的一种总线。其传输介质为双绞屏蔽线,波特率从9600bps 到12Mbps。使用 PROFIBUS-DP 可取代24VDC或4-20mA 信号传输。Modbus 目前是工业领域全球最流行的协议之一。此协议支持传统的带 RS-232、RS-422、RS-485和以太网接口的设备。许多工业设备,包括 PLC、DCS、智能仪表等都在使用 Modbus 协议作为它们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。作者在设计某电力自动控制系统时,需要将许继公司生产的继电保护装置的参数读取到Siemens 公
3、司的 S7-400 PLC 中,并集成到 SCADA(Supervisory Control And Data Acquisition)监控系统中,参与实际的连锁控制。继电保护装置提供 RS-485通讯接口,其通讯协议为 Modbus RTU(Remote Terminal Unit)协议。为了实现 Modbus RTU 协议到PROFIBUS 协议的转换,本设计将西门子 PLC S7-400作 PROFIBUS 主站,利用北京鼎实公司生产的 Profibus-Modbus 网桥(以下简称 PB-M 网桥)和 Modbus 从站通讯,然后通过PLC 中的工业以太网模块、现场总线模块连接到企业
4、SCADA 系统中,使二者得到完美的结合。表1 遥信信息点通讯的数据2 继电保护系统本电力系统电站装机容量为6MW。其主接线为一机一变两回线,变压器为电压变比10/6.3kV 的双圈变压器。电站10kV 出线两回至用户站。本继电保护系统的主要监测对象包括:一台发电机组、一台主变压器、两回10kV 出线、400V 厂用变;保护对象包括电站的发电机、变压器、10kV 出线。该继电保护系统提供一智能通讯服务器,其功能是将许继设备的通讯规约转换为 MODBUS 规约,预留 RS-485通讯接口与 CP340进行通讯。通讯的数据量包括遥信信息点(功能码02,起始查询地址0):YX1YX36,祥见表1。遥
5、测信息点(功能码03,起始查询地址0)YC1YC18,祥见表2。表2 遥测信息点通讯的数据3 通讯系统3.1 通讯系统的构成在本自动控制系统中,将西门子 S7-400 PLC 作 PROFIBUS 主站,ET 200M 和 PB-M 网桥作 PROFIBUS 从站。另一方面,在 Modbus 总线中将 PB-M 网桥作 Modbus 主站,继电保护装置和直流屏设备作为 Modbus 的从站,双方以9600bps 的通讯速率进行通讯。具体的网络结构如图1所示:图1 网络结构示意图3.2 Modbus 通讯协议简介Modbus 目前是工业领域全球最流行的协议之一。此协议支持传统的带 RS-232、
6、RS-422、RS-485和以太网接口的设备。当在网络上通信时,Modbus 协议决定了每个控制器必须要有它们的设备地址,能识别发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用 Modbus 协议发送给询问方。Modbus 协议有 ASCII、RTU 二种协议,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。Modbus 的ASCII、RTU 协议规定了消息、数据的结构、命令和应答的方式,数据通讯采用Maser/Slave 方式,Master 端发出数据请求消息,Slave 端接收到正确消息后就可以发送数据到 Master
7、端以响应请求;Master 端也可以直接发消息修改 Slave 端的数据,实现双向读写。(1) Modbus 通讯协议的功能码Modbus 的 Slave 端是根据 Master 端发送过来的功能码进行相应的动作的。表3是Modbus RTU 协议常用的功能码,使用它们即可实现对 Slave 端的数字量和模拟量进行读写操作。表3 Modbus RTU 协议常用功能码(2) Modbus RTU 通讯协议帧结构表4列出了 RTU 协议每个字节的位。Modbus RTU 协议的典型数据帧格式见表5。表5 RTU 协议数据帧格式表6给出了以 RTU 方式读取一个整数数据的例子:主机请求。表6 主机请
8、求示例表7给出了以协议从机应答读取整数数据示例。表7 从机应答示例4 PB-M 网桥的配置PB-M 网桥是智能型 PROFIBUS 到 Modbus-232/485的协议转换总线桥,在接口 RAM 中建立了 PROFIBUS 到 Modbus 的映射数据区,由软件实现 PROFIBUS 到 Modbus 的协议转换和数据交换。凡具有 RS-232/485接口的 MODBUS 协议设备都可以利用 PB-M 网桥与现场总线 PROFIBUS 互连。一方面,PB-M 网桥在与 PROFIBUS 通讯时是作为 PROFIBUS 从站;另一方面,它在与 Modbus 通讯时,即可以作 Modbus 主站
9、,也可作 Modbus 从站。通过该网桥的集成软件 GSD 文件,可以在西门子 STEP 7编程软件中对该网桥进行硬件和软件配置,完成相应的通讯功能。以下是详细的硬件和软件配置方法:4.1 PB-M 网桥的硬件设计PB-M 网桥的 PROFIBUS 从站地址和 MODBUS 主、从站选择可以通过该网桥的硬件拨码开关来设置。其拨码开关有8位,其最高位是设置 MODBUS 主从站的(若该位设为0,即将其作为 MODBUS 主站;若该位设为1,即将其作为 MODBUS 从站);其它的低7位设置PROFIBUS 从站地址。本设计将其作 PROFIBUS 从站(地址为19,二进制:00010011)和M
10、ODBUS 主站,因此拨码开关设置为:00010011。PB-M 网桥自带 PROFIBUS DP 接口,可以使用标准的 PROFIBUS DP 连接头和标准的PROFIBUS 电缆将其连接至 PROFIBUS 现场总线中。PB-M 网桥还提供 RS-232/485接口,其他 MODBUS 从站可以通过该接口实现与 PB-M网桥的通讯。须注意的是在 RS-485总线终端要加终端电阻,PB-M 网桥已内置终端电阻,只需用外接短接线将其接入 RS-485网络即可。图2是 RS-485网络连接和终端电阻的连接示意图:图2 RS-485网络连接和终端电阻的连接示意图4.2 PB-M 网桥的软件配置硬件
11、连接配置好后,就可以开始配置 PB-M 网桥的软件了。其软件配置包括:设备参数配置和 MODBUS 报文队列配置:(1) PB-M 网桥的设备参数配置在 STEP 7的 HW Config 中,可以通过安装 PB-M 网桥的 GSD 文件(DS_MMV3.GSD 是MODBUS 主站的 GSD 文件;DS_MSV3.GSD 是 MODBUS 从站的 GSD 文件)把 PB-M 网桥的配置文件添加到 STEP 7的设备配置库中。此后,就可以按图3的示意方法配置 PB-B 网桥的硬件了。图3 PB-B 网桥的配置示意图将 PB-M 网桥添加到 S7的硬件配置系统中后,可以对其相关参数进行配置。本设
12、计将 PB-M 网桥作为 MODBUS 主站,根据 MODBUS 从站的要求,主站基本参数配置如下:l PROFIBUS 从站地址=19;l 波特率9600;校验方式:无校验;l 数据更新模式:在每条 MD 回答后;l 等待回答时间:50ms。(2) PB-M 网桥的 MODBUS 报文队列配置根据通讯系统的要求,PB-M 网桥可以配置不同的报文队列来完成实际的通讯要求。PB-M 网桥有019共20个槽(逻辑上,非物理设备);0#、1#槽已占用,剩下18个槽提供用户使用。每个槽可以用来插入一条 MODBUS 通信模块;所以一共可以插入18条 MODBUS模块。PB-M 网桥的每一个 MODBU
13、S 模块对应一种功能的 MODBUS 报文,可双击插入某一槽中。下面以在2槽中插入“read 24 bits(0xxxx)”为例说明 MODBUS 模块是如何完成某种功能的 MODBUS 报文的该 MODBUS 模块对应 MODBUS 的01h 功能,即:读取24个输出线圈0xxxx 状态。第一步: 选中2#槽,然后双击“read24 bits(0xxxx)”; 2#槽中插入“24DI read 24 bits(0xxxx) 13”;第二步: 进一步设定 MODBUS 参数:双击2#槽中的“24DI read 24 bits(0xxxx) 13”;选择“Parameter Assignment
14、”,即可设定“从站地址”和“起始地址”等参数。参数设定完后,就建立了如图4所示的 MODBUS 至 PROFIBUS 的数据映射关系。图4 数据映射关系其中,I1.I3是 PROFIBUS 主站分配给这个 MODBUS 模块的 PROFIBUS 输入地址I1I3,对应本 MODBUS 报文读到的24 bits (0xxxx)。这样,PLC 在进行编程时,直接读取 I1I3即可得到 MODBUS 的24个输出线圈0xxxx 的状态。本 PB-M 网桥需要完成的通讯数据包括:36个遥信信息点(功能码02)和18个遥测信息点(功能码03)。根据此要求,需配置的报文队列如图5所示(站号为19、起始地址
15、为0):图5 报文队列配置示意图2槽的报文队列对应的 MODBUS 命令是:发功能码02命令 读输入线圈1000110032的状态,存入 I11I14;3槽的报文队列对应的 MODBUS 命令是:发功能码03命令 读保持寄存器4000140018的值,存入 I528I563;完成以上配置后,PLC 就可以和 MODBUS 从站设备进行通讯了。5 结束语自本通讯系统运行以来,PLC 与 Modbus RTU 间的通讯一直正常,从未出现过任何软、硬件故障以及其它干扰现象,有效地保证了自动控制系统的正常运行。可见,PLC 通过PB-M 网桥与 Modbus RTU 通讯是一种行之有效的方法。PLC 和上位机 WINCC 可以读取仪表中温度测量值、设定值等,同时可以远程设置继电保护装置和直流屏设备中的数据,极大地方便了现场的控制和操作。由此看来,利用 PB-M 网桥来解决 Siemens PLC 与第三方智能控制仪表之间的通讯是一个值得推广的方式,在电力自动控制系统中,一定会取得更加成功的应用。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。