微硬创新MODBUS转PROFIBUS网关在电力系统中的应用
1 引言
在设计某电力自动控制系统时,需要将许继公司生产的继电保护装置的参数读取到Siemens公司的S7-400 PLC中,并集成到SCADA(Supervisory Control And Data Acquisition)监控系统中,参与实际的连锁控制。继电保护装置提供RS-485通讯接口,其通讯协议为Modbus RTU(Remote Terminal Unit)协议。为了实现Modbus RTU协议到PROFIBUS协议的转换,本设计将西门子PLC S7-400作PROFIBUS主站,应用北京微硬创新科技有限公司生产的PBMD485-K20网关,和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和PBMD-K20网关作PROFIBUS从站。另一方面,在Modbus总线中将PBMD-K20网关作Modbus主站,继电保护装置和直流屏设备作为Modbus的从站,双方以9600bps的通讯速率进行通讯。具体的网络结构如图1所示:
图1 网络结构示意图
3.2 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协议常用功能码
表6给出了以RTU方式读取一个整数数据的例子:主机请求。
表6 主机请求示例
表7给出了以协议从机应答读取整数数据示例。
表7 从机应答示例
4 PBMD485-K20网关桥的配置
PBMD485-K20网关是智能型PROFIBUS到Modbus-232/485的协议转换网关,在接口RAM中建立了PROFIBUS到Modbus的映射数据区,由软件实现PROFIBUS到Modbus的协议转换和数据交换。凡具有RS-232/485接口的MODBUS协议设备都可以利用PBMD485-K20与现场总线PROFIBUS互连。一方面,PBMD485-K20网关在与PROFIBUS通讯时是作为PROFIBUS从站;另一方面,它在与Modbus通讯时,即可以作Modbus主站,也可作Modbus从站。通过该网关的GSD文件,可以在西门子STEP 7编程软件中对该网关进行硬件和软件配置,完成相应的通讯功能。以下是详细的硬件和软件配置方法:
4.1 PBMD485-K20网关的硬件设计
PBMD485-K20网关的PROFIBUS从站地址和MODBUS主、从站选择可以通过该网桥的硬件拨码开关来设置。其拨码开关有8位,其最高位是设置MODBUS主从站的(若该位设为1,即将其作为MODBUS主站;若该位设为0,即将其作为MODBUS从站);其它的低7位设置PROFIBUS从站地址。
PBMD485-K20网关自带PROFIBUS DP接口,可以使用标准的PROFIBUS DP连接头和标准的PROFIBUS电缆将其连接至PROFIBUS现场总线中。
PBMD485-K20网关还提供RS-232/485接口,其他MODBUS从站可以通过该接口实现与PBMD485-K20网关的通讯。须注意的是在RS-485总线终端要加终端电阻,PBMD485-K20网关已内置终端电阻,只需用外接短接线将其接入RS-485网络即可。图2是RS-485网络连接和终端电阻的连接示意图:
4.2 PBMD485-K20网关的软件配置
硬件连接配置好后,就可以开始配置PBMD485-K20网关的软件了。其软件配置包括:设备参数配置和MODBUS报文队列配置:
(1) PBMD485-K20网关的设备参数配置
在STEP 7的HW Config中,可以通过安装PBMD485-K20网关的GSD文件(PBMD.GSD是MODBUS主站的GSD文件;PBMDMS.GSD是MODBUS从站的GSD文件)把PBMD485-K20网关的配置文件添加到STEP 7的设备配置库中。此后,就可以按图3的示意方法配置PBMD485-K20网关了。
将PBMD485-K20网关添加到S7的硬件配置系统中后,可以对其相关参数进行配置。本设计将PBMD485-K20网关作为MODBUS主站,根据MODBUS从站的要求,主站基本参数配置如下:
l PROFIBUS从站地址=19;
l 波特率=9600;校验方式:无校验;
l 数据更新模式:在每条MD回答后;
l 等待回答时间:50ms。
(2) PBMD485-K20网关的MODBUS报文队列配置
根据通讯系统的要求,PB-M网桥可以配置不同的报文队列来完成实际的通讯要求。PBMD485-K20网关有0#~19#共20个槽(逻辑上,非物理设备);0#、1#槽已占用,剩下18个槽提供用户使用。每个槽可以用来插入一条MODBUS通信模块;所以一共可以插入18条MODBUS模块。PBMD485-K20网关的每一个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的数据映射关系。
其中,I1..I3是PROFIBUS主站分配给这个MODBUS模块的PROFIBUS输入地址I1~I3,对应本MODBUS报文读到的24 bits (0xxxx)。这样,PLC在进行编程时,直接读取I1~I3即可得到MODBUS 的24个输出线圈0xxxx的状态。
本PBMD485-K20网关需要完成的通讯数据包括:36个遥信信息点(功能码02)和18个遥测信息点(功能码03)。根据此要求,需配置的报文队列如图5所示(站号为19、起始地址为0):
2#槽的报文队列对应的MODBUS命令是:发功能码02命令—读输入线圈10001~10032的状态,存入I11~I14;
3#槽的报文队列对应的MODBUS命令是:发功能码03命令—读保持寄存器40001~40018的值,存入I528~I563;
完成以上配置后,PLC就可以和MODBUS从站设备进行通讯了。
5 结束语
自本通讯系统运行以来,PLC与Modbus RTU间的通讯一直正常,从未出现过任何软、硬件故障以及其它干扰现象,有效地保证了自动控制系统的正常运行。可见,PLC通过PBMD485-K20网关与Modbus RTU通讯是一种行之有效的方法。PLC和上位机WINCC可以读取仪表中温度测量值、设定值等,同时可以远程设置继电保护装置和直流屏设备中的数据,极大地方便了现场的控制和操作。由此看来,利用PBMD485-K20网关来解决Siemens PLC与第三方智能控制仪表之间的通讯是一个值得推广的方式,在电力自动控制系统中,一定会取得更加成功的应用。
文章版权归西部工控xbgk所有,未经许可不得转载。