【摘要】:基于数字可寻址照明接口(DALI)的照明系统以其专业、灵活等特点在智能家居领域得到了普遍的重视,但由于DALI照明系统控制节点数的限制,其组网规模小限制了它的推广和应用;KNX/EIB总线作为楼宇自动化国际标准,凭借良好的互操作性和开放性,在智能楼宇控制领域取得了广泛应用;为了融合这两种系统的优势,设计一种KNX与DALI协议的转换网关,在分析DALI和KNX系统特点的基础上,完成了系统软硬件架构设计,实现了DALI协议和KNX协议的相互转换,并对网关性能进行了测试,达到了设计要求。
【关键字】:KNX协议;DALI协议;网关;智能照明;楼宇建设
0引言
数据可照明接口(digitaladdressablelightinginterface,DALI)作为一个开放的数字化智能照明控制系统,具有配置灵活、安全可靠和成本低等优点,可灵活的实现分组控制、场景设置以及状态反馈等功能,在灯光控制上具有专业、细致的特点,受到照明设备制造商的广泛支持,并已经成为国际电工委员会的标准。然而DALI系统由于受到规模的限制,一般应用于中小规模的照明控制中。为了发挥DALI系统在照明控制方面的优势,对DALI系统进行扩展势在必行。
KNX(Konnex,KNX)是住宅和楼宇控制标准,能对照明、遮阳、安防、监控等所有的家居和楼宇终端设备进行控制。KNX凭借良好的互操作性和开放性、完善的通信机制以及节能运行等方面的优势,在智能楼宇控制领域取得了广泛应用,目前已经成为我国楼宇控制的国家参考标准。
将DALI照明控制系统与KNX系统相结合,将DALI照明控制系统作为KNX楼宇控制系统的子系统,可以发挥各自的优势,进一步提高楼宇智能化水平,降低楼宇能耗。而KNX-DALI网关成为两种系统结合的关键。
1.网关软件设计
1.1网关软件架构
根据网关的设计要求,软件部分不仅包括对KNX及DA-LI协议栈的设计和实现,还包括协议间的转换功能。本系统的软件架构图如图1所示。
图1系统软件架构图
软件设计首先要考虑的是程序的结构和设计方法。本设计中,采用一种层次化的软件设计方法,即把整个软件分为三层:底层驱动层、协议层和应用层;底层驱动层完成和硬件相关的交互,协议层完成通信协议栈的设计,应用层则根据系统的功能要求定制功能。这种设计方法保证了各程序模块间的独立性和完整性,并且方便系统软件的移植和应用层功能的扩展。
KNX通信模块的硬件驱动层主要包括FZE1066收发器模块驱动,完成报文的发送和接收;通信协议层主要实现数据链路层、网络层以及传输层的相应功能,实现KNX报文的装配和分解;DALI通信模块的驱动层包括DALI接口底层驱动,通信协议层主要完成DALI指令的发送及解析、冲突检测、指令优先级配置等功能。KNX应用进程和DALI应用进程间的通信完成数据解析及转换等功能。
2.协议转换的实现
2.1KNX协议转DALI协议的实现
KNX通信时采用了逐层调用的策略,每一层协议被调用时,都是先读取本层控制字信息,经过信息处理后,将数据提供给上层协议。
KNX协议转DALI协议流程图2如所示。
图2KNX转DALI流程图
网关从KNX总线上收到KNX报文数据后,将KNX报文按照物理层、数据链路层、网络层、传输层到应用层的顺序,逐层进行分解,得到应用协议控制信息(APCI)对应的服务类型及其后的用户数据并进行解析,将解析的结果转换为对应的DALI指令;当ATxmega32E5检测到DALI总线处于空闲状态时,按照DALI前向帧的数据格式发送到DALI总线上。经过分析,KNX设备对DALI装置的控制主要包括开关及调光操作,KNX报文与DALI指令间的对应关系如表1所示。
表1KNX报文与DALI指令对应关系
KNX报文 | DALI指令 |
开灯报文 | 指令5:回到*大功率等级 |
关灯报文 | 指令0:关断 |
调亮报文 | 指令1:调亮 |
调暗报文 | 指令2:调暗 |
定值调光 | 直接电弧功率控制指令 |
3.2.2DALI协议转KNX协议的实现
当KNX设备进行状态查询时,需要将DALI装置的状态信息反馈给对应的KNX设备,DALI协议转KNX协议流程图如图3所示。
图3DALI转KNX流程图
DALI装置的反馈信息包括DALI装置电弧功率等级和故障状态,网关通过指令160(查询实际电弧功率等级)和指令144(查询当前状态)来获取并进行保存。
KNX设备获取设备状态信息一般通过查询报文或数据请求报文实现,当接收到KNX设备对DALI装置的查询或者数据请求报文后,网关就会将保存的DALI装置的状态反馈信息告知对应的KNX设备。如果监测到DALI装置发生故障(灯故障、电源故障等),网关会主动发起一次通信告知对应的KNX设备。
3.网关测试
为了测试开发的KNX-DALI网关的功能,设计了一个简单的测试系统,该系统由KNX系统与DALI系统组成,两个系统间由KNX-DALI待测网关连接。
系统主要包括ETS配置工具、KNX传感器节点、待测网关、电源供应和DALI调光器及灯具等。KNX节点设备通过KNX总线进行通信,通过ETS客户端对KNX节点设备进行配置;DALI系统中,所有的DALI装置和设备均挂在DALI总线上,DALI系统为主从式的结构,每次通信均有主机发起。
系统测试结构如图4所示。
图4系统测试框图
系统测试由一个KNX传感器节点来测试网关对KNX报文的发送和接收,利用PC机上的ETS配置工具配置KNX节点的物理地址和组地址,下载通信对象表、地址表和对象关联表,并对KNX报文进行监控。DALI系统由若干DALI装置(DALI调光器)和灯具组成,网关的供电由KNX总线提供。
当KNX传感器节点向网关发送开关或调光报文时,通过ETS工具可以监测到网关回复的确认报文,并且在DALI总线上监测到了对应的DALI前向帧数据,灯具执行开关或调光操作;当KNX传感器节点向网关发送查询报文时,网关会将对应的DALI装置的状态信息组装成KNX报文发送到KNX传感器节点上。当DALI装置出现故障时,网关可以及时的将故障信息反馈给KNX设备。
4.安科瑞智能照明控制系统
4.1概述
ALIBUS智能照明产品采用RS485总线技术,技术成熟可靠,安全稳定。开关驱动器具备独立工作的能力,适用于一些中小型的项目;模块化设计,可以任意拼接扩展,同时预留I/O口以及Modbus接口,还可以满足与AcrelEMS企业微电网管理云平台进行数据交换。
4.2应用场所
适合于各类智能小区、医院、学校、酒店,以及体育场所、机场、隧道、车站等大型公建项目的照明控制需求。
4.3系统结构
4.4系统功能
1)实时检测并显示各个模块的在线状态,反馈现场受控回路的开关状态,监控界面按照楼层各分区的布局和回路列表来浏览。
2)当发生模块离线、网关设备掉线或者状态反馈和下发控制命令不一致时会发生故障报警,并将故障报警信息记录并显示在界面中。
3)可以对单个照明回路实现开关控制;每个模块、楼层都有相应的模块控制开关和楼层控制开关,也可以一个模块或者整个楼层实现开关控制。
4)开关驱动器支持过零触发功能,负载(灯具)的分合操作仅在交流电过零时进行;可有效减少电磁干扰以及对电网的冲击,延长灯具与控制装置的寿命。
5)对每个照明回路可以预设掉电状态,当照明电源掉电时,开关驱动器会自动切换到预设的掉电状态;确保重新上电时灯具的开关状态是确定与可控的。
6)拖动调光控件,照明设备从0%到100%进行调光,可以对单个照明回路实现调光控制,调光总控可以对一个模块的照明回路实现调光控制,也可以对多个照明回路实现调光控制,通过图标的亮灭状态反馈现场开关的状态。
7)点击场景控件,打开或者关闭对应场景设置,软件界面上显示不同的场景模式和场景功能,通过图标的亮灭显示对应的场景状态是打开还是关闭。
8)设置定时时间,确认时间点后,对该事件点执行的动作进行设置,设置灯在设定的时间点亮或者灭。
9)系统可以通过预设的当地经纬度信息,自动计算每天的日升日落时间;根据天文时钟控制照明开关,实现日落开灯、日出关灯的功能。
10)所有定时控制计划均可下发保存至驱动模块;当上位机系统故障或模块离线时,驱动模块可以利用自带的RTC时钟维持定时控制计划的正常执行,不影响日常的照明控制效果。
11)系统结构是分布式总线结构;系统内各元件不依赖于其他元件而能够独立工作;系统内各元件可以通过程序的设定实现功能的多样性。
12)预留BA或第三方集成平台接口,采用modbus、opc等方式。