閆保中,謝睿達,汪廣舉
哈爾濱工程大學(xué)自動化學(xué)院,黑龍江哈爾濱 150001
中波發(fā)射機監(jiān)控系統(tǒng)通訊網(wǎng)絡(luò)設(shè)計與實現(xiàn)
閆保中,謝睿達,汪廣舉
哈爾濱工程大學(xué)自動化學(xué)院,黑龍江哈爾濱 150001
以中波發(fā)射機監(jiān)控系統(tǒng)通訊網(wǎng)絡(luò)的設(shè)計為主線,通過串口通訊協(xié)議,實現(xiàn)上位機的多機遠程監(jiān)控。監(jiān)控系統(tǒng)使用Delphi7作為開發(fā)軟件,利用SQL Server 2005進行數(shù)據(jù)庫開發(fā),最終實現(xiàn)對中波發(fā)射機工作狀態(tài)的監(jiān)控,并完成實時數(shù)據(jù)的采集與處理、歷史數(shù)據(jù)查看、參數(shù)異常報警、圖像打印等功能。文章還著重介紹了監(jiān)控系統(tǒng)的可靠性設(shè)計,從硬件和軟件兩方面闡述了工程中提高監(jiān)控系統(tǒng)可靠性的有效方法。
中波發(fā)射機;通訊網(wǎng)絡(luò);監(jiān)控;RS-485;通信協(xié)議
廣播在日常生活中有舉足輕重的地位。廣播中波發(fā)射臺擔(dān)負著極其重要的廣播任務(wù),開發(fā)一套行之有效的監(jiān)控系統(tǒng),不僅能夠監(jiān)測發(fā)射機的播發(fā)質(zhì)量,更能夠提高播發(fā)質(zhì)量,保障播發(fā)系統(tǒng)的可靠性與穩(wěn)定性。論文旨在設(shè)計中波發(fā)射機監(jiān)控系統(tǒng),其可以通過組建基于RS-485的主從式(master-slave)總線型網(wǎng)絡(luò)來實現(xiàn),在一臺PC機上監(jiān)控10臺中波發(fā)射機的運行狀態(tài)。
常用的串行通信有2種:1)RS-232通信方式;2)RS-485通信方式?,F(xiàn)如今,RS-232可以稱得上是計算機標(biāo)配,無論是工業(yè)領(lǐng)域還是民用領(lǐng)域,RS-232都十分普遍。
1.1 RS-232通信方式
1969年,美國EIA(Electronic Industries Associa-tion,EIA)與BELL等公司開發(fā)并公布了RS-232C標(biāo)準(zhǔn)通信協(xié)議,適用于數(shù)據(jù)傳輸速度在0~20 000 b/s的通信。串行通信易使用的特性使其在工業(yè)領(lǐng)域被大量的應(yīng)用。但噪聲是工業(yè)領(lǐng)域中的一個常見問題,外界的電氣干擾經(jīng)常會擾亂RS-232數(shù)據(jù)傳輸信號而致使錯誤發(fā)生。為解決這一問題,RS-485應(yīng)運而生,并開始被廣泛應(yīng)用。
1.2 RS-485通信方式
RS-485與RS-232接口有所不同,其采用的平衡驅(qū)動器和差分接收器保證了其具有較強的抗噪聲干擾的能力。RS-485傳輸信號使用的是雙絞線,信號在兩線上極性相異,因而線路所產(chǎn)生的磁場得到很大程度的抵消,使電磁干擾(electromagnetic inter-ference,EMI)減至最小。較低的布線成本和長達3 000 m的超遠傳輸距離使得RS-485串行接口被廣泛應(yīng)用于車載電子產(chǎn)品、工控以及電子通訊領(lǐng)域。
在本系統(tǒng)中,要對中波發(fā)射機監(jiān)控系統(tǒng)實現(xiàn)遠程監(jiān)控,發(fā)射機距離較遠,分布也不均勻,由于發(fā)射機周圍電磁干擾較為強烈,因而通信的抗干擾性尤為重要,因此在本系統(tǒng)中采用RS-485主從式(mas-ter-slave)串行通信。圖1為基于RS-485總線的中波發(fā)射機監(jiān)控系統(tǒng)概況圖。
圖1 基于RS-485的監(jiān)控系統(tǒng)
該系統(tǒng)亦可通過網(wǎng)絡(luò)技術(shù)和通訊方法把監(jiān)控擴展到遠端,在這種基于單總線控制的監(jiān)控構(gòu)架下系統(tǒng)走線得到很大程度的簡化。目前,由于232接口轉(zhuǎn)485較為便捷,加之其優(yōu)越的特性,使得這種系統(tǒng)可適用于大多數(shù)的發(fā)射臺站,成為目前發(fā)射機監(jiān)控技術(shù)的主流。
在OSI的7層通信協(xié)議中,Data Link Layer Proto-col是兼具實用性和穩(wěn)定性的一類較成熟的協(xié)議。面向字符協(xié)議和面向比特協(xié)議是數(shù)據(jù)鏈路層的2種基本協(xié)議。面向字符的通信協(xié)議,顧名思義,即通信控制等功能是通過特定字符的執(zhí)行來實現(xiàn)的,在小型網(wǎng)絡(luò)中,更適合于使用面向字符協(xié)議。在此系統(tǒng)中,中波發(fā)射機采用串行通信協(xié)議(一種面向字符的通信協(xié)議),監(jiān)控系統(tǒng)上位機通過RS-485網(wǎng)絡(luò)與發(fā)射機主控單元進行實時通信,以約定的通信協(xié)議發(fā)送數(shù)據(jù)采集類命令,從而采集各個模擬量數(shù)據(jù)信息,同時亦可按協(xié)議發(fā)送控制命令遠程控制發(fā)射機工作。
1)通信參數(shù)
通信方式:半雙工通信;Bit Rates:38 400 bit/s;Parity:None;字符格式:數(shù)據(jù)位+1停止位
2)發(fā)送數(shù)據(jù)幀結(jié)構(gòu)
STX SID DID Divider Command ETX
其中Sender ID(SID)和Receiver ID(DID)由發(fā)射機系統(tǒng)決定。
3)接收數(shù)據(jù)幀結(jié)構(gòu)
STX SID DID Divider Response ETX
其中Response結(jié)構(gòu)為Command所相應(yīng)的數(shù)據(jù)信息。
4)發(fā)送/接收流程
如圖2所示,完成一次通信需要2步:工控機按協(xié)議發(fā)送命令;發(fā)射機接收、處理并作出相應(yīng)動作。由于電氣條件限制和物理條件限制,必須給發(fā)射機預(yù)留出一定的響應(yīng)時間,一般為100~200 ms。當(dāng)發(fā)射機主控單元接收到命令碼時(如開關(guān)機,功率選擇,時間校準(zhǔn)等),主控單元將迅速返回“ACK00,Command”,代表下位機成功接收到命令;若返回數(shù)據(jù)為“NAK00”,則可能數(shù)據(jù)接收出現(xiàn)了錯誤或執(zhí)行失敗。
圖2 發(fā)送和接收信息流程
圖3 控制指令發(fā)送和響應(yīng)流程
本監(jiān)控系統(tǒng)中按照以上通信方式進行命令的發(fā)送與處理,通過事先擬定的協(xié)議控制發(fā)射機進行一系列動作,通過循環(huán)發(fā)送數(shù)據(jù)上傳指令,不斷采集發(fā)射機當(dāng)前狀態(tài),從而實現(xiàn)了對發(fā)射機實時運行狀態(tài)的監(jiān)測和控制。
中波發(fā)射機監(jiān)控系統(tǒng)通訊網(wǎng)絡(luò)由硬件部分和上位機軟件部分2部分構(gòu)成。
3.1 系統(tǒng)通訊網(wǎng)絡(luò)硬件結(jié)構(gòu)
監(jiān)控系統(tǒng)拓撲結(jié)構(gòu)如圖4所示。主控單元與上位機通過RS-485進行連接并通信,下位機接收上位機傳送的模擬量數(shù)據(jù)讀取類命令、工況調(diào)整類命令,并把實際采集的各類數(shù)據(jù)及時上傳回復(fù)給上位機進行辨識和分析。
圖4 監(jiān)控系統(tǒng)拓撲結(jié)構(gòu)
主控單元主要由上位機與下位機2大部分組成。其中下位機由核心芯片STM32進行調(diào)度、運行、監(jiān)測和控制,STM32芯片是由意法半導(dǎo)體公司生產(chǎn)的,基于ARM V7架構(gòu)和Cortex-M3核心的一款芯片,該芯片外設(shè)豐富,實時性能優(yōu)異,功耗控制好,開發(fā)成本也較低。下位機通過STM32芯片的AD采集口進行外部模擬量的數(shù)據(jù)采集,通過其他的眾多的通用I/O口進行數(shù)字量的輸入與輸出,從而實現(xiàn)對發(fā)射機的監(jiān)測與控制。外部數(shù)據(jù)存儲芯片使用AT24WC16芯片,存儲大小為2 KB,從而實現(xiàn)對系統(tǒng)功率等級,開關(guān)機時間,故障記錄,掉電恢復(fù)等數(shù)據(jù)的存儲。其中,采集到的模擬量和數(shù)字量輸入將同時按照通信協(xié)議的要求通過RS485總線發(fā)送給上位機,由上位機進行辨識和分析。(故障反饋輸入為數(shù)字量輸入,控制輸出為數(shù)字量輸出,入射功率~網(wǎng)絡(luò)零位等代表模擬量輸入)。數(shù)字量輸出信號是由上位機通過RS485總線發(fā)送給下位機,由下位機直接對發(fā)射機進行操作。
3.2 上位機監(jiān)控軟件設(shè)計
1)Borland Delphi7
Delphi是Windows平臺下的快速應(yīng)用程序開發(fā)工具(rapid application development)。中波發(fā)射機監(jiān)控軟件的研發(fā)過程通過Delphi的IDE、VCL工具與編譯器,以及其簡單易操作的數(shù)據(jù)庫功能,將得到很大程度的簡化。
2)SQL Server 2005數(shù)據(jù)庫
Microsoft SQL Server 2005是一個優(yōu)秀的數(shù)據(jù)庫平臺,以其集成的BI工具為基礎(chǔ)提供強大的數(shù)據(jù)管理功能。上位機軟件主要在用戶信息部分、數(shù)據(jù)采集與存儲部分以及用戶參數(shù)設(shè)置、日志管理、歷史數(shù)據(jù)查詢方面需要Microsoft SQL Server 2005的支持。
3.3 監(jiān)控系統(tǒng)功能設(shè)計
監(jiān)控系統(tǒng)的功能主要是基于對發(fā)射機工作系統(tǒng)的整體把控,并對系統(tǒng)下達各種控制指令來完成監(jiān)測工作。其軟件具有的功能如下。
1)數(shù)據(jù)采集與監(jiān)控。通過發(fā)送指令命令下位機上傳數(shù)據(jù),從而檢測和存儲中波發(fā)射機的實時工作狀態(tài)參數(shù)數(shù)據(jù),例如入射功率、反射功率、自動開關(guān)機時間等信息。監(jiān)控系統(tǒng)主界面如圖5所示,監(jiān)測參數(shù)超出上限會以彈窗和紅、黃色指示條提醒用戶。
圖5 監(jiān)控系統(tǒng)主界面
2)開關(guān)量檢測??蓪θ绻Ψ诺乳_關(guān)量進行檢測,其狀態(tài)變化時能通過聲光或屏幕彈窗等方式進行警示。
3)歷史數(shù)據(jù)讀取、打印。具有自動或手動記錄發(fā)射機參數(shù)及故障的功能,存儲在SQL Server 2005數(shù)據(jù)庫中,具備打印報表、簡單數(shù)據(jù)分析等功能。
4)遠程控制。通過事先約定的通信協(xié)議發(fā)送命令代碼實現(xiàn)遠程控制,如開關(guān)機、升降功率、設(shè)定系統(tǒng)時間等。
5)遠程查詢。能夠查詢、記錄發(fā)射機歷史數(shù)據(jù),根據(jù)用戶需要生成指定樣式的統(tǒng)計圖表。
6)具備用戶友好界面。各應(yīng)用程序或監(jiān)視畫面的切換簡單、快捷。同時應(yīng)具備一定的用戶個性化功能,如監(jiān)控界面風(fēng)格,彈窗風(fēng)格和參數(shù)等。
3.4 主要功能模塊的實現(xiàn)
3.4.1 系統(tǒng)設(shè)置模塊
系統(tǒng)設(shè)置模塊主要是對發(fā)射機管理維護人員的登陸信息進行安全有效的識別。
該模塊根據(jù)注冊人的職務(wù)信息進行分類,在系統(tǒng)登陸時驗證其職務(wù)及相應(yīng)的權(quán)限,以確定登陸的用戶可以進行何種程度的操作。例如普通值守人員只擁有普通控制權(quán)限,而部門主管則擁有全部權(quán)限,
例如修改值守人員權(quán)限、注銷離職人員信息等。
圖6 監(jiān)控系統(tǒng)功能模塊
3.4.2 通信模塊
如圖7為通信模塊程序流程圖,適用于主從式多機通信。
圖7 RS-485主從式多機通信軟件設(shè)計流程
通信模塊是監(jiān)控系統(tǒng)的重點設(shè)計部分,其設(shè)計好壞直接影響了監(jiān)控系統(tǒng)的效率和工作效果。在Delphi環(huán)境下,實現(xiàn)串口通信有以下常用辦法:1)利用VCL控件,如SPCOMM控件;2)調(diào)用API函數(shù);
3)調(diào)用其他串口通信程序。
由于SPCOMM控件所提供的對串口的種類豐富的操作完全滿足發(fā)射機監(jiān)控系統(tǒng)的通信需求,因而選用SPCOMM實現(xiàn)通信。程序運行時,首先要對串口進行初始化,設(shè)置的內(nèi)容包括每個串口的數(shù)據(jù)位,停止位,波特率,奇偶校驗等內(nèi)容。程序中,每一路數(shù)據(jù)單獨存入相應(yīng)串口的緩沖區(qū),然后進行數(shù)據(jù)解析。上位機軟件使用SPCOMM的主要屬性及事件如下:
1)主要屬性
CommName:表示COM1、COM2等串口的名字;
BaudRate:即波特率,本設(shè)計中設(shè)計為38 400 bps;
ParityCheck:表示是否需要奇偶校驗;
ByteSize:可根據(jù)實際情況設(shè)定的字節(jié)長度;
2)主要方法
Startcomm:該方法用于打開串口;WriteComm-Data:此方法是帶有布爾類型返回值的函數(shù),使用時可將代表下位機監(jiān)控命令的數(shù)組加入到寫進程,利用返回的Boolean值判定發(fā)送是否成功。
3)主要事件
OnReceiveData:觸發(fā)該事件的條件:有數(shù)據(jù)輸入緩存。在使用時可在該事件中對下位機返回的數(shù)據(jù)進行一系列識別和分析。接收數(shù)據(jù)存儲在Buffer中,BufferLength表示數(shù)據(jù)長度。
OnReceiveError:當(dāng)接收出錯時觸發(fā)該事件,該事件中可對數(shù)據(jù)或程序進行一系列調(diào)試處理。
3.4.3 數(shù)據(jù)庫模塊
數(shù)據(jù)的實時存儲是非常必要的,一套完整的中波發(fā)射機監(jiān)控系統(tǒng)除了能夠進行實時動態(tài)監(jiān)控,還應(yīng)該具備歷史數(shù)據(jù)查詢、數(shù)據(jù)對比、監(jiān)控信息查詢、操作信息查詢等功能,數(shù)據(jù)的存儲就是為了實現(xiàn)這些功能。在本系統(tǒng)中,利用Delphi7的ADO控件訪問數(shù)據(jù)庫。ADO是Microsoft公司提供的數(shù)據(jù)庫訪問接口,通過OLE DB技術(shù)來訪問數(shù)據(jù)庫。如圖8為用戶權(quán)限識別與登錄模塊,使用數(shù)據(jù)庫存儲用戶信息,其主要代碼如下:
圖8 用戶權(quán)限識別和登錄驗證模塊
4.1 提高監(jiān)控系統(tǒng)可靠性的硬件辦法
4.1.1 降低分布電容對RS485網(wǎng)絡(luò)性能的影響
在RS485組成的總線型網(wǎng)絡(luò)中,平行的AB信號線是分布電容的“罪魁禍?zhǔn)住?。?shù)據(jù)流在總線上傳播,可稱為基波信號,以高低電平表達。在如“0000 0011”的數(shù)據(jù)包中,“0”信號使電容充分充電,而信號“1”到來時則來不及放電,最終對其識別時,仍然認為它是“0”信號,就有可能導(dǎo)致數(shù)據(jù)傳輸出現(xiàn)重大錯誤,影響指令的準(zhǔn)確性。解決這個問題有2種方法:1)降低數(shù)據(jù)傳輸?shù)牟ㄌ芈剩?)提高硬件水準(zhǔn),購買使用小分布電容電纜。
4.1.2 避免多機通信中出現(xiàn)總線沖突
在RS-485主從式通信網(wǎng)絡(luò)中,上位機應(yīng)該擁有總線控制權(quán),且同一時刻只能有一臺設(shè)備處于發(fā)送狀態(tài),如果多個下位機同時向總線發(fā)送數(shù)據(jù),會造成數(shù)據(jù)沖突,在監(jiān)控系統(tǒng)設(shè)計實驗過程中,發(fā)現(xiàn)當(dāng)產(chǎn)生數(shù)據(jù)沖突時,往往會出現(xiàn)多個設(shè)備上傳的數(shù)據(jù)夾雜在一起的情況,造成數(shù)據(jù)的大量堆積,最終都無法被上位機識別。因此,在對各個下位機ARM系統(tǒng)進行硬件設(shè)計時要設(shè)計相應(yīng)的防沖突閉鎖電路。
4.1.3 防備節(jié)點故障
導(dǎo)致RS485收發(fā)器損壞的原因有很多,常見的有雷擊、線路浪涌等,嚴(yán)重影響通信的可靠性。防備方法有以下幾點:1)選擇MAX487E、SN75276等芯片,其按抗雷擊或故障保護設(shè)計;2)外加保護電路,如使用光耦隔離下位機和RS485總線;3)可在各從機的通信出口端和系統(tǒng)總線之間串入10~20Ω電阻,使得即使出現(xiàn)如上極端情況,仍能保持一定的節(jié)點電阻。
4.2 提高監(jiān)控系統(tǒng)可靠性的軟件辦法
4.2.1 在協(xié)議中增加校驗
通過串口接收數(shù)據(jù)時,除校驗地址碼之外對數(shù)據(jù)進行累加和、CRC校驗等一系列校驗可有效增加通訊的可靠性。以本系統(tǒng)為例,在工程應(yīng)用中實際使用的協(xié)議增加了‘AA 55’和‘CC 33’的幀頭幀尾,隨數(shù)據(jù)以十六進制形式儲存,以字節(jié)形式發(fā)送;使用累加和校驗方法增加數(shù)據(jù)的可靠性。上位機或下位機系統(tǒng)接收數(shù)據(jù)后判斷“AA 55..CC 33”段,并提取該段數(shù)據(jù),濾除可能存在的干擾數(shù)據(jù);在SPCOMM控件的OnReceiveData事件中編寫程序計算數(shù)據(jù)和,并判斷自行計算的累加和是否與接受的累加和校驗位一致,若一致,則數(shù)據(jù)接受完整,可用于執(zhí)行或判斷。
4.2.2 在軟件設(shè)計中適當(dāng)增加延時
在基于RS485總線的多機通訊過程中,由于硬件的電氣特性,其傳輸過程并不是瞬間完成的:半雙工狀態(tài)工作的RS485進行輸入輸出狀態(tài)的轉(zhuǎn)換時都需一定的時間。因此在在使用Delphi編程中,當(dāng)上位機接口轉(zhuǎn)換電路(RS232-485)在切換狀態(tài)時,編程實現(xiàn)一定時間的延時,在Delphi環(huán)境下,可以使用Sleep函數(shù)或以循環(huán)的方式進行延時。以本系統(tǒng)為例,設(shè)定延時為100ms,這樣大大提高了數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
4.2.3 在通信模塊中增加超時監(jiān)測
為防止因為某一節(jié)點故障不能回復(fù)信息而導(dǎo)致的系統(tǒng)假死情況的發(fā)生,上下位機在通訊過程中都應(yīng)該根據(jù)實際情況酌情加入超時檢測程序段。本系統(tǒng)選取15~20倍的常規(guī)通信時間作為最大超時時間(Tmax),如果超過Tmax仍然檢測不到回復(fù),則結(jié)束該指令,將該指令認定為執(zhí)行失敗,將超時記錄進數(shù)據(jù)庫,并提醒用戶對相關(guān)硬件節(jié)點進行檢測。
該中波發(fā)射機監(jiān)控系統(tǒng)投入運行后,發(fā)射機監(jiān)控工作將由“人控”轉(zhuǎn)向“機控”—充分發(fā)揮計算機的優(yōu)勢,值班人員從原有的要到機房一線的惡劣環(huán)境工作到只需操作幾個按鈕就能完成任務(wù),其工作量將大大減少;當(dāng)發(fā)射機出現(xiàn)故障能夠第一時間報警,將發(fā)生大型事故的可能性扼殺在搖籃之中,從根本上提高了其長期運行的穩(wěn)定性。除此之外,本系統(tǒng)采用的SQL Server 2005數(shù)據(jù)庫所存儲的數(shù)據(jù),可以作為未來廣播系統(tǒng)升級換代所參考的原始數(shù)據(jù)的一部分,以期對中波發(fā)射機的工作情況、運營成本、運行效率、故障率做出有效評判。
[1]遲春華.基于虛擬儀器的電動汽車上位機遠程監(jiān)控系統(tǒng)的設(shè)計[D].大連:大連理工大學(xué),2012:21-24.
[2]高靜敏.數(shù)字通訊在鐵路信號智能電源屏系統(tǒng)中的應(yīng)用[D].天津:天津大學(xué),2007:58-60.
[3]于堅.電視發(fā)射機監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].中國有線電視,2011(1):49-53.
[4]吳銘.分布式自動檢測系統(tǒng)RS485通信網(wǎng)絡(luò)的設(shè)計與實現(xiàn)[J].工業(yè)控制計算機,2005,18(2):34-35.
[5]袁長斌,李曉飛,胡昭培,等.哈里斯3DX50發(fā)射機原理及調(diào)機實踐[J].西部廣播電視,2003,11:49-52.
[6]趙伍民.中波發(fā)射臺實時監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2005:64-76.
[7]劉文怡,李進武.基于RS485總線多機通信系統(tǒng)可靠性的研究[J].彈箭與制導(dǎo)學(xué)報,2006,25(3):102-104.
Design and realization of the communication network of medium-wave transm itter monitoring system
YAN Baozhong,XIE Ruida,WANG Guangju
College of Automation,Harbin Engineering University,Harbin 150001,China
This paper designs the communication network ofmedium-wave transmittermonitoring system,and reali-zesmultimachine remote control via serial port protocol.Themonitoring system applies that Delphi7 as the develop-ment software,and SQLServer 2005 is applied for database development.The system achieves the goal of themoni-toring the operating status of themedium-wave transmitter,and completes such functions as acquisition and process-ing on real-time data,look-over of historical data,alarming for abnormality of parameters,and image printing.This paper especially discusses the reliability design on the monitoring system,and from the aspects of both hardware and software,states the effectivemethods for improving the reliability of themonitoring system in engineering appli-cations.
medium-wave transmitter;communications network;monitor;RS-485;communication protocol
TN931
A
1009-671X(2015)02-039-05
10.3969/j.issn.1009-671X.201405019
2014-09-09.
日期:2015-03-25.
閆保中(1963-),男,研究員.
謝睿達,E-mail:xieruida@hrbeu.edu.cn.
http://www.cnki.net/kcms/detail/23.1191.u.20150325.1257.010.html