1 引言
流量計廣泛用于現(xiàn)代工業(yè)測控對流體計量,流量計的遠(yuǎn)程監(jiān)測和數(shù)據(jù)集中管理是現(xiàn)代流量計遠(yuǎn)程網(wǎng)絡(luò)化、測量自動化的發(fā)展趨勢[1]。MODEM(調(diào)制解調(diào)器)是遠(yuǎn)程通信方式之一,利用工廠、企業(yè)內(nèi)部或者公用電話交換機(jī)網(wǎng)絡(luò)(Public Switched Telephone Network, PSTN)實(shí)現(xiàn)計算機(jī)之間或中央控制室計算機(jī)與工業(yè)現(xiàn)場嵌入式系統(tǒng)之間進(jìn)行遠(yuǎn)距離數(shù)據(jù)傳輸。這種通信方式不受地點(diǎn)和時間的限制,而且傳輸數(shù)據(jù)完全、經(jīng)濟(jì)、方便,不用另外布線。因此,現(xiàn)代工業(yè)遠(yuǎn)距離測控傳輸中使用較多。
遠(yuǎn)程流量計量系統(tǒng)一般由流量計、下位機(jī)數(shù)據(jù)傳輸系統(tǒng)、通信介質(zhì)和PC機(jī)構(gòu)成,現(xiàn)有流量計的數(shù)據(jù)輸出一般有串口和4~20mA模擬信號兩種形式。由于輸出的信號前者為數(shù)字量,后者為模擬量,因此,其數(shù)據(jù)傳輸系統(tǒng)的設(shè)計原理不同,分別針對這兩種數(shù)據(jù)輸出形式,結(jié)合MODEM遠(yuǎn)程通信的優(yōu)點(diǎn)和單片機(jī)現(xiàn)場采集數(shù)據(jù)的方便性、實(shí)用性設(shè)計性價比較高的遠(yuǎn)程流量計量系統(tǒng),尤其是合理設(shè)計下位機(jī)硬件系統(tǒng)、軟件系統(tǒng)和有效采取抗干擾的硬件和軟件措施是實(shí)現(xiàn)整個系統(tǒng)功能的關(guān)鍵與核心技術(shù)。
單片機(jī)現(xiàn)場采集和發(fā)送各流量測量節(jié)點(diǎn)的實(shí)時數(shù)據(jù)。流量測量節(jié)點(diǎn)分布管網(wǎng)圖設(shè)計成用戶界面,通過上位機(jī)可以很方便地?fù)芡ǚ峙浣o各個測量節(jié)點(diǎn)流量計的電話號碼,即可實(shí)現(xiàn)數(shù)據(jù)的適時顯示和集中管理,實(shí)際應(yīng)用表明系統(tǒng)性價比高,下位機(jī)工作穩(wěn)定可靠,上位機(jī)能實(shí)時、準(zhǔn)確顯示流量計數(shù)據(jù)。因此,系統(tǒng)的設(shè)計具有一定的技術(shù)創(chuàng)新意義和較大的實(shí)用價值
2 系統(tǒng)總體設(shè)計
遠(yuǎn)程流量計量系統(tǒng)實(shí)現(xiàn)遠(yuǎn)程流量計的實(shí)時監(jiān)測控制和數(shù)據(jù)傳輸,對系統(tǒng)運(yùn)行的重要參數(shù)和各節(jié)點(diǎn)實(shí)時數(shù)據(jù)進(jìn)行直觀地顯示。為了提高系統(tǒng)數(shù)據(jù)傳輸速度和增大傳輸距離,提高系統(tǒng)的抗干擾能力和測控精度,本設(shè)計通過公用電話網(wǎng),由中心計算機(jī)(上位機(jī),PC)、調(diào)制解調(diào)器(MODEM)、單片機(jī)(下位機(jī))以及各流量測量點(diǎn)的流量計組建成遠(yuǎn)程流量計量系統(tǒng)。圖1系統(tǒng)總體設(shè)計原理框圖,系統(tǒng)采用兩級控制結(jié)構(gòu):第一級為直接控制級,即單片機(jī)對遠(yuǎn)程流量計的數(shù)據(jù)(如:壓力、溫度、瞬時流量和累積流量等)進(jìn)行實(shí)時采集;第二級為過程管理級,即用一臺普通PC機(jī)來實(shí)現(xiàn),主要實(shí)現(xiàn)對各流量計參數(shù)和測量數(shù)據(jù)的管理和實(shí)時顯示,并且可以根據(jù)實(shí)際需要進(jìn)行系統(tǒng)的調(diào)整和擴(kuò)展,所以上位機(jī)的監(jiān)測軟件包括通信模塊、數(shù)據(jù)庫模塊和用戶界面三部分。
圖1 系統(tǒng)原理框圖
遠(yuǎn)程流量計測量位置較分散,可以將各流量計的分布情況顯示在上位機(jī)上,每個流量計用Command控件表示,并且代表一個電話號碼,構(gòu)成所有流量計的分布示意圖。通過上位機(jī)多點(diǎn)撥號的方式,對應(yīng)的流量計數(shù)據(jù)經(jīng)過對應(yīng)的下位機(jī)電平轉(zhuǎn)換,傳入對應(yīng)的MODEM,再經(jīng)過公用電話網(wǎng)從PC/MODEM適配卡傳入上位機(jī)。
3 下位機(jī)硬件、軟件設(shè)計
根據(jù)現(xiàn)有流量計的使用狀況和數(shù)據(jù)輸出模式,一般數(shù)據(jù)輸入/輸出方式主要由:并行、串行和4~20mA電流模擬信號。本系統(tǒng)針對后兩種數(shù)據(jù)輸入/輸出方式分別對下位機(jī)的軟、硬件進(jìn)行設(shè)計。下位機(jī)的數(shù)據(jù)收發(fā)與控制器選用PIC16F877單片機(jī)。
3.1 下位機(jī)與流量計的串行通信
圖2為下位機(jī)與流量計之間采用串行通信方式時的電路原理圖。上位機(jī)撥通測量節(jié)點(diǎn)流量計的電話號碼,相應(yīng)節(jié)點(diǎn)的MODEM相應(yīng),數(shù)據(jù)傳送至下位機(jī)的MODEM(提供標(biāo)準(zhǔn)的RS-232接口),經(jīng)RS-232/485電平轉(zhuǎn)換器進(jìn)行電平轉(zhuǎn)換,PIC16F877控制MAX485進(jìn)行數(shù)據(jù)收發(fā)。PIC的同步/異步收發(fā)模塊USART(25腳RC6/TX/CK和26腳RC7/RX/DT)接收來自流量計經(jīng)電平轉(zhuǎn)換的數(shù)據(jù)反向傳輸給上位機(jī)。圖3是PIC與流量計之間采用串行通信方式時的流程圖。
圖2單片機(jī)與流量計之間采用串行通信方式的原理圖
3.2 流量計采用4~20mA模擬信號輸出
當(dāng)流量計的輸出為4~20mA模擬信號時,采用如圖4所示的電路結(jié)構(gòu),流量計數(shù)據(jù)以4~20mA電流信號輸出經(jīng)過一個250Ω的標(biāo)準(zhǔn)電阻R1轉(zhuǎn)換為電壓信號,電壓量經(jīng)A/D轉(zhuǎn)換器ADS1202進(jìn)行A/D轉(zhuǎn)換成數(shù)字量進(jìn)入PIC16F877,由單片機(jī)的USART模塊發(fā)送給MAX232傳輸?shù)诫娫捑€。
4 系統(tǒng)抗干擾措施
根據(jù)實(shí)際經(jīng)驗(yàn)和現(xiàn)場使用情況,提高下位機(jī)系統(tǒng)的抗干擾能力是整個系統(tǒng)穩(wěn)定、可靠工作的主要保證,所以,以下重點(diǎn)從下位機(jī)硬件系統(tǒng)的干擾源和軟件系統(tǒng)兩方面介紹保證系統(tǒng)可靠工作的有效措施。
4.1 硬件系統(tǒng)抗干擾措施
解決好電路板本身的問題是提高系統(tǒng)抗干擾能力的基本措施,如元器件的選擇,線路布線以減少分布電阻和壓降、降低耦合噪聲、減少高頻噪聲發(fā)射、降低感應(yīng)噪聲,減少IC插座數(shù)量。除此之外,還應(yīng)采取如下抗干擾措施:
(1)系統(tǒng)接地的抗干擾設(shè)計
圖3 PIC16F877與流量計之間串行通信的流程圖
圖4 流量計采用4~20mA模擬輸出時的通信電路
制作PCB板時可以采用增加一層地線層的三層板,地線層覆蓋的面積應(yīng)盡可能大,使高頻器件的地直接通過過孔與地線層連接,使地線與信號線不并行排列,從而可以減少感應(yīng)和輻射,數(shù)字地與系統(tǒng)安全地只在一點(diǎn)相連,以免在地線之間形成回路。(2)消除電源的尖峰干擾
尖峰干擾是從交流電網(wǎng)串入電源系統(tǒng)的干擾信號。消除尖峰干擾的基本方法是為單片機(jī)系統(tǒng)的電源加上濾波電容。即在電源的輸入端并聯(lián)兩個電容進(jìn)行濾波和去耦,其中大容量的電容負(fù)責(zé)過濾除低頻干擾,而小容量的電容負(fù)責(zé)過濾高頻干擾。
(3)濾除晶振振蕩信號中的高頻噪聲
為了保證系統(tǒng)能夠得到理想的時鐘脈沖,應(yīng)采取如下措施:選取性能穩(wěn)定、溫漂較小的晶振片;晶振片的安裝位置應(yīng)盡量靠近單片機(jī)芯片,以減少振蕩脈沖信號傳輸?shù)木嚯x;在晶振片的兩端連接高頻濾波電容;必要時在振蕩器上加一個屏蔽罩,并將屏蔽體與安全地在一點(diǎn)上連接。
另外,將強(qiáng)信號和弱信號分開走線;芯片未使用的輸入端接地或接高電平,而不懸空;在信號上接上上拉電阻(如圖4中的R2和R3)。
4.2 軟件抗干擾措施
完善的軟件設(shè)計對硬件系統(tǒng)的抗干擾措施起補(bǔ)充作用,如設(shè)置自檢程序、設(shè)置軟件陷阱、采用軟件冗余技術(shù)等。
(1)設(shè)置自檢程序
在程序的特定部位或某些內(nèi)存單元設(shè)置標(biāo)志,在運(yùn)行中不斷進(jìn)行循環(huán)測試,以保證系統(tǒng)中信息存儲、傳輸、運(yùn)算的高可靠性。在上位機(jī)的軟件系統(tǒng)中,每次從遠(yuǎn)程節(jié)點(diǎn)讀取信息時,都要測試通信線路的連通性。如果線路是維持連通的,則直接讀取數(shù)據(jù);如果線路已斷開連接,則需要重新?lián)芴柦⑦B接后再讀取數(shù)據(jù)。
(2)設(shè)置軟件陷阱
為避免程序運(yùn)行中跑飛,使用PIC單片機(jī)的GOTO指令強(qiáng)行使程序跳轉(zhuǎn)到系統(tǒng)復(fù)位后的主程序入口處,可以在系統(tǒng)的程序存儲器的空閑區(qū)或未使用的中斷區(qū)域設(shè)置陷阱。但是方法對于程序指針進(jìn)入數(shù)據(jù)區(qū)而導(dǎo)致的混亂無能為力,這種情況要使用看門狗電路加以解決。
(3)軟件冗余
在影響程序流向的關(guān)鍵語句前面加上幾條空操作NOP指令,以確保程序中關(guān)鍵語句的執(zhí)行時系統(tǒng)信號的穩(wěn)定。
5 結(jié)束語
基于MODEM和PSTN設(shè)計的遠(yuǎn)程流量計量系統(tǒng),是MODEM遠(yuǎn)程通信技術(shù)對遠(yuǎn)程流量計量的一種創(chuàng)新應(yīng)用,尤其是下位機(jī)的軟件設(shè)計是該系統(tǒng)的核心技術(shù)和知識產(chǎn)權(quán)。