賈 鑫,王暖春
(長春機械科學研究院有限公司,吉林 長春 130103)
?
多通道控制軟件的技術解析
賈鑫,王暖春
(長春機械科學研究院有限公司,吉林 長春 130103)
摘要:闡述了多通道實時顯示控制軟件的設計,重點介紹了軟件的功能及關鍵技術、多通道軟件在試驗機上的應用,詳細說明了16通道試驗機軟件設計方案,并給出了實現(xiàn)的方法。
關鍵詞:多通道;數(shù)據(jù)結構;數(shù)據(jù)保存;控制方法:保護
1引言
多通道實時顯示與控制軟件是測試系統(tǒng)的重要組成部分,是整個系統(tǒng)與用戶交互的接口,并控制系統(tǒng)協(xié)調(diào)工作。由于控制通道較多,給軟件編寫和控制帶來了很大困難。為了滿足多通道控制的試驗要求,需要對以往單通道控制軟件進行重新設計。
2基礎條件和硬件
本文討論的多通道實時顯示與控制軟件基于重慶汽研院的多軸譜加載試驗系統(tǒng)(16通道),上位計算機采用臺灣研華的工業(yè)控制計算機,因為需要3塊多通道控制板卡和2塊AD/DA卡,所以選用了研華的8路PCI插槽的底板,能夠很好地滿足應用。
3軟件設計
本次軟件設計有幾個難點:多通道協(xié)調(diào)控制、數(shù)據(jù)顯示、數(shù)據(jù)存儲、子站管理、試驗流程設置、油缸保護等。下面分別介紹這幾個難點的解決辦法。
3.1多通道協(xié)調(diào)控制
在多通道的實際應用中,并不一定每次都同時開啟所有通道同時試驗,這就要求可以多次分別啟動各個不同的通道進行試驗。所以,本軟件采用了可以多次開啟多個控制通道的辦法,同時將多個通道進行靈活分組。為了協(xié)調(diào)控制,選用了分別設置統(tǒng)一發(fā)送控制命令的方式,通過實際測試,很好地實現(xiàn)了該功能。以下是部分實現(xiàn)代碼:
Call CssStationStartCommand(Station) ′開始命令
Call CssStationSinLine(k, 5, 10, 1, 1000000, 0, 1, 0, 0)
…
Call CssStationSinLine(k+N, 5, 10, 1, 1000000, 0, 1, 0, 0)
′發(fā)送各個通道命令,比如正弦波,可以同時發(fā)送多個通道的控制命令
Call CssStationEndCommand(Station) ′命令設置完成
Call CssStationStartFunction(99) ′最后統(tǒng)一發(fā)送控制命令
3.2數(shù)據(jù)顯示
本次因為需要顯示的信息量很大,所以采用了分散式顯示,即把各個部分信息按照功能相同統(tǒng)一進行了管理,比如各個通道的實時值(見圖1)、峰谷值(見圖2)等。因為長時試驗需要時間較長,可能分為幾次才能完成試驗,所以對周期數(shù)設置了置零功能(見圖2)。
圖1 數(shù)字表頭顯示
圖2 峰谷值表頭顯示
3.3數(shù)據(jù)存儲
這部分是本軟件較難和復雜的一部分,涉及到多個通道同時存儲的問題。同時,各個通道還有不同的存儲判定的方式,比如按照時間存儲、按照周期存儲、存儲整個波形數(shù)據(jù)和存儲峰谷值等(見圖3)。采用多個線程的方式,使數(shù)據(jù)顯示、數(shù)據(jù)存儲互不影響。
圖3 數(shù)據(jù)存儲
NowCyc=SaveBufferWave(Station, 4, SaveProcessPara.NowReadPos(Station))
For i = 0 To m - 1
n = (i + SaveProcessPara.NowReadPos(Station)) Mod 20000
If (NowCyc = SaveBufferWave(Station, 4, n)) Then'
Call SaveDataToTxt(station)
End If
Next i
3.4試驗流程設置
因為涉及到多個通道,每個通道設置的試驗流程不同、各個流程的試驗數(shù)據(jù)不同、各個試驗數(shù)據(jù)設置方式不同,這就要求設置要靈活、方便、實用。本軟件采用了在同一個位置根據(jù)不同的通道設置相應的試驗方法的解決辦法,可以方便地設置試驗流程,靈活地采用一組控件同時設置多個通道的試驗流程(見圖4)。
圖4 試驗流程
3.5子站管理
因為最多可以有8個子站,各個子站對應的I/O、AD通道不能設置成一成不變的,所以本軟件在設計過程中,采用靈活設置,不固定子站和I/O、AD的對應關系,用戶可以通過高級權限,自行設置對應關系的方法,很好地解決了這個問題。同時,可以設置高低壓啟動方式來控制啟動電壓,以此來控制啟動管路壓力。將各個油缸進行靈活分組,分在同一組的可以進行同組內(nèi)的協(xié)調(diào)試驗,并且不影響其他分組內(nèi)的油缸進行試驗,見圖5。
圖5 子站控制
3.6保護
在動態(tài)試驗中,失控、過載等意外情況損壞試件、負荷傳感器等事件經(jīng)常發(fā)生。針對這樣的情況,單獨設計了試驗保護模塊。通過很簡單的設置,就可以在試驗過程中和非試驗狀態(tài),對各個通道的油缸進行完美的保護。當某一實時通道值超過設定的保護值時,試驗軟件會停止試驗和切斷壓力,并在醒目的位置給出紅色提示,見圖6。
圖6 保護
MaxminProtect.MaxDataArr(j, i) = mjxdata.Cjxdata.BHValue(i) ′ 負荷
MaxminProtect.MinDataArr(j, i + 1) = mjxdata.Cjxdata.BHValue(i + 1) ′位移
MaxminProtect.MinDataArr(j, i + 2) = mjxdata.Cjxdata.BHValue(i + 2) ′變形
Call CssStationSetMaxMinProtectData(MaxminProtect)
4結論
根據(jù)實地測試和試驗,本軟件可以同時控制多個通道進行協(xié)調(diào)試驗,同時對各個通道大量的試驗信息進行顯示、存儲,具有高可靠性、開放性、靈活性、易于維護、協(xié)調(diào)性強、功能齊全、界面友好等優(yōu)點。
參考文獻
[1]姜曉銘.VisualBasic6.0中文版編程指南[M].中國石化出版社,2000.
[2]張立新,張泳,賈鑫,等.溫度采樣程序的優(yōu)化[J].工程與試驗,2010,50(3):61-63.
[3]段立晶,楊寶山.多通道實時顯示與控制軟件[J].船艦科學技術,2009,31(10):109-112.
[收稿日期]2016-05-04
[作者簡介]賈鑫(1977-),男,高級工程師,主要研究方向:試驗機應用軟件。
中圖分類號:TP273
文獻標識碼:B
doi:10.3969/j.issn.1674-3407.2016.02.015
Technical Solution for Multi-channel Control Software
Jia Xin, Wang Nuanchun
(Changchun Research Institute for Mechanical Science Co., Ltd. Changchun 130103, Jilin, China)
Abstract:The design for control software of multi-channel real-time display is proposed in the paper, and the function of the software and key technology are introduced in detail. The application of multi-channel software to testing machine is introduced, and the design of 16-channel testing software is expounded. The multi-channel software plays a very important role in testing machine. The realization of multi-channel software for testing machine is proposed.
Keywords:multi-channel; data structure; data storage; control method; protection