张 慧,魏建平,何 林,刘品杰,张 昊
(山东建筑大学 热能工程学院,山东 济南 250101)
高校的招生规模越来越大,在校生人数急剧增加,高校教室数量也越来越多,考虑到教室用途复杂,照明系统能耗占比随之上升。但由于当前各高校的照明系统多采用传统手动控制模式,使得管理人员无法对每个教室的照明按照实际情况进行实时控制[1],传统照明控制模式存在较大的局限性,主要依赖管理人员、教师、学生的责任意识[2],无法实现按需控制、按场景控制,导致照明系统不仅没有提高舒适度、便利性,反而造成了极大的电能浪费。为响应“建设节约型校园”的号召[3],我们在文献[4]中研发设计了一套基于ZigBee的教室智能照明系统,控制系统依据获取的光照度、时间表、教室人数、教室用途4个控制条件,实现了照明灯具的精细化管理。充分利用自然光,达到智能调控、有效节能的目的,设置了多种灯光模式,辅助教师实现一键转换,提高上课效率[4]。
本文利用光照度传感器、灯光控制器等完成了智能照明系统实验平台的搭建;采用多协议、模块化编程、可用Web浏览器访问Niagara软件作为基础,实现了灯光的智能调控与信息收集储存。
本平台设计的教室照明节能控制系统包括一级控制中心、二级教室网关控制器、三级灯管控制器,配合光照度传感器、人数检测器,实现了以光照度、时间、人数、教室状态作为控制条件,对教室灯管进行个性化智能调控。系统采用ZigBee无线通信,减少系统改造中布线多、重新布线[5]等问题。ZigBee网络具备自愈合功能,当网络系统中某个设备损坏后,其他设备可避开损坏的设备进行联络。教室网关控制器与楼层交换机之间通过ZigBee无线通信,楼层交换机与控制中心通过原有的校园有线网络连接,形成一个树形网络拓扑[6-7]。以ZigBee为传输媒介,形成控制中心集中管控、教室网关控制器和灯管控制器分散控制的三级管控体系[4]。
一级控制中心主要由交换机和中控电脑组成,交换机安置在各楼层内,用于联络本层教室网关控制器;中控电脑安装在一楼控制室内,用于集中管理。控制中心可在应急状态下强制转换教室照明模式[8];控制中心与教务管理系统联动,实时获取教室使用信息和学生上课安排;控制中心实时获取教室网关的参数信息,依据预先设定好的算法,智能管控照明灯具,使资源得到合理利用。
二级教室网关控制器安装在教室内的讲台控制台上,主要通过ZigBee连接人数检测器和灯光控制器,获取光照强度、教室人数信息以及灯管开闭状态。另外设有投影仪模式、自习模式、板书模式、上课模式以及自定义模式等照明场景,实现一键转换,轻松便捷。
三级灯光控制器安装在教室每根灯管上,由ZigBee模块、光照度传感器、继电器等组成,完成照明灯具的开关控制。
为验证系统设计控制逻辑的可行性,本文搭建了一个实验台用于模拟系统的核心功能。
(1)由于实验台安装空间有限,在有限的空间模拟多区域灯管,灯光之间的相互影响过大,不利于判断,因此设计的实验平台采用2个灯泡来模拟教室某区域,通过光照度传感器实际获取的光照值作为变量。另2个灯泡采用2个不同的模拟设置信号来替代其他两个区域的光照值。
(2)因实验平台体积较小且不存在穿越楼层等问题,故采用直接连线方式替代原设计中的ZigBee无线连接,不影响控制功能的实现。
(3)采用智能照明控制器替代原设计中的灯光控制器,验证各种场景模式的切换功能。
实验平台的硬件配置包括感知层、传输层、控制层[9]。控制层主要包括1台Niagara网络控制器、I/O模块。传输层主要为Modbus(JACE8000控制器与传感器、I/O模块通信)、TCP/IP(JACE8000控制器与PC服务器通信)等网络协议设备。感知层包括人数传感器与智能灯光控制设备等现场设备。系统架构如图1所示,实验平台实物如图2所示。
图1 系统架构
图2 实物
2.2.1 Niagara软件介绍
Niagara Framework(简称Niagara)是美国Tridium公司基于Java开发的开放式软件架构,可以集成各种设备和系统,形成统一的平台[9-10],Niagara支持的通信协议包括Modbus、Lon Works、ZigBee等。用户使用该程序,无需考虑特定的协议、产品或某项技术[11],架构简单,且可以通过标准Web浏览器实现远程网络访问与控制功能,系统适应性极强[12]。平台内部集成各种组件、对象模型、数据库、数据查询、日志查询、报警管理、远程诊断与维护等功能,大大降低了开发者的研发时间与维护成本[13-14]。
2.2.2 编程设计
基于Niagara软件平台进行应用程序开发,可实现数据画面实时显示、数据异常设备报警、历史数据储存、自控手控切换、用户自主更改调度、Web浏览器查看数据变化与设备状态等功能[9]。
(1)Wire Sheet编程
创建3个Boolean Writable点,分别命名为L-1区域、L-2区域、L-3区域,代表3个区域的灯泡;创建2个Ramp点,分别命名为Ramp1、Ramp2,用于模拟2个区域灯泡感受的光照值变化;创建3个Numeric Writable点,分别命名为Ⅰ区域室内光照度、Ⅱ区域室内光照度、Ⅲ区域室内光照度,其中2个用于接收Ramp点输入的模拟光照值,另外一个用于接收实验平台光照度传感器传递的实际光照值;创建3个Numeric Constant点作为每个区域的光照值条件,分别命名为Ⅰ区域设定值、Ⅱ区域设定值、Ⅲ区域设定值;创建3个Tstat点,分别命名为On Off Controler 1、On Off Controler 2、On Off Controler 3,用于判断光照值与设定值是否允许开启灯泡;再次创建3个Tstat点与1个Ramp点,分别命名为Ramp Projector、Ⅰ区域投影仪模式、Ⅱ区域投影仪模式、Ⅲ区域投影仪模式,用于验证教师通过网关控制器实现一键模式转换,利用Ramp点模拟教师的个人主观不确定性;创建3个Or点,分别命名为Or1、Or2、Or3,结合教室使用模式与光照条件进行第1步是否开启灯泡的判断;创建1个Boolean Schedule点,命名为时间表,用于存储教室课表信息以及设定时间条件;创建3个And点结合Boolean Schedule点与经过Or点判断的Boolean Writable点进行最后是否开启灯泡的判断;最后创建一个Boolean Writable点,命名为控制权,便于设置Px视图中控制权的切换。BoWen105Wire Sheet点的创建汇总表见表1所列。
表1 BoWen105Wire Sheet点的创建汇总表
Ramp1、Ramp2点模拟光照值,因此单位(Units)设置为Lx(勒克斯);根据文献[8]中介绍的教室各区域采光值,本实验平台将模拟光照值的最大值(Max)、最小值(Min)分别设置为900 Lx、0 Lx与700 Lx、0 Lx[15];为节约实验时长,将周期(Period)设置为1 h;波形选择倒锯齿状(Inverted Saw Tooth);幅值(Amplitude)设置为15;偏置量(Off Set)设置为0;在上述设置中,设置Period为1 h,将更新间隔(Update Interval)设置为10 min,一个周期该组件可以输出6个数据,可以模拟实际生活中多个时间段的光照值。
Ramp Projector点用于模拟教师个人主观的不确定性,因此将最大值、最小值分别设置为-1、1,不设单位,将周期(Period)设置为1 h;波形选择倒锯齿状(Inverted Saw Tooth);偏置量(Off Set)设置为0。
Numeric Writable点用于接收Ramp点的输入,并输出光照值。其设置比较简单,将单位(Units)设置为Lx(勒克斯);将最大值(Max)、最小值(Min)统一设置为900 Lx、0;将精度(Precision)设置为2。重点在于将实验台的光照度传感器收集的真实光照值传入Niagara系统。将IO-28U拨码开关调至Modbus RTU模式,在Station内创建Modbus Async Network,将IO-28U加入后创建光照度传感器代理点,类型修改为Float Type后与Wire Sheet视图中的Numeric Point点连接,便可将真实的外界光照值作为AI信号输入Niagara系统。
Numeric Constant点的单位(Units)设置为Lx(勒克斯)。为验证控制逻辑在多种设定中的可行性,Value未按照文献[4]中规定的300进行设置,而分别设置为200、400、600。
Boolean Schedule点内输入某间教室的课表,Default Output以及上课期间设置为On,每日的22:00至次日7:00以及节假日时间设置为Off。BoWen105Wire Sheet重要点的设置汇总见表2所列。
表2 BoWen105Wire Sheet重要点的设置汇总表
BW105灯管控制Wire Sheet编程图如图3所示。
图3 BW105灯管控制Wire Sheet编程图
(2)Px视图编程
为使管理人员能够更加直观了解单间教室当前的整体状态,本文以“BW105”为例进行了Px视图编写。通过Niagara软件的Station或登录标准Web浏览器可进入该界面查看,如图4所示。
图4 BW105教室状态Px编程图
为统一界面设计风格,通常需要在界面上有统一的标题格式或者统一风格的切换按钮[9]。
(a)创建一个新的文件夹,命名为“Home_Page”,在该文件夹下创建一个名为“Banner”的文件夹。然后为Banner文件夹创建一个新的Px视图。在Px视图右侧,找到Widget Tree侧边栏,展开Scroll Pane,将Canvas Pane剪切,删除Scroll Pane,将Canvas Pane粘贴到Root内,将Canvas Pane放到根目录[9]。
(b)打开Properties对话框,将尺寸修改为800×100,颜色选择绿色。在Kit Px调色板中拖动LogOff Button到右上角,拖动Refresh到左下角[9]。
(c)将Banner文件夹拖到视图内,打开Widget Wizard窗口,然后选择Bound Label,在Format Text内输入“%Current User: %user()%”,将文本放到视图右下角,显示当前操作用户名。再次将Banner文件夹拖到视图内,打开Widget Wizard窗口,然后选择Bound Label,在Format Text内输入“%displayName%”,用于显示当前Px文件名。为使每个文件夹的Px视图可以显示相应的文件夹名称,需要将Label的绝对路径修改为相对路径。在Bound Label Binding中,打开Ord编辑器,将Ord修改为“slot:”即可。保存为“BannerPx”视图[9]。
(d)在“BoWen105”P x视图中添加“BannerPx”视图。
A.将L-1区域、L-2区域、L-3区域3个点拖入P x视图内,打开Make Widget Wizard对话框后,选择From Platelet选项,并选择KitPxN4svg内的Bulb,便于实时查看3个区域灯泡的开启状态。
将“L-1区域、L-2区域、L-3区域、Ⅰ区域室内光照度、Ⅱ区域室内光照度、Ⅲ区域室内光照度、Ⅰ区域投影仪模式、Ⅱ区域投影仪模式、Ⅲ区域投影仪模式”拖入Px视图,在Format Text内输入“%out.value%”。在Px视图空白位置创建Label,在Text区段内输入点的名称,并移至对应位置。
B. 为了更好分析教室照明状态以及及时修复故障LED灯管,对相应组件添加了Alarm Ext和History Ext,相关记录可以以PDF文件形式导出到PC端。历史记录与报警记录界面如图5、图6所示。
图5 BW105 灯管报警界面
图6 区域历史光照度记录界面
历史记录设置:展开History调色板,将Extension中的Numerical Cov扩展加到Ⅰ区域室内光照度点上,对Numerical Cov扩展进行设置:Enable设置为Ture;Capacity设置为800;Change Tolerance设置为50。
报警记录设置:打开Services文件夹中Alarm Service的Wire Sheet视图,在该视图中添加一个新的Alarm Class组件,将其命名为High Priority Alarms,Priority设置为1、1、127、127。接着设置报警接收器,打开Alarm中的Recipients文件夹,将Console Recipient添加到Alarm Service中,重新命名为All_Alarms,将Default Alarm Class分类器的Alarm与High Priority Alarms分类器的Alarm连接到All_Alarms的Route Alarm。打开Ⅰ区域室内光照度点,在Alarm的Extension文件夹内添加OutOfRangeAlarmExt到Ⅰ区域室内光照度点的AX Property Sheet。将SourceName设置为“%parent.displayName%”,To Normal Text设置为“%alarmData.sourceName% is back to noemal range”,High Limit Text设置为“%alarmData.sourceName%>% alarmDta.highLimit%!”,Low Limit Text设置为“%alarmData.sourceName%<%alarmDta.highLow%!”,勾选Low Limit Enable、High Limit Enable。这里High Limit设置为950,Low Limit设置为0,最后将Alarm Class设置为HighPriorityAlarms。然后此报警拓展复制到Ⅱ区域室内光照度、Ⅲ区域室内光照度。
随后将Boolean Schedule、Alarm Ext和History Ext拖入Px视图内,在Make Widget窗口内选择From Platelet,在KitPx调色板中选择HyperlinkButto,勾选位于向导左下角的Hyperlink方框,在Text区段添加相应名称,单击“OK”,创建按钮。
工作人员可以通过Hyperlink Button修改时间信息,及时更改当前教室的后期信息;教室故障灯管按钮与报警扩展进行超链接连接,查看教室灯管状态;通过教室人数按钮可以查看当前教室的人数,这是系统判断灯管开启的基本条件之一,由于平台未接入红外人数检测器,因此将3个区域的人数简易化看作满员。
C. 将控制权点拖入Px视图,选择Action选项,在右侧选择Emergency Active,点击后Wire Sheet视图中的控制权点转为On,使得系统的判断无法传递至灯泡的控制点,只能由人手动控制智能照明模块上的按钮,实现灯泡的启停。
(3)节能量Wire Sheet编程
为监控实验平台的电能节约量,编写了一个用于累计节能量的Wire Sheet程序,传统控制系统将时间表上的On、Off状态作为唯一控制条件;智能控制系统超链接至“BoWen105”Wire Sheet编程内的L-1区域灯、L-2区域灯、L-3区域灯。对两种系统的灯泡开启时间进行累计,由文献[4]可知,传统的荧光灯为40 W,实验平台采用的LED灯泡的功率为13 W,将累计时间乘以各自的功率然后相减,便可得到在实验时间内节省的电量;若乘以学校电费0.49元/(kW·h),将得到在实验时间内节省的电费。
先将“BoWen105”Wire Sheet编程中的Boolean Schedule点复制到本编程视图,作为传统控制系统的唯一控制条件。创建6个Boolean Writable点,分别命名为L-1区域 -Smart、L-2区域-Smart、L-3区域 -Smart,L-1区域-Tradition、L-2区域-Tradition、L-3区域-Tradition,代表智能控制系统的3个区域灯泡与传统系统的3个区域灯泡;创建6个Lead Lag Runtime点,分别命名为开启时间-Smart-1、开启时间-Smart-2、开启时间-Smart-3、开启时间-Tradition-1、开启时间-Tradition-2、开启时间-Tradition-3,用于累计6个区域的灯泡开启时间;创建3个Numeric Constant点,分别命名为功率-Smart、功率-Tradition、电费-School,用于表示实验平台LED灯泡的功率以及与LED灯泡亮度接近的荧光灯的功率和学校电费;创建2个Add点,3个Multiply点,1个Subtract点用于计算,分别命名为开启时间加和-Smart、开启时间加和-Tradition、电量-Smart、电量-Tradition、节约的电费、节约的电量。节能量Wire Sheet点的创建汇总见表3所列。
表3 节能量Wire Sheet点的创建汇总表
节能量Wire Sheet视图编程中最重要的设置是累计开启时间的设置。打开L-1区域-Smart的属性视图,将Extension文件夹内的DiscreteTotalizerExt组件拖到L-1区域-Smart的名称上,添加DiscreteTotalizerExt扩展功能到L-1区域-Smart。在导航栏内,展开L-1区域-Smart,在L-1区域-Smart中拖动DiscreteTotalizerExt,将其放到L-2区域-Smart、L-3区域-Smart、L-1区域-Tradition、L-2区域-Tradition、L-3区域-Tradition内,快速将扩展功能复制到各Boolean Writable点上。返回Wire Sheet视图,右击L-1区域-Smart,在菜单中选择Composite,在Composite Editor内双击添加Elapsed Active Time与Reset Elapsed Active Time,将Elapsed Active Time重命名为Runtime,单击“OK”保存。对其余5个Boolean Writable点进行同样的操作。将Boolean Writable点的Runtime分别接入Lead Lag Runtime的RuntimeA,可收集各区域灯泡的开启时间[9]。节能量Wire Sheet重要点的设置汇总见表4所列。
本文设计了基于Niagara软件的智能无线照明系统实验平台,从平台设计、平台搭建、软件设计等方面对其进行了介绍。利用Niagara软件实现了对教室灯管启闭、时间设置、历史记录、故障报警等功能的控制,验证了原系统设计中的四重控制策略。但实验平台仍存在许多不足,如未能采用ZigBee无线传输,空间过小只能采用模拟分区;仅实现了投影仪模式,未能对全部模式进行综合研究;未加入人数检测器,仅将人数看成一个常量等,后期我们将继续完善。