崔海燕(廣東理工職業學院計算機系,中山 528400)
?
基于DALI協議的智能照明模擬器的設計與實現
崔海燕
(廣東理工職業學院計算機系,中山528400)
摘要:
關鍵詞:
DALI協議;智能照明;模擬器
隨著智能照明控制技術的不斷發展,人們對照明智能化的要求越來越高,智能照明控制軟件也如雨后春筍般出現?;贒ALI協議的軟件系統的開發過程中,DALI系統實驗箱是重要的調試設備。但是DALI系統實驗箱由于體積較大,在使用的過程中很占空間,來回搬動比較麻煩,給開發人員的開發和調試工作帶來不便。并且DALI系統實驗箱的價格較高、運輸和使用的過程中容易損壞,使公司在調試設備上占用的資金過多。于是我們提出了使用模擬器代替DALI系統實驗箱的辦法,不僅為公司節省運輸和開發成本,同時也解決了多個開發人員共用一臺調試設備的問題,為開發和調試工作帶來便利。
DALI是一個專門為照明控制系統而制定的數據傳輸的協議,定義了照明電器(各類燈具的驅動電路)與系統設備控制器(如照明控制器、感應器等)之間的數字通信方式。DALI系統采用主從式結構,系統最多可以連接64個從機單元,每個DALI從機使用唯一的個體標識地址,該地址在系統初始化時設定,使用過程中根據需求可修改從機的地址;從機單元最多可分為16組(以組地址區分),每個從機可以屬于幾個不同的組,每組設備可以設定16個場景。
DALI技術的最大特點是單個燈具有獨立地址,可通過DALI系統對單燈或燈組進行精確的調光控制。DALI系統軟件可對同一強電回路或不同回路上的單個或多個燈進行獨立尋址,從而實現單獨控制和任意分組。因此DALI調光系統為照明控制帶來極大的靈活性,用戶可根據需求,隨心所欲地設計調節相應的照明方案,這種調節可以在安裝結束后的運行過程中仍可使用,而無須對線路做任何改動。DALI系統是專為滿足當今調光照明技術需要而設計的理想、簡化的數字化通訊系統。
2.1基本原理簡介
智能照明模擬器的基本原理如圖1所示,外部控制設備(DALI-MC-4、DALI-MC-8、DALI MC、PC、Mobile等)發出控制命令,模擬器通過對DALI總線(DALI Bus)上的這些控制信息進行監控,把不同命令的執行結果顯示在模擬器監控頁面,來模擬實驗箱中對應燈的變化,從而實現用模擬器代替實驗箱的目的。模擬器上燈的變化,是使用RGB色彩模式來實現,通過對紅(R)、綠(G)、藍(B)三個顏色的變化以及它們相互之間的疊加來得到反映燈的亮度和色溫變化。

圖1 模擬器工作原理圖
2.2模擬器的設計模擬器是由兩個部分組成,一部分是對虛擬燈具的模擬,在模擬器啟動時,選擇需要模擬燈的個數,然后對這些燈的驅動參數以及場景信息進行初始化,用戶可以自己去配置這些燈的參數以及場景信息,在配置結束后,模擬器可以接收其所連接的DALI系統總線上的所有控制信息并顯示到我們的模擬器的Demo界面上。例如,DALI系統總線上接收到一個開燈的命令,則模擬器在監控到此命令后,就會打開相應的燈。第二部分是對現實燈具的監控,把我們的模擬系統和現實中DALI系統中的燈具相連,要求模擬器可以實時反映現實中燈的亮度、色溫、漸變等效果,從而實現對現實中DALI系統中所有燈的監控。
2.3模擬器的實現
智能照明模擬器使用C#進行開發,開發工具為Visual Studio 2013,模擬器的主要功能界面如圖2所示:

圖2 模擬器的顯示界面
模擬器的實現主要基于四個文件:Light.cs,Listen.cs,ColorUtil.cs,BrightControl.cs。
(1)Light.cs
DALI系統中64個從機單元分別使用64個燈來代替,Light.cs中使用一維數組來存儲64個燈的屬性、場景、分組等信息,并提供了設置和獲取場景、分組等信息的方法。結構體DALIECG_t中定義了燈的屬性、場景、分組等信息,創建64個DALIECG_t對象存儲到DALIECG數組中代表64個燈。在模擬器開啟時,完成對數組DALIECG初始化,在后續的操作中,可以通過對DALIECG數組的讀寫完成每個燈狀態的設置和讀取。并且可以使用SetGroup(…),GetGroup(…),SetScene(…),GetScene(…)等方法對每個燈的場景和分組信息進行讀寫。
(2)Listen.cs
Listen.cs完成對DALI總線的監控,通過監控到的控制信息,從而在模擬器中顯示控制效果,其部分核心代碼如下:
(3)ColorUtil.cs
ColorUtil.cs中主要是色溫(CCT)、亮度(Yt)到RGB的轉換,函數CttYtToRGB(int CCT,int Yt)提供了轉換的辦法,通過三步完成。首先,色溫(CCT)轉為Yxy空間;其次,Yxy空間轉為XYZ色空間;最后,再把XYZ空間轉為RGB即可。其中,色溫的常用范圍為:3000-6000,亮度的范圍為:0-254。
(4)BrightControl.cs
BrightControl.cs提供了控制模擬器顯示界面64個燈顯示效果的方法,這些方法是和控制設備發出的控制命令相匹配的,例如:
public Light closeSpecialDemoLight(Button btn,Light light,int n){…}//關閉指定的燈
public Light brightFastUpDemo(Button btn,Light light,int n){…}//快速調亮指定的燈
public Light brightFastDownDemo(Button btn,Light light,int n){…}//快速調暗指定的燈
…
本文給出了一個基于DALI協議使用C#語言實現的模擬器,運用模擬器代替DALI系統實驗箱的辦法,為開發和調試工作帶來便利,同時減少了試驗箱的資金投入,也為公司節省了資金的相關DALI系統的開發成本。
參考文獻:
[1]李軍.基于DALI協議的家居LED智能照明控制系統的設計與實現[J].現代建筑電氣,2014(8),11-15.
[2]張開羽,劉驪,呂楊.基于DALI協議的智能照明系統設計[J].電子工程師,2004(9),76-80.
[3]陳藍志.基于DALI協議的數字照明控制軟件的研發[D].廣州:廣東工業大學,2007.
[4]王飛,佘咸寧,許錦標.基于DALI協議的LED智能照明系統設計[J].廣東工業大學學報,2013(4),79-82.
[5]方芳,陳世平,李璞.一種可視化云對等網絡模擬器的設計[J].信息技術,2015(4),67-70.
Design and Implementation of Intelligent Lighting Simulator Based on DALI Protocol
CUI Hai-yan
(Department of Computer Science,Guangdong Polytechnic Institute,Zhongshan 528400)
Abstract:
基于DALI協議的智能照明軟件系統開發過程中,DALI系統實驗箱是重要的調試設備。由于DALI系統實驗箱體積較大、價格較高、運輸途中很容易造成損壞等因素,給相關軟件產品的開發與推廣造成一定的影響,于是提出使用模擬器代替DALI系統實驗箱的辦法,不僅為公司節省開發成本,也為開發人員帶來便利。
文章編號:1007-1423(2016)15-0078-03
DOI:10.3969/j.issn.1007-1423.2016.15.019
作者簡介:
崔海燕(1987-),女,河南駐馬店人,碩士,研究方向為云存儲
收稿日期:2016-03-10修稿日期:2016-05-20
In the process of intelligent lighting software system development which is based on DALI protocol,DALI system experiment box is an important debugging equipment.Because of the DALI system experiment box volume is larger,the price is high,and it is easy to damage in transit,which will cause related software product development and promotion disappointing.Puts forward to use emulator instead of DALI system experiment box.This way will not only save the cost of development for the company,also bring convenience for developers.Keywords:
Dali Protocol;Intelligent Lighting;Emulator