在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数组协议内容,然后再嵌入到平台软件,就可以让平台软件很好的支持第三方中控设备的控制,这对工程项目的调试,系统升级改造,系统运维都提供了很大的便利和兼容性。
|