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