劉 軍,鄒 文,張奎華,周興廣,張巧壽
(北京強(qiáng)度環(huán)境研究所,北京 100076)
?
基于CAN總線的振動試驗智能監(jiān)控系統(tǒng)軟件設(shè)計
劉 軍,鄒 文,張奎華,周興廣,張巧壽
(北京強(qiáng)度環(huán)境研究所,北京 100076)
振動試驗是為了保障航天及民用產(chǎn)品可靠性的重要試驗手段,傳統(tǒng)的振動試驗對功放的操作繁瑣,效率低下,已經(jīng)越來越無法適應(yīng)新型振動試驗的發(fā)展;提出一種基于CAN總線控制器構(gòu)建的振動試驗功率放大器遠(yuǎn)程監(jiān)控系統(tǒng),使用Visual C++進(jìn)行編程,實現(xiàn)了在計算上對功率放大器的遠(yuǎn)程操作,解放了操作人員,同時由于計算機(jī)的開放性,系統(tǒng)可以擴(kuò)展出運(yùn)行參數(shù)實時顯示,配置本地存儲、保護(hù)互鎖、開機(jī)自檢等功能,最后通過實驗驗證表明系統(tǒng)軟件運(yùn)行可靠,達(dá)到了預(yù)期的設(shè)計目的。
現(xiàn)場總線;CAN總線控制器;振動臺;功率放大器;振動試驗
振動試驗最初用于對航天器等對可靠性要求高的產(chǎn)品進(jìn)行可靠性驗證,后推廣到航空、鐵路、電子等各行業(yè),是保障產(chǎn)品在振動環(huán)境下可靠運(yùn)行的關(guān)鍵試驗。振動臺是振動試驗所使用的試驗設(shè)備。根據(jù)試驗件的尺寸和試驗振動量級,振動臺的推力性能是其主要性能指標(biāo)。我國的振動臺發(fā)展依托于航天領(lǐng)域載人航天、重型運(yùn)載火箭、空間站等項目的發(fā)展,相繼研制出35噸、40噸直至70噸推力的大型振動臺。同時,為了更真實的模擬試件的真實振動情況,多軸振動試驗正在受到越來越多的重視。美國已經(jīng)發(fā)布標(biāo)準(zhǔn),強(qiáng)制某些產(chǎn)品必須進(jìn)行多軸振動試驗。
大推力振動臺由于其尺寸和功率的增大,傳統(tǒng)的試驗系統(tǒng)已經(jīng)顯現(xiàn)很多弊端。如大型振動臺所配套功率放大器數(shù)量增多。35噸振動臺所需的功率放大器就有6個獨立的功放柜。這樣各個功放柜之間的電流分配,包括一臺功放柜出故障后,系統(tǒng)的互鎖保護(hù)問題都將影響到系統(tǒng)的可靠性。而多軸振動試驗系統(tǒng),除了功放柜變得更多之外,還需要同時對3套甚至6套、8套設(shè)備同時進(jìn)行控制。傳統(tǒng)的試驗設(shè)備需要個人單獨的操作多套設(shè)備,設(shè)備之間是獨立的,沒有互鎖機(jī)制的。這樣除了操作不變之外,一臺設(shè)備出現(xiàn)故障,其他的設(shè)備無法停止,會導(dǎo)致試驗失敗,具有損壞貴重試驗件的風(fēng)險。
為此,提出研制一種新型的振動試驗智能監(jiān)控系統(tǒng),可以將多個設(shè)備集中控制和互鎖保護(hù)觸發(fā),解決了大型振動試驗和多軸振動試驗帶來的新問題。除此之外,此監(jiān)控系統(tǒng)對傳統(tǒng)的單軸中小推力振動試驗也具有劃時代的革命。因為,所有的操作和試驗狀態(tài)數(shù)據(jù)監(jiān)測都可以在計算機(jī)上進(jìn)行,操作人員無需進(jìn)入試驗區(qū)域,從而保護(hù)了試驗人員的安全和健康,同時計算機(jī)具有智能化,可以將試驗數(shù)據(jù)進(jìn)行保存和分析,這是傳統(tǒng)試驗方式所無法實現(xiàn)的。
控制系統(tǒng)包括上位機(jī)和下位機(jī),上位機(jī)的總線通過CAN總線控制器實現(xiàn)。CAN總線控制器是符合CAN通信協(xié)議的標(biāo)準(zhǔn)通信板卡,可以在windows平臺下安裝驅(qū)動程序,然后在計算機(jī)上通過windows平臺編程實現(xiàn)通信功能。
圖1 CAN控制器網(wǎng)絡(luò)結(jié)構(gòu)圖
本課題選用CAN控制器技術(shù)指標(biāo)如下:
1)PC接口:USB2.0接口,最高可達(dá)12 Mbps的傳輸速率;
2)CAN控制器:NXP ARM7系列LPC2364集成控制器;
3)CAN收發(fā)器:CTM8251AT隔離收發(fā)器;
4)數(shù)據(jù)傳送速率:用戶設(shè)定:5 kbps~1 Mbps;
5)CAN協(xié)議:支持CAN2.0B協(xié)議(兼容CAN2.0A),符合ISO/IS 11898標(biāo)準(zhǔn);
6)最高幀流量:2 500幀/秒;
7)緩沖區(qū)大小定義:CAN上傳USB的模塊批量上傳緩沖區(qū)最大為Buffer[300][13] = 3 900字節(jié),即等于300個CAN的擴(kuò)展幀長; USB下傳CAN的模塊批量下傳緩沖區(qū)最大為Buffer=400字節(jié);
8)供電方式:USB總線供電,或使用外接電源(+10 V~+30 V,400 mA);
9)磁鐵隔離:DC2500 V;
10)工作溫度: 0 ℃~70 ℃;
11)運(yùn)行環(huán)境: Win9X/Me、Win2000/XP操作系統(tǒng)。
圖2 單振動臺控制系統(tǒng)構(gòu)架圖
單振動臺試驗系統(tǒng)構(gòu)架如圖2所示。主控計算機(jī)和主控柜以及各個功放柜都各有一個CAN總線控制卡。系統(tǒng)采用中斷方式作為數(shù)據(jù)傳輸?shù)闹饕问剑粗骺赜嬎銠C(jī)向主控柜和各個功放柜發(fā)送控制命令和數(shù)據(jù)監(jiān)測信息請求。主控柜和功放柜接收到主控計算機(jī)發(fā)來的數(shù)據(jù)之后,向主控計算機(jī)發(fā)送數(shù)據(jù)。主控計算機(jī)在接收到數(shù)據(jù)之后,進(jìn)行顯示與響應(yīng)。
多振動臺試驗系統(tǒng)可以同時對多個振動臺進(jìn)行控制和監(jiān)測,其系統(tǒng)構(gòu)建圖如圖3所示。多個振動臺功放之間通過CAN總線網(wǎng)絡(luò)聯(lián)系起來,可以滿足多軸振動試驗,如三軸向三自由度,三軸向六自由度試驗等試驗要求,多軸試驗可以同時在遠(yuǎn)程計算機(jī)實現(xiàn)控制,數(shù)據(jù)在電腦上集中顯示,保護(hù)具有鏈鎖功能。
圖3 多振動臺控制系統(tǒng)構(gòu)架圖
主控計算機(jī)的軟件由Visual C++ 6.0實現(xiàn),包括界面設(shè)計、初始化、數(shù)據(jù)監(jiān)測功能、控制功能、系統(tǒng)中斷、中斷互鎖等功能。具體實現(xiàn)方式詳述如下。
2.1 界面設(shè)計
界面分為單振動臺監(jiān)控界面和多振動臺監(jiān)控界面兩種。
單振動臺界面內(nèi)容主要包括電源電壓、勵磁電流電壓、直流母線電壓、功放輸出電流電壓的監(jiān)測信息,冷卻、勵磁和增益開關(guān)量的控制以及增益非開關(guān)量的控制。此外,還具有狀態(tài)指示燈、狀態(tài)文字實時反饋、分柜數(shù)據(jù)監(jiān)測信息等。
多振動臺界面內(nèi)容在包括全部單臺監(jiān)測的全部內(nèi)容之外,還添加了多振動臺同步啟動、停止、增益設(shè)定、保護(hù)互鎖等功能。
圖4 多振動臺控制界面設(shè)計
2.2 初始化
系統(tǒng)初始化過程,是軟件運(yùn)行初期,未進(jìn)行任何操作時所自動運(yùn)行的程序。初始化內(nèi)容,包括對各個CAN控制器的開啟、各個設(shè)備進(jìn)行初始值的賦予,開關(guān)量常開常閉設(shè)定等。所有的信息通過讀取存儲在計算機(jī)上的配置文件實現(xiàn)。
2.3 數(shù)據(jù)監(jiān)測功能
振動試驗的過程往往非常關(guān)鍵,試驗件可能是極其貴重的太空飛船、衛(wèi)星、火箭、軍工武器等,為此,振動試驗過程的數(shù)據(jù)監(jiān)測必須做到實時可靠。通過操作系統(tǒng)的多線程設(shè)計來滿足這一要求。
多線程(multithreading),是指從軟件或者硬件上實現(xiàn)多個線程并發(fā)執(zhí)行的技術(shù)。具有多線程能力的計算機(jī)因有硬件支持而能夠在同一時間執(zhí)行多于一個線程,進(jìn)而提升整體處理性能。在一個程序中,這些獨立運(yùn)行的程序片段叫做“線程”(Thread),利用它編程的概念就叫做“多線程處理(Multithreading)”。具有多線程能力的計算機(jī)因有硬件支持而能夠在同一時間執(zhí)行多于一個線程,進(jìn)而提升整體處理性能。
通俗的說,就是多線程用來同時處理多個任務(wù),可以實現(xiàn)在界面調(diào)度不受影響的情況下,在后臺執(zhí)行監(jiān)測程序。
在一個新的線程中,處理如下任務(wù):
While(1)
{
查詢1號振動臺的監(jiān)測信息;
查詢2號振動臺的監(jiān)測信息;
……
查詢n號振動臺的監(jiān)測信息;
}
可以看到,處理監(jiān)測的線程內(nèi)部是個死循環(huán),這樣振動臺的監(jiān)測隨時在不間斷的執(zhí)行。
2.4 控制功能
控制功能需要實現(xiàn)的功能是將控制命令實時的處理與執(zhí)行。為此,為控制命令單獨設(shè)置一個線程。并采用一種隊列的數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)多重命令的執(zhí)行順序。
隊列是一種特殊的線性表,特殊之處在于它只允許在表的前端(front)進(jìn)行刪除操作,而在表的后端(rear)進(jìn)行插入操作,和棧一樣,隊列是一種操作受限制的線性表。進(jìn)行插入操作的端稱為隊尾,進(jìn)行刪除操作的端稱為隊頭,如表1。
表1 隊列數(shù)據(jù)結(jié)構(gòu)
表1是一個典型的隊列數(shù)據(jù)結(jié)構(gòu)。a1元素是隊列的前端,后端元素a2、a3、……、an不斷插入隊列。隊列執(zhí)行刪除操作的時候,先刪除隊首元素a1,然后a2變成隊首元素。這是一種典型的FIFO(先入先出)型數(shù)據(jù)結(jié)構(gòu),適用于對命令流的順序執(zhí)行。
為了防止誤操作。每一次控制命令的執(zhí)行都需要得到確認(rèn),流程如圖5所示。
圖5 控制命令流程圖
上位機(jī)向目標(biāo)功放柜或者主控柜發(fā)送控制命令。該功放柜或者主控柜的CAN卡在接收到主控計算機(jī)發(fā)送的控制命令之后,向主控計算機(jī)發(fā)送一個反饋信息,請求主控計算機(jī)發(fā)送一個確認(rèn)信息。在收到主控計算機(jī)發(fā)送到的確認(rèn)信息之后,功放柜的CAN卡向主控計算機(jī)執(zhí)行該命令,并返回該命令執(zhí)行的結(jié)果狀態(tài),如表2。
表2 結(jié)果狀態(tài)
2.5 系統(tǒng)中斷
由于系統(tǒng)的狀態(tài)隨時在監(jiān)測中,系統(tǒng)出現(xiàn)故障的情況下,需要及時停機(jī)從而對系統(tǒng)進(jìn)行保護(hù)。系統(tǒng)中斷的機(jī)制是上位機(jī)發(fā)送一個系統(tǒng)故障的消息,發(fā)送到系統(tǒng)的消息隊列,系統(tǒng)檢測到系統(tǒng)故障消息,向下位機(jī)發(fā)送停機(jī)命令。停機(jī)命令的執(zhí)行過程如3.4所論述。
2.6 互鎖保護(hù)
在多振動臺振動試驗中,某個振動臺發(fā)生故障后,向該CAN控制器發(fā)送中斷信息。而后,該CAN控制器通過CAN網(wǎng)絡(luò)將停機(jī)命令發(fā)送到網(wǎng)絡(luò)上的所有振動臺設(shè)備,實現(xiàn)所有設(shè)備同步停機(jī),用以對設(shè)備和試驗件進(jìn)行保護(hù)。
2.7 CAN幀格式定義
CAN總線一幀數(shù)據(jù)的格式如表3所示。ID幀包含識別碼和屏蔽碼,用來區(qū)分不同的信號來源,如表2所示,將不同的設(shè)備定義成不同的ID數(shù)字。另外,一個標(biāo)準(zhǔn)幀的數(shù)據(jù)可以包含8字節(jié)的數(shù)據(jù)。
表3 CAN幀格式
表4 識別碼定義
利用一個標(biāo)準(zhǔn)幀的一個字節(jié)來表示功放輸出的電壓、電流,功放輸入,保護(hù)等不同的數(shù)據(jù)類型,如表5所示。
表5 監(jiān)測幀定義
我們利用一個標(biāo)準(zhǔn)幀的一個字節(jié)的“1”和“2”分別來表示對功放開關(guān)量的控制、如表5所示。為了和監(jiān)測幀加以區(qū)分,通過BIT2字節(jié)的定義加以區(qū)分,程序會真對這個幀進(jìn)行選擇和分流。
表6 控制幀定義
本課題的理論經(jīng)過了單臺振動臺控制的實際測試控制和多振動臺模擬板的測試。
3.1 單振動臺實驗
我們用一臺H3580A型35噸電動振動臺配450kVA功率放大器進(jìn)行了試驗。我們用自己制作的下位機(jī)控制模塊替換原有的控制模塊,并使其通過CAN總線網(wǎng)絡(luò)與上位機(jī)相連接。對功放的運(yùn)行數(shù)據(jù)通過上位機(jī)進(jìn)行監(jiān)測,并通過上位機(jī)的控制界面控制功率放大器的啟停、增益的設(shè)定。通過鉗形電流計測量實際的功放輸出電流與顯示的監(jiān)測電流進(jìn)行比對,發(fā)現(xiàn)監(jiān)測的電流誤差在1%以內(nèi)。
3.2 多振動臺實驗
由于設(shè)備限制,我們只做了3個振動臺的模擬電路板用以代替3個振動臺的控制模塊,對模擬電路板燒寫虛擬的控制程序,并與上位機(jī)進(jìn)行連接。通過實驗,我們發(fā)現(xiàn),多振動臺控制由于控制節(jié)點多,導(dǎo)致數(shù)據(jù)更新率較慢。這也將是今后改進(jìn)的方向。
經(jīng)過軟硬件的測試,我們得出結(jié)論,CAN總線通信能夠很好的實現(xiàn)振動臺功放的遠(yuǎn)程實時監(jiān)控功能,其使用簡單方便,高效可靠,而且具有很好的可擴(kuò)充性。
[1] 鄔寬明.現(xiàn)場總線技術(shù)應(yīng)用選編[M].北京:北京航空航天大學(xué)出版社,2003.
[2] 陽憲惠.現(xiàn)場總線技術(shù)及其應(yīng)用[M].北京:清華大學(xué)出版社,1999.
[3] Stephen B, Strachan S M, Mc Arthur S D J, et al. Design of trip current monitoring system for circuit breaker condition assessment[J]. The Institution of Engineering and Technology, 2007:876-882.
[4] Bizjzk G, Zunko P, Povh D. Combined model of SF6 circuit breaker for use in digital simulation programs[J]. IEEE Transactions on Power Delivery, 2004, 19(1):1207-1211.
[5] SJA1000獨立CAN控制器使用說明[Z].廣州周立功單片機(jī)發(fā)展有限公司.
Software Design of Intelligent Monitor and Control System for Vibration Testing Based on CAN Field Bus
Liu Jun, Zou Wen, Zhang Kuihua, Zhou Xingguang, Zhang Qiaoshou
(Beijing Institute of Structure and Environment Engineering, Beijing 100076, China)
Field bus is considered to be a very important trend of the automation industry, which is also praised as the PC local network of the automation industry. CAN field bus has the characters as short transmission period and high anti-jamming. In this paper, a structure of a power amplifier remote monitor and control system based on CAN field bus is depicted and the hardware and software structure and the program flow are introduced in details.
field bus; CAN controller; shaker; power amplifier; vibration testing
2015-10-30;
2015-12-22。
劉 軍(1984-),男,河北唐山人,碩士,工程師,主要從事振動試驗設(shè)備研制工作。
張巧壽(1964-),男,河北省人,碩士,研究員,主要從事振動試驗設(shè)備研制工作。
1671-4598(2016)06-0136-03
10.16526/j.cnki.11-4762/tp.2016.06.037
TP311
A