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

基于MFC的實時數據動態顯示界面設計

2013-06-23 09:39:10殷興輝
電子設計工程 2013年10期
關鍵詞:界面

聶 斐,殷興輝

(河海大學 計算機與信息學院,江蘇 南京 211100)

在工業控制和測量探測等領域中,對于一些時刻變化的物理量(如:溫度,壓力,速度等),我們常常要進行實時地監測。這就需要在測量測試的儀器儀表或控制系統的界面上,畫出實時曲線圖,供使用人員觀測。本文基于太陽爆發活動實時監測系統的應用,對太陽溫度進行實時顯示。而通常的軟件界面上,只是實時顯示根據數據繪制的曲線,但是坐標幅度(縱坐標)上往往是恒定的[1]。當太陽出現爆發活動時,實測溫度達到幾萬度,而爆發活動結束時,實測溫度又回到幾百度,因此,被監測的數據在不斷變化,幅度的變化范圍很大。當被監測數據從一個很大的波動幅度(幾萬度)突降到一個很小的波動幅度(幾百度)時,就會導致繪制出的曲線縮在一起,在幅值較小的地方。這種曲線極不便于觀測者實時觀看與監測。本文在界面設計時,不僅實時監測數據繪制曲線,而且坐標幅度也根據實測數據在動態變化,非常利于觀測者觀測,使得人機交互界面更加友好便捷。

1 MFC簡介

MFC(Microsoft Foundation Class,微軟基礎類庫)是微軟公司為了簡化程序員的開發工作所開發的一套C++類的集合,是一套面向對象的函數庫,以類的方式提供給用戶使用。可以用它來編寫Windows應用程序,該類的集合是按層次結構組織起來的,其中封裝了大部分Windows API(Application Programming Interface)函數和Windows控件,它所包含的功能涉及到整個Windows操作系統。MFC不僅為用戶提供了Windows圖形環境下應用程序的框架,而且還提供了創建應用程序的組件。使用MFC類庫和Visual C++提供的高度可視的應用程序開發工具,可使應用程序開發變得更簡單,極大地縮短開發周期,提高代碼的可靠性和可重用性[2-4]。

2 界面設計與實現

2.1 總體目標

軟件界面的開發依托微軟公司推出的Visual C++6.0為開發平臺,使用MFC的單文檔視圖框架來設計整個應用程序。為了監測太陽溫度,軟件界面上需要顯示太陽溫度的實時窗口。在觀測太陽溫度的實時窗口中,需要實時繪制太陽溫度曲線圖。基于面向對象的設計理念,我們可以用一個類來完成這樣的工作。MFC中沒有直接提供這樣的類[5],JanVidar Berger編寫的clPlot類可以畫實時曲線,派生于CWnd類。但是并不能滿足本系統的要求,本文進行了修改,加以改進,進而實現了實時數據的動態顯示。

2.2 實現步驟與方法

不同于Jan Vidar Berger所寫的clPlot類,本文在serie類的成員變量中構建了一個CList類的對象m_valuelist。CList類支持可訪問順序或按值排列的非獨一對象的有序鏈表[6]。用這樣一個鏈表,來存放實時監測的數據。該數據為一個結構體。定義如下:

以X軸(橫坐標)為時間軸,Y軸(縱坐標)為太陽溫度。在界面上,我們顯示的是一分鐘內的溫度曲線。由于下位機設定的采樣速率為一秒鐘采集一個數據,傳到上位機上,一分鐘內為60個數據。那么,我們就將鏈表元素的個數設定為60個。每接收到一個新的數據,則添加在鏈表的尾部。如果接收到的數據超過60個了,則將鏈表的頭元素去掉。這樣,就使得鏈表的元素個數始終為60個,并且是最新的60個數據。這樣即可以保證觀測數據的實時性。另外,在添加新數據之后,我們還要判斷其幅值的大小,即value結構體中的成員變量dValue。我們要把鏈表中所有數據的幅值的最大值和最小值,作為設定Y軸(縱坐標)標尺的依據。這樣,坐標幅度就會根據數據幅值的變化而變化,繪制出的曲線圖總是會占據整個坐標平面,即使數據幅值突降至某個小的幅度波動,曲線圖也不會“擠”在一起,極大方便了使用人員的觀測。

添加新數據使用的是clPlot類的AddPoint()函數,該函數調用serie類的成員函數AddPoint()。在serie::AddPoint()中,將新接收的數據添加入鏈表中。本文定義了兩個全局變量m_max和m_min,用來存放Y軸坐標標尺的最大值和最小值。這兩個值如何得到呢?先找出鏈表中數據幅值的最大值和最小值,將它們作差,得到一個差值。m_max即為鏈表中數據幅值的最大值加上差值的1%;m_min即為鏈表中數據幅值的最小值減去差值的1%。那么將m_max和m_min作為參數,在clPlot::AddPoint()調 用 函 數SetLYRange()時,傳 遞 進去,來設定Y軸的坐標標尺。根據新數據添加的時間,調用函數SetBXRange(),設定X軸標尺。最后調用函數Invalidate(),該函數的作用是讓窗口的整個客戶區無效,當下一個WM_PAINT消息發生時,窗口就會重繪[7]。這樣,每添加一個新的數據,就重新畫一次曲線圖,即達到實時顯示的效果。

設計流程圖如圖1所示。

圖1 設計流程圖Fig.1 Flow chart of design

關鍵代碼如下:

2.3 實驗結果

圖2為非動態顯示。由圖2(a)可以看到,太陽處于爆發時期,太陽溫度在大約45 000度左右波動。但是由于浮動相對較小,看不出具體的范圍。等到爆發活動結束,太陽溫度大幅下降。可是由于非動態顯示的局限性,在圖2(b)上幾乎看不出太陽溫度值,更看不清楚波動范圍。

圖2 非動態顯示Fig.2 Non-dynamic displaying

圖3 為動態顯示。由圖3(a)可以清晰的反映出太陽溫度浮動在45 000-45 500度。在14點13分的時候,太陽爆發活動結束,如圖3(b),太陽溫度突降至較小的幅值范圍(300~800度)波動,坐標標尺幅值也跟隨變化,如圖3(c),曲線圖也跟隨動態變化,不似圖2那樣壓縮在一起,無法看清波動的范圍。非常便于使用者觀測。

圖3 動態顯示Fig.3 Dynamic displaying

3 結束語

文中在Visual C++6.0開發平臺上,利用MFC類庫,設計了太陽爆發活動實時監測的軟件界面,不僅實現了對太陽溫度的實時監測,而且實現了實時數據曲線圖的動態顯示。極大地方便了用戶的使用與觀測。該方法已經應用于太陽爆發活動實時監測系統項目中,效果顯著,因而,也可以應用在其他工程控制或探測測量等領域。

[1]趙融冰,艾力·玉蘇甫,張晉,等.采用VC++的射電望遠鏡控制軟件在Windows XP下的設計和實現[J].天文研究與技術,2007,4(1):64-71.ZHAO Rong-bing,Aili Yu,ZHANG Jin,et al.Design and realization of radio telescope control software in windows XP system with VC++[J].Astronomical Research&Technology,2007,4(1):64-71.

[2]梁普選.Visual C++程序設計與實踐[M].北京:清華大學出版社,北京交通大學出版社,2005.

[3]劉雄鷹.MFC中顯示數據控件手工編程綁定數據控件[J].電腦與信息技術,2012,20(4):49-51.LIU Xiong-ying.Displaying data control binding data control with manual programming in MFC[J].Computer and Information Technology,2012,20(4):49-51.

[4]仇巍,邢建國.基于MFC的產品結構樹管理系統的實現[J].中國制造業信息化,2012,41(3):11-13.QIU Wei,XING Jian-guo.Development of product structure tree management system based on MFC [J].Manufacture Information Engineering of China,2012,41(3):11-13.

[5]申閆春.Visual C++案例教程[M].北京:清華大學出版社,北京交通大學出版社,2010.

[6]陳元琰.Visual C++.NET MFC類庫應用詳解[M].北京:科學出版社,2004.

[7]孫鑫.VC++深入詳解[M].北京:電子工業出版社,2012.

猜你喜歡
界面
聲波在海底界面反射系數仿真計算分析
微重力下兩相控溫型儲液器內氣液界面仿真分析
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
西門子Easy Screen對倒棱機床界面二次開發
空間界面
金秋(2017年4期)2017-06-07 08:22:16
鐵電隧道結界面效應與界面調控
電子顯微打開材料界面世界之門
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 国产丝袜丝视频在线观看| 国产剧情国内精品原创| 亚洲综合片| 成人蜜桃网| 亚洲天堂成人在线观看| 国产精品九九视频| 欧美日韩国产在线观看一区二区三区| 人人爽人人爽人人片| 亚洲午夜国产精品无卡| 亚洲综合精品香蕉久久网| 欧美日韩国产一级| 国模极品一区二区三区| 国产尤物视频网址导航| 国产精品浪潮Av| 国产av色站网站| 国产综合精品一区二区| 欧美另类精品一区二区三区| 激情综合激情| 色欲国产一区二区日韩欧美| 久久这里只有精品2| 色欲综合久久中文字幕网| 国产一区二区三区免费观看| 久久综合色播五月男人的天堂| 国产va视频| 伊在人亞洲香蕉精品區| 2022精品国偷自产免费观看| 无码粉嫩虎白一线天在线观看| 99久久免费精品特色大片| 国产精品国产三级国产专业不| 欧美一道本| 999精品色在线观看| 狠狠v日韩v欧美v| 91精品国产自产91精品资源| 国产9191精品免费观看| 亚洲国模精品一区| 尤物精品视频一区二区三区| 国产福利拍拍拍| 亚洲永久精品ww47国产| 青青青国产在线播放| 国产毛片基地| 蝌蚪国产精品视频第一页| 青草视频久久| a天堂视频| 一级毛片在线免费视频| 亚洲成a∧人片在线观看无码| 福利一区三区| 中文字幕人妻av一区二区| 欧美精品v日韩精品v国产精品| 国产在线八区| 一级毛片免费观看不卡视频| 精品福利国产| 亚洲成人www| 精品人妻无码中字系列| 黄色污网站在线观看| 国产福利小视频在线播放观看| 真实国产精品vr专区| 欧美激情视频一区| 国产福利在线观看精品| 在线一级毛片| 免费观看国产小粉嫩喷水| 91精品视频播放| 乱人伦中文视频在线观看免费| 国产精品网曝门免费视频| 青青草国产免费国产| 日本午夜在线视频| 日本成人福利视频| 91热爆在线| 国产自无码视频在线观看| 亚洲欧美成人在线视频| 91青草视频| 久久综合婷婷| 国产91av在线| 欧美日韩在线国产| 国产欧美在线观看视频| 亚洲伊人久久精品影院| 亚洲色婷婷一区二区| 精品伊人久久久香线蕉 | 国产呦视频免费视频在线观看 | 久久亚洲国产视频| 亚洲视屏在线观看| 草草影院国产第一页| 欧美黄网站免费观看|