在Husion產品中會應用一款軟件——Xpanel-pro,作為一款支持UI界面可編碼、支持Lua腳本語言、簡單靈活的應用平臺軟件,可配合Husion分布式智能控制系統【DNC2000、DNC3000、REL8、REL8plus】、分布式KVM & IMIS系統和嵌入Lua腳本語言,可以實時靈活控制如投影、燈光、窗簾、空調、音響,信號切換等,并且實時反饋設備的運行狀態。
Lua腳本語言以輕量級,擴展性好,兼容性好,靈活等特性著稱。Lua由標準的C所編寫,幾乎在所有操作系統和平臺都可以編譯運行,包括Windows、Linux、IOS、安卓等操作系統。我們在憤怒的小鳥、大話西游、魔獸世界、仙劍奇俠傳、地下城與勇士等游戲都可以見到Lua的身影,真是走到哪里都有“你”,可見Lua腳本語言的應用是很寬泛的。
Lua腳本語言與PHP、JavaScript等不同,它的設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定制功能,它用標準C語言編寫并以源代碼形式開放,編譯后僅僅一百余K、啟動速度快,平臺兼容性好等優點,讓它很合適嵌入到我們的應用程序里面。
Lua沒有 "main" 程序的概念:它只能嵌入一個宿主程序中工作,這個宿主程序被稱作embedding program或簡稱為host。宿主程序可以通過調用函數執行一小段Lua代碼,可以讀寫Lua變量。每個功能模塊既可以彼此獨立,又可以做到相互關聯,完全可以根據項目現場的實際應用需求來編程。
例如Xpanel-pro通過網絡與REL8plus通訊,然后REL8plus輸出控制外部設備的運行狀態,我們可以在Lua腳本里自定義一組local rel_on 和 local rel_off 的數組,然后把數組索引與界面按鈕事件一一對應起來,最終把平臺軟件與設備節點相互關聯起來。
由于Lua是嵌入到平臺軟件的,所以在不改變界面功能的前提下,我們僅僅修改Lua數組協議內容,然后再嵌入到平臺軟件,就可以讓平臺軟件很好的支持第三方中控設備的控制,這對工程項目的調試,系統升級改造,系統運維都提供了很大的便利和兼容性。
|