在系统初始化后,程序循环查询传感器接口、串口和CAN接口。当检测到传感器有信号输出时,程序在打开附近的照明回路的同时也通过CAN总线向其他节点发送该传感器的信息。其余的控制节点一旦接收到该信息,便会查询存储在外部存储器中的控制方案信息,然后打开与该传感器相关联的照明回路,从而实现控制方案指定的照明方式。
控制节点的CAN中断程序的框图如图4所示。当节点接收到一条CAN帧,中断处理程序读出该命令,并置CAN命令接收标志,等待命令处理子程序的处理。
为了方便控制节点的安装与调试,在主程序中特别加入了串口处理程序。使用者可以通过发送串口命令测试控制节点的各项功能,也可以通过串口上传、下载控制方案。
3.2.3 现场可编程功能的实现
为了实现该系统的现场可编程功能,每一个控制节点都应该存储本节点的照明回路与网络中其他节点的传感器的逻辑关系表。逻辑关系表的结构如下:
照明回路 | ||||||||
传感器 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
上表表示节点的各个照明回路与系统中某一节点的的传感器(包括本节点)的互连关系。如果表项中对应值为1,则表示对应的照明回路与传感器相关联,一旦传感器有信号,相关的照明回路就会被打开。关系表中的各项的值可以随时改变,并通过上位机或串口重新下载到存储器中。
假设网络中有N个控制节点,每一个节点中将会存储N-1张关系表,对应于网络中的其余N-1个节点。一旦某一节点在CAN上发送传感器消息,其余的节点接收到该消息后就会从对应于发出消息的节点的关系表中查找与该传感器关联的照明回路并打开这些回路。这样一旦有车辆进入停车场,该控制系统就会打开控制方案规定的所有的照明回路,实现照明的智能化。
4 结束语
通过对系统软件、硬件的反复调试,该分布式灯光智能控制系统显示出了传统的停车场灯光控制系统无法比拟的优越性,可以有效减少小区地下停车场照明系统的安装和维护费用,具有良好的应用前景和推广价值。