《基于Microsoft VB架構(gòu)的發(fā)射機(jī)自動(dòng)化系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于Microsoft VB架構(gòu)的發(fā)射機(jī)自動(dòng)化系統(tǒng)(3頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、基于Microsoft VB架構(gòu)的發(fā)射機(jī)自動(dòng)化系統(tǒng)
摘 要:
關(guān)鍵詞:
1.前言 中短波廣播是一種最為傳統(tǒng)的廣播手段,建國(guó)以來(lái),我國(guó)已經(jīng)建成覆蓋全國(guó)、全世界的中短波廣播覆蓋網(wǎng),如何利用這些新發(fā)射機(jī)有效地指導(dǎo)我國(guó)廣播和實(shí)驗(yàn)覆蓋,使現(xiàn)有的設(shè)備發(fā)揮最大的效益,已經(jīng)成為我們關(guān)注的重要問(wèn)題。總局已經(jīng)建立了這套高科技的直屬發(fā)射臺(tái)網(wǎng),但與發(fā)射機(jī)相配套的自動(dòng)化系統(tǒng)目前仍處于待完善階段,大部分操作都需要人工操作。傳統(tǒng)的人工操作方式已遠(yuǎn)遠(yuǎn)不能滿足形勢(shì)發(fā)展的需要,與廣電系統(tǒng)現(xiàn)代化管理不相適應(yīng),因此急需建立一套高科技的中、短波發(fā)射機(jī)自動(dòng)化管理及遠(yuǎn)程網(wǎng)絡(luò)管理系統(tǒng),作為
2、無(wú)線局統(tǒng)一管理和組織各直屬發(fā)射臺(tái)工作的技術(shù)平臺(tái)。2.系統(tǒng)的設(shè)計(jì)方案 本系統(tǒng)的設(shè)計(jì)使用Microsoft Visual Basic 6.0+Microsoft SQL Servers2000數(shù)據(jù)庫(kù)的架構(gòu)。Visual Basic是一種可視化的、面對(duì)對(duì)象和事件驅(qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì),可用于開(kāi)發(fā)Windows環(huán)境下的應(yīng)用程序。在Visual Basic 環(huán)境下,利用事件驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用Windows內(nèi)部的應(yīng)用程序接口(API)函數(shù),以及動(dòng)態(tài)鏈接庫(kù)(DLL)、動(dòng)態(tài)數(shù)據(jù)交換(DDE)、對(duì)象的鏈接與嵌入(OLE)、開(kāi)放式數(shù)據(jù)訪問(wèn)(ODBC)等技術(shù),可以高效、快速地開(kāi)發(fā)
3、出Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)?! ‰娕_(tái)發(fā)射機(jī)自動(dòng)化系統(tǒng)升級(jí)和改造主要是針對(duì)機(jī)房現(xiàn)有的運(yùn)行模式改變,實(shí)現(xiàn)遠(yuǎn)程控制和監(jiān)控功能,發(fā)射機(jī)實(shí)時(shí)數(shù)據(jù)的上傳和運(yùn)行圖接收的功能?! ≡仍O(shè)計(jì)的發(fā)射機(jī)自動(dòng)化系統(tǒng)具有自動(dòng)工作模式的功能,發(fā)射機(jī)自動(dòng)化系統(tǒng)按照帶周期的運(yùn)行時(shí)間表實(shí)現(xiàn)對(duì)發(fā)射機(jī)的自動(dòng)控制,并對(duì)發(fā)射機(jī)運(yùn)行狀態(tài)進(jìn)行監(jiān)測(cè)。本次系統(tǒng)的升級(jí)改造主要增加手動(dòng)控制模式中遠(yuǎn)程操作的功能,能夠符合遠(yuǎn)程值班的要求;增加軟件的通訊接口,使發(fā)射機(jī)自動(dòng)化系統(tǒng)通過(guò)此接口接收發(fā)射機(jī)機(jī)房運(yùn)行監(jiān)控系統(tǒng)下發(fā)的帶周期的運(yùn)行時(shí)間表,減少人工對(duì)運(yùn)行圖的錄入的操作;增加發(fā)射機(jī)實(shí)時(shí)數(shù)據(jù)量、故障和操作日志的上傳功能,有助于
4、機(jī)房和臺(tái)站對(duì)設(shè)備運(yùn)行情況的維護(hù)和管理。3.系統(tǒng)的功能 在網(wǎng)絡(luò)應(yīng)用程序中調(diào)用了Windows Sockets 的API實(shí)現(xiàn)相互之間的通信,Windows Sockets又利用下層的網(wǎng)絡(luò)通信協(xié)議調(diào)用操作系統(tǒng)在調(diào)用實(shí)現(xiàn)實(shí)際的通訊工作。 對(duì)程序設(shè)計(jì)而言,Winsock 控件是一個(gè)不可見(jiàn)的Active 控件,它提供了訪問(wèn)TCP和UDP網(wǎng)絡(luò)服務(wù)的方便途徑。當(dāng)利用它編寫(xiě)網(wǎng)絡(luò)程序時(shí),不必了解TCP等協(xié)議的細(xì)節(jié)或調(diào)用低級(jí)的Winsocks API函數(shù),只需通過(guò)設(shè)置控件的屬性并調(diào)用其方法,就可以輕易地連接到一臺(tái)遠(yuǎn)程機(jī)器上,從而實(shí)現(xiàn)信息的交換?! ∵h(yuǎn)程控制功能是基于客戶機(jī)/服務(wù)器這一模型來(lái)實(shí)現(xiàn)的。所以程序的設(shè)計(jì)
5、也分為兩部分進(jìn)行:一部分是服務(wù)器端-也就是發(fā)射機(jī)一體化機(jī)(被控制的一方),另一部分是客戶端-也就是發(fā)射機(jī)控制臺(tái)(控制方)。發(fā)射機(jī)服務(wù)端要守候等待客戶程序的請(qǐng)求;客戶端則向服務(wù)端程序請(qǐng)求連接,連接成功后通過(guò)交換信息即可得到相應(yīng)的服務(wù)?! ≡趧?chuàng)建服務(wù)器應(yīng)用程序時(shí),首先設(shè)置一個(gè)監(jiān)聽(tīng)端口(LocalPort屬性),調(diào)用Listen 方法進(jìn)行監(jiān)聽(tīng)。當(dāng)客戶端發(fā)出連接請(qǐng)求時(shí)(Connect),在服務(wù)器端就會(huì)觸發(fā)ConnectRequest事件。為了完成連接,服務(wù)器端在ConnectRequest事件中調(diào)用Accept方法與客戶端進(jìn)行連接。建立連接后,任何一方計(jì)算機(jī)就可以發(fā)送、接收對(duì)方的數(shù)據(jù)?! ≡趧?chuàng)建客戶端
6、應(yīng)用程序時(shí),首先確定服務(wù)器的IP地址(RemoteHost屬性)和進(jìn)行監(jiān)聽(tīng)的端口(RemotePort屬性),然后調(diào)用Connect方法對(duì)服務(wù)器發(fā)出連接請(qǐng)求。當(dāng)服務(wù)器與其建立了連接后,調(diào)用SentData方法向客戶端發(fā)送數(shù)據(jù)。當(dāng)客戶端的應(yīng)答數(shù)據(jù)到達(dá)時(shí),發(fā)生DataArrive事件,調(diào)用Getdata方法獲得對(duì)方傳送的數(shù)據(jù)。客戶端完成通訊后,調(diào)用Close方法斷開(kāi)與服務(wù)器的連接。4.系統(tǒng)的實(shí)現(xiàn) 按照《安全傳輸發(fā)射自動(dòng)控制平臺(tái)技術(shù)規(guī)范》的要求,發(fā)射機(jī)自動(dòng)化系統(tǒng)的遠(yuǎn)程控制功能包括電控、保護(hù)的操作,手動(dòng)調(diào)諧的操作,手動(dòng)倒頻的操作?! ∈謩?dòng)操作通過(guò)點(diǎn)擊按鈕觸發(fā)命令代碼的發(fā)送,當(dāng)按鈕彈起的時(shí)候完成命令代
7、碼發(fā)送至發(fā)射機(jī)的一體機(jī)系統(tǒng),一體機(jī)程序通過(guò)接收到的命令代碼,處理成發(fā)射機(jī)的電控保護(hù)小盒、調(diào)諧小盒所能接收的命令編碼,即數(shù)字編碼,發(fā)射機(jī)根據(jù)相關(guān)的數(shù)字編碼將執(zhí)行相關(guān)的命令。從控制臺(tái)至一體機(jī)再到發(fā)射機(jī)之間的操作,所傳輸?shù)臄?shù)據(jù)都是通過(guò)Socket進(jìn)行連接的。這些的操作相當(dāng)于在發(fā)射機(jī)機(jī)箱面板上的按鈕操作,本系統(tǒng)的升級(jí)改造就是通過(guò)網(wǎng)絡(luò)傳輸命令數(shù)據(jù),實(shí)現(xiàn)了對(duì)發(fā)射機(jī)遠(yuǎn)程的操作的功能?! ‰娍夭僮魍瓿蓤?zhí)行的命令代碼是“DKBUTTONUP”,對(duì)應(yīng)的命令編碼是240。保護(hù)操作完成執(zhí)行的命令代碼是“BHBUTTONUP”,對(duì)應(yīng)的命令編碼是240。調(diào)諧操作完成執(zhí)行的命令代碼是“TXZ”,對(duì)應(yīng)的命令編碼是128。發(fā)射
8、機(jī)秒數(shù)據(jù)包括電控、保護(hù)、模擬量、調(diào)諧等數(shù)據(jù),其中開(kāi)關(guān)量包括36個(gè)電控和21個(gè)保護(hù)的數(shù)據(jù),將這些數(shù)據(jù)每4個(gè)開(kāi)關(guān)量狀態(tài)用一位十六進(jìn)制數(shù)表示,然后全部組合成一串16進(jìn)制字符串進(jìn)行傳輸。發(fā)射機(jī)的模擬量一共33個(gè),包括:寬放電壓、寬放電流、激勵(lì)、高前燈絲電壓、高前燈絲電流、高前柵壓、高前柵流、高前簾柵壓、高前簾柵流、高前板壓、高前板流、末級(jí)燈絲電壓、末級(jí)燈絲電流、末級(jí)柵壓、末級(jí)柵流、末級(jí)簾柵壓、末級(jí)簾柵流、末級(jí)板壓、末級(jí)板流、出射功率、反射功率、駐波比、調(diào)幅度、高末屏耗、1路、2路、3路、4路、5路、6路、7路、8路、頻率。發(fā)射機(jī)的開(kāi)關(guān)量數(shù)據(jù)串和模擬量數(shù)據(jù)串之間通過(guò)“//”作為分隔符。排列順序參照150
9、KW發(fā)射機(jī)自動(dòng)化系統(tǒng)規(guī)范的詳細(xì)數(shù)據(jù)列表。發(fā)射機(jī)的故障信息包含故障的內(nèi)容和故障發(fā)生時(shí)間的前60秒開(kāi)關(guān)量和模擬量數(shù)據(jù),作為查詢故障、分析故障原因的重要依據(jù)。發(fā)射機(jī)的日志信息包括發(fā)射機(jī)手動(dòng)電控、保護(hù)以及對(duì)1、3、5、7路的調(diào)諧,預(yù)置通道和預(yù)置頻率的操作和發(fā)射機(jī)自動(dòng)運(yùn)行產(chǎn)生的日志信息?! ≡谠腥斯ば薷膸е芷诘倪\(yùn)行時(shí)間表的功能的基礎(chǔ)上,提供軟件的通訊接口,使發(fā)射機(jī)自動(dòng)化系統(tǒng)通過(guò)此接口接收發(fā)射機(jī)機(jī)房運(yùn)行監(jiān)控系統(tǒng)下發(fā)的帶周期的運(yùn)行時(shí)間表,可以選擇人工干預(yù)或系統(tǒng)自動(dòng)完成對(duì)待周期的運(yùn)行時(shí)間表接收的確認(rèn)。按照規(guī)定的運(yùn)行時(shí)間表的格式,根據(jù)運(yùn)行圖接收的標(biāo)識(shí)串“dlOrder”,通過(guò)對(duì)標(biāo)識(shí)串的解析,確定為運(yùn)行圖數(shù)據(jù)。
10、再將接收到的運(yùn)行圖數(shù)據(jù)分析解碼,以下發(fā)的條數(shù)和發(fā)射機(jī)代碼作為解碼的依據(jù),對(duì)有更新的發(fā)射機(jī)的運(yùn)行圖進(jìn)行刪除,然后將新運(yùn)行圖存入數(shù)據(jù)庫(kù),再生成實(shí)際每天可用的運(yùn)行圖。完成運(yùn)行圖更新后,向機(jī)房平臺(tái)發(fā)送運(yùn)行圖的接收確認(rèn)。另外,保留原有的人工錄入運(yùn)行圖的功能,和節(jié)傳機(jī)房的運(yùn)行圖進(jìn)行比對(duì),比對(duì)運(yùn)行圖通過(guò)之后,生效作為發(fā)射機(jī)日常運(yùn)行圖,這個(gè)手動(dòng)操作運(yùn)行圖的功能是作為運(yùn)行圖自動(dòng)接收發(fā)生故障時(shí)候的備用操作。5.結(jié)束語(yǔ) 該系統(tǒng)升級(jí)改造后,界面簡(jiǎn)潔,操作方便簡(jiǎn)單。正式運(yùn)行一年多時(shí)間以來(lái),系統(tǒng)穩(wěn)定可靠,大大降低人工對(duì)發(fā)射機(jī)自動(dòng)化運(yùn)行的干預(yù),有效地杜絕了人為因素對(duì)發(fā)射機(jī)運(yùn)行造成的差錯(cuò),有效地提高機(jī)房播出系統(tǒng)安全運(yùn)行的可靠性,保證安全傳輸發(fā)射工作的順利進(jìn)行。