闫伟
S7-200PLC与WJ200变频器的通信技术研究
闫伟
(广东五星太阳能股份有限公司)
针对西门子S7-200PLC与日立WJ200变频器之间通讯困难问题,研究了S7-200PLC与WJ200变频器通信实现方法。通过S7-200PLC控制WJ200变频器的启停和频率写入,并经过编程及反复调试,最终实现了两者之间的通讯,为解决此类通信问题提供参考。
S7-200;WJ200变频器;通讯技术
PLC控制变频器在自动化领域应用非常普遍。由于PLC及变频器的种类、品牌众多,而不同品牌产品间的正常通讯是影响PLC及变频器应用的基础问题。当前解决不同种类自动控制元器件间通讯的常用协议之一为Modbus协议,但由于不同品牌的PLC编程方式不尽一致,不同品牌变频器的地址设置也不统一,因此此类通讯设置成为影响通讯成功与否的关键。近年来学者针对PLC与变频器间通讯问题展开了深入研究。徐家明(2008)研究了基于USS协议的PLC与变频器的通信设计[1];杨艳等(2009)使用协议宏实现欧姆龙PLC与三菱PLC的通信[2];武朝等(2011)提出基于Modbus协议的S7-200PLC主从结构的通信技术[3];郭福田等(2014)针对S7-200系列PLC研究PLC的通信协议,实现PC与PLC的通信[4]。本文主要针对西门子S7-200PLC和日立WJ200变频器的通信技术中的地址问题进行分析,经过反复试验,最终解决了该技术难题,实现彼此之间的通信。
通过S7-200控制WJ200变频器的启停和频率写入,S7-200作为主站,WJ200作为从站,从站地址为3。按照文献[5]第350页中对Modbus协议的规定,S7-200的Modbus主站指令支持Modbus地址分别为:
1)00001到09999是离散输出(线圈);
2)10001到19999是离散输入(触点);
3)30001到39999是输入寄存器(通常是模拟量输入);
4)40001到49999是保持寄存器。
表1为映射Modbus地址至S7-200地址的具体情况。
表1 S7-200的Modbus地址映射
2.1 Modbus协议初始化
WJ200中关于变频器运行停止的线圈编号为0001h,文献[1]第8~21页给出了频率设定的保持寄存器的编号有2个,分别是0001h和0002h[6]。
线圈和操持寄存器的写入方式,要注意线圈地址和线圈编号的变换关系,线圈地址=线圈编号-1;保持寄存器地址和编号的变换关系,寄存器地址=寄存器编号-1[2]。
在S7-200中使用Modbus协议,首先要使用CTRL初始化指令,如图1所示,波特率为9600 Bd/s,无校验,响应时间为500 ms,WJ200变频器中也做同样设置。
图1 CTRL指令初始化
图2 启停控制MSG指令的内容
2.2 启停控制MSG指令Addr的确定
执行MSG指令,用于启动Modbus从站的请求并处理响应。本例将从站地址设为3,执行写入动作,WJ200变频器中也做同样设置。启停控制MSG指令Addr的确定,直接影响PLC是否成功控制变频器,是解决S7-200控制WJ200变频器的技术关键点之一。图2给出S7-200控制WJ200变频器启停的MSG指令。
地址00001到09999是离散输出,即线圈。从表1可看出:00001到00128依次对应Q0.0到Q15.7的实际输出。参考文献[2],WJ200变频器的启停控制是编号为0001h的线圈,该线圈对应的地址为编号-1,应为0000h,该地址加上Modbus地址就是上述Addr的地址。
通过分析可知:WJ200所说的线圈与文献[1]中实际输出线圈是完全不同的,前者是通过通讯线与主机进行通讯的存储器上的地址,后者虽然也是存储器,但是对应着实际的输出,可实际接线输出信号,而不仅仅是存在于程序中。它可能对应的是40001到40009,但是文献[1]说这部分地址是寄存器,文献[2]说的则是线圈。
经反复试验,发现启停控制MSG指令的Addr在输入1时可以正常通讯,显然0000h加的是00001,即00001不仅仅可以对应Q0.0的实际输出,也可以对应一个虚拟的线圈,通过程序编写可以控制该线圈的通断。图3给出了正确的启停控制MSG指令。
图3 正确的启停控制MSG指令
2.3 频率写入MSG指令Addr的确定
频率写入MSG指令Addr的确定,同样直接影响PLC对变频器控制是否成功,是解决S7-200控制WJ200变频器的技术关键点,S7-200控制WJ200变频率写入的MSG指令内容如图4所示。
图4 频率写入MSG指令的内容
文献[2]指出:频率写入的是编号为0001h和0002h的寄存器,前者是根据文献[1]的说法,地址40001到49999用于保持寄存器。根据寄存器地址和编号的关系,对应频率写入寄存器的地址分别为40001和40002。
根据实际应用经验,这种选择会把最常用的选项放在前边,若选40001,就会出错,造成无法写入的问题。经试验,地址选择40002后,调试正常,问题得到圆满解决。图5给出正确的启停控制MSG指令和频率写入MSG指令。
图5 正确的频率写入MSG指令
确定了启停控制MSG指令Addr和频率写入MSG指令Addr之后,剩下问题就迎刃而解,即可实现S7-200对WJ200变频器的控制。
同一品牌设备间的操作一般有具体的指导资料,不同品牌、不同元件之间的通讯则纷繁复杂,厂家提供的资料也可能存在不完善的地方,造成这种边界线上的问题不容易解决,这时就要仔细地阅读这些资料,对每一种可能的组合都进行调试并做好详细记录,仔细筛查各种原因,直至解决问题。
[1] 徐家明.基于USS协议的PLC与变频器的通信设计与研究[D].武汉:武汉科技大学,2008.
[2] 杨艳,徐世许,王伟.使用协议宏实现欧姆龙PLC与三菱PLC的通信[J].自动化仪表,2009,30(6):17-19.
[3] 武朝,徐聪,张文君.基于Modbus协议的S7-200PLC主从结构的通信技术研究[J].机械与电子,2011(4):26-29.
[4] 郭福田,刘心红,曾丽丽,等.监控系统中S7-200 系列PLC的通信协议设计[J].大庆师范学院学报,2014,34(3):5-9.
[5] 西门子S7-200可编程序控制器系统手册[Z].2008-08.
[6] 日立变频器WJ200系列使用说明书[Z].
Research on Communication Technology Between S7-200PLC and WJ200 Frequency Converter
Yan Wei
(Guangdong Fivestar Solar Energy Co., Ltd.)
For the communication difficulties between Siemens S7-200PLC and Hitachi WJ200 inverter, the communication between Siemens S7-200PLC and Hitachi WJ200 frequency converter was studied. Firstly, the start/stop frequency and writing of Hitachi WJ200 inverter were controlled by the Siemens S7-200PLC. And then after the actual programming and repeated debugging, the communication between Siemens S7-200PLC and Hitachi WJ200 inverter was achieved. Finally, recommendations for resolving such communication problems were provided.
Siemens S7-200; Hitachi WJ200 Frequency Converter; Communication Technology
闫伟,女,1977年生,中专,技术员,主要从事机电一体化研究。