摘 要:本文圍繞電力系統(tǒng)性能要求出發(fā),基于現(xiàn)場(chǎng)總線CAN,在單片機(jī)技術(shù)基礎(chǔ)上,設(shè)計(jì)相應(yīng)的軟件控制程序,以達(dá)到通訊網(wǎng)絡(luò)控制的能力。
關(guān)鍵詞:電力系統(tǒng);CAN;單片機(jī);通訊規(guī)約
中圖分類號(hào):TM76
鑒于電力系統(tǒng)的連續(xù)性和供電可靠性的要求,在采用高品質(zhì)的電力設(shè)備的同時(shí),必須重視通訊網(wǎng)工作的可靠性研究。通訊網(wǎng)的設(shè)計(jì)應(yīng)能使通訊負(fù)荷合理分配,保證不出現(xiàn)瓶頸現(xiàn)象和通訊負(fù)荷不過(guò)載,并采用分層分布式結(jié)構(gòu),使其組合靈活、維修調(diào)試方便,具有較強(qiáng)的擴(kuò)展性能。
電力設(shè)備的通訊網(wǎng)絡(luò)是基于現(xiàn)場(chǎng)總線CAN(Controller Area Network)。通信媒介為屏蔽雙絞線,占用控制方式主要為主從問(wèn)答,但允許事件、報(bào)警信息優(yōu)先發(fā)送,遵循ICE870-5-103通信規(guī)約。作為一種現(xiàn)場(chǎng)總線,CAN總線同時(shí)還是一種串行通信網(wǎng)絡(luò),其不僅保密性非常高,還能夠?qū)Ψ植际娇刂苹驅(qū)崟r(shí)控制起到有效支持。
國(guó)內(nèi)傳統(tǒng)的電力設(shè)備采用RS—485或者BITBUS作為通信方式一,其具有非常明顯的缺陷:很難將多主結(jié)構(gòu)構(gòu)成,具有十分繁忙的主節(jié)點(diǎn)任務(wù),一旦有故障出現(xiàn)在主節(jié)點(diǎn),就可能會(huì)導(dǎo)致系統(tǒng)癱瘓;數(shù)據(jù)傳輸效率低,靈活性極差,不適于實(shí)時(shí)性要求較高的場(chǎng)合,特別是當(dāng)下端單元出現(xiàn)異常或遙信變位時(shí),數(shù)據(jù)不能立即上傳;錯(cuò)誤處理能力不強(qiáng)。
與上述通信方式相比,CAN具有以下特點(diǎn):(1)可以多種方式進(jìn)行工作,具有十分靈活的數(shù)據(jù)收發(fā)方式,能夠保證全局廣播、一點(diǎn)對(duì)多點(diǎn)、點(diǎn)對(duì)點(diǎn)等多種傳輸方式的實(shí)現(xiàn),因而可將多機(jī)備份系統(tǒng)很快的構(gòu)成;(2)可以采用不同的優(yōu)先級(jí)針對(duì)網(wǎng)絡(luò)上的節(jié)點(diǎn)(信息)進(jìn)行劃分,硬件自動(dòng)實(shí)現(xiàn)總線沖突仲裁,可以滿足不同的實(shí)時(shí)要求。即使具有很重的網(wǎng)絡(luò)負(fù)載,也不會(huì)因此而有網(wǎng)絡(luò)癱瘓的情況出現(xiàn);(3)具有最高可達(dá)1MB/s(此時(shí)距離最長(zhǎng)40m)的通信速率;(4)直接通信距離最遠(yuǎn)可達(dá)10km(速率5KB/s以下);(5)節(jié)點(diǎn)數(shù)實(shí)際可達(dá)110個(gè);(6)采用短幀結(jié)構(gòu),且每幀信息都有CRC校驗(yàn)、NRZ編碼/解碼方式,并采用位填充技術(shù)以及其他各種檢錯(cuò)措施,因此其具有非常低的數(shù)據(jù)出錯(cuò)率;(7)在具有嚴(yán)重錯(cuò)誤的情況下,CAN節(jié)點(diǎn)能夠?qū)⒖偩€自動(dòng)關(guān)閉,并且將它與總線之間的聯(lián)系切斷,這樣就不會(huì)影響到總線上的其他操作;(8)采用雙絞線作為通信介質(zhì),無(wú)特殊要求。
總之,CAN總線具有較好的操作性、簡(jiǎn)單的結(jié)構(gòu)以及很高的可靠性等優(yōu)點(diǎn),這樣就將傳統(tǒng)的工業(yè)總線的缺陷克服了,因此其屬于一種有效的解決方案。
1 硬件實(shí)現(xiàn)
在具有上述特點(diǎn),CAN總線同時(shí)還具有靈活方便的編程方式以及較低的成本,故CAN總線在電力系統(tǒng)中有著很大的實(shí)用價(jià)值。
其中單片機(jī)采用AT89S52,選用SJA1000CAN作為控制器的芯片,其中片選信號(hào)為CS,單片機(jī)的相應(yīng)管腳分別連接ALE、WR、RD,INTEL模式是MODE腳接高電平的特點(diǎn),這樣就使復(fù)位的可靠性得到了保證,而其中的三態(tài)數(shù)據(jù)總路線就是AD0-AD7。選用PCA82C250作為CAN總線驅(qū)動(dòng)器,為了能夠使總線節(jié)點(diǎn)的抗干擾能力得以有效增強(qiáng),82C250的RXD、TXD與SJA1000與之間利用高速光耦6N137連接起來(lái),這樣就使二者之間的電氣隔離得以實(shí)現(xiàn)了,同時(shí)還使節(jié)點(diǎn)的穩(wěn)定性和安全性得到了保證。
2 軟件實(shí)現(xiàn)
只有在復(fù)位模式下才可以實(shí)施SAJ1000的初始化,其初始化的內(nèi)容主要包括中斷允許寄存器的設(shè)置、總線定時(shí)寄存器的設(shè)置、工作方式的設(shè)置、波特率參數(shù)設(shè)置、接收濾波的設(shè)置、接收代碼寄存器ACR的設(shè)置、接收屏蔽寄存器設(shè)置等內(nèi)容,在將SJA1000的初始化工作完成以后,就能夠恢復(fù)為工作狀態(tài),從而能夠?qū)崿F(xiàn)正常的通信任務(wù)。
節(jié)點(diǎn)報(bào)文的發(fā)送是由數(shù)據(jù)的發(fā)送子程序負(fù)責(zé)的,在具體的發(fā)送過(guò)程中只需要按特定的格式將待發(fā)送的數(shù)據(jù)組合成一幀,在SJA1000發(fā)送緩沖區(qū)送入報(bào)文,接下來(lái)將SJA1000啟動(dòng),就可以完成發(fā)送,采用查詢方式針對(duì)數(shù)據(jù)進(jìn)行接收,其軟件操作需要對(duì)報(bào)警接收溢出以及總線脫離錯(cuò)誤等情況進(jìn)行充分的考慮
由于上位主機(jī)沒(méi)有CAN接口,必須為其配備轉(zhuǎn)換接口,目前常見(jiàn)的接口格式有利用PCI和ISA插槽設(shè)計(jì)的內(nèi)插式接口卡,這種CAN卡一般需要一個(gè)MCU、一片雙口RAM、一個(gè)CAN控制器和一個(gè)CAN總線收發(fā)器,MCU能從CAN總線中讀取數(shù)據(jù),然后放在雙中RAM中,計(jì)算機(jī)通過(guò)上位機(jī)軟件讀取數(shù)據(jù);也可以通過(guò)計(jì)算機(jī)的外圍接口設(shè)計(jì)外接式的CAN卡,這種外圍接口包括串行通訊接口、并行通訊接口及USB接口??紤]到串行通訊的使用較為簡(jiǎn)單且應(yīng)用廣泛、經(jīng)濟(jì)實(shí)用,選用了以串口作為接口的方法
實(shí)際調(diào)試時(shí),出于經(jīng)濟(jì)考慮,自制了CAN/RS232轉(zhuǎn)換器,其結(jié)構(gòu)為CAN-MCU-RS232,也就是利用單片機(jī)及SJA1000將CAN格式的數(shù)據(jù)接收到之后,把其轉(zhuǎn)換為RS232格式的數(shù)據(jù)通過(guò)串口與主機(jī)通信,其中MCU選用的是AT89C51,與SJA1000的接口及軟硬件部分均與人機(jī)板CAN電路相同,不再重復(fù)說(shuō)明。
3 通訊規(guī)約實(shí)現(xiàn)
采用MODBUS通訊協(xié)議CAN通信與自動(dòng)化系統(tǒng)的連接方式。應(yīng)用層協(xié)議為MODBUS(RTU方式),能夠通過(guò)對(duì)上述通信媒介的利用實(shí)現(xiàn)系統(tǒng)互聯(lián)。采用直接內(nèi)存訪問(wèn)的模式作為MODBUS的運(yùn)行方式,其基本協(xié)議針對(duì)其中內(nèi)存訪問(wèn)的具體細(xì)節(jié)進(jìn)行了合理的定義,須提供內(nèi)存地址表就可以實(shí)現(xiàn)各應(yīng)用程序或系統(tǒng)互連。
其功能報(bào)文樣例介紹如下:
連續(xù)讀n個(gè)字(功能碼03H)
下行:
通信地址(BYTE):01H~F7H
功能碼(BYTE):03H
起始地址(WORD):0000H~FFFFH(先高字節(jié)后低字節(jié))
讀的字?jǐn)?shù)(WORD):0001H~007DH(先高字節(jié)后低字節(jié))
校驗(yàn)碼(WORD):以上所有字節(jié)的CRC16校驗(yàn)和(先低字節(jié)后高字節(jié))
上行:
通信地址(BYTE):01H~F7H
功能碼(BYTE):03H
數(shù)據(jù)長(zhǎng)度(BYTE):01H~FAH
數(shù)據(jù)內(nèi)容(WORD):讀到的具體數(shù)據(jù)(先高字節(jié)后低字節(jié))
數(shù)據(jù)內(nèi)容(WORD):讀到的具體數(shù)據(jù)(先高字節(jié)后低字節(jié))
......
數(shù)據(jù)內(nèi)容(WORD):讀到的具體數(shù)據(jù)(先高字節(jié)后低字節(jié))
校驗(yàn)碼(WORD):以上所有字節(jié)的CRC16校驗(yàn)和(先低字節(jié)后高字節(jié))
為了簡(jiǎn)化通訊規(guī)約的復(fù)雜度,本文只簡(jiǎn)述了應(yīng)用MODBUS規(guī)約的03H和10H兩個(gè)功能碼,其他詳細(xì)的情況可進(jìn)一步研究實(shí)驗(yàn)。
參考文獻(xiàn):
[1]桑波.電力監(jiān)控傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].內(nèi)蒙古大學(xué),2012.
[2]程英凱,樊超.基于CAN總線的電力參數(shù)測(cè)量系統(tǒng)設(shè)計(jì)[J].科技信息,2010(03):716-717.
作者簡(jiǎn)介:王微(1982.10-),女,助理講師,研究方向:電工技術(shù)及其發(fā)展研究等。
作者單位:海南省技師學(xué)院,???570203