基于CAN總線(xiàn)的鍋爐分布式監控系統設計
當有通信事件產(chǎn)生時(shí),就可用函數ReadFile( )和WriteFile( )直接對串口緩沖區進(jìn)行讀寫(xiě)操作了。其引用格式分別為:
WriteFile(hFile,lpBuffer,nNumberOfBytesToWrite.lpNumberOfBytesWritten,lpOverlapped);
ReadFile(hFile,lpBuffer,nNumberOfBytesToRead,lpNumberOfBytesRead,lpOverlapped).
上位機軟件其他功能的實(shí)現,可通過(guò)調用相應組件的屬性進(jìn)行編程。最后編制的軟件界面如圖5所示。
CAN通信程序將采集到的數據發(fā)送到CAN控制器,再由CAN控制器將數據發(fā)送到CAN總線(xiàn)。
對于接收數據,系統采用中斷方式實(shí)現。一旦中斷發(fā)生,即將接收的數據自動(dòng)裝載到相應的報文寄存器中,此時(shí)還可采用屏蔽濾波方式。利用屏蔽濾波寄存器對接收報文的標識符和預先在接收緩沖器初始化時(shí)設定的標識符進(jìn)行有選擇的逐位比較。只有標識符匹配的報文才能進(jìn)入接收緩沖器,那些不符合要求的報文則將被屏蔽于接收緩沖器之外,從而減輕CPU處理報文的負擔。此外,不同數據應放人不同的報文寄存器中,其程序流程如圖6所示。
本系統采用了lBM-PC兼容機、單片機和SJA1000組成二級控制系統.實(shí)現了一體化的操作,解決了長(cháng)期以來(lái)在承壓鍋爐監控方面的難題。系統結構簡(jiǎn)單,操作方便,安全可靠,造價(jià)低廉,運行穩定可靠。(end)
評論