欢迎来到天天文库
浏览记录
ID:32808511
大小:53.96 KB
页数:3页
时间:2019-02-15
《基于modbus-tcp协议风电场远程监控软件中设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于Modbus/TCP协议风电场远程监控软件中设计摘要:本文基于Modbus/TCP协议,在.NETFramework框架下利用C#编程语言,设计了一款运行于windows系统下的监控软件,该软件可实现在风电厂中控室对风机进行数据采集、分析、处理,还可对风机进行远程启动、停机、复位、功率调节等控制,实践表明,该系统运行稳定,有效地解决了风力发电机组远程监控方面的问题,具有一定工程价值。关键词:风电场;远程监控;SCADA;Modbus/TCP;PLC中图分类号:TP277文献标识码:A文章编号:1674-
2、7712(2014)02-0000-01对风力发电机组进行远程监视控制十分必要,而风电厂远程监控系统的软件则是重中之重,它直接决定了整个系统的稳定性和效率。Modbus/TCP协议目前应用广泛,绝大多数厂商的PLC都支持Modbus/TCP协议,其具有良好的通用性,因此基于Modbus/TCP协议开发客户端程序已成为风电远程监控系统一种行之有效的方法。一、Modbus/TCP协议Modbus/TCP协议以一种非常简单的方式将Modbus帧嵌入到TCP帧中,使其成为工业以太网应用层协议,Modbus协议层在T
3、CP之上,其主要完成的任务为:在服务器端,负责解译来自客户端的Modbus帧,执行相应的请求[1]。ModbusTCP协议的帧格式如表1所示。应用协议报头分为4个部分,数据标识符用来标识Modbus帧的次序,每多发送一个Modbus帧,该值加1;协议标识符用来确认是不是Modbus协议,如果是Modbus协议用1表示,其他协议用0表示;接下来2个字节用来表示后续字节数,即从单元标识符开始一直到数据域结束的字节数,单元标识符用来标识Modbus串行线上的某个设备单元,由于风机都是网络结构,所以这一字节并没有实
4、际意义,填0x0或OxFF即可。功能码的含义如表2所示。数据域则添加要发送的数据,如果是向PLC发送读请求的话,数据域为要读取的寄存器起始地址和要读取的寄存器个数,如果是向PLC发送写请求,则数据域为要写入的寄存器起始地址和要写入的寄存器个数、需要写入的字节数以及需要写入的数据。一、运用C#编程实现通讯C#是微软公司设计的一种编程语言,是从C和C++派生来的一种简单、现代、面向对象和类型安全的编程语言,并且能够与.NET框架完美结合[2]o为了简化网络编程复杂度,.NET对套接字又进行了封装,封装后的类就是
5、System.Net.Sockets命名空间下的TcpListener类和TcpClient类。但是要注意,TcpListener和TcpClient只支持标准协议编程。如果希望编写非标准协议的程序,只能使用套接字来实现[3]。核心代码值得一提的是,由于PLC与计算机的数据存储方式可能不同,因此需要进行大小端判断及转换,转换可以采用Reverse()方法。软件界面的设计如图2所示,通过该界面可以实现对风机进行启停控制,功率调节,数据采集,绘制图表,查看故障等功能,可满足风电场远程监控系统的绝大部分需求。三、
6、结束语实践表明,该软件通过ModbusTCP协议与风力发电机组实现了数据交互,可通过上位机对机组进行启动、停机、复位、限定功率等控制,查看机组各传感器反馈数据,查看故障代码,运行稳定,操作简单,具有实际价值。参考文献:[1]郝晓弘,祖守圆,徐维涛•基于VC的Modbus/TCP协议模型通信测试软件的实现[J].微计算机信息,2006.[2]明日科技.C#从入门到精通[M].北京:清华大学出版社,2012(09).[作者简介]肖一卓(1985-),男,本科,助理工程师,主要研究方向:风力发电机组电控系统;方玉
7、琨(1987-),男,本科,助理工程师,主要研究方向:桥、门式起重机电控系统设计及调试。
此文档下载收益归作者所有