錢 坤 (1983—)
男,安徽人,工學(xué)碩士,(中國(guó)農(nóng)業(yè)大學(xué) 信息與電氣工程學(xué)院, 北京 100083) ,主要從事嵌入式系統(tǒng)及總線方向的研究。
基金項(xiàng)目:國(guó)家自然科學(xué)基金項(xiàng)目(30374030)
摘要:介紹了一種虛擬現(xiàn)場(chǎng)總線的測(cè)控系統(tǒng)的設(shè)計(jì)。設(shè)計(jì)中,以CAN總線和無(wú)線模塊相結(jié)合的方式,模擬對(duì)現(xiàn)場(chǎng)數(shù)據(jù)的采集和控制。對(duì)該測(cè)控系統(tǒng)的測(cè)試表明,虛擬現(xiàn)場(chǎng)總線能很好的完成現(xiàn)場(chǎng)總線的通信功能。
關(guān)鍵詞:虛擬現(xiàn)場(chǎng)總線;現(xiàn)場(chǎng)總線;CAN總線
Abstract:The designing of virtual fieldbus control system is introduced in this paper. It combines CAN bus with wireless module in order to acquire and control the data of field. The testing of the system shows that virtual fieldbus control system can replace the corresponding function of the fieldbus.
Key words:Virtual field bus; Fieldbus; CAN bus
1 引言
現(xiàn)場(chǎng)總線是應(yīng)用在生產(chǎn)最底層的一種總線型拓?fù)渚W(wǎng)絡(luò),它作為智能設(shè)備的聯(lián)系紐帶,把掛接在總線上作為網(wǎng)絡(luò)節(jié)點(diǎn)的智能設(shè)備連接為網(wǎng)絡(luò)系統(tǒng),實(shí)現(xiàn)基本控制,補(bǔ)償計(jì)算,參數(shù)修改,監(jiān)控等綜合自動(dòng)化功能,且可靠性高,穩(wěn)定性好,抗干擾能力強(qiáng),通訊速率快,造價(jià)低,維護(hù)成本低。隨著工業(yè)控制領(lǐng)域日新月異的發(fā)展,現(xiàn)場(chǎng)總線得到了越來(lái)越廣泛的應(yīng)用,在所有的各類型的總線中,Bosch公司的CAN局域網(wǎng)現(xiàn)場(chǎng)總線是一種比較典型的現(xiàn)場(chǎng)總線。由于CAN總線采用多種新技術(shù)和獨(dú)特的設(shè)計(jì),具有突出的可靠性、實(shí)時(shí)性和靈活性。
虛擬現(xiàn)場(chǎng)總線本質(zhì)上就是完全透明的無(wú)限延長(zhǎng)現(xiàn)場(chǎng)總線,用虛擬現(xiàn)場(chǎng)總線組網(wǎng),可以和現(xiàn)場(chǎng)總線一樣使用,但沒(méi)有了節(jié)點(diǎn)數(shù)量的限制,也沒(méi)有了距離的限制。本文以CAN總線和無(wú)線通信相結(jié)合,組成虛擬現(xiàn)場(chǎng)總線測(cè)控系統(tǒng),對(duì)于各控制現(xiàn)場(chǎng),可以通過(guò)CAN總線連接組網(wǎng),使各個(gè)節(jié)點(diǎn)之間可互相通信,完成基本的控制和監(jiān)測(cè);同時(shí),各個(gè)智能節(jié)點(diǎn)的信息又可通過(guò)無(wú)線的方式進(jìn)行遠(yuǎn)程通信,利用遠(yuǎn)程的控制設(shè)備,對(duì)各節(jié)點(diǎn)進(jìn)行控制和監(jiān)測(cè)。是現(xiàn)場(chǎng)總線發(fā)展的必然趨勢(shì),有著廣闊的應(yīng)用前景
2 系統(tǒng)的構(gòu)成
本文介紹的虛擬現(xiàn)場(chǎng)總線測(cè)控系統(tǒng),由三個(gè)部分組成:遠(yuǎn)程的無(wú)線轉(zhuǎn)串口模塊,現(xiàn)場(chǎng)的無(wú)線轉(zhuǎn)CAN總線模塊和CAN總線組成的節(jié)點(diǎn)模塊。三個(gè)部分相輔相成,共同構(gòu)成整個(gè)測(cè)控系統(tǒng)。下面具體介紹各個(gè)模塊。
2.1 遠(yuǎn)程的無(wú)線轉(zhuǎn)串口模塊
這部分主要完成的任務(wù)是:上位機(jī)通過(guò)串口和該模塊通信,完成數(shù)據(jù)的發(fā)送和接收,然后再通過(guò)無(wú)線的方式與現(xiàn)場(chǎng)的CAN總線網(wǎng)絡(luò)通信,也就是作為數(shù)據(jù)的存儲(chǔ)和轉(zhuǎn)換功能。
無(wú)線數(shù)傳模塊采用上海桑銳電子科技有限公司生產(chǎn)的SRWF-1型微功率無(wú)線數(shù)傳模塊,該模塊采用Atmel公司的高性能單片機(jī)ATMega8L;單片射頻的集成芯片CC1000,無(wú)線的載頻頻率為429-433MHz;內(nèi)部還有看門狗,除了監(jiān)控自行運(yùn)行狀況外,還監(jiān)控射頻芯片;提供了標(biāo)準(zhǔn)的RS232和RS485接口,波特率可變(1200bps,2400 bps,4800 bps,9600bps)。在視距情況下,天線高度>3m,可靠傳輸距離>300m。具體的設(shè)計(jì)如圖1所示。
2.2 現(xiàn)場(chǎng)的無(wú)線轉(zhuǎn)CAN總線模塊
該模塊用來(lái)實(shí)現(xiàn)無(wú)線通信協(xié)議和CAN總線協(xié)議的轉(zhuǎn)換,通過(guò)和上面模塊的通信,將無(wú)線接收的數(shù)據(jù)通過(guò)微處理器,轉(zhuǎn)換成CAN總線可接收的數(shù)據(jù)。
這部分采用了SRWF-1加上串口轉(zhuǎn)CAN總線的組合方式,間接的將無(wú)線協(xié)議轉(zhuǎn)換成CAN總線協(xié)議。串口轉(zhuǎn)CAN總線的部分采用Atmel公司生產(chǎn)的MCU89S52, AT89S52是一款低功耗、高性能、CMOS結(jié)構(gòu)的8位微控制器,使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器, 片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器;采用CAN控制器SJA1000和CAN驅(qū)動(dòng)器82C250,完成對(duì)CAN總線數(shù)據(jù)的收發(fā),SJA1000是Philips公司生產(chǎn)的一款獨(dú)立的CAN控制器,主要用于移動(dòng)目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制,支持具有很多新特性的CAN2.0B協(xié)議。而82C250是與SJA1000相匹配的CAN驅(qū)動(dòng)器,提供對(duì)總線的差動(dòng)發(fā)送和接收功能,采用斜率控制,降低射頻干擾,總線至少可連接110個(gè)節(jié)點(diǎn),設(shè)計(jì)如圖2所示。
2.3 CAN總線通信的節(jié)點(diǎn)模塊
這個(gè)模塊的主要作用是對(duì)現(xiàn)場(chǎng)各個(gè)節(jié)點(diǎn)進(jìn)行控制和監(jiān)測(cè)。各個(gè)節(jié)點(diǎn)之間可通過(guò)CAN總線進(jìn)行數(shù)據(jù)交換,同時(shí)節(jié)點(diǎn)也可通過(guò)CAN總線與上面的模塊進(jìn)行數(shù)據(jù)交換。這里以DI,DO,AI,AO四個(gè)節(jié)點(diǎn)作為底層模塊,可完成數(shù)字量的輸入(DI),數(shù)字量的輸出(DO),模擬量的輸入(AI),模擬量的輸出(AO)[1][2][3]。
節(jié)點(diǎn)由微處理器,CAN通信和具體應(yīng)用三個(gè)部分組成。其中微處理器和上面的串口轉(zhuǎn)CAN總線部分一樣,采用AT89S52,CAN通信部分也采用SJA1000加82C250,具體應(yīng)用則各不相同,設(shè)計(jì)如圖3所示。
3 系統(tǒng)測(cè)試 名稱 位 標(biāo)識(shí)符字節(jié)1 ID.10-ID3 標(biāo)識(shí)符字節(jié)2 ID.2-ID0,RTR,DLC.3-DLC.0 收發(fā)數(shù)據(jù)1 收發(fā)字節(jié)1 收發(fā)數(shù)據(jù)2 收發(fā)字節(jié)2 收發(fā)數(shù)據(jù)3 收發(fā)字節(jié)3 收發(fā)數(shù)據(jù)4 收發(fā)字節(jié)4 收發(fā)數(shù)據(jù)5 收發(fā)字節(jié)5 收發(fā)數(shù)據(jù)6 收發(fā)字節(jié)6 收發(fā)數(shù)據(jù)7 收發(fā)字節(jié)7 收發(fā)數(shù)據(jù)8 收發(fā)字節(jié)8
為了驗(yàn)證以上方案的性能,設(shè)計(jì)了兩個(gè)系統(tǒng)測(cè)試,以確保整個(gè)測(cè)控系統(tǒng)能很好的運(yùn)行。第一個(gè)是基于有線的通信測(cè)試;第二個(gè)是基于無(wú)線的通信測(cè)試。
為了更好的對(duì)傳輸?shù)腃AN總線數(shù)據(jù)進(jìn)行理解,先介紹一下CAN數(shù)據(jù)幀:CAN控制器SJA1000有BASICCAN和PELICCAN兩種模式,這里用的是BASICCAN模式。CAN數(shù)據(jù)結(jié)構(gòu)見(jiàn)表1。其中ID10-ID0是標(biāo)識(shí)符,RTR是判斷數(shù)據(jù)幀和遠(yuǎn)程幀的標(biāo)志,DLC是要發(fā)送數(shù)據(jù)的長(zhǎng)度。這里對(duì)于DI節(jié)點(diǎn),發(fā)送的數(shù)據(jù)幀為:4101xx,其中4101對(duì)應(yīng)標(biāo)識(shí)符的兩個(gè)字節(jié),是根據(jù)已經(jīng)規(guī)定好的協(xié)議方式進(jìn)行組裝;xx表示發(fā)送的數(shù)據(jù),可通過(guò)開關(guān)進(jìn)行調(diào)節(jié)具體的數(shù)值。同理,AI為4924xxxxxxxx。而DO接收的必須為DI類型的幀,也就是4101xx。如果上位機(jī)接收的是DI幀,則顯示4101xx,如果接收的是AI幀,則顯示4924xxxxxxxx,如果上位機(jī)想控制DO,則發(fā)送4101xx。
表1 CAN數(shù)據(jù)結(jié)構(gòu):
3.1 基于有線的通信測(cè)試[4][5]
整個(gè)系統(tǒng)由以下部分組成:CAN總線通信的節(jié)點(diǎn)模塊,一個(gè)CAN總線轉(zhuǎn)串口模塊和一臺(tái)PC機(jī),其中CAN總線轉(zhuǎn)串口模塊是由現(xiàn)場(chǎng)的無(wú)線轉(zhuǎn)CAN總線模塊改造完成,整個(gè)系統(tǒng)的連接如圖4所示。
對(duì)系統(tǒng)的測(cè)試步驟如下:
(1)DI的開關(guān)打開及閉合,可控制DO發(fā)光二極管的亮與滅,證明節(jié)點(diǎn)之間的通信正常。
(2)DI的開關(guān)打開及閉合,通過(guò)PC的超級(jí)終端,可顯示數(shù)據(jù),該數(shù)據(jù)為4101xx,每撥動(dòng)一次開關(guān),顯示一次;AI輸入端接上濕度傳感器,也就是模擬量,當(dāng)濕度變化時(shí),也可在超級(jí)終端上顯示,顯示數(shù)據(jù)為4924xxxxxxxx。證明CAN總線的數(shù)據(jù)可通過(guò)轉(zhuǎn)換器發(fā)送到PC上。
(3)用PC機(jī)上的ADAM軟件(可發(fā)送串口數(shù)據(jù)的軟件),輸入控制數(shù)據(jù)4101xx,可控制DO發(fā)光二極管的亮與滅,證明PC上的控制信息可通過(guò)轉(zhuǎn)換器發(fā)送到節(jié)點(diǎn)上。
以上測(cè)試結(jié)果表明,CAN節(jié)點(diǎn)之間可通過(guò)CAN總線通信,節(jié)點(diǎn)與上位機(jī)可通過(guò)有線通信。
3.2 基于無(wú)線的通信測(cè)試
整個(gè)系統(tǒng)由以下部分組成:上面介紹的三個(gè)模塊,和一臺(tái)PC機(jī)。整個(gè)系統(tǒng)的連接如圖5所示。
對(duì)系統(tǒng)的測(cè)試步驟如下:
(1)DI的開關(guān)打開及閉合,可控制DO發(fā)光二極管的亮與滅,證明節(jié)點(diǎn)之間的通信正常。
(2)DI的開關(guān)打開及閉合,通過(guò)PC的超級(jí)終端,可顯示數(shù)據(jù),該數(shù)據(jù)為4101xx,每撥動(dòng)一次開關(guān),顯示一次;AI輸入端接上濕度傳感器,也就是模擬量,當(dāng)濕度變化時(shí),也可在超級(jí)終端上顯示,顯示數(shù)據(jù)為4924xxxxxxxx。證明CAN總線的數(shù)據(jù)可通過(guò)轉(zhuǎn)換器發(fā)送到PC上。
(3)用PC機(jī)上的ADAM軟件,輸入控制數(shù)據(jù)4101xx,可控制DO發(fā)光二極管的亮與滅,證明PC上的控制信息可通過(guò)轉(zhuǎn)換器發(fā)送到節(jié)點(diǎn)上。
以上測(cè)試結(jié)果表明,無(wú)線測(cè)試結(jié)果與有線相同,無(wú)線整體測(cè)試方案可行。
4 結(jié)束語(yǔ)
目前現(xiàn)場(chǎng)總線一般都以有線的方式進(jìn)行通信,加入無(wú)線的方式可作為對(duì)現(xiàn)場(chǎng)總線很好的補(bǔ)充。有線的方式速度快,不會(huì)受氣候等自然條件的影響;無(wú)線不需連線,使用方便靈活。本文采用有線和無(wú)線相結(jié)合的方式,組成虛擬現(xiàn)場(chǎng)總線測(cè)控系統(tǒng),取得了滿意的控制效果。
其它作者:
杜尚豐(1961—),男,北京人,教授,博士生導(dǎo)師。
參考文獻(xiàn):
[1]饒運(yùn)濤等,現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù)[M],北京航空航天大學(xué)出版社,2004.
[2]史久根等,CAN現(xiàn)場(chǎng)總線系統(tǒng)設(shè)計(jì)技術(shù)[M],國(guó)防工業(yè)出版社,2004.
[3]杜尚豐,曹曉鐘,徐津等,CAN總線測(cè)控技術(shù)及其應(yīng)用[M],北京:電子工業(yè)出版社,2007.
[4]張迎新,單片微型計(jì)算機(jī)原理[M],應(yīng)用及接口技術(shù),2004.
[5]龔崇權(quán),基于現(xiàn)場(chǎng)總線技術(shù)的虛擬儀器開發(fā)[J],傳感器與儀器儀表,2006,(22):177-178.