王 龍
(作者單位:國家廣播電視總局722 臺)
短波廣播在播音過程中需要隨時切換播音天線,天線交換控制系統(tǒng)可以根據(jù)運行圖或調(diào)度指令實現(xiàn)天饋線等相關(guān)設(shè)備自動化運行控制,完成發(fā)射機(jī)與天線之間的切換,是廣播發(fā)射機(jī)自動化控制系統(tǒng)的重要組成部分。一套穩(wěn)定、高效的天線交換控制系統(tǒng)不僅可以在自動模式下按照運行圖自動為每部發(fā)射機(jī)匹配指定天饋線,而且可以在發(fā)射機(jī)故障情況下,方便、快捷地手動將需要播音的天線切換至代播機(jī)。但是,目前所運行的天線交換開關(guān)控制系統(tǒng)開發(fā)時間早,技術(shù)和架構(gòu)都比較老舊,自動化程度落后,運行多年來逐漸暴露出諸多問題。第一、軟件設(shè)計得不全面,天控系統(tǒng)是基于程序設(shè)計語言(Visual Basic,VB)開發(fā)的,開發(fā)技術(shù)相對老舊,且使用單線程技術(shù),一處發(fā)生故障或操作緩慢,就會導(dǎo)致整個程序宕機(jī)或卡頓。第二、運行圖解析不完善,只能解析24 小時之內(nèi)的任務(wù),不會判斷第二天的任務(wù),即如果當(dāng)天后續(xù)沒有任務(wù),則系統(tǒng)判斷下一任務(wù)時解析的為當(dāng)天第一個任務(wù),而不是第二天的第一個任務(wù),從而出現(xiàn)用錯天線或正確天線誤報的問題。第三、運行圖接收處理過程慢,天控系統(tǒng)接收機(jī)房平臺下發(fā)的運行圖時需要等運行圖同步到可編程邏輯控制器(Programmable Logic Controller,PLC)后才能接收信息,該過程比較緩慢,容易導(dǎo)致接收消息滯后,引起機(jī)房平臺運行圖重發(fā)或判定下發(fā)接收失敗。多部發(fā)射機(jī)的運行圖一起下發(fā)天控系統(tǒng)時,天控系統(tǒng)容易死機(jī),從而影響節(jié)目的安全播出。另外,天線交換開關(guān)控制系統(tǒng)還存在數(shù)據(jù)傳輸不規(guī)范、系統(tǒng)功能不足等問題。
為了解決原有系統(tǒng)存在的不足,增強(qiáng)系統(tǒng)運行的穩(wěn)定性、安全性,就需要技術(shù)人員應(yīng)用當(dāng)前先進(jìn)技術(shù),結(jié)合實際使用需求,設(shè)計開發(fā)出新的天線交換控制系統(tǒng)。
鑒于之前系統(tǒng)面臨的問題,本文以保證廣播節(jié)目安全播出為目的,從實際使用需求出發(fā),設(shè)計開發(fā)了新型的天線交換控制系統(tǒng),該系統(tǒng)應(yīng)具備的性能和實現(xiàn)的目標(biāo)如下:第一,系統(tǒng)穩(wěn)定,能夠24 小時不間斷可靠運行。拓展性強(qiáng),適用于多個操作系統(tǒng)平臺,包括win7 和win10 等,并且兼容32 位和64 位的操作系統(tǒng)。第二,響應(yīng)快速,系統(tǒng)在接收發(fā)運行圖時,不接收滯后或消失。同時,系統(tǒng)在接收多部發(fā)射機(jī)調(diào)度指令時,既能保證快速、準(zhǔn)確,又不會發(fā)生宕機(jī)現(xiàn)象。第三、優(yōu)化每部發(fā)射機(jī)上任一天線的通道路徑,給信號傳輸提供最優(yōu)通道。第四、具有記錄功能,在系統(tǒng)發(fā)生軟件崩潰時,可記錄崩潰前每個天線通路的情況,并有專門的文件夾進(jìn)行記錄。第五,使用直觀的圖形化模式,便于校對。系統(tǒng)還要具有日志查詢、存儲、導(dǎo)出功能,導(dǎo)出后為Excel 文件格式。第六,保證系統(tǒng)的穩(wěn)定性,同時具有良好的可拓展性。按照無線局規(guī)范要求進(jìn)行數(shù)據(jù)接口開發(fā),保證數(shù)據(jù)傳輸格式規(guī)范、數(shù)據(jù)正確;完善運行圖接收和解析過程,確保發(fā)射機(jī)連接正確 天線。
為優(yōu)化該系統(tǒng)的性能,技術(shù)人員在設(shè)計該系統(tǒng)時,會使用目前成熟的技術(shù)和先進(jìn)的軟件體系架構(gòu),根據(jù)面向?qū)ο蟮南到y(tǒng)建設(shè)和開發(fā)理念,更好完成系統(tǒng)的指標(biāo)要求。
系統(tǒng)的設(shè)計開發(fā)基于Microsoft.Net,.Net 是微軟公司新推出的軟件開發(fā)平臺,它是系統(tǒng)開發(fā)的平臺,也是系統(tǒng)的整體框架,同時.NET 也是一個軟件開發(fā)集合,包含軟件開發(fā)過程中頻繁使用的中間代碼、數(shù)據(jù)訪問、編程工具和XML 組件等。.NET 平臺可以實現(xiàn)跨設(shè)備、跨平臺、跨語言開發(fā),使開發(fā)和應(yīng)用效率得以大幅度提高[1]。
系統(tǒng)開發(fā)使用C#語言、客戶端/服務(wù)器(Client/Server,C/S 架構(gòu)),使用特殊的設(shè)計方法。技術(shù)人員在開發(fā)系統(tǒng)時應(yīng)用多線程技術(shù),不僅可以提高程序的響應(yīng)速度,而且在部分線程發(fā)生短時間阻塞時,系統(tǒng)依然能夠繼續(xù)運行,響應(yīng)其他線程的操作,這有效解決了單線程系統(tǒng)因線程阻塞造成系統(tǒng)崩潰的問題。
系統(tǒng)運行基于Windows 平臺,運行在微軟的.Net Framework4.5.2 框架下,操作系統(tǒng)要求是Windows7 或以上。
天線交換控制系統(tǒng)的硬件主要由上位機(jī)用戶操作界面系統(tǒng)(客戶端)和下位機(jī)邏輯控制系統(tǒng)組成。上、下位機(jī)通過網(wǎng)絡(luò)交換機(jī)與機(jī)房運行監(jiān)控平臺連接,組成天線交換開關(guān)控制系統(tǒng)網(wǎng)。
上位機(jī)由工控機(jī)、數(shù)據(jù)庫服務(wù)器和觸摸顯示屏組成,觸摸顯示屏設(shè)置在發(fā)射機(jī)房控制室內(nèi),屏上顯示交換開關(guān)控制系統(tǒng)的用戶操作界面,是整個系統(tǒng)的操作臺,主要負(fù)責(zé)人機(jī)交互和顯示各交換開關(guān)、天線(假負(fù)載)和發(fā)射機(jī)的實時狀態(tài)和工況。值班人員可以在客戶端上完成對天線交換開關(guān)的所有遠(yuǎn)程操作,系統(tǒng)設(shè)置、日志查詢和系統(tǒng)信息查詢等都在上位機(jī)上完成。系統(tǒng)通過上位機(jī)與機(jī)房運行監(jiān)控平臺通訊,可以接收機(jī)房運行監(jiān)控平臺下發(fā)的運行圖和調(diào)度指令。
下位機(jī)設(shè)置在天線交換開關(guān)室的控制柜內(nèi),界面是本地操作界面,當(dāng)上位機(jī)出現(xiàn)故障或遠(yuǎn)程通訊發(fā)生異常時,值班人員可以在本地操作交換開關(guān),完成天線倒換。下位機(jī)的主要功能是與上位機(jī)通訊,接收上位機(jī)的操作指令,按照操作指令,通過系統(tǒng)內(nèi)規(guī)定好的控制邏輯生成對各個交換開關(guān)的控制信號,包括定時信號和正反轉(zhuǎn)信號,并將信號發(fā)送至PLC 控制組件,同時接收PLC 控制組件反饋回來的交換開關(guān)狀態(tài)信息和交換開關(guān)操作完成后的轉(zhuǎn)換到位信號。每次操作完成后,都要將接收到的狀態(tài)信息和到位信號上行至上位機(jī)。
PLC 控制組件是天線交換控制系統(tǒng)的執(zhí)行單元,PLC 負(fù)責(zé)接收下位機(jī)的控制指令,按照指令在交換開關(guān)矩陣中選擇所需動作的交換開關(guān),控制所選擇天線交換通路上的三相異步電動機(jī),電動機(jī)向指定方向轉(zhuǎn)動,帶動刀閘轉(zhuǎn)向,形成運行圖所指定的發(fā)射機(jī)與天線間的射頻通路,實現(xiàn)天線的選擇[2]。另外,PLC 控制組件還要將通過微動開關(guān)采集的所有交換開關(guān)的到位信息和狀態(tài)信息反饋至系統(tǒng)的下位機(jī)。
上位機(jī)與下位機(jī)分別設(shè)置在發(fā)射機(jī)房控制室和天線交換開關(guān)室,二者距離較遠(yuǎn),加之發(fā)射機(jī)房電磁環(huán)境復(fù)雜,為確保通訊通暢,防止電磁干擾,二者之間的通訊信息要通過光電轉(zhuǎn)換后由光纖通路完成。
軟件采用插件式框架設(shè)計,整個軟件由主程序和各個插件模塊組成,天線交換開關(guān)控制系統(tǒng)的軟件體系結(jié)構(gòu)如圖1 所示。
系統(tǒng)的主程序為系統(tǒng)的主體框架,是整個軟件系統(tǒng)的神經(jīng)中樞,負(fù)責(zé)配置整個系統(tǒng),組織和管理系統(tǒng)插件的裝載、組合和有序運轉(zhuǎn),為各個插件提供插件契約,插件契約就是插件之間的服務(wù)接口,系統(tǒng)內(nèi)所有插件間的數(shù)據(jù)傳遞全部通過系統(tǒng)框架統(tǒng)一的契約規(guī)范實現(xiàn),便于有效地組織和管理插件。
系統(tǒng)中包含有網(wǎng)絡(luò)通訊接口、運行圖解析、交換開關(guān)控制、數(shù)據(jù)庫存儲、監(jiān)測告警和狀態(tài)顯示,共六個插件模塊。網(wǎng)絡(luò)通訊接口模塊配置和初始化系統(tǒng)與機(jī)房運行監(jiān)控平臺和PLC 控制組件間的通訊協(xié)議,負(fù)責(zé)完成機(jī)房運行監(jiān)控平臺、天線交換開關(guān)控制系統(tǒng)和PLC 控制組件間的數(shù)據(jù)通訊。運行圖解析模塊負(fù)責(zé)解析從機(jī)房運行監(jiān)控平臺接收到的運行圖,生成運行時間表,并將生成的運行時間表存儲到數(shù)據(jù)庫存儲模塊中,運行時間表中有當(dāng)天該發(fā)射機(jī)房需要執(zhí)行的所有任務(wù),是天線交換開關(guān)控制系統(tǒng)的控制依據(jù)。交換開關(guān)控制模塊訪問數(shù)據(jù)庫中運行時間表的播音任務(wù)和所有交換開關(guān)的狀態(tài)信息,通過使用提前規(guī)定好的控制原則,生成控制交換開關(guān)的控制指令。數(shù)據(jù)庫存儲模塊負(fù)責(zé)存儲系統(tǒng)中的各類數(shù)據(jù)信息,包括運行時間表、交換開關(guān)狀態(tài)、系統(tǒng)運行日志和故障報警信息等。監(jiān)測告警模塊負(fù)責(zé)監(jiān)測發(fā)射機(jī)、交換開關(guān)和天線的運行工況,與運行時間表中的任務(wù)進(jìn)行比對,出現(xiàn)異常時會及時發(fā)出聲光告警。狀態(tài)顯示模塊可以直觀地將發(fā)射機(jī)、交換開關(guān)和天線的連接路徑以圖形樣式顯示出來,并通過顏色區(qū)分設(shè)備的工作狀態(tài);同時,狀態(tài)顯示模塊具備截屏功能,每次交換開關(guān)運行狀態(tài)改變后,其就會對交換開關(guān)和天線的連接路徑圖進(jìn)行截屏,并將這些圖片保存在指定的文件夾,用來記錄系統(tǒng)意外崩潰前所有交換開關(guān)和通路的狀態(tài)。插件模塊就是整個系統(tǒng)的各個器官,各個模塊之間獨立運行,分別發(fā)揮自身的功能;模塊之間又相互聯(lián)系,互相訪問數(shù)據(jù),提供系統(tǒng)的運行條件。
筆者在設(shè)計與開發(fā)該系統(tǒng)的過程中,使用的數(shù)據(jù)格式有VARCHAR(M)和NUMBER(M,N)兩種。VARCHAR(M) 用于表示長度可變的字符數(shù)據(jù),M 表示該數(shù)據(jù)類型所保存的字符串的最大長度。NUMBER(M,N)為數(shù)字?jǐn)?shù)據(jù),若該數(shù)字是整數(shù)時,用NUMBER(M)表示,M 表示該數(shù)字最大可設(shè)置為M 位;若該數(shù)字有小數(shù)部分,則用NUMBER(M,N)表示,其中M 和N 分別指數(shù)字最大是M 位長,其中包含N 位小數(shù)。系統(tǒng)的插件契約采用統(tǒng)一的數(shù)據(jù)格式,不僅有利于系統(tǒng)的維護(hù),而且可以增強(qiáng)系統(tǒng)的拓展性,便于系統(tǒng)日后更新、擴(kuò)容和升級。
天線交換開關(guān)控制系統(tǒng)通過套接字(Socket)與機(jī)房平臺進(jìn)行通訊和數(shù)據(jù)交互。上行和下行的數(shù)據(jù)都按照協(xié)議中定義好的標(biāo)識位識別數(shù)據(jù)類型,通訊協(xié)議還規(guī)定了每種數(shù)據(jù)類型傳輸?shù)姆绞?。天線交換開關(guān)控制系統(tǒng)與機(jī)房平臺間數(shù)據(jù)交互的明細(xì)表如表1 所示。
表1 天線交換開關(guān)控制系統(tǒng)與機(jī)房平臺之間數(shù)據(jù)交互的明細(xì)表
天線交換開關(guān)控制系統(tǒng)采用插件式模塊化結(jié)構(gòu)構(gòu)成,各模塊之間獨立運行,只需經(jīng)過適當(dāng)?shù)慕M合配置,即可實現(xiàn)系統(tǒng)的總體功能。系統(tǒng)的幾個重要功能的實現(xiàn)方案如下:
短波廣播發(fā)射機(jī)房一般有多個發(fā)射機(jī),其同時對應(yīng)多個不同頻段,不同服務(wù)方向的天線交換開關(guān)控制系統(tǒng)需要根據(jù)運行圖規(guī)定的播音任務(wù),在每一播音時段,自動為每個發(fā)射機(jī)準(zhǔn)確配備天線。某發(fā)射機(jī)的播音任務(wù)結(jié)束后,系統(tǒng)會通過訪問運行時間表明確該發(fā)射機(jī)下一播音任務(wù)的時間和所需要的天線,再通過查詢其他發(fā)射機(jī)和交換開關(guān)的運行狀態(tài),通過控制邏輯運算得出該發(fā)射機(jī)天線倒換的時間[3]??刂七壿嬋鐖D2所示。
由控制邏輯圖可以看出,發(fā)射機(jī)在完成一個播音任務(wù)后,首先會判斷距離下一播音任務(wù)是否有時間間隙,如果沒有則直接倒換天線開始下一任務(wù)的播音;如果有時間間隙,且播音間隙內(nèi)有其他發(fā)射機(jī)需要倒換天線,則需要判斷此次天線倒換是否會對其他設(shè)備造成影響,若兩臺發(fā)射機(jī)的天線路由互不影響,則在播音結(jié)束后立即倒換至下一任務(wù)的天線準(zhǔn)備執(zhí)行下一任務(wù);若此次天線倒換會對其他發(fā)射機(jī)的天線倒換造成影響,且其他發(fā)射機(jī)的播音任務(wù)先于該發(fā)射機(jī),則需要將此發(fā)射機(jī)空置,等待其他發(fā)射機(jī)天線倒換完成后,再尋找其他路由為該發(fā)射機(jī)倒換天線。
天線交換開關(guān)的基本控制原理是控制三相異步電機(jī),通過電機(jī)的正反轉(zhuǎn)帶動開關(guān)刀體轉(zhuǎn)動,刀體轉(zhuǎn)向可以連接饋管內(nèi)不同的觸點,使高頻信號通過不同路徑去往不同的天線。當(dāng)多個天線交換開關(guān)同時使用時,信號通過的路徑就非常多。在設(shè)計和開發(fā)系統(tǒng)時,相關(guān)人員就需要對路徑進(jìn)行優(yōu)化,選擇出方便、快捷及不同發(fā)射機(jī)之間相互干擾小的路徑。最常用的天線交換開關(guān)路徑選擇方法是枚舉法,在開發(fā)系統(tǒng)時,相關(guān)人員需要提前列舉出全部通路,并根據(jù)便利程度和對其他設(shè)備的影響程度,為每條通路設(shè)置優(yōu)先級。系統(tǒng)會自動按照優(yōu)先級從高到低查詢,選出該發(fā)射機(jī)使用某副天線當(dāng)前條件下優(yōu)先級最高的路徑,并按時完成倒換。例如,A01 機(jī)上3#天線通過不同交換開關(guān)的動作有多條路徑,按照優(yōu)先級的高低排列為A、B、C 等。當(dāng)需要完成A01 機(jī)上3#天線倒換時,系統(tǒng)首先查詢A 路徑是否滿足條件,如果滿足則按A 路徑倒換交換開關(guān),完成天線倒換;如果A 路徑中有交換開關(guān)正在使用,開關(guān)在閉鎖狀態(tài)不能轉(zhuǎn)換,則查詢B 路徑,以此類推,直到找出當(dāng)前條件下最合理的 路徑[4]。
每一個天線交換開關(guān)上都有多個微動開關(guān),當(dāng)開關(guān)刀體轉(zhuǎn)動到位時,微動開關(guān)會將到位信號傳遞給PLC 控制組件,系統(tǒng)會通過PLC 控制組件定時上傳的數(shù)據(jù)得到所有交換開關(guān)的位置信息,對整個天線交換開關(guān)系統(tǒng)進(jìn)行巡回監(jiān)測。巡回監(jiān)測的結(jié)果是天線交換開關(guān)路徑的選擇依據(jù)。同時,系統(tǒng)還會將巡回監(jiān)測到的每個交換開關(guān)的位置與運行時間表中的任務(wù)需求進(jìn)行比對,如果比對發(fā)現(xiàn)異常,系統(tǒng)就會發(fā)出告警,幫助值班人員及時發(fā)現(xiàn)錯誤和交換開關(guān)故障[5]。
天線交換開關(guān)上還設(shè)置有高壓檢測裝置,其可以檢測交換開關(guān)上是否有高壓信號,在設(shè)計、開發(fā)系統(tǒng)時,相關(guān)人員可以根據(jù)高壓檢測結(jié)果設(shè)計系統(tǒng)的連鎖功能。另外,天線自動交換系統(tǒng)必須要與發(fā)射機(jī)加高壓控制進(jìn)行閉鎖,不允許帶高壓進(jìn)行交換開關(guān)的切換。而且,當(dāng)交換開關(guān)不到位時,發(fā)射機(jī)不允許上高壓。
在一年多時間的實際應(yīng)用中,本系統(tǒng)運行穩(wěn)定、安全、高效、便捷,解決了原有系統(tǒng)存在的問題,拓展了原有系統(tǒng)功能,能夠滿足現(xiàn)階段短波廣播發(fā)射的實際需求,對保障節(jié)目安全播出、加強(qiáng)廣播發(fā)射機(jī)的自動化監(jiān)測和控制有良好的效果。