CAN總線(xiàn)在停車(chē)場(chǎng)燈光智能控制系統中的應用
3.2 控制節點(diǎn)的軟件設計
3.2.1 控制節點(diǎn)軟件實(shí)現功能
控制節點(diǎn)軟件實(shí)現的主要功能如下:
1)系統的初始化:包括串口的初始化、CAN控制器的初始化、定時(shí)器的初始化以及系統主要變量的初始化。
2)外部存儲器資源的分配、管理:包括對FM25640讀寫(xiě)的基本操作,以及建立在這些操作上的對節點(diǎn)控制方案的管理。
3)CAN命令的發(fā)送、接收及解釋?zhuān)喊▽ζ渌濣c(diǎn)發(fā)送的CAN命令的接收、識別、解釋?zhuān)约跋鄳膽鹈畹陌l(fā)送。
4)串口命令的發(fā)送、接收及解釋?zhuān)喊ù诿畹慕邮?、識別、解釋?zhuān)约跋鄳膽鹈畹陌l(fā)送。
5)傳感器信號的檢測:包括傳感器組的連續檢測,以及檢測到信號時(shí)所進(jìn)行的相應處理。
6)照明回路的控制。
7)定時(shí)器的管理。
3.2.2控制節點(diǎn)軟件工作流程
控制節點(diǎn)的程序采用C51設計,這樣可以大大簡(jiǎn)化程序設計的復雜度??刂乒濣c(diǎn)的主程序框圖如圖3所示。 本文引用地址:http://dyxdggzs.com/article/163639.htm
在系統初始化后,程序循環(huán)查詢(xún)傳感器接口、串口和CAN接口。當檢測到傳感器有信號輸出時(shí),程序在打開(kāi)附近的照明回路的同時(shí)也通過(guò)CAN總線(xiàn)向其他節點(diǎn)發(fā)送該傳感器的信息。其余的控制節點(diǎn)一旦接收到該信息,便會(huì )查詢(xún)存儲在外部存儲器中的控制方案信息,然后打開(kāi)與該傳感器相關(guān)聯(lián)的照明回路,從而實(shí)現控制方案指定的照明方式。
控制節點(diǎn)的CAN中斷程序的框圖如圖4所示。當節點(diǎn)接收到一條CAN幀,中斷處理程序讀出該命令,并置CAN命令接收標志,等待命令處理子程序的處理。
為了方便控制節點(diǎn)的安裝與調試,在主程序中特別加入了串口處理程序。使用者可以通過(guò)發(fā)送串口命令測試控制節點(diǎn)的各項功能,也可以通過(guò)串口上傳、下載控制方案。
3.2.3 現場(chǎng)可編程功能的實(shí)現
為了實(shí)現該系統的現場(chǎng)可編程功能,每一個(gè)控制節點(diǎn)都應該存儲本節點(diǎn)的照明回路與網(wǎng)絡(luò )中其他節點(diǎn)的傳感器的邏輯關(guān)系表。邏輯關(guān)系表的結構如下:
照明回路 | ||||||||
傳感器 | 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 |
上表表示節點(diǎn)的各個(gè)照明回路與系統中某一節點(diǎn)的的傳感器(包括本節點(diǎn))的互連關(guān)系。如果表項中對應值為1,則表示對應的照明回路與傳感器相關(guān)聯(lián),一旦傳感器有信號,相關(guān)的照明回路就會(huì )被打開(kāi)。關(guān)系表中的各項的值可以隨時(shí)改變,并通過(guò)上位機或串口重新下載到存儲器中。
假設網(wǎng)絡(luò )中有N個(gè)控制節點(diǎn),每一個(gè)節點(diǎn)中將會(huì )存儲N-1張關(guān)系表,對應于網(wǎng)絡(luò )中的其余N-1個(gè)節點(diǎn)。一旦某一節點(diǎn)在CAN上發(fā)送傳感器消息,其余的節點(diǎn)接收到該消息后就會(huì )從對應于發(fā)出消息的節點(diǎn)的關(guān)系表中查找與該傳感器關(guān)聯(lián)的照明回路并打開(kāi)這些回路。這樣一旦有車(chē)輛進(jìn)入停車(chē)場(chǎng),該控制系統就會(huì )打開(kāi)控制方案規定的所有的照明回路,實(shí)現照明的智能化。
4 結束語(yǔ)
通過(guò)對系統軟件、硬件的反復調試,該分布式燈光智能控制系統顯示出了傳統的停車(chē)場(chǎng)燈光控制系統無(wú)法比擬的優(yōu)越性,可以有效減少小區地下停車(chē)場(chǎng)照明系統的安裝和維護費用,具有良好的應用前景和推廣價(jià)值。
評論