CAN總線在地面變電所模擬盤(pán)中的應(yīng)用
4 模擬盤(pán)控制器的軟件設(shè)計(jì)
4.1 模擬盤(pán)控制器主程序設(shè)計(jì)
在電力監(jiān)控系統(tǒng)中,每個(gè)監(jiān)控器監(jiān)控一個(gè)開(kāi)關(guān)狀態(tài),監(jiān)控器通過(guò)CAN總線與模擬盤(pán)控制器相連,模擬盤(pán)控制器自身攜帶16個(gè)指示燈,并通過(guò)RS 485通訊卡與一個(gè)數(shù)字表頭相連(見(jiàn)圖1)。16個(gè)指示燈與監(jiān)控器監(jiān)控的16個(gè)開(kāi)關(guān)狀態(tài)相映射,通過(guò)指示燈不同狀態(tài)來(lái)折射開(kāi)關(guān)量的狀態(tài):本文定義了指示燈顯示的3種狀態(tài):紅色、紅快閃、紅慢閃。其中指示燈為紅色代表開(kāi)關(guān)為正常的工作狀態(tài);指示燈為紅快閃,表示開(kāi)關(guān)為事故跳閘一――報(bào)警狀態(tài);指示燈紅慢閃為巡檢狀態(tài);數(shù)字表頭則用來(lái)顯示監(jiān)控器采集到的模擬量值。在模擬盤(pán)控制器的軟件設(shè)計(jì)中,通過(guò)定時(shí)器來(lái)操作指示燈的閃爍快慢,根據(jù)模擬盤(pán)通信協(xié)議對(duì)P4口各端口進(jìn)行相應(yīng)的置位、復(fù)位,實(shí)現(xiàn)指示燈的現(xiàn)實(shí)操作。本文引用地址:http://cafeforensic.com/article/158116.htm
4.1.1 初始化
初始化包括:有關(guān)的RAM單元清零、定時(shí)中斷初始化、CAN總線初始化、RS 485通訊初始化。
在中斷初始化時(shí),要注意對(duì)中斷允許寄存器IEN0、IENl的置位,尤其是IEN0.7總允許/禁止中斷控制的置位;通過(guò)對(duì)中斷優(yōu)先級(jí)特出功能寄存器IP0,IPl來(lái)設(shè)定各中斷源的優(yōu)先級(jí)。
4.1.2 巡檢操作
實(shí)際操作系統(tǒng)中,設(shè)備常時(shí)間運(yùn)行會(huì)出現(xiàn)老化、反映不靈敏的情況。為了防止模擬盤(pán)控制器硬件電路以及指示燈本身的故障而導(dǎo)致顯示狀態(tài)不能緊跟開(kāi)關(guān)狀態(tài)變化,本文設(shè)計(jì)了巡檢操作,由P8XC592單片機(jī)的P1.0來(lái)控制。操作員置位P1.O時(shí),軟件程序?qū)4口所有的位以8 s為周期進(jìn)行置位、復(fù)位操作(見(jiàn)圖3),模擬盤(pán)控制器開(kāi)始巡檢操作,模擬盤(pán)控制器的16路指示燈同時(shí)出現(xiàn)“紅慢閃”狀態(tài),如果有1路或幾路指示燈不進(jìn)行“紅慢閃”,則說(shuō)明相對(duì)應(yīng)的指示燈出故障,操作員可有針對(duì)性的排除故障;操作員復(fù)位P1.0時(shí),程序進(jìn)入到下一步操作――事故報(bào)警操作。
4.1.3 事故閃爍、解除
在實(shí)際操作中開(kāi)關(guān)由于事故出現(xiàn)跳閘,監(jiān)控器監(jiān)測(cè)到后將信息通過(guò)CAN總線傳送到模擬盤(pán)控制器上。模擬盤(pán)控制器根據(jù)通訊協(xié)議判斷出那個(gè)開(kāi)關(guān)量跳閘,然后對(duì)P4口的相應(yīng)位以1 s為周期進(jìn)行置位、復(fù)位操作,指示燈相應(yīng)的位則進(jìn)行“紅快閃”。且指示燈的快閃狀態(tài)持續(xù)到事故跳閘處理。
操作員根據(jù)模擬盤(pán)上的指示處理相應(yīng)的跳閘事故后,給模擬盤(pán)發(fā)出解除命令,指示燈的事故閃爍停止,進(jìn)入常態(tài)工作。
4.2 模擬盤(pán)通信協(xié)議及其中斷服務(wù)程序設(shè)計(jì)
4.2.1 模擬盤(pán)通信協(xié)議
CAN協(xié)議的一個(gè)最大特點(diǎn)是廢除了傳統(tǒng)的站地址編碼,而代之以對(duì)通信數(shù)據(jù)塊進(jìn)行編碼。采用這種方法的優(yōu)點(diǎn)可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理論上不受限制,數(shù)據(jù)塊的標(biāo)識(shí)碼可由11位或29位二進(jìn)制數(shù)組成,因此可以定義211或229個(gè)不同的數(shù)據(jù)塊。數(shù)據(jù)段長(zhǎng)度最多為8個(gè)字節(jié),可滿足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測(cè)試數(shù)據(jù)的一般要求。同時(shí),8個(gè)字節(jié)不會(huì)占用總線時(shí)間過(guò)長(zhǎng),從而保證通信的實(shí)時(shí)性。CAN協(xié)議采用CRC檢驗(yàn)并可提供相應(yīng))的錯(cuò)誤處理功能,保證了數(shù)據(jù)通信的可靠性?;?a class="contentlabel" href="http://cafeforensic.com/news/listbylabel/label/CAN總線">CAN總線通信協(xié)議制訂了模擬盤(pán)控制器的通信協(xié)議。
傳輸數(shù)據(jù)由2數(shù)據(jù)幀組成:在IDl中,D7~D4為傳輸數(shù)據(jù)的幀號(hào);幀號(hào)代表傳輸數(shù)據(jù)為何種命令;監(jiān)控器的站號(hào)由IDl中的D3~DO和ID2中的D7~D5共7位128種組合;可對(duì)應(yīng)128個(gè)監(jiān)控器監(jiān)測(cè)的開(kāi)關(guān)狀態(tài);ID2中的D4表示是否為遠(yuǎn)程幀ID2中的D3~DO表示數(shù)據(jù)的長(zhǎng)度。
此協(xié)議首先充分利用了CAN通信協(xié)議自身的特點(diǎn),在幀格式的ID號(hào)中體現(xiàn)發(fā)送的運(yùn)行數(shù)據(jù)量的幀號(hào)和監(jiān)控器的站號(hào)。幀號(hào)代表傳輸數(shù)據(jù)的類(lèi)型,根據(jù)CAN總線的仲裁(CAN總線本身的ID號(hào)越小,優(yōu)先權(quán)越大),可以將重要類(lèi)型的數(shù)據(jù)規(guī)定為幀號(hào)較小,這樣就可保證重要數(shù)據(jù)的優(yōu)先級(jí)高于其他類(lèi)型的數(shù)據(jù),程序就會(huì)優(yōu)先處理這些數(shù)據(jù)。又可利用仲裁,將重要的監(jiān)控器排列的站號(hào)排列得較小,這樣又可保證程序優(yōu)先處理重要的監(jiān)控器監(jiān)控的開(kāi)關(guān)狀態(tài)。
4.2.2 CAN中斷服務(wù)程序
模擬盤(pán)控制器通過(guò)中斷服務(wù)程序來(lái)受CAN總線上的數(shù)據(jù),也是利用中斷服務(wù)程序向CAN總線上發(fā)送數(shù)據(jù)。如果有發(fā)送中斷或接收中斷請(qǐng)求,運(yùn)行程序就會(huì)進(jìn)入CAN中斷服務(wù)程序,入棧保護(hù)現(xiàn)場(chǎng)后,判斷中斷為何種中斷(發(fā)送中斷、接收中斷)。并根據(jù)CAN總線的通信協(xié)議將要發(fā)送的數(shù)據(jù)幀格式或?qū)⒔邮盏臄?shù)據(jù)幀還原,然后發(fā)送或接收數(shù)據(jù),最后出棧進(jìn)入主運(yùn)行程序繼續(xù)運(yùn)行。
5 結(jié) 語(yǔ)
本文采用國(guó)際上目前應(yīng)用最為廣泛的現(xiàn)場(chǎng)總線之一CAN總線微處理器技術(shù),進(jìn)行模擬盤(pán)控制器的硬、軟件設(shè)計(jì)。通過(guò)與監(jiān)控系統(tǒng)實(shí)際聯(lián)網(wǎng)運(yùn)行試驗(yàn),所設(shè)計(jì)的模擬盤(pán)控制器能夠很好地實(shí)現(xiàn)規(guī)定的功能和技術(shù)要求。本方案在煤礦地面變電所應(yīng)用表明,對(duì)煤礦井下用電情況的監(jiān)視得到明顯地改善。
評(píng)論