蔡 祥,江 冰
(河海大學(xué) 常州校區(qū)計(jì)算機(jī)與信息學(xué)院,江蘇 常州 213022)
在工業(yè)生產(chǎn)中,為檢驗(yàn)產(chǎn)品在實(shí)際工作狀態(tài)下的電氣安全性能,必須進(jìn)行交/直流耐壓試驗(yàn)、絕緣電阻測(cè)量、泄漏電流測(cè)量、接地電阻測(cè)量等電氣測(cè)試。目前市場(chǎng)上所見的耐壓測(cè)試儀采用GB4706(等同IEC1010)標(biāo)準(zhǔn),使用較多的是臺(tái)式結(jié)構(gòu)的單項(xiàng)測(cè)試指標(biāo)測(cè)試儀器,不能滿足用戶同時(shí)進(jìn)行多指標(biāo)綜合測(cè)試的需求,因此設(shè)計(jì)符合用戶需求能夠進(jìn)行多指標(biāo)綜合測(cè)試的測(cè)試系統(tǒng)網(wǎng)絡(luò)具有重要意義。由于在實(shí)際測(cè)量環(huán)境中存在高壓等復(fù)雜電磁環(huán)境,因此系統(tǒng)排除了易受干擾的無(wú)線網(wǎng)絡(luò)組網(wǎng)方案,采用了基于RS485的有線組網(wǎng)方案?;赗S485組建的半雙工網(wǎng)絡(luò)具有傳輸可靠、通訊距離遠(yuǎn)、抗干擾能力強(qiáng)等優(yōu)點(diǎn),能夠滿足系統(tǒng)的設(shè)計(jì)需求。
圖1是測(cè)試系統(tǒng)的硬件設(shè)計(jì)方案框圖。系統(tǒng)由PC機(jī)、中控機(jī)和各組測(cè)試設(shè)備組成。PC機(jī)與中控機(jī)通過232聯(lián)機(jī),操作員在PC機(jī)上通過上位機(jī)軟件設(shè)置工作參數(shù)、并通過觀察窗口實(shí)時(shí)觀察各組測(cè)試設(shè)備的工作情況,在PC機(jī)和中控機(jī)無(wú)法直接相連時(shí)通過USB存儲(chǔ)設(shè)備向中控機(jī)傳遞參數(shù)和數(shù)據(jù),PC機(jī)上位機(jī)軟件可以將各種數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中。下位機(jī)是多臺(tái)帶有485接口芯片的程控耐壓絕緣測(cè)試設(shè)備,下位機(jī)通過485總線[1]與中控機(jī)聯(lián)機(jī)組成半雙工網(wǎng)絡(luò)[2],中控機(jī)通過485總線直接控制各組測(cè)試設(shè)備,操作人員可以通過中控機(jī)設(shè)置工作參數(shù),同時(shí)通過液晶屏實(shí)時(shí)觀察測(cè)試設(shè)備的工作狀態(tài),并通過外接U盤保存測(cè)量數(shù)據(jù)。用于聯(lián)機(jī)的電纜使用普通的雙絞線,也可以使用具有較好電磁兼容性能的屏蔽雙絞線以增加網(wǎng)絡(luò)的抗干擾性。
圖1 基于485網(wǎng)絡(luò)的耐壓絕緣測(cè)試系統(tǒng)框
圖2是程控耐壓絕緣測(cè)試設(shè)備原理圖,圖3是耐壓絕緣測(cè)試系統(tǒng)中控機(jī)原理圖。測(cè)試設(shè)備和中控機(jī)的CPU均采用了Cygnal公司的一種混合信號(hào)系統(tǒng)級(jí)高速單片機(jī)C8051F020芯片[3]。芯片內(nèi)有兩個(gè)獨(dú)立的 UART 串行接口分別實(shí)現(xiàn) 232通信和485通信。C8051F020單片機(jī)比一般的51單片機(jī)增加了許多功能,同時(shí)其可靠性和速度也有很大提高。
圖2 程控耐壓絕緣測(cè)試設(shè)備原理
串行接口 RS485[4]采用了 Maxim公司一種 RS-485芯片MAX485。MAX485是用于RS-485的低功耗收發(fā)器,在器件中具有一個(gè)驅(qū)動(dòng)器和一個(gè)接收器。MAX485的驅(qū)動(dòng)器擺率不受限制,可以實(shí)現(xiàn)最高 2.5 Mb/s的傳輸速率。在一條總線上最多可掛接32臺(tái)收發(fā)器。
圖3 耐壓絕緣測(cè)試系統(tǒng)中控機(jī)原理
系統(tǒng)中控機(jī)和下位機(jī)多臺(tái)測(cè)試設(shè)備之間建立485通信網(wǎng)絡(luò),但 485串行通信標(biāo)準(zhǔn)只規(guī)定定義了電壓,阻抗等,沒用對(duì)軟件通信協(xié)議給予定義。目前在工業(yè)控制[5]中常用的通用工業(yè)標(biāo)準(zhǔn)是Modbus標(biāo)準(zhǔn)通信協(xié)議。Modbus標(biāo)準(zhǔn)通信協(xié)議可以將基于它的不同廠商的控制設(shè)備連成工業(yè)網(wǎng)絡(luò)。而使用標(biāo)準(zhǔn)通信協(xié)議設(shè)計(jì)復(fù)雜度和成本均要提高,并不適用項(xiàng)目中搭建的測(cè)試系統(tǒng)。因此系統(tǒng)參考OSI模型設(shè)計(jì)了實(shí)現(xiàn)簡(jiǎn)單能可靠傳輸?shù)耐ㄐ艆f(xié)議[6]。
在開放系統(tǒng)互連(OSI,Open System Interconnection)七層模型中,層次化的結(jié)構(gòu)模型使不同的系統(tǒng)不同的網(wǎng)絡(luò)之間實(shí)現(xiàn)可靠通信,在測(cè)試系統(tǒng)設(shè)計(jì)中規(guī)定:傳輸?shù)臄?shù)據(jù)量較小時(shí),對(duì)傳輸錯(cuò)誤的信息采取重發(fā);傳輸?shù)男畔⒂蓽y(cè)量參數(shù)組成,不需要進(jìn)行額外的編譯碼和加密過程;數(shù)據(jù)的傳輸只傳輸一個(gè)數(shù)據(jù)包,因此不考慮傳輸層、會(huì)話層、表示層協(xié)議。應(yīng)用層協(xié)議根據(jù)系統(tǒng)功能需求編寫,系統(tǒng)中物理層協(xié)議由485標(biāo)準(zhǔn)接口協(xié)議實(shí)現(xiàn)。
由上述分析可以獲得如圖4所示的OSI簡(jiǎn)化模型,根據(jù)簡(jiǎn)化的通信系統(tǒng)模型,可以編寫出簡(jiǎn)單易實(shí)現(xiàn)的通信協(xié)議。MAX485芯片的性能使系統(tǒng)中的組網(wǎng)設(shè)備連接數(shù)限制在32以內(nèi),因此在系統(tǒng)的通信協(xié)議中網(wǎng)絡(luò)層即地址位只需要設(shè)置成一位。
表1是根據(jù)OSI簡(jiǎn)化模型編寫的通信協(xié)議,該協(xié)議由起始位、地址、數(shù)據(jù)位、校驗(yàn)位和結(jié)束位組成。當(dāng)接收端接收到起始字符時(shí),接收過程開始,當(dāng)接收端接收到結(jié)束字符時(shí),一次接收過程完成。
圖4 OSI簡(jiǎn)化模型
表1 基于四層OSI模型的通信協(xié)議
在該通信協(xié)議下,發(fā)送數(shù)據(jù)必須避免與起始字符和結(jié)束字符相同,解決辦法是采用增加起始位和結(jié)束位長(zhǎng)度的方法,以減小沖突誤判可能,但在這種情況下依然有很小概率產(chǎn)生沖突誤判。另一種解決方案采用在高級(jí)數(shù)據(jù)鏈路控制協(xié)議中能實(shí)現(xiàn)透明傳輸?shù)摹?比特插入法”,但該方法會(huì)增加數(shù)據(jù)傳輸量,在最壞情況下會(huì)增加一倍數(shù)據(jù)傳輸量[7]。
以上兩種方案均存在不足,因此系統(tǒng)對(duì)表1中的通信協(xié)議進(jìn)行了改進(jìn),在數(shù)據(jù)接收的起始位和結(jié)束位增加判斷條件,判斷的依據(jù)是起始位和結(jié)束位在本幀數(shù)據(jù)中的實(shí)際位置,實(shí)現(xiàn)方法是在起始位后增加數(shù)據(jù)長(zhǎng)度位,用一個(gè)字節(jié)表示。如表2所示。
表2 基于四層OSI模型改進(jìn)的通信協(xié)議
協(xié)議中數(shù)據(jù)長(zhǎng)度位包括了在通信過程中發(fā)送的數(shù)據(jù)總長(zhǎng)度,假設(shè)數(shù)據(jù)長(zhǎng)度為N,則起始位是第1個(gè)字符,結(jié)束位是第N個(gè)字符,當(dāng)接收端接收到起始位字符并且該字符是第1位時(shí),判斷一次數(shù)據(jù)接收開始,當(dāng)接收端接收到結(jié)束字符并且該字符是第N位時(shí),判斷一次數(shù)據(jù)接收結(jié)束。在應(yīng)用中,實(shí)際每次傳送的數(shù)據(jù)總長(zhǎng)度不超過251位,不會(huì)產(chǎn)生數(shù)據(jù)分段傳輸?shù)默F(xiàn)象,新的協(xié)議不會(huì)產(chǎn)生誤判,數(shù)據(jù)傳輸量只增加一位,能實(shí)現(xiàn)數(shù)據(jù)的正確傳輸。
根據(jù)上節(jié)設(shè)計(jì)的通信協(xié)議,中控機(jī)和測(cè)試設(shè)備間可組成半雙工網(wǎng)絡(luò)。系統(tǒng)工作步驟如下:
①中控機(jī)通過 RS485網(wǎng)絡(luò)同時(shí)對(duì)多臺(tái)測(cè)試設(shè)備工作參數(shù)進(jìn)行設(shè)定;
②在中控機(jī)發(fā)送完參數(shù)后,測(cè)試設(shè)備根據(jù)本機(jī)所接收到的指令進(jìn)行應(yīng)答以及執(zhí)行操作指令,各測(cè)試設(shè)備在操作結(jié)束后向中控機(jī)返回結(jié)果;
③中控機(jī)將數(shù)據(jù)結(jié)果保存到存儲(chǔ)器中。系統(tǒng)工作流程如圖5所示。
圖5 耐壓絕緣測(cè)試系統(tǒng)控制流程
為方便用戶的操作,設(shè)計(jì)了人機(jī)交互軟件[8],軟件的主要功能是遠(yuǎn)程設(shè)置系統(tǒng)工作參數(shù),保存用戶歷史設(shè)置參數(shù),保存用戶操作記錄以及設(shè)備工作記錄。軟件的界面設(shè)計(jì)參照了原設(shè)備的界面,操作方便,易于掌握。軟件添加的數(shù)據(jù)庫(kù)功能可以將歷史數(shù)據(jù)和歷史參數(shù)保存,便于查詢對(duì)比。
圖6是參數(shù)設(shè)置界面,用戶可以輸入用于測(cè)試的相關(guān)參數(shù),同時(shí)可以在參數(shù)設(shè)置欄下讀取系統(tǒng)默認(rèn)的設(shè)置參數(shù),軟件在編寫時(shí)已經(jīng)將各參數(shù)值的范圍限定,因此用戶設(shè)定參數(shù)時(shí),系統(tǒng)默認(rèn)將超過范圍的值修改到指定范圍內(nèi),減少人為操作失誤。
圖6 演示系統(tǒng)參數(shù)設(shè)置界面
這里介紹了耐壓絕緣測(cè)試系統(tǒng)的工作原理,說明了基于485網(wǎng)絡(luò)的耐壓絕緣測(cè)試系統(tǒng)的設(shè)計(jì)方法,比較了幾種通信協(xié)議的設(shè)計(jì)方法,設(shè)計(jì)了適合該系統(tǒng)的通信協(xié)議,同時(shí)給出了中控機(jī)和下位機(jī)數(shù)據(jù)通信的流程圖。
系統(tǒng)設(shè)計(jì)滿足了當(dāng)前耐壓絕緣阻抗測(cè)試儀的升級(jí)需求,能有效解決測(cè)試的安全性問題,簡(jiǎn)化測(cè)試操作員的工作流程,具有相當(dāng)?shù)氖袌?chǎng)價(jià)值。
[1] 李正軍.現(xiàn)場(chǎng)總線及其應(yīng)用技術(shù)[M].北京:機(jī)械工業(yè)出版社,2005.
[2] 陳斌.基于RS-485的單片機(jī)多機(jī)通信技術(shù)[J].電子產(chǎn)品世界,2005(14):91-94.
[3] 童長(zhǎng)飛.C8051F系列單片機(jī)開發(fā)與C語(yǔ)言編程[M].北京:航空航天大學(xué)出版社,2005.
[4] RS422/485 Application Note.B&B Electr- onics,October 1997.[EB/OL](2009-07-16)[2010-08-11].http://download.csdn.net/s ource/1495291.
[5] 徐功偉,戴學(xué)豐,劉樹東,等.嵌入式以太網(wǎng)控制器設(shè)計(jì)[J].通信技術(shù),2009,42(05):183-187.
[6] 姚學(xué)禮.網(wǎng)絡(luò)通信協(xié)議一致性測(cè)試研究[J].通信技術(shù),2009,42(05):172-176.
[7] DRUMEA A, VASILE A.Aspects of Serial Communication in a Network of Medical Devices, Andrei Drumea[C].USA:IEEE,2006:377-381.
[8] 李廷軍,邱麗波,李衛(wèi)華,等.一種串口通信程序的設(shè)計(jì)[J].通信技術(shù),2003(07):84-85.