ZF200中波發射機遙控軟件的設計
一、前言
本文引用地址:http://www.104case.com/article/227987.htmZF200中波發射機是北廣科技有限公司生產全固態大功率數字調幅200KW中波發射機。它采用了數字化音頻控制控制信號在射頻功率放大器末級實行高電平調幅先進技術。同時整機為全固態器件設計,控制系統采用了大量數字邏輯器件和可編程器件。這些先進技術和器件的使用使得整機的穩定性高,操作簡單、日常維護工作量小,運行指標也十分優越。筆者因工作原因為埃塞俄比亞國家某電臺兩部ZF200中波發射機編寫了一個遙控軟件。
下面將自己軟件設計的主要過程做一些介紹。
二、軟件設計
1.需求分析
用戶需求:(1)對機房的兩部發射機進行遙控和實時讀取發射機狀態。(2)對發射機供電的兩臺穩壓器進行實時監控。
ZF200中波發射機設計時有本地控制模式和遙控模式兩種工作模式。本地控制模式時通過面板開關按鈕或本機的觸摸屏操控發射機。當發射機處于遙控模式時,可以通過發射機的PLC可編程控制器的485串口進行遙控發射機。該機型的遙控模式還用于多個200發射機通過并機網絡進行并機工作時的控制和讀取表值狀態,所以通過串口對ZF200發射機發送遙控指令來實現控制發射機和讀取發射機表值狀態時是具有硬件基礎。發射機的穩壓器是上海松豐公司生產500KVA三相交流穩壓器,同樣具有串口通信功能和完善的通信協議。
因此編寫軟件通過串口遙控發射機和穩壓器實現遙控軟件是可行的。一般距離不超過200米的距離,可直接在計算機上加裝一個4串口的485通信卡,通過串口與遠端設備以485方式進行通信,編寫一個遙控軟件即可實現遙控功能。
2.功能模塊

根據用戶的需求,沒有對按照運行圖進行自動控制、運行數據的存儲查詢以及操作用戶進行分級管理等要求,只是一個遠程控制的需求,所以沒有日常的數據管理要求。因此不需數據庫支撐,軟件的架構相對簡單些。只需設計兩個通信模塊與兩部發射機進行通信,將數據處理后顯示到主界面,在狀態顯示模塊上顯示發射機開關量狀態,控制指令通過數據處理模塊后通過通信模塊發送到發射機即可。同樣設計兩個通信模塊與兩穩壓器進行通信獲取數據,數據處理模塊將處理成可供用戶識別的數據在穩壓器狀態顯示窗體上顯示。
三、模塊介紹
1.發射機通信模塊
發射機PLC通信協議:串口參數9600,n,8,1無握手協議,輸入模式二進制模式。主從方式通信,發射機為從機,監控端為主機,主機發指令從機響應。指令格式為:[設備號]+[指令字].[設備號]:長度為一個字節;[指令字]:長度為一個字節。由于原發射機的485串口是組網方式,所以要設定設備號才可正確通信。設備號要根據PLC通信模塊的撥碼開關來設定。T01發射機的設備號為3,T02發射機的設備號為2.指令字從0到15,軟件使用以下指令:
狀態量查詢:X+1,PLC應答X+1+7BYTE(7個字節的狀態量)。
模擬量查詢:X+2,PLC應答X+2+22BYTE(22個字節的模擬量)。
關機:X+9,PLC無應答數據。
低功率:X+10,PLC無應答數據。
中功率:X+11,PLC無應答數據。
高功率:X+12,PLC無應答數據。
狀態量傳送格式:

模擬量傳送格式:模擬量數據共11個(共占用22個字節,也就是11個字)。11個模擬量長度均各占用一個字(即2個字節)。發送方式為高字節在前低字節在后,即先發送高字節后發送低字節。11個模擬量的發送順序如下:

程序設計流程:使用mscomm模塊進行通信,定時查詢串口有無數據,有數據則通信正常,將數據傳數據處理模塊處理數據。無數據則通信不正常,清空數據模塊內數據。
然后檢查有無控制命令數據,有發送控制命令數據并清空命令數據,無控制命令數據分別發送狀態查詢指令和模擬查詢指令。
2.穩壓器通信模塊
穩壓器通信協議:串口參數9600,n,8,1無握手協議,輸入模式文本模式。主從方式通信,發射機為從機,監控端為主機,主機發指令從機響應。
協議基本格式:

SOI:協議頭(協議起始標志)固定為7EH;
VER:通信協議版本號(如本協議為32H);
CID1:設備地址(1~254,0、255保留);
CID2:設備類型(如26H);
CID2:命令信息:控制標識碼。響應信息:返回碼RTN;
LENGTH:INFO字節長度,包括LENID和LCHKSUM兩部分;
INFO:命令信息:控制數據信息COMMANDINFO.
響應信息:應答數據信息DATAINFO;CHKSUM:校驗碼(和校驗);EOI:協議尾(協議結束碼)固定為0DH;穩壓器的通信協議比較豐富詳細,穩壓器的設備地址、通信版本、設備類型已經設定好,在軟件的通信程序固定設定好即可。只是校驗碼的計算和INFO長度的計算要按照協議的方法計算。因具體的協議內容較長本文只對所涉及內容要點做簡率介紹,其他內容不做過多介紹。
獲取系統模擬量量化數據(定點數):
命令信息:CID1=26H,CID2=42H.響應的信息根據返回碼判斷數據正常,則在指定數據位截取數據即可。只是獲取的模擬數據要除以100才是實際值。
獲取開關輸入狀態: 命令信息:
CID1=26H,CID2=43H.響應的信息根據返回碼判斷數據正常,則在指定數據位截取數據即可。
程序設計流程:使用mscomm模塊進行通信,定時查詢串口有無數據,有數據則通信正常,將數據傳數據處理模塊處理數據。無數據則通信不正常,清空數據模塊內數據。分別發送狀態查詢指令和模擬查詢指令。
3.主界面
主界面中T01顯示的編號為T01發射機的主要表值,點擊states即可進入狀態顯示界面查看開關量狀態,點擊power即可進入穩壓器顯示界面查看穩壓器的工作狀態和表值。T02機的顯示內容,操作與T01機一樣。點擊system set進入系統設置界面。Connet State顯示兩個發射機的通信是否正常。程序只需使用一個定時器每隔800毫秒根據讀取的數據刷新一次主界面,實時顯示數據。

4.狀態界面
狀態界面分別顯示了T01機功放機柜和整流電源柜的開關量狀態,有故障時紅燈顯示,正常綠燈顯示。下方是帶燈按鈕指示。程序使用了一個定時器每隔800毫秒根據讀取的數據刷新一次界面,實時顯示數據。點擊按鈕,程序將生成相應的控制指令通過串口將指令發送到發射機PLC控制發射機。

5.穩壓電源界面
穩壓電源界面顯示的01號穩壓器的設備號、通信狀態、輸入電壓、輸入電流、輸出電壓、輸出電流、運行方式狀態和告警內容。程序使用了一個定時器每隔800毫秒根據讀取的數據刷新一次界面,實時顯示數據。

6.系統設置模塊

由于發射機的編號和發射機PLC的通信設備號已經固定,所以系統設置界面只提供設置的數據顯示,未真正提供修改功能。
四、軟件實現情況
由于用戶要求使用英語系統,因此選擇英文XP專業版作為運行環境,分辨率采用1023*768.主界面風格采用藍色基調,高量度炫目風格。通過VB編程調試和測試所有功能均達到要求。該軟件若采用數據庫向結合,便可很輕松的增加按照運行圖自動開關機功能、自動抄表功能、故障查詢功能、數據統計分析等功能。
評論