阮徳团,李东东,刘 翔
(上海电力学院 电气工程学院,上海 200090)
为了改善日益严峻的全球资源环境现状、满足更高水平的居民用电质量需求,全球电力行业正大力推进智能电网建设,以期实现能源的可持续利用和用电方式的智能化.[1-3]
作为智能电网的关键环节,智能用电可使居民用户直接感受智能电网所带来的便利生活.[4-6]在2011年11月颁布的国家能源科技“十二五”规划中明确提出大力研发智能用电技术,智能电网用户端设备及系统测试技术等智能电网关键技术.[7]在建设智能电网的过程中,智能电网用户端设备,以及系统的开发和设计受到了广泛的关注和重视.
目前,已有大量文献介绍智能用电相关系统的设计.文献[8]提出了一种以智能家庭路由器为上位机节点,监控设备为下位机节点的智能用电系统架构.文献[9]设计了一种具有无线通信控制功能的插座模块,对与其连接的家用电器进行管理,并且用户可通过Internet对插座模块进行远程访问.文献[10]提出了一种基于实时电价的智能用电系统,详细介绍了该智能用电系统的组成及关键部件的功能特征.上述文献侧重于有关智能用电系统整体架构的理论设计,而对互动终端与下位机通讯实现的介绍较少.
本文基于LabVIEW虚拟仪器开发工具和智能负荷控制器,设计了一种适用于家庭的智能用电实验系统,模拟现实家庭的用电情况,可根据实时采集的系统内家用电器的实时用电信息以及当前时段的实时电价,合理调控家电设备的运行.本系统采用Modbus-RTU协议,通过ZigBee无线通信,实现了上位PC机与下位机智能负荷控制器的通信.
本文设计的智能用电实验系统的主要目标是实现家用电器的用电信息采集和远程控制、家庭局域网络的构建,以及与上级电力公司的信息双向交互.该系统主要面向用户侧,由智能交互终端、家庭局域网络、智能负荷控制器、智能家电、分布式电源、储能以及电动汽车等部分组成.具体的系统架构如图1所示.
图1 智能用电实验系统架构
为使居民用户能直接感受智能电网所带来的便利生活,本文设计的智能用电实验系统可支持居民分布式电源、电动汽车等设备的接入和管理,可智能控制用电设备的使用,从而实现对居民能源使用的监测与管理.
智能交互终端是本智能用电实验系统的核心,是用户与电力公司信息交互的门户.其主要功能如下.
(1)接收智能负荷控制器、智能家电发送的设备用电信息并进行实时显示,使用户能直观地了解用电设备详细的用能信息.
(2)接收电力公司发布的电价信息及上层能源管理系统发布的调控指令,同时将系统内的能源总消耗信息发送至上层能源管理系统.为保护用户隐私,系统内各用电设备的详细用电信息只有在用户允许的情况下才能被上传至上层能源管理系统.
(3)根据电价信息以及上层能源管理系统发布的调控指令,合理控制居民分布式电源和居民电器的使用.
本文设计的智能交互终端是由ZigBee收发模块与PC机上的LabVIEW平台联接组成,采用Modbus-RTU协议,通过 ZigBee无线通信,将ZigBee收发模块接收到的设备用电信息传送至LabVIEW平台上实时显示,同时,用户也可根据需求在LabVIEW平台界面上实现对用电设备的远程控制.
家庭局域网络(HAN)是高级量测体系(AMI)建设的基础.本文设计的智能用电系统的HAN是将智能交互终端、智能负荷控制器与各种家用电器连接起来,组成局域网络,以实现家庭能源管理的功能.ZigBee是基于 IEEE802.15.4技术标准研发的一种低速无线个域技术,协议架构简单,具有短距离、低功耗和低成本等优势,广泛应用于居民智能用电网络.本文设计的智能用电实验系统也是基于ZigBee无线通信技术来构建HAN.
为了实现用电信息的可视化,合理安排居民生活用电,获取各种家用电器的详细用电信息并实现各家用电器的组网是十分重要的.智能负荷控制器是智能用电实验系统的下位机节点,可实现对家庭用电设备的实时电量信息采集、开关状态监控及远程控制.为了实现用电设备之间的组网,智能负荷控制器中具有 ZigBee模块,可通过ZigBee协议与智能互动终端通信,使用电设备更好地参与到需求响应中.智能负荷控制器的具体功能如下:
(1)用电信息采集功能 实时采集各用电设备的电压、电流、功率及耗电量等用电信息;
(2)无线通信功能 采用ZigBee通信协议,构建智能负荷控制器、智能家电和智能交互终端的家庭局域网络,实现用电设备的用电信息采集和远程控制;
(3)智能控制功能 接收交互终端的指令,对用电设备进行调控操作.
智能负荷控制器与智能交互终端的通信遵循Modbus通信协议,各智能负荷控制器间、智能负荷控制器经由网络与智能交互终端之间通过此协议进行通信.Modbus协议定义了一种消息结构,不管各控制器经过何种网络进行通信,都可以识别和使用这种消息结构.Modbus通信使用主从技术,上位机主设备开始时进行初始化查询操作,下位机从设备针对上位机主设备的查询数据操作做出相应反应.在此系统中,交互终端作为主设备,智能负荷控制器作为从设备,由交互终端发出查询信息,智能负荷控制器接收查询信息并做出反馈.
Modbus通信协议有ASCII和RTU两种传输模式,本文采用RTU模式.在RTU模式下,每个8 Bit包含两个4 Bit的十六进制字符,在同样的波特率下,要比 ASCII传输更多的数据.Modbus-RTU模式下的数据帧格式如表1所示.
表1 ModBus-RTU数据帧格式
交互终端将命令发送到智能负荷控制器时,各智能负荷控制器将接收命令中的地址码与自身设置的地址码进行比较,符合相应地址码的,智能负荷控制器对其进行CRC校验,若校验正确,则执行与功能码相对应的任务,并将执行结果(数据)返送给智能交互终端.返回的信息数据帧格式同样由地址码、功能码、数据区及CRC校验码组成.若CRC校验不正确,则智能负荷控制器不执行任何动作.
(1)地址码 是每次ModBus-RTU数据帧的第一字节,从0~255,表示设置为相应地址的智能负荷控制器将接收由智能交互终端发送来的信息.在本文设计的HAN中,每个智能负荷控制器都对应唯一的地址码,并且智能负荷控制器的地址码与交互终端发送的信息地址码相符,才能响应返送信息.当智能负荷控制器返送信息时,返送数据均以其地址码开始.交互终端发送的地址码表示信息将要送达的智能负荷控制器地址,而智能负荷控制器返回的地址码可表明该信息来自于哪个智能负荷控制器.
(2)功能码 是每次ModBus-RTU数据帧传送的第2个字节.ModBus通讯协议中可以定义的功能码为1~127.智能负荷控制器仅使用其中一部分功能码.在交互终端发送的通讯信息帧中,功能码表示智能负荷控制器所要执行的任务.在智能负荷控制器产生的响应信息帧中,返回的功能码与接收的功能码一致,表示负荷控制器已响应交互终端的命令且已执行了相关操作.
(3)数据区 其内容表示智能负荷控制器需要返回何种信息或执行哪些动作.这些信息可以是数据(如开关量、模拟量、寄存器等)和参考地址等.
(4)CRC校验 上位机和下位机可用CRC校验判断接收的信息是否正确.由于电子噪声或一些其他干扰的影响,在传输过程中可能会产生错误的信息,CRC可以检验上位机智能交互终端和下位机智能负荷控制器在通信数据传送过程中的信息是否发生错误,并且可以放弃错误数据,从而增加了系统通讯的可靠性.
上位PC机与下位智能负荷控制器通信时数字和模拟量的读写操作示例如下.
例1 功能码03(0x03):读多路寄存器.
读取地址为02,开始地址为0048H的7个寄存器数据.
上位PC发送命令:[设备地址][命令号03][起始寄存器地址高8位][低8位][读取的寄存器数高8位][低 8位][CRC校验的低 8位][CRC校验的高8位].
智能负荷控制器响应:[设备地址][命令号03][返回的字节个数][数据 1][数据2]……[数据n][CRC校验的低8位][CRC校验的高8位].
例2 功能码05(0x05):写1路开关量输出.
“FF00”表示输出开关量为“1”,立刻控制继电器“合”;“0000”表示输出开关量为“0”,立刻控制继电器“分”.交互终端控制地址为01的智能负荷控制器的继电器开通.
上位PC机发送命令:[设备地址][命令号05][需下置的寄存器地址高8位][低8位][下置的数据高8位][低8位][CRC校验的低8位][CRC校验的高8位].
智能负荷控制器响应:如果正确,则将把发送的命令原样返回,否则不响应.
例3 功能码01(0x01):读取一路开关量输出状态.
交互终端读取地址为01的智能插座的继电器输出状态.
上位PC机发送命令:[设备地址][命令号01][起始寄存器地址高8位][低8位][读取的寄存器数高8位][低8位][CRC校验的低8位][CRC校验的高8位].
智能负荷控制器响应:[设备地址][命令号01][返回的字节个数][数据1][数据2]……[数据n][CRC校验的低8位][CRC校验的高8位].
本文采用LabVIEW虚拟仪器开发工具编写上位机程序,完成基于Modbus-RTU协议的串口通信和数据处理.
利用NI公司提供的NI Modbus的VI库文件包来编写 LabVIEW 程序.将库文件中的 NI Modbus.llb文件复制到 LabVIEW 安装目录下的vi.lib 文件夹中,将 nimodbus.mnu 文件复制到user.1ib文件夹下,重启LabVIEW 软件后即可在程序框图的函数面板里的用户库下看到所有的NI Modbus子VI.上位PC机运用LabVIEW 软件提供的 NI Modbus用户库实现初始化串口、数据收发和下位机远程控制等功能.本文程序设计中应用到的NI Modbus子 VI程序说明如下.
(1)MB Serial Init 将VISA中指定的串口初始化,如设置波特率为9 600 b/s.
(2)MB Serial Master Query Read Holding Registers VI 上位PC机读取下位机智能负荷控制器的多个寄存器,下位机支持电压、电流、有功功率、无功功率、有功总电能(高位)、有功总电能(低位)及功率因数等7种数据类型.开始地址为0048H,不同的下位机对应不同的设备地址.
(3)MB Serial Master Query Read Coil VI上位机使用该VI读取下位机的一路开关量输出状态,相当于Modbus协议的功能码01.
(4)MB Serial Master Query Write Single Coil VI 上位机向下位机写入一个单线圈,控制下位机智能负荷控制器的开关,相当于Modbus协议的功能码05.
上位机主界面程序如图2所示.
图2 Labview与智能负荷控制器的MODBUS通讯程序
下位机智能负荷控制器将采集的数据保存到各电量寄存器中,上位PC机需对这些数据进行处理后得到其实际值.测量电量寄存器地址和通讯数据如表2所示.
表2 测量电量寄存器地址和通讯数据
本文以下位机智能负荷控制器连接台灯为例进行了相关实验.实验结果显示,上位PC机可准确读取下位机智能负荷控制器的实时用电信息,系统工作正常,通信可靠.
本文基于LabVIEW虚拟仪器开发工具和智能负荷控制器,设计了一种适用于家庭的智能用电实验系统.采用 Modbus-RTU协议,通过ZigBee无线通信,实现了上位PC机与下位机智能负荷控制器的通信.仿真结果表明:该系统操作方便,通信可靠,可实现智能负荷控制器的信息采集和远程控制.相对而言,本文设计的上位机程序还比较简单,下一步的研究重点在于提高响应电力公司电价信息和上级能源管理系统调控指令的能力,以实现与上级能源管理系统的信息交互.
[1]刘振亚.智能电网技术[M].北京:中国电力出版社,2010:56-100.
[2]国家电网公司.智能电网关键设备(系统)研制规划[EB/OL].[2010 - 06 - 25].http∥ doc.mbalib.com/view/5df495d4425fe3a87off19a12ab7eabc. html.
[3]陈树勇,宋书芳,李兰欣.智能电网技术综述[J].电网技术,2009,33(8):1-7.
[4]余贻鑫.面向21世纪的智能配电网[J].南方电网技术,2006,2(6):14-16.
[5]何光宇,孙英云.智能电网基础[M].北京:科学出版社,2010:31-70.
[6]李兴源,魏巍,王渝红,等.坚强智能电网发展技术的研究[J].电力系统保护与控制,2009,37(17):1-7.
[7]国家能源局.国家能源科技“十二五”规划(2011-1015)[EB/OL].[2011 -12 -26].http∥wenku.baidu.com.
[8]TOMPROS S,MOURATIDIS N,DRAAIJER M,et al.Enabling application of energy saving applications on the appliances of the home environment[J]. IEEE Network,2009,23(6):8-16.
[9]LIEN Chiahung,BAI Yingwen,LIN Mingbo. Remote controllable power outlet system for home power management[J].IEEE Transactions on Consumer Electronics,2007,53(4):1 634-1 641.
[10]殷树刚,张宇,拜克明.基于实时电价的智能用电系统[J].电网技术,2009,33(19):11-16.