999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

TeeChart控件在轉臺調(diào)試軟件中的應用

2022-04-02 08:53:16蘇長青張旭明
軟件工程 2022年4期
關鍵詞:圖表調(diào)試

蘇長青,張旭明,董 恒

(九江精密測試技術研究所,江西 九江 332000)

suchangqing6666@163.com;zhangxuming@163.com;dongheng@163.com

1 引言(Introduction)

在轉臺調(diào)試過程中,經(jīng)常需要分析調(diào)試過程中某些數(shù)據(jù)的變化,如果調(diào)試數(shù)據(jù)能以圖形化的方式進行顯示,并分析計算調(diào)試數(shù)據(jù)的最大值、最小值、平均值、標準差等統(tǒng)計特性,往往能極大地方便調(diào)試過程。比如在轉臺控制系統(tǒng)PID參數(shù)的調(diào)試過程中,通常是產(chǎn)生一個階躍信號,觀察控制系統(tǒng)對該信號的響應情況,這就需要調(diào)試軟件能夠將階躍信號和階躍響應以曲線的形式同時顯示出來,調(diào)試人員根據(jù)階躍響應曲線的上升時間、調(diào)整時間、超調(diào)量等修改PID參數(shù),最終得到符合要求的階躍響應曲線,完成轉臺控制器的性能調(diào)試。

在設計轉臺調(diào)試軟件時,通過調(diào)用Windows系統(tǒng)自帶繪圖函數(shù)的方法來實現(xiàn)實時曲線,不但費時費力,而且效果往往不盡如人意。而專門為圖表應用開發(fā)的軟件庫,往往通過簡單的編程接口調(diào)用,即可實現(xiàn)復雜的繪圖功能,使用起來極其簡單,并且在繪圖效率上做過專門的優(yōu)化,非常符合實時曲線繪制的需求。因此,轉臺調(diào)試軟件選擇基于ActiveX技術的圖形控件TeeChart進行實時圖形顯示,并利用開放的事件接口完成統(tǒng)計計算的功能。

2 TeeChart特性(TeeChart features)

TeeChart是Steema Software公司開發(fā)的圖表圖形組件,其Windows版本基于ActiveX技術開發(fā),用戶可以通過Visual Studio集成開發(fā)環(huán)境進行調(diào)用,支持Visua Basic、Visual C++等編程語言,可以方便地集成到用戶程序中。TeeChart圖形類型支持線條圖、棒形圖、面積圖、餅形圖和其他形狀圖等,并且支持2D和3D風格的圖形圖表繪制,提供了圖形化的用戶配置界面及用戶編程接口,用戶甚至只需要幾行代碼就能完成復雜圖表的顯示,大大提升了圖形化軟件的開發(fā)效率。

TeeChart控件的主類是TChart,數(shù)據(jù)以Series的形式組織,Series通過TChart向用戶展示,而Axes是TChart和Series之間的接口。TeeChart可對大多數(shù)值進行最佳估計,以盡量減少手動定義圖表和系列方法的需要。下面簡要介紹TChart類的一些數(shù)據(jù)成員。

TChart.Series:序列(Series)是TeeChart中數(shù)據(jù)的組織形式,用戶可以在圖表中插入多個序列,并且每個序列可以有不同的圖形類型,如線條圖、棒形圖、餅形圖,等等。

TChart.Axes:坐標軸(Axes)控制圖表坐標軸的屬性。TeeChart支持根據(jù)數(shù)據(jù)內(nèi)容自動調(diào)整坐標軸的范圍,也支持手工調(diào)整,利用坐標軸可以方便地實現(xiàn)圖形的縮放和平移等操作。

TChart.Legend:圖例(Legend)控制圖標的圖例標注。圖例通過在圖形中增加一個矩形區(qū)域,可以對序列進行圖例標注,也可以控制序列的顯示與隱藏。

TChart.Panel:面板(Panel)可以控制圖表的背景。TeeChart支持用戶使用背景圖片或者漸變色彩等作為圖形繪制的背景。

TChart.Canvas:畫布(Canvas)是TeeChart開放給用戶的自定義繪圖接口,與Windows自帶的繪圖接口類似,支持TextOut、LineTo、Arc等圖形編程接口。

3 TeeChart的使用(TeeChart usage)

根據(jù)數(shù)據(jù)源的生成方式不同,曲線顯示可以采用實時曲線和歷史曲線的顯示方式。實時曲線顯示時,數(shù)據(jù)是實時生成的,通常需要將數(shù)據(jù)存儲至一個數(shù)組中,隨著數(shù)據(jù)更新,平移數(shù)組中的數(shù)據(jù),保證數(shù)組中的數(shù)據(jù)是最新的,并通過數(shù)組中的數(shù)據(jù)更新曲線。歷史曲線顯示時,數(shù)據(jù)源是已經(jīng)生成的,通常需要將數(shù)據(jù)從數(shù)據(jù)庫中讀取并顯示出來即可,不存在曲線的更新問題。在轉臺調(diào)試中,調(diào)試軟件通常實時顯示采集到的調(diào)試數(shù)據(jù),因此僅討論實時曲線顯示形式。

3.1 控件的導入

TeeChart控件的導入與其他ActiveX控件類似,在Visual Studio開發(fā)環(huán)境中的導入過程分為以下幾步:

(1)在項目中選擇“工具”,打開“選擇工具箱項”對話框;

(2)彈出的“選擇工具箱項”對話框如圖1所示,選擇“COM組件”標簽頁,勾選“TeeChart Pro Activex control v2010”并點擊“確定”,即可添加至當前開發(fā)環(huán)境;

圖1 TeeChart控件的導入Fig.1 Import of TeeChart control

(3)添加成功后,開發(fā)環(huán)境中在控件面板上會顯示TeeChart控件的圖標,將其拖曳到當前項目中即可。

在添加好的控件上點擊右鍵,選擇編輯控件,即可打開TeeChart控件的屬性編輯對話框,如圖2所示。點擊左側列表框中的Chart可以設置其數(shù)據(jù)成員的屬性,包括坐標軸、標題、圖例、面板等;點擊左側列表框中的Series可以設置添加序列。圖表設置的大部分工作都可以在對話框中完成,也可以根據(jù)實際需要,通過代碼來動態(tài)修改。為了程序的可移植性,采用代碼的形式來添加序列,具體方法見3.2所述。

圖2 TeeChart圖形化屬性設置界面Fig.2 TeeChart graphical attribute setting interface

3.2 初始化

TeeChart控件的初始化主要完成控件顏色、圖例、邊距等外觀的設置,以及圖形縮放、按鍵等屬性的設置,比較簡單,具體代碼如下。在實時曲線顯示時,為了提高繪圖效率,選擇FastLine作為曲線類型。

3.3 繪制曲線

在FastLine的曲線繪制過程中,TeeChart通過用折線擬合曲線的方式來提升繪圖效率,曲線數(shù)據(jù)的添加通過CSeries類來完成,該類提供了Add、AddXY、AddArray等數(shù)據(jù)接口,分別用于點單以及數(shù)組數(shù)據(jù)的添加。當序列中的數(shù)據(jù)更新后,TeeChart控件自動將序列中的數(shù)據(jù)以折線連接并顯示在圖表中。

(1)向Series中添加一個點:

m_chart.Series(0).AddXY(x,y,“Lab”,RGB (255,0,0));

(2)以數(shù)組的形式添加一組數(shù)據(jù):

m_chart.Series(0).AddArray(200000,YValues,XValues);

該接口通常用于歷史曲線顯示時,數(shù)據(jù)大量添加的情況,序列數(shù)據(jù)添加完成后才進行一次圖形的更新,相比AddXY接口,其效率有極大提高。

(3)修改數(shù)據(jù):

m_chart.Series(0).GetValueLists().GetItems(0).SetValue(index,newValue);

(4)刪除數(shù)據(jù):

m_chart.Series(0).Delete(x);

4 統(tǒng)計特性的實現(xiàn)(Implementation of statistical characteristics)

對TeeChart 顯示的曲線進行統(tǒng)計分析,需要利用TeeChart開放的繪圖事件接口來實現(xiàn),實現(xiàn)步驟如下:

(1)增加鼠標按下事件處理函數(shù)OnMouseDownTchartCurve,在鼠標左鍵按下的時刻,記錄當前的坐標位置,并設置bMouseFlag變量,表示進入框選模式。

(2)增加鼠標移動事件處理函數(shù)OnMouseMoveTchartCurve,當處于框選模式時,移動鼠標時框選出需要統(tǒng)計分析的曲線塊。

(3)增加鼠標按鍵彈起事件處理函數(shù)OnMouseUpTchartCurve,在鼠標左鍵彈起的時刻,清除bMouseFlag變量,退出框選模式,并記錄下此時的坐標位置。利用兩個坐標點確定矩形框,并將兩個坐標點的屏幕坐標轉換到曲線顯示的坐標系,得到數(shù)據(jù)塊起始、結束的橫坐標,以此范圍計算數(shù)據(jù)塊的統(tǒng)計信息。

(4)增加繪圖完成事件處理函數(shù)AfterDrawTchart,在該函數(shù)中增加計算完成曲線塊的統(tǒng)計信息功能,TeeChart在繪圖結束后將自動調(diào)用該函數(shù)。

幾個關鍵函數(shù)的具體實現(xiàn)代碼如下所示:

基于TeeChart控件完成的轉臺調(diào)試軟件,其完成界面如圖3所示,在該圖示區(qū)域的左上角,輸出了當前選定數(shù)據(jù)塊的統(tǒng)計信息,并且指示出了當前選定的Series,以及選定數(shù)據(jù)塊的范圍。此時轉臺進行正弦運動,圖中區(qū)域實時顯示了用戶位置曲線,可以看到該模式啟動和停止時振幅的變化過程,以及在平穩(wěn)正弦運動中的一些統(tǒng)計信息,極大地方便了轉臺調(diào)試過程。

圖3 利用TeeChart接口實現(xiàn)統(tǒng)計功能Fig.3 Implementation of statistical function using TeeChart interface

5 結論(Conclusion)

針對轉臺調(diào)試測試軟件調(diào)試數(shù)據(jù)的圖形顯示需求,介紹了TeeChart控件在軟件開發(fā)過程中的應用。利用TeeChart提供的屬性和方法,可實現(xiàn)各類數(shù)據(jù)的繪制,并且通過自定義TeeChart事件接口函數(shù)的方法,實現(xiàn)了曲線數(shù)據(jù)塊的統(tǒng)計分析功能,只要稍加修改并添加其他曲線分析算法,就可以實現(xiàn)更加復雜、豐富的曲線分析功能,可以顯著縮短軟件的開發(fā)周期和成本。基于TeeChart的開發(fā)應用并不局限于轉臺調(diào)試軟件,對于其他具有數(shù)據(jù)圖形化顯示需求的軟件開發(fā),也有一定的參考價值。

猜你喜歡
圖表調(diào)試
基于航拍無人機的設計與調(diào)試
電子制作(2018年12期)2018-08-01 00:47:44
核電廠主給水系統(tǒng)調(diào)試
中國核電(2017年1期)2017-05-17 06:10:11
無線通信中頻線路窄帶臨界調(diào)試法及其應用
電子制作(2017年19期)2017-02-02 07:08:38
圖表
方圓(2016年22期)2016-12-06 19:27:28
雙周圖表
足球周刊(2016年14期)2016-11-02 10:54:56
雙周圖表
足球周刊(2016年15期)2016-11-02 10:54:16
圖表
足球周刊(2016年11期)2016-10-09 11:53:25
雙周圖表
足球周刊(2016年10期)2016-10-08 18:30:55
圖表
世界博覽(2016年16期)2016-09-27 18:25:26
調(diào)壓柜的調(diào)試與試運行探討
主站蜘蛛池模板: 久草视频精品| 丁香婷婷久久| 国产欧美精品一区aⅴ影院| 丁香五月亚洲综合在线| 欧美亚洲日韩中文| 国产精品久线在线观看| 四虎影视库国产精品一区| 国产精品va免费视频| 美女国产在线| 91热爆在线| 2020国产在线视精品在| 人人艹人人爽| 亚洲第一精品福利| 一区二区三区四区在线| 久久免费成人| 无码AV动漫| 欧美日韩国产精品va| 国产大片喷水在线在线视频| 精品国产香蕉伊思人在线| 亚洲自拍另类| 无码一区二区波多野结衣播放搜索| 欧美一级在线播放| 亚洲AⅤ波多系列中文字幕| 国产亚洲精品资源在线26u| 青青操国产| 青青草原国产av福利网站| 99ri国产在线| 亚洲午夜片| 国产麻豆aⅴ精品无码| 国产91丝袜| 国产偷国产偷在线高清| 国产成人福利在线| 亚洲中文字幕日产无码2021| 亚洲一区波多野结衣二区三区| 欧美黄色a| 国产成人无码Av在线播放无广告| 77777亚洲午夜久久多人| 18禁黄无遮挡免费动漫网站| 日韩高清一区 | 国产人人乐人人爱| 玖玖免费视频在线观看| 日韩在线第三页| 18禁色诱爆乳网站| 麻豆a级片| 欧美高清国产| 欧美亚洲国产精品久久蜜芽| 无码久看视频| 麻豆AV网站免费进入| 国产毛片片精品天天看视频| 亚洲Va中文字幕久久一区 | 亚洲高清无在码在线无弹窗| 狠狠亚洲五月天| 国产精品理论片| 亚洲一级色| 亚洲区欧美区| 亚洲高清中文字幕| 国产精品自在在线午夜区app| 91欧洲国产日韩在线人成| 国产成人喷潮在线观看| 黄色国产在线| 国产屁屁影院| 亚洲欧美日韩中文字幕一区二区三区| V一区无码内射国产| 三级视频中文字幕| 亚洲精品福利视频| 欧美人与性动交a欧美精品| 国产美女在线免费观看| 国产成人AV综合久久| 亚洲中字无码AV电影在线观看| 国产剧情国内精品原创| 熟女日韩精品2区| 国产a网站| 在线视频97| AⅤ色综合久久天堂AV色综合| 五月婷婷综合网| 国产成人永久免费视频| AⅤ色综合久久天堂AV色综合| 影音先锋亚洲无码| 蝴蝶伊人久久中文娱乐网| 亚洲品质国产精品无码| 日韩亚洲综合在线| 蝴蝶伊人久久中文娱乐网|