MODBUS协议在西门子S7-226和HSPY程控直流稳压电源通信中的应用

时间:2022-10-26 01:27:43

MODBUS协议在西门子S7-226和HSPY程控直流稳压电源通信中的应用

摘要:在重介选煤直流电源控制系统中,实现了基于Modbus协议下的S7-200PLC与HSPY直流电源的通讯。采用MODBUS通信协议,西门子S7-226 PLC做主站,HSPY直流电源做从站,以通信的方式控制直流电源的启动、停止、以及改变电流。介绍了西门子Step 7 MicroWin软件中Modbus库指令的使用,并利用串口调试软件方便了程序的编写和调试。MODBUS总线在信号远距离传输时,可简化外部接线,解决常规的开关量模拟信号在传输过程中会受到干扰而失真的问题,同时通信控制方法可以方便读取直流电源的运行信息,达到对直流电源运行状态监控的目的。

关键词:通信;Modbus协议;S7-226;直流电源

中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)10-2395-04

Modbus Protocol Applied in the Communication of S7-226 and HSPY DC Power

LIU Shi-chao

(Taiyuan University of Technology, Taiyuan 030024, China)

Abstract: IN DC power control system of Dense Medium Separation ,based on the Modbus protocol,realized the communication between S7-200PLC and HSPY DC power. IN Modbus communication protocol,Siemens S7-226 PLC is master,HSPY DC power is slave, use communication to control the start of the DC power supply, stop, and the change in current. Instruced Modbus library in the Step 7 MicroWin Software of Siemens, and used the serial port debugging software to facilitate the writing and debugging of the program. Modbus simplify external wiring ,solve the interference and distortion in the transmission process of conventional switching of analog signals , the communication control method can easily read the information of the operation of the DC power ,monitoring the DCpower operation status .

Key words: communication; Modbus agreement; S7-226 ; DC power

某选煤厂为了在线调节控制三产品旋流器二段分选密度,外加螺线圈来用磁场影响磁铁矿粉的分布。螺线圈是采用直流电源来供电,系统要求通过调节电流来控制螺线圈磁场,因此要控制直流电源的运行状态。控制信号需要从集控室开始需要传输五百米才能到达直流电源,从而控制直流电源动作。在一般工业应用中,对于电源的控制大部分采用的是0-24mA或0-5V模拟量控制,很少总线控制方式。但经过比较和实际使用发现,现场总线与模拟量控制相比有很多优势,最显著的是具有很高的可靠性高,避免失真,并且交换的信息非常多样化,因此越来越多的设备开始支持串口通信协议,可以预见总线控制方式通信在工程上的应用将越来越广泛。

MODBUS通信协议是MODICON公司提出的一种报文传输协议,是全球第一个真正用于工业现场的总线协议[1]。它广泛应用于工业控制领域,并已经成为一种通用的行业标准。MODBUS通信协议可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。不同厂商提供的控制设备可通过MODBUS协议连成通信网络,从而实现集中控制。已经有很多通过MODBUS通信协议进行PLC和变频器的成功案例[2]。该文中采用MODBUS协议进行S7-226和HSPY程控直流稳压电源的通讯,可以更好地控制电源,监控电源运行状态,来解决信号远距离传输失真的问题。

1PLC与HSPY程控直流稳压电源通信控制系统

在此系统方案中PLC采用西门子公司的SIMATIC S7-226CN,直流电源采用HSPY程控直流稳压电源。S7-226系列PLC的CPU内部集成了2个通信端口,该通信口为标准的RS485串口,可以在三种方式下工作,即PPI方式、MPI方式和自由通信口方式。系统可以将一个通信端口设为PPI方式用于连接工控机也可将其设置为MPI方式以连接触摸屏,做为人机信息交换[2]。而另一个通信端口设为自由通信口方式,自由通信口方式是S7-200的一个特色功能,是一种通信协议完全开放的功能工作方式。在自由通信口方式下的通信口的协议由外设决定,PLC通过程序来适应外设,从而使得S7-200系列的PLC可以与任何具备通信能力并且协议公开的设备通信[3] [4]。系统中的HSPY程控直流稳压电源均内置了Modbus现场总线,相关系统构成如图1所示,PLC的Port0通讯端口和HSPY程控直流稳压电源构成Modbus总线。通过S7-226CN控制多台HSPY程控直流稳压电源,完成系统控制要求,实现对直流稳压电源的输出电流、电压设定,运行状态监控及数据交换等。

图1直流电源控制系统

本系统中PLC作为主站,直流稳压电源作为从站,主站向直流稳压电源发送运行指令,同时接受直流稳压电源反馈的运行状态及故障报警状态的信号等。

2MODBUS通信协议在电源通信控制系统中的使用

西门子在Micro/Win V4.0 SP5中正式推出Modbus RTU主站命令库,西门子标准库指令通过调用该指令库可以使S7-200CPU上的通信口设置在自由口模式下成为Modbus RTU的主站。在S7-200控制系统应用中,要实现Modbus RTU通讯,需要STEP7-Micro/Win32 V4.0 SP5以上版本,并且安装Modbus指令库,如图2,STEP7-Micro/Win32指令库包含有专门为Modbus通讯设计的预先定义的子程序和中断服务程序,使得PLC与Modbus从站的通讯简单易行[5]。

图2 Modbus命令库

2.1 MODBUS RTU主站命令库使用步骤

使用Modbus RTU主站命令库,可以读写MODBUS RTU从站的数字量、模拟量I/O、以及保持寄存器[2]。按照一下步骤使用MODBUS RTU主站命令库:

1)安装西门子标准MODBUS RTU指令库。

2)调用MODBUS RTU主站初始化和控制子程序,使用SM0.0调用MBUS_CTRL完成主站的初始化,并启动其功能控制。

3)在CPU的V数据区中为MODBUS分配存储区。

4)调用MODBUS RTU主站读写子程序MBUS_MSG,发送MODBUS请求。

表1 MODBUS部分功能码表

2.2 HSPY电源的Modbus通讯规约

HSPY系列电源支持MODBUS通信协议,主机(PLC、RTU、PC机、DCS等)利用通讯命令,可以任意读写其数据寄存器。HSPY系列电源支持的MODBUS功能码为03,10。

HSPY系列电源通讯方式为:

波特率:9600;起始位:1;数据位:8;校验位:无;停止位:1。

2.3 HSPY系列电源的参数通讯地址的转换

通常MODBUS地址由5位数字组成,包括起始的数据类型代号,以及后面的偏移地址。MODBUS Master协议库把标准的MODBUS地址映射为所谓MODBUS功能号,读写从站的数据。MODBUS Master协议库支持如下地址:

00001 - 09999:数字量输出(线圈)

10001 - 19999:数字量输入(触点)

30001 - 39999:输入数据寄存器(通常为模拟量输入)

40001 - 49999:数据保持寄存器

HSPY系列电源的参数通讯地址是16进制数,首先转为10进制,由于S7-200 PLC中最小地址为400001,而HSPY系列电源中最小地址为0,所以在写HSPY系列电源地址时必须要加1。例如,电源的电压设定值参数通讯地址是1000H,转为10进制是4096,加1后是4097,寄存器地址栏要写44097.

3串口调试软件进行MODBUS通信调试

由于程序编写比较繁琐,一旦出现错误可能会损害HSPY电源,为了避免损害的发生,可以利用串口调试软件进行MODBUS通信调试,其优点是不必连接HSPY电源,而是在工控机或PC机上用串口调试软件查看S7-226CN输出和读取的数据,来判断程序是否正确。

一般的工控机或PC机没有RS485串口,可以将通过RS232转RS485转换模块和PLC连接。RS485线选择3号线和8号线,(其余均断开)3号线接T+,8号线接T-,将另一端9针插头接到PLC的PORT0通信端口上。也可以通过USB转RS485转换器连接。将编写的通讯程序下载到PLC中。运行程序,打开串口调试软件进行监控,从接收到的数据来看,和设置的HSPY电源动作的数据一致,说明MODBUS主站程序编写正确[2] [6]。不一致,则要修改MODBUS通信程序,使其一致。

图3 PLC串口调试软件监控界面

4 PLC控制HSPY程控直流稳压电源的部分程序

使用SM0.0调用MBUS_CTRL完成主站的初始化,并启动其功能控制,如图4。

图4 Modbus RTU主站初始化

图5(a)上电初始化,将控制电源的数据存入S7-226CN的V存储器。在分配存储区时要注意,数据区不能和其他数据区重叠,否则不能正常通讯。图5(b)向电源发送Modbus请求,把1写入电源寄存器1004,电源开启;图5(c)把1写入电源寄存器1006,锁定电源面板按键;图5(d)把10写入电源寄存器1004,电源输出电流10A;图5(e)读取从电源寄存器数据:图5(f)把0写入电源寄存器1004,电源关闭。

(a)

(b)

(c)

(d)

(e)

(f)

图5部分控制程序

5结论

该文以S7-200控制系统为例,叙述了利用Modbus RTU协议指令库PLC与HSPY程控直流稳压电源通讯的实现。采用自由口通讯方式的Modbus RTU协议很好的解决了PLC与直流电源等智能设备的通讯问题,不仅能有效解决信号传输过程中失真的问题,而且在通信模式下PLC可以方便控制直流稳压电源的运行和读取直流稳压电源的运行信息,对直流稳压电源进行有效监控。

参考文献:

[1]西门子(中国)有限公司自动化与驱动集团.深入浅出西门子S7-200PLC [M].北京:北京航空航天大学出版社,2003.

[2]廖常初. PLC编程及应用[M].北京:机械工业出版社,2005.

[3]龚俊,黄锐,戴涛.ACS 550与S7-226PLC自由口通讯[J/OL].[2010-04-17].中国科技论文在线(www.paper.省略).

[4]张士聪,王波,王然风.成庄矿选煤厂重介密度监控系统的改造实践[J].工矿自动化,2011(5):12-14.

[5]陈作炳,周亮,印志松. S7-200可编程控制器与ABB变频器通讯的实现[J].工业控制计算机,2009,22(5):15-16.

[6]张致维,张士聪,王然风.MODBUS协议在西门子S7-226PLC与伦茨变频器通信中的应用[J].工矿自动化,2011(8).

上一篇:SystemView在《通信电子线路》仿真中的应用研... 下一篇:基于排队论的战场军械装备修理力量预测仿真研...