论文摘要:智能开关柜操控装置具有RS485现场总线,适合于采用Modbus-RTU协议来实现与上位机的串行通信。本文根据Modbus协议的定义以及智能开关柜操控装置采集信息的种类和特点,完整地设计了智能开关柜操控装置与上位机通讯的Modbus-RTU通信协议,并采用VC++程序设计语言实现了该通讯协议。
论文关键词:智能开关柜,协议,上位机,控件
引言
我国智能发电和智能输电网的建设与发达国家基本同步,但是智能配电网的建设则相对滞后。随着国家低碳经济、节能减排和新能源战略的实施,智能配电网的建设必然受到越来越多的重视。现代计算机技术和通信技术的飞速发展,促进了智能配电系统的发展和完善,而开关柜的智能化就是智能配电网的重要基础。
智能开关柜是在以模拟仪表、继电器为监测、控制设备的普通开关柜基础上,与新型的智能仪表(网络电力仪表、智能配电监控/保护模块、网络I/0等)进行配合,通过其网络通讯接口与中央控制室的计算机系统联网,从而可以实现对各供配电回路的电压、电流、有功功率、无功功率、功率因数、频率、电度量等电参数以及断路器的分合闸状态、故障信息、开关柜的温湿度信息进行监测,对断路器的分合闸状态和开关柜的温湿度进行控制,并可以配合远程监控软件实现“四遥”。
本课题采用高性能AVR单片机设计的开关柜智能操控装置提供RS485通讯接口,可进行串口通信。本文根据Modbus通讯协议的定义以及智能开关柜操控装置采集信息的种类和特点,完整地设计了该类智能开关柜操控装置与上位机通讯的Modbus-RTU通信协议,并采用VC++程序设计语言实现了该通讯协议。
1智能开关柜Modbus-RTU通讯协议设计
1.1Modbus-RTU通讯协议简介
Modbus通讯协议是由Modicon公司开发且已是工业领域全球最流行的通讯协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。
Modbus协议规定了消息、数据的结构、命令和应答的方式。数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求。Master端也可以直接发消息修改Slave端的数据,实现双向读写。
Modbus协议在一根通讯线上使用主从应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备(开关柜),然后,终端设备发出的应答信号以相反的方向传输给主机。Modbus协议只允许在主机和终端设备之间通讯,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。
Modbus通讯规约包括RTU协议和ASCII协议。RTU(RemoteTerminalUnit)通讯方式采用8位二进制数据传输命令或数据,数据校验采用CRC循环冗余校验,通讯速度较快;ASCII通讯方式采用7位二进制表示的ASCII码进行通讯,数据校验采用奇偶校验或LRC逻辑冗余校验,通讯速度较慢。在一个通讯系统中,只能选用一种通讯方式。
在RTU模式下,帧中的每个字节直接用于传输,这样在同样的波特率下,可比ASCII模式传输更多的数据。与绝大多数电力自动化仪表一致,本仪表采用Modbus-RTU通讯模式。
1.2字节格式
智能开关柜操控装置Modbus-RTU通讯协议中的数据结构以及数据传输遵循以下规则:
编码形式:二进制;
字节位:每个传输序列包含11位串行数据,其中1位起始位、8位数据位D0~D7、2位停止位;
发送方式:数据位传输时,先传低位,后传高位,如图1所示。

图1字节传输序列(RTU模式)
Fig.1Bytetransmissionsequence(RTUmode)
1.3数据帧格式
帧是传送信息的基本单元,Modbus协议中主机与从机采用相同的帧格式。
RTU帧以至少4个字节的停顿时间开始,同样以至少4个字节的停顿时间标志帧的结束。整个帧必须作为连续的流传送,RTU数据帧格式如表1所示。
表1Modbus-RTU协议的帧格式
Tab.1FrameformatofModbus-RTUprotocol
帧开始 地址码 功能码 数据区 校验码 帧结束
|
4字节
停顿时间
|
1字节 1字节 N字节 2字节
|
4字节
停顿时间
|
1.3.1地址码
地址码用来选定哪个从机与主机通讯,占1个字节。每个从机具有唯一的地址码,即仪表地址。主机发送的地址码表明主机与之通讯的从机地址,从机发送的地址码则表明回送的从机地址。
本设计限制可使用的地址为1~247,其它地址保留。智能开关柜操控装置(从机)可以利用按键修改仪表地址,也可以通过主机修改特定从机的仪表地址。
1.3.2功能码
功能码表示主机本次通讯要求从机执行的动作,功能码占1个字节,表2列出了仪表支持的Modbus协议规定的标准功能码及其定义和具体操作。
表2功能码及其定义
Tab.2Functioncodeanditsdefinition
功能码
|
定义
|
操作
|
03H/04H
|
读寄存器
|
读取一组寄存器的数据
|
10H
|
写寄存器
|
修改一组寄存器的数据
|
一般Modbus协议规定读取内部数字量保持寄存器和外部输入数字量寄存器采用不同的功能码,分别为01H和02H,读取内部模拟量保持寄存器和外部模拟量寄存器亦采用不同的功能码,分别为03H和04H[4]。 1/3 1 2 3 下一页 尾页 |