1 引言
PROFIBUS是一种国际化、开放式、不依赖于设备生产商的现场总线标准。广泛适用于制造业自动化、流程工业自动化和楼宇、交通、电力等其他领域自动化。PROFIBUS由三个兼容部分组成,即PROFIBUS-DP(Decentralized Periphery)、PROFIBUS-PA(Process Automation)、PROFIBUS-FMS(Fieldbus Message Specification)。其中PROFIBUS-DP是一种高速低成本用于设备级控制系统与分散式I/O通信的一种总线。其传输介质为双绞屏蔽线,波特率从9600bps到12Mbps。使用PROFIBUS-DP可取代24VDC或4-20mA信号传输。
Modbus目前是工业领域全球最流行的协议之一。此协议支持传统的带RS-232、RS-422、RS-485和以太网接口的设备。许多工业设备,包括PLC、DCS、智能仪表等都在使用Modbus协议作为它们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
作者在设计某电力自动控制系统时,需要将许继公司生产的继电保护装置的参数读取到Siemens公司的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中的工业以太网模块、现场总线模块连接到企业SCADA系统中,使二者得到完美的结合。
表1 遥信信息点通讯的数据
2 继电保护系统
本电力系统电站装机容量为6MW。其主接线为一机一变两回线,变压器为电压变比10/6.3kV的双圈变压器。电站10kV出线两回至用户站。
本继电保护系统的主要监测对象包括:一台发电机组、一台主变压器、两回10kV出线、400V厂用变;保护对象包括电站的发电机、变压器、10kV出线。该继电保护系统提供一智能通讯服务器,其功能是将许继设备的通讯规约转换为MODBUS规约,预留RS-485通讯接口与CP340进行通讯。通讯的数据量包括遥信信息点(功能码02,起始查询地址0):YX1~YX36,祥见表1。遥测信息点(功能码03,起始查询地址0)YC1~YC18,祥见表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、RS-422、RS-485和以太网接口的设备。当在网络上通信时,Modbus协议决定了每个控制器必须要有它们的设备地址,能识别发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus协议发送给询问方。
Modbus协议有ASCII、RTU二种协议,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和应答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;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 主机请求示例
表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主站,也可作Modbus从站。通过该网桥的集成软件GSD文件,可以在西门子STEP 7编程软件中对该网桥进行硬件和软件配置,完成相应的通讯功能。以下是详细的硬件和软件配置方法:
4.1 PB-M网桥的硬件设计
PB-M网桥的PROFIBUS从站地址和MODBUS主、从站选择可以通过该网桥的硬件拨码开关来设置。其拨码开关有8位,其最高位是设置MODBUS主从站的(若该位设为0,即将其作为MODBUS主站;若该位设为1,即将其作为MODBUS从站);其它的低7位设置PROFIBUS从站地址。本设计将其作PROFIBUS从站(地址为19,二进制:00010011)和MODBUS主站,因此拨码开关设置为: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网桥的软件配置
硬件连接配置好后,就可以开始配置PB-M网桥的软件了。其软件配置包括:设备参数配置和MODBUS报文队列配置:
(1) PB-M网桥的设备参数配置
在STEP 7的HW Config中,可以通过安装PB-M网桥的GSD文件(是MODBUS主站的GSD文件;是MODBUS从站的GSD文件)把PB-M网桥的配置文件添加到STEP 7的设备配置库中。此后,就可以按图3的示意方法配置PB-B网桥的硬件了。
图3 PB-B网桥的配置示意图
将PB-M网桥添加到S7的硬件配置系统中后,可以对其相关参数进行配置。本设计将PB-M网桥作为MODBUS主站,根据MODBUS从站的要求,主站基本参数配置如下:
l PROFIBUS从站地址=19;
l 波特率=9600;校验方式:无校验;
l 数据更新模式:在每条MD回答后;
l 等待回答时间:50ms。
(2) PB-M网桥的MODBUS报文队列配置
根据通讯系统的要求,PB-M网桥可以配置不同的报文队列来完成实际的通讯要求。PB-M网桥有0#~19#共20个槽(逻辑上,非物理设备);0#、1#槽已占用,剩下18个槽提供用户使用。每个槽可以用来插入一条MODBUS通信模块;所以一共可以插入18条MODBUS模块。PB-M网桥的每一个MODBUS模块对应一种功能的MODBUS报文,可双击插入某一槽中。
下面以在2#槽中插入“read 24 bits(0xxxx)”为例说明MODBUS模块是如何完成某种功能的MODBUS报文的
该MODBUS模块对应MODBUS的01h功能,即:读取24个输出线圈0xxxx状态。
第一步: 选中2#槽,然后双击“read24 bits(0xxxx)”; 2#槽中插入“24DI read 24 bits(0xxxx) 1…3”;
第二步: 进一步设定MODBUS参数:双击2#槽中的“24DI read 24 bits(0xxxx) 1…3”;选择“Parameter Assignment”,即可设定“从站地址”和“起始地址”等参数。
参数设定完后,就建立了如图4所示的MODBUS至PROFIBUS的数据映射关系。
图4 数据映射关系
其中,I1..I3是PROFIBUS主站分配给这个MODBUS模块的PROFIBUS输入地址I1~I3,对应本MODBUS报文读到的24 bits (0xxxx)。这样,PLC在进行编程时,直接读取I1~I3即可得到MODBUS 的24个输出线圈0xxxx的状态。
本PB-M网桥需要完成的通讯数据包括:36个遥信信息点(功能码02)和18个遥测信息点(功能码03)。根据此要求,需配置的报文队列如图5所示(站号为19、起始地址为0):
图5 报文队列配置示意图
2#槽的报文队列对应的MODBUS命令是:发功能码02命令—读输入线圈10001~10032的状态,存入I11~I14;
3#槽的报文队列对应的MODBUS命令是:发功能码03命令—读保持寄存器40001~40018的值,存入I528~I563;
完成以上配置后,PLC就可以和MODBUS从站设备进行通讯了。
5 结束语
自本通讯系统运行以来,PLC与Modbus RTU间的通讯一直正常,从未出现过任何软、硬件故障以及其它干扰现象,有效地保证了自动控制系统的正常运行。可见,PLC通过PB-M网桥与Modbus RTU通讯是一种行之有效的方法。PLC和上位机WINCC可以读取仪表中温度测量值、设定值等,同时可以远程设置继电保护装置和直流屏设备中的数据,极大地方便了现场的控制和操作。由此看来,利用PB-M网桥来解决Siemens PLC与第三方智能控制仪表之间的通讯是一个值得推广的方式,在电力自动控制系统中,一定会取得更加成功的应用。
(转载)