王蕾 賈利軍 付中濤
摘 要:為了驗證典型活動部件在高低溫真空模擬環(huán)境中的轉動特性及運行壽命,分析了典型活動部件測試系統(tǒng)的工作原理與組成部分,并提出了測控軟件測試系統(tǒng)要完成的任務,基于模塊化與層次化設計思想,建立了測控軟件的框架結構,利用.NET技術、多線程技術與數(shù)據(jù)庫技術,借助C#語言開發(fā)了典型活動部件測控軟件,實現(xiàn)了典型活動部件系統(tǒng)的實時通信、數(shù)據(jù)采集與存儲,實時曲線顯示、動態(tài)加載、歷史數(shù)據(jù)查詢等功能。最后,以防塵密封圈測試為例,驗證了該方法的可行性和有效性。
關鍵詞:測控軟件;設計開發(fā);C#;典型活動部件
中圖分類號:TP2735 文獻標識碼:Adoi:10.14031/j.cnki.njwx.2016.07.001
Abstract: In order to verify the rotational characteristics and service life of typical moving components in the simulative vacuum environment with low and high temperature, this paper analyzes working principle and parts of the typical moving-components testing system, puts forward tasks that the testing system of measuring and controlling software needs to complete, and builds a framework for this testing system based on a modular and hierarchical design concept. Moreover, this paper develops this typical moving-components testing system with the help of C# and technologies of .NET, multi-threading and database, and meanwhile achieves functions of that system such as real-time communication, data acquisition and storage, real-time curve display, dynamic loading, historical data view etc. Finally it takes dust seal testing as an example to verify the feasibility and validity of this study method.
Keywords: measuring and controlling software; design and development; C#; typical moving-components
0 引言(Introduction)
近年來,隨著現(xiàn)代工業(yè)的飛速發(fā)展以及計算機在工業(yè)領域的廣泛普及,對工業(yè)測試系統(tǒng)的自動化和信息集成化提出越來越高的要求。而測控軟件作為工業(yè)測試系統(tǒng)的核心部分,是工業(yè)計算機完成對整個測試系統(tǒng)操作的管理命令集,以及用戶掌握系統(tǒng)工作狀況的最直接手段,其質量直接影響到系統(tǒng)的安全性和控制效果,從而影響到整個測試系統(tǒng)的穩(wěn)定性和產品性能[1]。因此,所設計開發(fā)的測控軟件應該具有實時性、可靠性、通用性、可維護性、易于操作等特點。
月面巡視探測器移動分系統(tǒng)和結構、機構分系統(tǒng)的驅動機構、傳動裝置由驅動電機、傳感器、防塵密封圈、齒輪副、軸承、諧波減速器等多種典型活動部件組成,為驗證活動部件在復雜月面環(huán)境下的轉動特性和運行壽命,需要進行模擬極限高低溫、超低真空環(huán)境下活動組、部件的性能與壽命測試。測試信息需要包括摩擦阻尼力矩及曲線、測量扭矩及曲線、測量轉速及曲線、加載力矩及曲線、溫度及曲線、轉數(shù)與累積運行時間、測試數(shù)據(jù)實時存儲和輸出、運行狀態(tài)提示、運行出錯報警等。
針對典型活動部件測試系統(tǒng)的研制要求,本文在模塊化與層次化的設計思想上,采用.NET技術、多線程技術與ADO數(shù)據(jù)庫技術[2],開發(fā)了基于C#的典型活動部件測控軟件,不僅實現(xiàn)了對該測試系統(tǒng)的實時通信、數(shù)據(jù)采集、數(shù)據(jù)存儲、實時曲線顯示、動態(tài)加載、數(shù)據(jù)輸出、歷史數(shù)據(jù)查詢等功能,還對通用測控軟件的設計開發(fā)以及工業(yè)測試系統(tǒng)的測量控制具有很重要的指導意義。
1 典型活動部件測試系統(tǒng)的工作原理與組成(Working principle and composition of typical moving components)
1.1 工作原理
典型活動部件測試系統(tǒng)主要是為了驗證典型活動部件的轉動特性以及運行壽命,在高低溫真空模擬環(huán)境下進行活動部件的無源、有源及壽命測試。在測試過程中,測控軟件通過MODBUS協(xié)議發(fā)送各種控制信號和指令給PLC,進行被測部件的驅動或加載以及電機轉速與轉向的設定,進而將高精度傳感器采集被測件的扭矩、轉速及轉角信號存儲在PLC中,然后測控軟件將從PLC中讀取的數(shù)據(jù)進行顯示、保存和導出,來完成整個測試流程。
1.2 組成
典型活動部件測試系統(tǒng)主要由高低溫真空模擬環(huán)境(真空罐)、驅動部分、傳感器、加載部分、數(shù)據(jù)采集、PLC控制部分、工控機、測控軟件等組成,如圖1所示。
其中,測控軟件作為該測試系統(tǒng)中的核心部分,應當具有美觀友好的人機界面,信息查詢靈活方便,數(shù)據(jù)存儲安全可靠,極大限度地實現(xiàn)易維護性和易操作性等特點[3]。因此,需研制一套測控軟件來完成測試系統(tǒng)所要求的以下任務:
摘 要:為了驗證典型活動部件在高低溫真空模擬環(huán)境中的轉動特性及運行壽命,分析了典型活動部件測試系統(tǒng)的工作原理與組成部分,并提出了測控軟件測試系統(tǒng)要完成的任務,基于模塊化與層次化設計思想,建立了測控軟件的框架結構,利用.NET技術、多線程技術與數(shù)據(jù)庫技術,借助C#語言開發(fā)了典型活動部件測控軟件,實現(xiàn)了典型活動部件系統(tǒng)的實時通信、數(shù)據(jù)采集與存儲,實時曲線顯示、動態(tài)加載、歷史數(shù)據(jù)查詢等功能。最后,以防塵密封圈測試為例,驗證了該方法的可行性和有效性。
關鍵詞:測控軟件;設計開發(fā);C#;典型活動部件
中圖分類號:TP2735 文獻標識碼:Adoi:10.14031/j.cnki.njwx.2016.07.001
Abstract: In order to verify the rotational characteristics and service life of typical moving components in the simulative vacuum environment with low and high temperature, this paper analyzes working principle and parts of the typical moving-components testing system, puts forward tasks that the testing system of measuring and controlling software needs to complete, and builds a framework for this testing system based on a modular and hierarchical design concept. Moreover, this paper develops this typical moving-components testing system with the help of C# and technologies of .NET, multi-threading and database, and meanwhile achieves functions of that system such as real-time communication, data acquisition and storage, real-time curve display, dynamic loading, historical data view etc. Finally it takes dust seal testing as an example to verify the feasibility and validity of this study method.
Keywords: measuring and controlling software; design and development; C#; typical moving-components
0 引言(Introduction)
近年來,隨著現(xiàn)代工業(yè)的飛速發(fā)展以及計算機在工業(yè)領域的廣泛普及,對工業(yè)測試系統(tǒng)的自動化和信息集成化提出越來越高的要求。而測控軟件作為工業(yè)測試系統(tǒng)的核心部分,是工業(yè)計算機完成對整個測試系統(tǒng)操作的管理命令集,以及用戶掌握系統(tǒng)工作狀況的最直接手段,其質量直接影響到系統(tǒng)的安全性和控制效果,從而影響到整個測試系統(tǒng)的穩(wěn)定性和產品性能[1]。因此,所設計開發(fā)的測控軟件應該具有實時性、可靠性、通用性、可維護性、易于操作等特點。
月面巡視探測器移動分系統(tǒng)和結構、機構分系統(tǒng)的驅動機構、傳動裝置由驅動電機、傳感器、防塵密封圈、齒輪副、軸承、諧波減速器等多種典型活動部件組成,為驗證活動部件在復雜月面環(huán)境下的轉動特性和運行壽命,需要進行模擬極限高低溫、超低真空環(huán)境下活動組、部件的性能與壽命測試。測試信息需要包括摩擦阻尼力矩及曲線、測量扭矩及曲線、測量轉速及曲線、加載力矩及曲線、溫度及曲線、轉數(shù)與累積運行時間、測試數(shù)據(jù)實時存儲和輸出、運行狀態(tài)提示、運行出錯報警等。
針對典型活動部件測試系統(tǒng)的研制要求,本文在模塊化與層次化的設計思想上,采用.NET技術、多線程技術與ADO數(shù)據(jù)庫技術[2],開發(fā)了基于C#的典型活動部件測控軟件,不僅實現(xiàn)了對該測試系統(tǒng)的實時通信、數(shù)據(jù)采集、數(shù)據(jù)存儲、實時曲線顯示、動態(tài)加載、數(shù)據(jù)輸出、歷史數(shù)據(jù)查詢等功能,還對通用測控軟件的設計開發(fā)以及工業(yè)測試系統(tǒng)的測量控制具有很重要的指導意義。
1 典型活動部件測試系統(tǒng)的工作原理與組成(Working principle and composition of typical moving components)
1.1 工作原理
典型活動部件測試系統(tǒng)主要是為了驗證典型活動部件的轉動特性以及運行壽命,在高低溫真空模擬環(huán)境下進行活動部件的無源、有源及壽命測試。在測試過程中,測控軟件通過MODBUS協(xié)議發(fā)送各種控制信號和指令給PLC,進行被測部件的驅動或加載以及電機轉速與轉向的設定,進而將高精度傳感器采集被測件的扭矩、轉速及轉角信號存儲在PLC中,然后測控軟件將從PLC中讀取的數(shù)據(jù)進行顯示、保存和導出,來完成整個測試流程。
1.2 組成
典型活動部件測試系統(tǒng)主要由高低溫真空模擬環(huán)境(真空罐)、驅動部分、傳感器、加載部分、數(shù)據(jù)采集、PLC控制部分、工控機、測控軟件等組成,如圖1所示。
其中,測控軟件作為該測試系統(tǒng)中的核心部分,應當具有美觀友好的人機界面,信息查詢靈活方便,數(shù)據(jù)存儲安全可靠,極大限度地實現(xiàn)易維護性和易操作性等特點[3]。因此,需研制一套測控軟件來完成測試系統(tǒng)所要求的以下任務:
(1)選擇測試產品(防塵密封圈、諧波減速器、無刷直流電機、步進電機、活動部件)及相應的系統(tǒng)配置。
(2)實時曲線(測量摩擦阻尼力矩或測量扭矩及曲線、測量轉速及曲線、加載力矩及曲線、溫度及曲線)的動態(tài)顯示。
(3)實時測量數(shù)據(jù)(累計運行時間、測量扭矩、測量轉速、電機轉速、累計圈數(shù)、累計轉角、加載力矩、溫度)的顯示、保存及輸出。
(4)運行狀態(tài)的監(jiān)測(運行狀態(tài)、系統(tǒng)故障監(jiān)測及報警)。
2 測控軟件的設計與實現(xiàn)(Design and Development of Measurement & Control Software)
2.1 設計思想與方法
測控軟件的設計采用模塊化與層次化的思想,各模塊間以及層次間通過接口與協(xié)議交互,使得設計的整體邏輯比較容易理解,這樣便于軟件的結構分析、設計、編程與目標實現(xiàn),極大地提高了程序的重用性、靈活性、可擴展性和可維護性[3]。
.NET作為微軟最新一代的開發(fā)工具,是生成、部署和運行應用程序的平臺,以及解決規(guī)模應用程序的部署和操作難的問題。采用.NET技術可以簡化開發(fā)過程,可提供交互性的編程語言,易于與其他應用程序實現(xiàn)交互操作[4]。
多線程是指Windows系統(tǒng)支持一個進程中執(zhí)行多個線程的能力。在軟件編寫中,由于需要完成具有不同功能的多個線程,而采用多線程技術,可以使多個線程同時執(zhí)行,在一段時間內完成更多的任務,這樣可以大大提高CPU的利用率以及程序的運行速度和性能。
數(shù)據(jù)庫是按照數(shù)據(jù)結構來組織、存儲和管理數(shù)據(jù)的倉庫。應用數(shù)據(jù)庫技術,可以減少數(shù)據(jù)的冗余度,節(jié)省數(shù)據(jù)的存儲空間,以及使數(shù)據(jù)具有較高的獨立性和易擴展性,實現(xiàn)數(shù)據(jù)資源的充分共享。
2.2 軟件的設計框架
根據(jù)典型活動部件的需求分析以及軟件的設計思想與方法,開發(fā)設計了如圖2所示的測控軟件框架。
其中,設計的各個模塊分別執(zhí)行不同的任務,易于優(yōu)化和擴展,也在一定程度上保持良好的性能,具體分析如下:
(1)通訊模塊:通過設置相應的串口與MODBUS協(xié)議,實現(xiàn)測控軟件與下位機PLC的通訊。
(2)零點測試模塊:由于傳感器存在零漂現(xiàn)象,故在測試前需采用此模塊矯正傳感器的零點誤差。此外,該模塊還可以在不啟動電機的情況下進行手動測試,來測試系統(tǒng)的性能。
(3)產品信息、歷史數(shù)據(jù)與幫助文檔查看模塊:可以方便直觀地查看測試產品的信息以及相應的系統(tǒng)配置,根據(jù)測試的產品以及測試日期時間等來查看歷史數(shù)據(jù),以及以HTML幫助文檔的形式查看軟件的設計流程及使用說明。
(4)運行狀態(tài)監(jiān)測模塊:具有模塊化結構和強大的自診斷功能,方便對系統(tǒng)故障的分析和診斷。
(5)系統(tǒng)操作模塊:通過動態(tài)的設定電機的轉速和加載力矩的大小來達到測試效果。
(6)實時曲線顯示及測量值顯示模塊:可以實時動態(tài)顯示測試進程及當前測量值的大小,其中曲線能夠顯示當前趨勢和一段時間內的歷史過程。
(7)數(shù)據(jù)存儲、顯示與輸出模塊:通過連接Access數(shù)據(jù)庫,實現(xiàn)數(shù)據(jù)的存儲顯示。然后將測量數(shù)據(jù)以Excel格式輸出到磁盤上。
2.3 軟件的實現(xiàn)
該測控軟件運行在裝有Windows XP操作系統(tǒng)的工控機上,選用Microsoft Visual Studio 2010(VS2010)和Access2007作為開發(fā)平臺,采用的編程語言為C#高級語言。最后將開發(fā)設計的測控軟件使用 Visual Studio Installer 創(chuàng)建分發(fā)給用戶的安裝程序包,用戶可通過向導來運行安裝文件和執(zhí)行安裝步驟,以安裝應用程序。以下是測控軟件實現(xiàn)的一些關鍵技術:
(1)串口通訊
采用MODBUS協(xié)議,可以完成串口、輸入輸出模塊地址、通訊參數(shù)、輸入輸出通道等信息的設置以及對串口的設置,進而實現(xiàn)測控軟件與下位機之間指令與數(shù)據(jù)的傳送。
(2)實時曲線的繪制
ZedGraph是一個用C#編寫的開源圖形組件,用于繪制任意數(shù)據(jù)集的二維線型、條型、餅型圖表,支持各種.NET版本。它以簡潔、方便、功能強大和開源等特點而成為程序開發(fā)中廣泛使用的圖表控件。通過調用ZedGraph控件實現(xiàn)測量數(shù)據(jù)的動態(tài)圖形化顯示。
(3)多線程的實現(xiàn)
由于該軟件的線程包括:主框架線程,數(shù)據(jù)采集線程,數(shù)據(jù)庫的線程,圖形顯示線程等。為避免多個線程同時訪問統(tǒng)一塊內存,可采用線程池。線程池可以同時運行多個任務,還可以使用框架類。對于線程同步的情況來說,它可以限制某一時刻只允許一個線程訪問資源。這種情況相當于給線程實現(xiàn)了鎖機制,可用lock關鍵字保證代碼的安全運行。
3 實驗結果與分析(Experimental result and analysis)
以下以防塵密封圈測試為例來說明測控軟件的實現(xiàn)流程。軟件的運行界面如圖3所示。
根據(jù)測試系統(tǒng)的測試原理,PLC通過串行口傳送由傳感器采集的數(shù)據(jù),測控軟件實現(xiàn)數(shù)據(jù)的實時監(jiān)控和管理。該軟件通過調用組件,實現(xiàn)數(shù)據(jù)顯示的圖形化;通過Access數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)的存儲、顯示與輸出功能。實驗結果表明,基于C#的測控軟件在滿足界面美觀、各項功能運行穩(wěn)定的同時,并能夠很好的實現(xiàn)測試系統(tǒng)的測試要求。
4 結論(Conclusion)
本文依據(jù)典型活動部件測試的測試要求以及軟件的需求分析,提出了基于C#的測控軟件設計開發(fā),實現(xiàn)了對測試系統(tǒng)的實時通信、數(shù)據(jù)采集與存儲,實時曲線顯示、動態(tài)加載、歷史數(shù)據(jù)查詢等功能。該軟件運行穩(wěn)定,且實時性較好,具有很好的實用價值。此外,典型活動部件的測試系統(tǒng)類似于單關節(jié)機器人控制系統(tǒng),從而對多關節(jié)機器人控制系統(tǒng)的設計與開發(fā)具有很好的指導意義。
參考文獻:
[1] 邵彩云. 基于KBE的工業(yè)機器人測控軟件的研究[D].杭州:浙江大學, 2011.
[2] 王小科,徐薇.C#從入門到精通[M].2版.北京:清華大學出版社,2010.
[3] 孫傳友,孫曉斌. 測控系統(tǒng)原理及設計[M]. 2版.北京:北京航空航天大學出版社,2007.
[4] Kalleberg Karl Trygve,Visser Eelco, Combining Aspect-Oriented and Strategic Programming,Electronic Notes in Theoretical Computer Science,2006,147(1):5-30.
[5] 崔海全,張春梅,趙志誠. 基于C#液位過程測控軟件的設計與實現(xiàn)[J]. 太原科技大學學報 ,2012,33(1).