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