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