串行通信系統(tǒng)的抗干擾設(shè)計
電力系統(tǒng)運行的安全與否與系統(tǒng)當時的運行狀態(tài)有密切的關(guān)系,對于電力調(diào)度部門來說,如果能實時地全面掌握電力系統(tǒng)各部分的運行狀態(tài),進行遠程監(jiān)測,對保證系統(tǒng)的安全、穩(wěn)定、經(jīng)濟運行無疑具有十分重要的意義。電力遠程監(jiān)測一般采用串行方式進行通信,保證數(shù)據(jù)的可靠傳輸是其最重要的技術(shù)指標之一。由于工業(yè)現(xiàn)場的惡劣環(huán)境以及配電系統(tǒng)的遠距離傳輸,干擾是產(chǎn)生偶然性錯誤和影響整個系統(tǒng)可靠運行的主要原因。提高系統(tǒng)的抗干擾能力是電力遠程監(jiān)控的一個重要的研究方向。
系統(tǒng)概述
本系統(tǒng)是一個上下位機形式的工業(yè)配電測控系統(tǒng),根據(jù)功能需要,下位機選用了控制功能比較強大的研華IPC-610工業(yè)控制計算機(IPC: Industrial Personal Computer),其具有近二十個ISA插槽和PCI插槽的無源總線底板以及相應(yīng)的CPU板、I/O板等,可以將系統(tǒng)的各個模塊如A/D轉(zhuǎn)換、視頻采集、通信、I/O口輸入輸出等以插卡的形式像搭積木一樣組合起來,方便地擴展成一個復(fù)雜的控制系統(tǒng)。選用了兩塊PC-6313多功能模擬輸入/模擬輸出板卡,配接相應(yīng)的傳感器和執(zhí)行機構(gòu)來完成所承擔的工作。各下位機能夠根據(jù)需要對多路模擬量、開關(guān)量進行檢測和控制。本系統(tǒng)根據(jù)需要對64路模擬量(電壓、電流、功率因素、有功功率、無功功率等)和16路開關(guān)量(各出線開關(guān)分合閘狀態(tài)、補償電容器的狀態(tài)等)進行檢測,可以對16路開關(guān)量進行輸出控制(開關(guān)、電磁閥、繼電器)。其結(jié)構(gòu)框圖如圖1所示。
圖1 下位機系統(tǒng)框圖
上位機可選普通PC,也可根據(jù)系統(tǒng)使用環(huán)境,選擇和下位機一樣的IPC。上位機可以發(fā)出指令和任何一臺與之相連的下位機進行通信,收集各下位機傳送來的模擬量和開關(guān)量信息,進行相關(guān)的分析、匯總、報表生成等處理,并對各下位機子系統(tǒng)進行監(jiān)控和宏觀調(diào)度。
配電測控系統(tǒng)中,上下位機距離較遠,為提高系統(tǒng)的抗干擾能力,采用了RS-485串行通信總線標準。RS-485總線采用差分傳送,具有傳輸距離遠、接點多、連線少的特點,已成為分布式監(jiān)控系統(tǒng)中數(shù)據(jù)傳輸?shù)氖走x標準。IPC沒有RS-485接口,為此需配備RS-232/RS-485接口,本系統(tǒng)采用了泓格公司的7250/7521轉(zhuǎn)換器。其中,7521為具有嵌入式CPU的智能通信控制器,可減少系統(tǒng)編程量,提高系統(tǒng)的可靠性和實時性,本系統(tǒng)實際使用的是7521D模塊,7521D模塊上有5個七段數(shù)碼管,可以用程序控制它的亮滅,以監(jiān)視系統(tǒng)的運行。除此之外,7521D和7521功能一樣。后面介紹一律不再區(qū)分7521和7521D。
本系統(tǒng)通信模塊的連線示意圖如圖2所示,設(shè)計為1臺上位機控制8臺下位機,也可根據(jù)配電系統(tǒng)的實際需要進行擴充。
圖2 具有智能通信模塊的網(wǎng)絡(luò)連線示意圖
7521智能通信控制器簡介
7521功能簡介
7521是泓格公司的752N智能通信控制器中的一種,可支持一個RS-232設(shè)備。模塊內(nèi)嵌AMD公司的Am188TMES控制器,裝有MiniOS7嵌入式操作系統(tǒng)。可以為RS-485網(wǎng)絡(luò)的任何一個RS-232設(shè)備,分配一個唯一的地址。模塊內(nèi)含雙看門狗電路:一個硬件模塊看門狗和一個軟件主機看門狗,保護主機和7521模塊。同時其RS-485端具有3000V高壓隔離,可有效防止工業(yè)噪聲干擾。
7520模塊是一個普通的RS-232/RS-485電平轉(zhuǎn)換器,不具有智能通信功能。但其RS-485端同樣具有3000V高壓隔離。在此不再贅述。
7521工作模式
7521有兩種工作模式,一種是開發(fā)工作模式,一種是正常工作模式。
在開發(fā)模式時,把7521的COM1口(RS-232)接到PC的串口并通過設(shè)置好通信格式后,7521將把PC的鍵盤作為其標準的輸入,PC的顯示器作為其標準的輸出。在此方式下,可進行系統(tǒng)參數(shù)的配置和用戶程序的下載。
在正常工作模式時,7521將執(zhí)行由AUTOEXEC.EXE文件中指向的程序。作為智能通信控制器使用時,7521在其FLASH ROM中已經(jīng)預(yù)裝了兩個文件:AUTOEXEC.EXE和7521.EXE,開機后可由AUTOEXEC.EXE文件自動加載7521.EXE,從而完成智能通信的初始化配置。用戶也可下載自己的應(yīng)用程序到7521中以改變7521的功能。
7521模塊功能命令簡述
7521的命令分為主控計算機發(fā)送給模塊的命令和模塊收到命令后的響應(yīng)兩部分。
發(fā)送部分的命令格式:(前導(dǎo)字符)(地址)(CHK)(CR),各項分別解釋如下。
①(前導(dǎo)字符):1個字節(jié),表明命令的類型。模塊的控制命令通常被分成幾個不同的類型,通過前導(dǎo)字符使用一些特殊字符,如$、#、~等進行分類。
②(地址):兩個字節(jié),表示命令將送至的模塊。地址范圍為00~FF,因此有256個地址。
③(命令):1個或多個字節(jié),指定模塊執(zhí)行的命令。這些命令通常使用不同的數(shù)字來表示不同的功能。
④(CHK):冗余校驗和(CheckSum),使用程序?qū)⑺袀鬏數(shù)淖址贏SCII對照碼中的地址數(shù)值相加,保留最后的一個字節(jié),拆成前后兩個字符做為校驗值。
⑤(CR):Enter鍵,VB中為vbCr,表示命令的結(jié)束。
7521收到命令后,多數(shù)情況下會返回給主機一個響應(yīng)字符串。該響應(yīng)字符串格式:(前導(dǎo)字符)(地址)(數(shù)據(jù))(CHK)(CR)
響應(yīng)字符串(數(shù)據(jù))只與命令字符串格式不同,其余部分均相同。數(shù)據(jù)部分要根據(jù)具體的命令解釋。
7521有30個實用命令,提供了較為完善的驅(qū)動程序。用戶無須自己編寫通信協(xié)議,只需按操作手冊在主站計算機上安裝好7521.exe及相關(guān)檔案文件,正確連接計算機和7521模塊,初始化后即可以開始工作。
上下位機通信系統(tǒng)抗干擾設(shè)計
雖然RS-485總線標準具有較強的抗干擾能力,但在實際使用過程中,由于現(xiàn)場環(huán)境的惡劣、電磁干擾等情況,仍然會影響通信的可靠性,最典型的問題便是數(shù)據(jù)傳輸出現(xiàn)誤碼,嚴重的可能出現(xiàn)死機。因此,采取必要的提高可靠性和抗干擾能力的措施是十分重要的。在本系統(tǒng)中,從硬件線路和軟件設(shè)計兩方面進行了抗干擾設(shè)計。
系統(tǒng)通信硬件抗干擾措施
在硬件線路上,主要是從隔離、接口標準及布線等方面加以考慮:
(1)本系統(tǒng)的RS-485接口是采用平衡驅(qū)動器和差分接收器的組合,同時采用屏蔽的雙絞線,抗噪聲干擾性能較好。
(2)通信過程中,由于阻抗不連續(xù)和阻抗不匹配,可能會導(dǎo)致信號反射,影響信號的傳輸距離。雙絞線的特性阻抗一般在110~130Ω之間,本系統(tǒng)在傳輸線末端接了一個120Ω的匹配阻抗以消除信號反射。
(3)本系統(tǒng)選用的7520/7521都是具有3000V隔離的RS-232/RS-485轉(zhuǎn)換接口,如圖3所示。
圖3 7520/7521模塊內(nèi)部電路示意圖
由圖3可看出,RS-485端和電源端同處一個區(qū)域,RS-485端使用的是接入電源。RS-232端則是模塊內(nèi)部經(jīng)轉(zhuǎn)換后的電源,電源在轉(zhuǎn)換前后有3000V的隔離措施。由于噪聲的來源大多來自電源端,強大的噪聲會循著電源線進入模塊內(nèi)部,但只要此干擾在保護范圍內(nèi),即可保證RS-232端的設(shè)備不被損壞,從而達到保護主控計算機的目的。
7521的保護原理和7520一樣,可以保護下位計算機不受RS-485網(wǎng)絡(luò)中的噪聲干擾。
系統(tǒng)通信軟件抗干擾措施
在實際系統(tǒng)設(shè)計中,要保證數(shù)據(jù)傳輸?shù)目煽啃?,離不開硬件和軟件的協(xié)調(diào)工作。為保證數(shù)據(jù)傳輸?shù)臏蚀_性,在軟件設(shè)計時也必須采取一定的措施。
(1)7521智能通信控制器具有CheckSum校驗功能。在數(shù)據(jù)傳輸過程中采用累加和校驗方式,可大大降低了數(shù)據(jù)傳輸出錯率。CheckSum的計算方法如圖4和圖5所示。
圖4 輸出命令時的累加和校驗流程
圖5 檢查返回結(jié)果的累加和校驗流程
例如發(fā)送的命令字符串是$012[Enter],分別將前導(dǎo)字符($)、地址(01)、命令(2)三者的ASCII值相加,結(jié)果如下:
CheckSum=0×24+0×30+0×31+0×32=0×B7
結(jié)果最后的兩個字符為“B”和“7”,將它們并在發(fā)送命令的后面、[Enter]的前面,最后發(fā)送的字符串為$012B7[Enter],如此就完成了一個帶有CheckSum的命令字符串。
當主機使用CheckSum的方式將命令發(fā)送時,必須先行計算此CheckSum的數(shù)值,接收到命令的模塊也會將所接收到的字符串再進行一次CheckSum的計算,當二者的結(jié)果一致時,此次的傳輸便被認為是正確的;如果二者的結(jié)果不一致時,模塊會返回相應(yīng)的錯誤信息。
同樣的,主機在CheckSum激活的情況下接收模塊返回的字符串時,也必須對Checksum的值進行校驗,以確認傳輸過程的正確性。
7521出廠設(shè)置為不激活CheckSum。為了保證數(shù)據(jù)傳輸?shù)恼_性,本系統(tǒng)設(shè)計為激活CheckSum,可用命令$AAKN激活。
(2)7521模塊包含兩種看門狗機制。第一種機制是監(jiān)測7521模塊的硬件看門狗,它屬于硬件重置線路,開機后自動運行,其看門狗定時時間為1.6s。此線路會監(jiān)視模塊的操作狀況,當模塊處于惡劣的工作環(huán)境下而導(dǎo)致工作不正常時,此監(jiān)視線路會使模塊自動復(fù)位。系統(tǒng)正常工作時,應(yīng)至少在1.6s內(nèi)“喂狗”一次,以避免復(fù)位。若7521復(fù)位,可發(fā)送“$AA5”命令使其恢復(fù)正常。其流程如圖6所示。
圖6 7521硬件看門狗復(fù)位后處理辦法
第二種機制是軟件主機看門狗。軟件主機看門狗可以監(jiān)測主機的狀態(tài)。如果主機死機,所有的7521輸出模塊將回到它們預(yù)設(shè)的安全模式進行安全保護。主機正常運行時,每隔一段時間應(yīng)該發(fā)送一條“主機正?!钡拿钜员苊饪撮T狗復(fù)位。其流程如圖7所示
圖7 軟件主機看門狗流程
實驗測試數(shù)據(jù)及分析
根據(jù)系統(tǒng)設(shè)計和實驗室條件,進行了串行通信數(shù)據(jù)的測試,如表1所示。
從以上分析結(jié)果可以看出,在RS-485串行通信系統(tǒng)中加入智能通信控制器具有的CheckSum校驗和看門狗機制,可以有效地降低串行通信的誤碼率,提高通信數(shù)據(jù)的成功率。系統(tǒng)的抗干擾能力有了較大提高。
結(jié)束語
本系統(tǒng)從硬件和軟件兩個方面做了較完善的抗干擾設(shè)計,由于智能通信控制器自帶CheckSum校驗和軟硬件看門狗功能,只需要相應(yīng)的命令激活即可。減少了硬件成本和軟件工作量,系統(tǒng)的可擴充性和可維護性增強。實驗證明,本系統(tǒng)具有較好的實時性和可靠性,數(shù)據(jù)誤碼率非常低。再輔以軟件濾波和冗余校驗等措施,可進一步提高系統(tǒng)性能。因此本文對同類設(shè)計具有一定的理論和實踐參考價值。