交換開關(guān)控制系統(tǒng)的開發(fā)應用
出處:電子技術(shù)網(wǎng) 發(fā)布于:2014-02-12 09:34:11
摘要:本文針對原交換開關(guān)控制系統(tǒng)在設計時存在的不足問題進行分析,并運用實例進行反復研討論證從而確定了在原有交換開關(guān)控制系統(tǒng)的基礎上進行開發(fā)應用,經(jīng)過交換開關(guān)系統(tǒng)技術(shù)改造后,使備機融入代播體系,使其發(fā)揮效益,同時提高了系統(tǒng)的穩(wěn)定性。
0 引言
我臺于2006年8月進行室內(nèi)交換開關(guān)控制系統(tǒng)改造,通過室內(nèi)交換開關(guān)的倒換,實現(xiàn)了每部發(fā)射機都可以上任意一副天線,使發(fā)射機間的相互代播簡單快捷,提高了發(fā)射機應急播出能力。
隨著時間的推移,原交換開關(guān)控制系統(tǒng)在設計時存的不足逐漸暴露出來:
1.當服務器端死機后,客戶端無法及時發(fā)現(xiàn)。即當天控工控機出現(xiàn)死機時,值班員是無法察覺的(系統(tǒng)無監(jiān)控、報警界面)。
2.該系統(tǒng)人機交換界面設計不夠人性化,操作不方便,功能不夠強大,系統(tǒng)不夠完善。
3.該系統(tǒng)不能進行系統(tǒng)升級。隨著事業(yè)的發(fā)展,我臺安裝了一部150kW發(fā)射機備機,備機無法融入當前系統(tǒng),發(fā)揮應有的作用。
在經(jīng)過反復研討論證后,我們確定了在原有交換開關(guān)控制系統(tǒng)的基礎上進行開發(fā)應用。改造分為三個方面:
?。?)對原有交換開關(guān)控制系統(tǒng)使用的PLC控制器進行改進,即基于增加一部備機和一個同軸開關(guān)的前提下,重新設計了PLC硬件接線和PLC端口分配;
(2)對原有交換開關(guān)控制系統(tǒng)使用的PLC控制器的內(nèi)部程序進行編寫,達到需要的擴展功能;
?。?)開發(fā)了一套基于PC終端的自動化軟件,使新的天控系統(tǒng)軟件實現(xiàn)自動化和遠程監(jiān)控功能。
一、PLC控制器硬件的改進
我臺原有室內(nèi)交換開關(guān)控制系統(tǒng)使用的PLC控制器是AB公司的Logix5561,經(jīng)面查看硬件設備后,結(jié)合升級改造的要求,重新設計了PLC控制器的硬件接線和PLC端口分配:
1.增加一部發(fā)射機和一個同軸開關(guān)控制
相應新增加的信號有:來自發(fā)射機備機的合高壓信號、去往發(fā)射機備機的天線正常信號、備機同軸開關(guān)的天線位和負載位返回信號和控制同軸開關(guān)轉(zhuǎn)動的電機電源輸入信號。
因此,將這幾個信號做了如下分配:備機的合高壓信號接到天控柜的FBT板,此板有12路輸入,此前四部發(fā)射機的合高壓信號用了四路;備機的天線正常信號接到天控柜TXBSFA板,此板有12路輸出,此前四部發(fā)射機的天線正常信號用了四路;備機同軸開關(guān)的信號接到天控柜控制板2上的第四個端子,該端子上的直通和轉(zhuǎn)向返回信號接備機同軸開關(guān)的天線位和負載位,該端子的直通輸出和轉(zhuǎn)向輸出接到分別通過二極管并聯(lián)控制中間繼電器,中間繼電器的輸入接220VAC,輸出接備機同軸開關(guān)電機電源。
2.硬件端口分配
根據(jù)以上的硬件連接,給各信號分配相應的PLC端口:備機的天線正常信號分配的端口地址是模塊2的4號端口,同軸開關(guān)的直通輸出和轉(zhuǎn)向輸出分配的端口地址是模塊4的15號和14號地址;備機合高壓信號分配的端口地址是模塊7的4號端口,同軸開關(guān)的直通返回和轉(zhuǎn)向返回地址分別是模塊9的15和14號端口。
二、PLC控制器內(nèi)部程序編寫
完成了PLC控制器的硬件接線和端口分配,我們對PLC內(nèi)部程序進行編制。PLC控制器內(nèi)部編程主要實現(xiàn)以下功能:交換開關(guān)和同軸開關(guān)的轉(zhuǎn)動、天線正常信號的輸出、指示信號的輸出(包含PLC和上位機的通訊)。
1.交換開關(guān)和同軸開關(guān)的轉(zhuǎn)動
設計如下:設置允許接收變量,每當需要轉(zhuǎn)動開關(guān)時,該變量設置為允許,當接收來自上位機的轉(zhuǎn)動信號完成之后,如果交換開關(guān)處于高壓狀態(tài),則相應的轉(zhuǎn)動信號被置為零,重新設置該變量為禁止接收狀態(tài),然后進行相應開關(guān)的轉(zhuǎn)動。
2.天線正常信號的輸出
這部分的內(nèi)容設計思路如下:列出發(fā)射機上天線的所有情況,根據(jù)當前的交換開關(guān)狀態(tài)輸出是否允許發(fā)射機加高壓,如果允許發(fā)射機加高壓,輸出天線正常信號,如果允許并且發(fā)射機處于合高壓狀態(tài),則禁止相應開關(guān)轉(zhuǎn)動。
3.指示信號的輸出(包含PLC和上位機的通訊)
每當輸入信號發(fā)生變化之后,上位機程序能夠及時讀取相應信號,控制系統(tǒng)能夠及時驅(qū)動相應的指示燈。
新的PLC程序是否能夠?qū)崿F(xiàn)設計目標,需要進行PLC程序調(diào)試。為此,編寫了一份測試文檔,針對天控系統(tǒng)的各種運行情況,查看運行結(jié)果是否符合預期目標,主要內(nèi)容是交換開關(guān)和同軸開關(guān)的轉(zhuǎn)動、高壓狀態(tài)下是否禁止運行、運行圖禁止/自動情況下交換開關(guān)的轉(zhuǎn)動情況、輸出指示是否正常,經(jīng)過反復測試修改,PLC程序能夠?qū)崿F(xiàn)預期目標。
三、開發(fā)一套基于PC終端的天控自動化軟件
本次交換天關(guān)系統(tǒng)的軟件部分,充分利用的軟件復用技術(shù),結(jié)合以往在自動化方面基礎,重新定制了新交換開關(guān)系統(tǒng)。首先,使用了基于ACE網(wǎng)絡通訊組件包,解決了服務器端死機后,客戶端無法發(fā)現(xiàn)的問題;其次,使用類visio組件包,解決了窗口在重新繪制和通訊斷開時,用戶點擊后出現(xiàn)“未響應”的問題;然后,利用日志組件包,解決了設備狀態(tài)變化無法查詢的問題;,利用語音組件包,更人性化地提示值班員設備狀態(tài)變化過程。(軟件復用就是將已有的軟件成分用于構(gòu)造新的軟件系統(tǒng)。可以被復用的軟件成分一般稱作可復用構(gòu)件,無論對可復用構(gòu)件原封不動地使用還是作適當?shù)男薷暮笤偈褂茫灰怯脕順?gòu)造新軟件,則都可稱作復用。軟件復用主要用來縮減軟件開發(fā)和維護的花費,是提高軟件生產(chǎn)力和質(zhì)量的一種重要技術(shù)。)1.基于ACE的網(wǎng)絡通訊組件包
舊系統(tǒng)采用了windows自帶的通訊組件包,由于系統(tǒng)的通訊組件包未加入心跳機制,所在當服務器出現(xiàn)死機時,客戶端用戶無法知道它已與服務器斷開連接,嚴重影響了播出任務。如何解決及時發(fā)現(xiàn)連接被斷開呢?結(jié)合我臺在通訊組件方面的知識積累,本次通訊組件包,采用了基于ACE開發(fā)的通訊組件包,下面介紹一下這個組件包的內(nèi)容:
ACE自適配通信環(huán)境(Adaptive CommunicationEnvironment)是可以自由使用、開放源碼的面向?qū)ο罂蚣?,在其中實現(xiàn)了許多用于并發(fā)通信軟件的模式。ACE提供了一組豐富的可復用C++ Wrapper Facade和框架組件,可跨越多種平臺完成通用的通信軟件任務。ACE的目標用戶是高性能和實時通信服務和應用的開發(fā)者。它簡化了使用進程間 通信、事件多路分離、顯式動態(tài)鏈接和并發(fā)的OO網(wǎng)絡應用和服務的開發(fā)。此外,通過服務在運行時與應用的動態(tài)鏈接,ACE還使系統(tǒng)的配置和重配置得以自動化。
ACE有以下優(yōu)點:增強可移植性;有更好的軟件質(zhì)量;有更高的效率和可預測性;更容易轉(zhuǎn)換到標準的中間件;系統(tǒng)具備工業(yè)級質(zhì)量,可靠性非常高。我臺開發(fā)出了一套基于ACE的高效網(wǎng)絡通信組件包,隱藏層的細節(jié)問題,剝離復雜度,讓每位網(wǎng)絡通信的開發(fā)者不用理會數(shù)據(jù)是如何傳輸?shù)?,而是更加專注于邏輯的開發(fā),進而降低軟件開發(fā)周期。目前此套組件已實現(xiàn)功能:
1)服務器會根據(jù)操作系統(tǒng)的不同,自己選擇Proactor(windows)框架還是Reactor(linux)框架。
2)對底層數(shù)據(jù)加密,剝離出來一個類,可以通過給這個類注入自己的加密算法完成對數(shù)據(jù)包的加密,使數(shù)據(jù)在被竊取后也不能知道真正內(nèi)容,保證數(shù)據(jù)的安全性。
3)完善的日志系統(tǒng),服務器會動態(tài)的記載當前處理指令情況,每個鏈接處理數(shù)據(jù)包的時間,數(shù)量,以及工作線程的狀態(tài)。提供給開發(fā)者完善的數(shù)據(jù)分析標準,也提供給開發(fā)人員對服務器的效率進行分析和配置。
4)服務器和客戶端做了心跳處理,會自動斷開或重連無效鏈接。
5)在發(fā)送一些大數(shù)據(jù)時候,采用自主研發(fā)的粘包算法,避免大數(shù)據(jù)的粘包問題。
6)大量使用內(nèi)存池和對象池,使組件運行效率更高、速度更快。
7)允許和禁止接入的IP地址控制,避免非法終端接入,竊取機密數(shù)據(jù),從而使系統(tǒng)更加具有安全性。
8)簡化調(diào)用接口,在設置好配置文件后,開發(fā)人員只需要調(diào)用一個函數(shù)就可完成UDP,TCP/IP及MDP等網(wǎng)絡通訊模塊,并可通過回調(diào)函數(shù)和發(fā)送函數(shù)進行收發(fā)數(shù)據(jù)管理。
2.基于多線程的類visio可視組件包
工業(yè)控制軟件對圖形處理要求很高,需要很強的實時響應能力,往往開發(fā)類似的界面需要花費很長的開發(fā)時間,尤其是當您的應用程序還需要支持打印、關(guān)系復雜的連接圖以及拖拉操作等功能的時候就更是如此,此類應用程序要求用戶可以能夠在上面動態(tài)的調(diào)節(jié)各種數(shù)據(jù)關(guān)系,并處理非常復雜的數(shù)據(jù)流程。再加上MFC只提供了一些基本的GDI調(diào)用函數(shù),它能夠提供給我們的幫助非常非常少。因此開發(fā)這類應用程序不僅要求開發(fā)人員要去處理大量的非常復雜的WindowsGDI的調(diào)用,而且還需要繁雜的數(shù)學計算。這將是一個非常耗時耗力的工作。
因此,為了節(jié)省每次系統(tǒng)的開發(fā)周期,通過研究與實踐,我臺自主開發(fā)出了一套類似visio功能的組件。開發(fā)人員可通過此組件,在改動少量的代碼條件下,就可實現(xiàn)適合各自的業(yè)務需求軟件。
由于舊系統(tǒng)的圖形組件都是基于事件觸發(fā)的,當繪制未完成時,用戶如果點擊鼠標或輸入等操作,軟件會出現(xiàn)未響應及假死情況發(fā)生,進而使關(guān)鍵指令不能及時觸發(fā)處理,帶來嚴重的后果。因此,本組件采用多線程繪制模式,即不在基于以往的事件觸發(fā)模式,而是啟動一個獨立的線程,對加入組件并且需要顯示的元素進行實時繪制顯示,讓用戶不再碰到假死情況。并且經(jīng)過開發(fā)人員測試和用戶測試,可以實現(xiàn)隨意功能操作,而軟件不會出現(xiàn)未響應的情況,保證用戶操作的連續(xù)性。充分解決了舊系統(tǒng)“未響應”事件和軟件假死情況的發(fā)生。
為了適應軟件在開發(fā)好后,在不需要開發(fā)人員參與情況下,使用者就可實現(xiàn)對設備的增、刪、改功能,進而對系統(tǒng)進行重新布局,此套組件擁有編輯功能,非開發(fā)人員可通過鼠標便可手動操作設備。用戶可以自行編輯當前交換天關(guān)邏輯,并可對設備的大小、位置、角度等參數(shù)及設備屬性進行修改和保存,生成后的交換天關(guān)邏輯圖將自動加載,并根據(jù)新的邏輯圖運行,具有非常好的通訊性。
3.基于多線程的日志組件包
軟件運行日志的對象是軟件維護人員、資深客戶(比如客戶方的系統(tǒng)管理員)。軟件中的錯誤信息,應該分為兩類,一類是軟件用戶能夠理解的,另一類是軟件用戶不能理解的,需要軟件維護人員介入的。前者,通常與軟件用戶的操作行為相關(guān),軟件用戶在得到提示后,可以自行進行處理;而后者,通常與軟件自身缺陷、軟件部署環(huán)境問題相關(guān)的,只有軟件維護人員才能處理的。
很明顯,對于后者的詳細內(nèi)容,沒必要用告警對話框的方式提供給軟件用戶,而且這樣做,會大大增加軟件錯誤處理的復雜度。直接將其寫入運行日志,是簡便、也可靠的方法。可以想象下面的場景,應用軟件在某臺電腦上運行出錯,軟件維護人員或客戶方系統(tǒng)管理員查看運行日志,發(fā)現(xiàn)了一些系統(tǒng)模塊調(diào)用失敗的信息,并與開發(fā)人員遠程溝通,開發(fā)人員根據(jù)這些信息,迅速定位錯誤的代碼,隨后開發(fā)人員可能反饋,某個系統(tǒng)組件沒有的到正確的配置,也可能反饋,軟件中有一處缺陷,將在下一個版本或補丁包中得到修正。不管是哪一種情況,這一過程都可以提高軟件的健壯性。
現(xiàn)代軟件日益復雜,徹底消除軟件中的錯誤已經(jīng)被證明是不可能的,那么,及時發(fā)現(xiàn)錯誤、定位錯誤現(xiàn)場信息,迅速排除軟件錯誤就成為非常重要的事情,甚至在軟件實際運行環(huán)境中也是如此。因此,軟件運行日志就是捕獲錯誤現(xiàn)場信息的一種重要手段。
日志流程圖如圖1所示:

4.基于microsoft speech sdk v5.1語音組件包
應用微軟提供的SAPI可以讓我們的軟件能說會道。軟件中的語音技術(shù)主要包括兩方面的內(nèi)容,一個是語音識別( s p e e c hrecognition),另外一個是語音合成(speechs y n thesis ),也即是文本語音轉(zhuǎn)換系統(tǒng)(TTS)。TTS系統(tǒng)使用合成語音合成文本字符串和文件到聲音音頻流。而語音識別系統(tǒng)則是轉(zhuǎn)換人類的聲音語音流到可讀的文本字符串或者文件。這兩個工作,都是通過各種語音引擎來完成的。微軟所提供的SAPI(全稱The Microsoft Speech API),正是在應用程序和語音引擎之間提供一個別的接口,它實現(xiàn)了所有必需的對各種語音引擎的實時的控制和管理等低級別的細節(jié)。語音引擎通過DDI層(設備驅(qū)動接口)和SAPI進行交互,應用程序通過API層和SAPI通信。通過使用這些API,我們可以快速開發(fā)在語音識別或語音合成方面應用程序。SAPI應用程序編程接口(API)明顯的減少了構(gòu)建一個使用語音識別和文本語音轉(zhuǎn)換的應用程序所需要的高層代碼,使語音技術(shù)更加容易使用并且更加擴大了應用的范圍。雖然現(xiàn)在SAPI并不是業(yè)界標準,但是應用非常廣泛。
雖然SAPI功能如此強大,但其是基于COM技術(shù),使用起來過于復雜,若每次開發(fā)都從新布置,大大延長了開發(fā)周期,而且加大了出錯概率。因此,我臺技術(shù)人員對其進行了二次封裝,讓未來開發(fā)人員在不需要了解SAPI底層細節(jié)的情況下,正確使用。語音組件邏輯流程圖如圖2所示:

5.天控編輯平臺
由于以往平臺都是定制開發(fā),即開發(fā)的平臺只適用與當前臺站,當在其它臺站需要部署相同設備,但邏輯不同時,需要對軟件進行重新開發(fā)。就如我們臺,此次加了一臺備機和一個同軸開關(guān),若使用舊系統(tǒng),需要再次請開發(fā)人員重新設計開發(fā),大大增加了人力、物力及財力。因此,為了解決這個問題,本系統(tǒng)在開發(fā)之初,經(jīng)過整個團隊的整體研究,并結(jié)合我臺自動化方面的基礎,自主開發(fā)了一套編輯平臺,在未來可能需要新加入發(fā)射機、交換開關(guān)或天線時,不再需要對軟件重新開發(fā),只需要通過編輯功能自動加入或刪除相應的設備即可使用,這樣不僅具有很高的經(jīng)濟價值,而且,經(jīng)過長期的運行和維護,相應的邏輯功能也會變得越來越穩(wěn)定。
我機房交換開關(guān)系統(tǒng)技術(shù)改造后,使備機融入代播體系,使其發(fā)揮效益,同時提高了系統(tǒng)的穩(wěn)定性,使系統(tǒng)功能更加完善,在安全播出工作中取得了明顯的效果。(作者:梁延成)
版權(quán)與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 主流開關(guān)技術(shù)及器件特性與應用選型指南2026/1/7 10:10:27
- 空調(diào)空開跳閘的原因及解決方法2025/9/10 14:14:31
- 東芝負載開關(guān) IC TCK207G 的實用功能大揭秘2025/8/25 17:09:47
- 超低電壓·全極感知 力芯微推出霍爾開關(guān)芯片 ET3715A302025/8/4 16:38:03
- 揭秘負載開關(guān) IC:簡化電源管理,穩(wěn)固電子系統(tǒng)2025/7/31 16:28:14









