基于VB 6.0智能電子自旋共振儀系統(tǒng)繪圖模塊實現(xiàn)
l 繪圖模塊的開發(fā)環(huán)境
對某一個系統(tǒng)的開發(fā),開發(fā)者可以選用各種編程語言來完成,通常使用的高級語言如C--,Java,PB,Visual Basic等,各種語言有各自的優(yōu)點與缺點,基于不同的用戶需求選用的語言也有所不同。該實驗系統(tǒng)的開發(fā)中選用了Visual Basic 6.0,選用它的主要原因是:
(1)Visual Basic 6.O具有友好的可視化界面;
(2)Visual Basic 6.O自帶的通信控件可以方便地與智能電子自旋共振儀器進行通信;
(3)Visual Basic 6.o中的畫線功能可以自由地繪出繪圖區(qū)中的譜線;
(4)程序代碼易于以后的修改與擴充。
2 繪圖區(qū)實現(xiàn)
在此使用圖片框(pictuer 2)來顯示共振譜線,所以第一步就是要在窗體上定位圖片框,并為其設置外觀及其他屬性。在該實驗中,繪圖區(qū)(picMain)中顯示曲線有坐標值,所以首先畫出圖片框,然后在圖片框中定制曲線生成區(qū)。定制圖片框或繪圖區(qū)都要先確定他們在窗體的哪個位置。所以下面先闡述VB中坐標系的定義。
2.1 坐標系的確定
VB坐標系介紹:VB里有3種坐標系,屏幕坐標系、窗體坐標系和窗體內的對象坐標系。這3種坐標系都是以其左上角為坐標原點,與平常使用的幾何坐標系不一致,常使人們繪圖時感到不習慣。VB允許編程人員自定義坐標系,根據(jù)需要定義坐標原點的位置。默認的坐標系統(tǒng)是容器的左上角的坐標為(O,O),右下角坐標為(width,Height),為了根據(jù)自己的需要來定義坐標系統(tǒng),用到了Scale相關屬性。
通過設置ScaleLeft和ScaleTop來設置左上角的坐標。實驗中右下角坐標為:
2.2 設置繪圖區(qū)網(wǎng)格
定制好了繪圖區(qū),為了繪圖區(qū)的美觀,繪圖中區(qū)加了橫縱相交的網(wǎng)格。橫坐標固定只有5個細分格,縱坐標固定4個細分格。部分代碼如下:
2.3 設置坐標
根據(jù)繪圖區(qū)的大小與高度繪制x軸和y軸。
3 繪圖模塊實時曲線的生成
畫好繪圖區(qū)及坐標系后,就要在繪圖區(qū)繪制實時曲線,實時曲線的繪制一般借助于Timer控件來完成,使用Timer控件,定期將串口或是其他儀器中監(jiān)測到的數(shù)據(jù)送往pic_main,而曲線的繪制一般畫成折線圖,采用PictureBoxl的Line方法繪制。用Line方法可以在窗體或圖片框上繪制一條直線或繪制一個矩形。
Line方法的一般格式:
[對象名.]Line(x1,y1)-(x2,y2)[,顏色]
其中:(x1,y1)為始點坐標;(x2,y2)為終點坐標;顏色可以使用RGB函數(shù),規(guī)定畫線或畫矩形的顏色。代碼如下:
3.1 曲線的生成
曲線的生成為:
3.2 時鐘更新曲線
時鐘更新曲線為:
這樣,就完成了在繪圖區(qū)中顯示從單片機實時采集到的數(shù)據(jù)的任務。
4 雙游標讀取某兩點的數(shù)值差
用4條線來描述雙游標。首先在繪圖區(qū)上放置4條直線控件,4條線放置成2對坐標形式(十字相交)。并設置4條線的屬性:
4條直線的名稱分別為線c0_x,c0_y,c1_x,c1_y。
顏色分別為c0_x.bordercolor&H0000OOFF&;c1_x.bordercolor&HOOFFFF00&。
4.1 獲取任意點的坐標值
通過在曲線上單擊鼠標左鍵來獲得坐標值
4.2 任意點坐標值的顯示
因為獲取的是任意點的坐標值,所以鼠標放在曲線的任意位置時,坐標CO()與坐標C1()的值相應的要改變。
某點的坐標如圖1所示。
最后實驗生成的曲線如圖2所示。
5 結語
電子自旋共振儀數(shù)據(jù)支撐系統(tǒng),基于VB 6.0平臺,代碼簡單、容易擴充。學生可以根據(jù)個人需求進行系統(tǒng)功能的擴充。系統(tǒng)設計的控制程序將所測得的數(shù)據(jù)繪制成動態(tài)曲線顯示在繪圖區(qū)中,實驗數(shù)據(jù)的采集更為直觀和準確。