史仍輝
【摘要】 本文以實(shí)現(xiàn)DeviceNet和Modbus現(xiàn)場(chǎng)總線協(xié)議轉(zhuǎn)換的DeviceNet通信適配器為例,對(duì)其協(xié)議結(jié)構(gòu)進(jìn)行分析并提出了通信模型。設(shè)計(jì)實(shí)現(xiàn)了一款DeviceNet通信適配器,能將Modbus接口的低壓電器設(shè)備接入到DeviceNet網(wǎng)絡(luò)中。DeviceNet通信適配器符合DeviceNet一致性測(cè)試要求,對(duì)其進(jìn)行了長(zhǎng)期運(yùn)行試驗(yàn),其軟硬件及通信功能均運(yùn)行正常。
【關(guān)鍵詞】 現(xiàn)場(chǎng)總線 通信適配器 協(xié)議轉(zhuǎn)換 DeviceNet Modbus
引言
目前,國(guó)際上有幾十種不同的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn),幾種主流的現(xiàn)場(chǎng)總線有Modbus、Profibus、DeviceNet、FF、LONWORKS、CAN等。Modbus在國(guó)內(nèi)獲得了非常廣泛的應(yīng)用,許多現(xiàn)有的低壓電器設(shè)備都具有Modbus通信接口,DeviceNet作為IEC和我國(guó)現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)之一,支持DeviceNet的智能節(jié)點(diǎn)越來(lái)越多[4-5]。
現(xiàn)場(chǎng)總線協(xié)議基于精簡(jiǎn)的ISO/OSI 7 層參考模型,也就是以ISO 頒布的OSI 標(biāo)準(zhǔn)7 層參考模型為基礎(chǔ),對(duì)第3 層到第6層進(jìn)行了簡(jiǎn)化,這樣可以確保高效的數(shù)據(jù)傳輸?,F(xiàn)場(chǎng)總線協(xié)議的結(jié)構(gòu)一般包括物理層、數(shù)據(jù)鏈路層、應(yīng)用層和用戶接口。眾多現(xiàn)場(chǎng)總線并存的局面使得開(kāi)發(fā)適應(yīng)所有現(xiàn)場(chǎng)總線的產(chǎn)品是不經(jīng)濟(jì)的,也是不現(xiàn)實(shí)的?,F(xiàn)場(chǎng)總線的開(kāi)放性結(jié)構(gòu)決定了開(kāi)發(fā)現(xiàn)場(chǎng)總線通信適配器(協(xié)議轉(zhuǎn)換器/網(wǎng)關(guān))是可行的。
現(xiàn)場(chǎng)總線通信適配器能夠把從一種現(xiàn)場(chǎng)總線設(shè)備發(fā)送來(lái)的數(shù)據(jù)在不同的協(xié)議層解包, 得到用戶數(shù)據(jù), 然后再按照另一現(xiàn)場(chǎng)總線協(xié)議逐層打包, 最后發(fā)送到該現(xiàn)場(chǎng)總線設(shè)備上的一種協(xié)議轉(zhuǎn)換器。通信適配器使得不同的總線協(xié)議可以互連互通,在不同現(xiàn)場(chǎng)總線網(wǎng)絡(luò)之間建立一條連接通道,從而實(shí)現(xiàn)不同網(wǎng)絡(luò)用戶間數(shù)據(jù)的交換。由于大多數(shù)的現(xiàn)場(chǎng)總線都采用主從式的總線機(jī)制,因此現(xiàn)場(chǎng)總線通信適配器通常是一類現(xiàn)場(chǎng)總線的主站,同時(shí)又是另一類現(xiàn)場(chǎng)總線的從站。
一、協(xié)議結(jié)構(gòu)分析與通信模型
1.1 DeviceNet與Modbus協(xié)議結(jié)構(gòu)分析
1) DeviceNet協(xié)議分析
DeviceNet是一種基于控制器局部網(wǎng)(CAN)技術(shù)的設(shè)備級(jí)底層網(wǎng)絡(luò),采用CAN的物理層和數(shù)據(jù)鏈路層規(guī)約。CAN協(xié)議規(guī)定了OSI模型中物理層和數(shù)據(jù)層的一部分。DeviceNet使用帶有主干和分支線的線性網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),最多可以連接 64個(gè)節(jié)點(diǎn),使用點(diǎn)對(duì)點(diǎn)、多主或主/從通信方式;采用無(wú)破壞性的逐位仲裁技術(shù)。DeviceNet的網(wǎng)絡(luò)結(jié)構(gòu)分為物理層、數(shù)據(jù)鏈路層和應(yīng)用層。DeviceNet沿用了CAN協(xié)議標(biāo)準(zhǔn)所規(guī)定的物理層和數(shù)據(jù)鏈路層,并補(bǔ)充定義了部分物理層和數(shù)據(jù)連路層,構(gòu)建了應(yīng)用層。DeviceNet協(xié)議分層結(jié)構(gòu)如圖1所示。
2)Modbus協(xié)議分析
Modbus總線適用于主從式控制,是工業(yè)串行通信事實(shí)上的標(biāo)準(zhǔn)。Modbus協(xié)議遵從主/從通信模式。Modbus總線網(wǎng)絡(luò)中的各個(gè)智能設(shè)備通過(guò)異步串行總線連接起來(lái),只允許一個(gè)控制器作為主站,其余智能設(shè)備作為從站。采用命令/應(yīng)答的通信方式,主站發(fā)出請(qǐng)求,從站應(yīng)答請(qǐng)求并返回?cái)?shù)據(jù)或狀態(tài)信息,從站不能夠自己發(fā)送信息。Modbus協(xié)議定義的各種信息幀格式,描述了主站控制器訪問(wèn)從站設(shè)備的過(guò)程,規(guī)定從站怎樣做出應(yīng)答響應(yīng),以及檢查和報(bào)告?zhèn)鬏斿e(cuò)誤等。網(wǎng)絡(luò)中的每個(gè)從設(shè)備都必須分配一個(gè)唯一的地址,只有符合地址要求的從設(shè)備才會(huì)響應(yīng)主設(shè)備發(fā)出的命令。
1.2通信適配器通信模型
DeviceNet協(xié)議和Modbus協(xié)議的數(shù)據(jù)鏈路層和應(yīng)用層用戶接口完全不同, 是兩個(gè)異構(gòu)的總線網(wǎng)絡(luò),要實(shí)現(xiàn)它們的互聯(lián),就需要現(xiàn)場(chǎng)總線通信適配器來(lái)完成協(xié)議轉(zhuǎn)換。
DeviceNet通信適配器要實(shí)現(xiàn)從Modbus協(xié)議至DeviceNet協(xié)議的轉(zhuǎn)換, 因此DeviceNet通信適配器必須同時(shí)實(shí)現(xiàn)Modbus主站功能與DeviceNet的從站功能。從DeviceNet至Modbus協(xié)議轉(zhuǎn)換的通信模型結(jié)構(gòu)如圖2。
圖2所示的是DeviceNet通信適配器協(xié)議轉(zhuǎn)換通信模型。DeviceNet通信適配器作為Modbus主站,向Modbus從站發(fā)出請(qǐng)求報(bào)文,在接收到Modbus從站響報(bào)文后解析報(bào)文并存儲(chǔ);當(dāng)DeviceNet主站發(fā)出請(qǐng)求報(bào)文后,DeviceNet通信適配器作為DeviceNet從站,接收DeviceNet請(qǐng)求報(bào)文并解析,根據(jù)Modbus從站響應(yīng)的數(shù)據(jù)返回DeiveNet響應(yīng)報(bào)文。
二、功能與設(shè)計(jì)
2.1通信適配器功能
DeviceNet通信適配器用于將具有Modbus接口的低壓電器設(shè)備接入DeviceNet總線,它向下通過(guò)Modbus RTU協(xié)議,RS-485串行接口與設(shè)備連接,向上通過(guò)DeviceNet接口接入DeviceNet總線。DeviceNet通信適配器主要功能:
① 協(xié)議轉(zhuǎn)換功能。在設(shè)備本體(帶有Modbus接口)和DeviceNet總線之間架起一座橋梁,使設(shè)備的采集數(shù)據(jù)可以以正確的格式和方式上傳給DeviceNet主站,并將DeviceNet主站的命令下傳給設(shè)備。這樣設(shè)備本體就不需要花費(fèi)大量的精力改變結(jié)構(gòu)和研究DeviceNet協(xié)議,協(xié)議轉(zhuǎn)換這部分工作由DeviceNet通信適配器來(lái)完成。
② 可配置功能??膳渲肕odbus從站地址、波特率、校驗(yàn)方式,并且可以根據(jù)需要來(lái)配置每一個(gè)Modbus RTU設(shè)備需要讀取或者寫入的寄存器數(shù)據(jù)。不同的設(shè)備,只要符合Modbus RTU協(xié)議,利用配置軟件配置好設(shè)備信息,就可通過(guò)DeviceNet通信適配器接入DeviceNet網(wǎng)絡(luò),DeviceNet通信適配器向下支持多個(gè)Modbus RTU從站設(shè)備。
③ 按鍵、顯示功能。按鍵可對(duì)DevicNet通信波特率、節(jié)點(diǎn)地址進(jìn)行設(shè)置;液晶顯示狀態(tài),包括DevicNet節(jié)點(diǎn)地址、波特率,Modbus節(jié)點(diǎn)地址、波特率等。
2.2通信適配器硬件設(shè)計(jì)
根據(jù)DeivceNet規(guī)范規(guī)定,網(wǎng)絡(luò)中任一設(shè)備都必須有接地隔離柵。根據(jù)隔離柵在節(jié)點(diǎn)內(nèi)部還是外部,分為隔離節(jié)點(diǎn)和非隔離節(jié)點(diǎn)。隔離節(jié)點(diǎn)根據(jù)隔離位置分為兩種,在物理層處進(jìn)行隔離的節(jié)點(diǎn)是具有隔離物理層的節(jié)點(diǎn),在I/O處隔離的節(jié)點(diǎn)是非隔離物理層的節(jié)點(diǎn)。
DeviceNet通信適配器設(shè)計(jì)采用在I/O處隔離的方式,是具有非隔離物理層的隔離節(jié)點(diǎn)。DeviceNet通信適配器的硬件結(jié)構(gòu)見(jiàn)圖3。包括誤接線保護(hù)電路、DC-DC電路、隔離電路、液晶段碼電路、微處理器、485收發(fā)器、CAN收發(fā)器、按鍵、指示燈等。
DeviceNet網(wǎng)絡(luò)電壓為24V,而DeviceNet通信適配器內(nèi)部工作電壓為5V和3.3V,電源電路選用TPS5430將24V電壓轉(zhuǎn)換為5V電壓,采用LDO芯片SPX1117M3-3.3V將5V降為3.3V。微處理器選用Silicon公司的C8051F500,該MCU具有8051內(nèi)核微控制器,集成CAN2.0B控制器。DeviceNet協(xié)議的物理層采用CAN通信方式,選用PCA82C2501作為CAN收發(fā)器。在Modbus通信端使用RS-485接口,選用AD公司485收發(fā)器ADM2483,它是帶隔離的增強(qiáng)型RS-485收發(fā)器。
2.3通信適配器軟件設(shè)計(jì)
DeviceNet通信適配器按照DeviceNet協(xié)議和CIP協(xié)議上關(guān)于設(shè)備狀態(tài)轉(zhuǎn)換機(jī)制的要求進(jìn)行軟件設(shè)計(jì),設(shè)備共有6種狀態(tài):不存在、設(shè)備自檢、待機(jī)、可操作、重要可恢復(fù)故障、重要不可恢復(fù)故障。DeviceNet通信適配器的狀態(tài)轉(zhuǎn)換機(jī)制如圖4所示。
主程序上電運(yùn)行之后會(huì)先初始化MCU,接著讀取FLASH中的數(shù)據(jù),創(chuàng)建ModbusRTU通信表,初始化DeviceNet通信參數(shù)表,然后通信適配器進(jìn)入設(shè)備自檢,設(shè)備自檢失敗進(jìn)入重要不可恢復(fù)故障狀態(tài),自檢通過(guò)后會(huì)檢查工作模式,若為配置節(jié)點(diǎn)地址/波特率模式,可通過(guò)按鍵修改DeviceNet節(jié)點(diǎn)地址和波特率;若為上位機(jī)配置模式,可通過(guò)RS485接口與上位機(jī)配置軟件通信,獲取適配器的參數(shù);若為運(yùn)行模式,在適配器與主站建立連接后,會(huì)掃描報(bào)文請(qǐng)求應(yīng)用程序,如當(dāng)前為顯式信息請(qǐng)求,根據(jù)顯式信息的服務(wù)代碼去讀/寫Modbus報(bào)文,更新DeivceNet顯式報(bào)文緩沖區(qū),向主站發(fā)送DeviceNet響應(yīng)信息;如為I/O信息請(qǐng)求(定時(shí)器觸發(fā)),運(yùn)行配置在適配器里的周期性Modbus報(bào)文,更新DeviceNet I/O報(bào)文緩沖區(qū)。執(zhí)行完報(bào)文請(qǐng)求應(yīng)用程序,會(huì)掃描按鍵程序,至此,運(yùn)行模式的處理程序結(jié)束,判斷故障,若有故障進(jìn)入故障處理,接著回到設(shè)備自檢通過(guò)的位置,開(kāi)啟下一個(gè)循環(huán)。
三、測(cè)試與運(yùn)行
為了保證連接在DeviceNet網(wǎng)絡(luò)上的設(shè)備能互相通訊和互相操作,DeviceNet設(shè)備需要進(jìn)行一致性測(cè)試,DeviceNet國(guó)際組織ODVA(Open DeviceNet Vendor Association)開(kāi)發(fā)了DeviceNet設(shè)備的一致性測(cè)試。DeviceNet通信適配器在我司根據(jù)ODVA一致性測(cè)試規(guī)范搭建DeviceNet一致性測(cè)試平臺(tái)上按照ODVA頒布的測(cè)試政策和一致性測(cè)試版本,對(duì) DeviceNet通信適配器進(jìn)行了一致性測(cè)試,包括協(xié)議一致性測(cè)試、物理層測(cè)試和互操作性測(cè)試,見(jiàn)圖5。
DeviceNet通信適配器通過(guò)一致性測(cè)試后,對(duì)其進(jìn)了長(zhǎng)時(shí)間的試運(yùn)行試驗(yàn)。DeviceNet通信適配器將帶Modbus接口的智能低壓電器接入到DeviceNet平臺(tái)中。經(jīng)過(guò)長(zhǎng)期試運(yùn)行,DeviceNet通信適配器的軟、硬件及通信功能均運(yùn)行正常。
四、總結(jié)
現(xiàn)場(chǎng)總線協(xié)議轉(zhuǎn)換技術(shù)可以集成不同種類的現(xiàn)場(chǎng)總線設(shè)備。DeviceNet通信適配器能將Modbus接口的低壓電器設(shè)備接入DeviceNet網(wǎng)絡(luò),不僅可以應(yīng)用在低壓電器領(lǐng)域,還可以應(yīng)用于智能配電系統(tǒng)、智能電網(wǎng)用戶端系統(tǒng)、工業(yè)自動(dòng)化等領(lǐng)域。本文提到的DeviceNet通信適配器的原理與設(shè)計(jì)實(shí)現(xiàn)也可為其它種類現(xiàn)場(chǎng)總線通信適配器的研究和開(kāi)發(fā)提供借鑒和參考。
參 考 文 獻(xiàn)
[1] 吳新忠,喬宏穎,任子輝.現(xiàn)場(chǎng)總線技術(shù)綜述. 工礦自動(dòng)化,2004,(1):23-25.
[2] 武長(zhǎng)坤,戴瑜興.DeviceNet現(xiàn)場(chǎng)總線及其應(yīng)用.低壓電器,2004,(7):31-33,61.
[3] 方彥軍,胥軍.現(xiàn)場(chǎng)總線協(xié)議轉(zhuǎn)換方法研究及其網(wǎng)關(guān)開(kāi)發(fā).2005中國(guó)控制與決策學(xué)術(shù)年會(huì)論文集,1373-1376.
[4] 阮于東,劉健,季慧玉等.GB/T 18858.3-2002,低壓開(kāi)關(guān)設(shè)備和控制設(shè)備 控制器--設(shè)備接口(CDI) 第3部分:DeviceNet.北京:中國(guó)標(biāo)準(zhǔn)出版社,2003.
[5] 劉健,阮于東,季慧玉等.JB/T 10709-2007,低壓電器通信適配器.北京:機(jī)械工業(yè)出版社,2007.