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

Delphi編程實現遠程數據波形顯示的方法

2008-12-31 00:00:00王歡燕言海燕薛志良
電腦知識與技術 2008年33期

摘要:該文介紹了在Delphi中通過網絡傳輸下位機采集的數據,使用IXYPlot控件將數據實時以直觀的工控波形界面進行顯示的方法,并結合應用實例給出了數據顯示的應用程序。

關鍵詞:Delphi;實時數據;波形;顯示

中圖分類號:TP312文獻標識碼:A文章編號:1009-3044(2008)33-1386-02

The Method of Realizing Remote Data Wave Display by Delphi Programming

GONG Juan, WANG Huan-yan, YAN Hai-yan, XUE Zhi-liang

(Hunan Railway Profess Ional Technology College, Zhuzhou 412001, China)

Abstract: This paper presents the method that the internet transmits the data collected by the controller system in Delphi, and the IXPlot Controls display the real-time data by intuitionistic monitor and control interface. This paper exemplifies the data displaying application program.

Key words:Delphi; real-time data; wave; display

1 引言

在自動化控制應用中,經常要對系統中各類設備進行控制和診斷,因此我們要組成微機為上位機而單片機等為下位機的控制網絡。在通常的控制應用中,我們通過下位機采集并傳送控制設備的狀態信息如電流、電壓、壓力等等并以數字的形式實時顯示。但是,隨著自動化控制應用的發展和深入,很多應用需要將采集檢測到的離散的數據繪制成波形,用來對數據進行追蹤記錄和比較。如何通過簡單高效的方法方便快捷的將采集到的離散數據傳輸到上位機并繪制成波形呢?本文給出了利用IXYPlot控件將通過網絡傳輸采集的離散數據繪制成波形的方法,并給出了在Delphi環境下利用該控件將離散數據以波形形式實時顯示的應用實例。

2 實時數據的采集傳輸和顯示方法

在應用系統中,為了減少布線充分利用網絡系統優勢,通常采用下位機傳感器、IO通道等對模擬數據、數字量數據進行實時采集。采集到的數據由下位機根據協議的要求進行編碼處理后通過網絡發送給上位機,上位機接收到下位機傳來的數據后同樣根據通訊協議對接收到的數據進行解碼,并將解碼后的數據送給顯示系統,根據相應設置進行數據的顯示。

在數據顯示中我們設定縱坐標和橫坐標分別代表兩個不同的量,顯示出的波形則記錄了數據在隨橫坐標變化過程中的變化情況,從而由各離散數據繪制出相應的波形。根據應用的需要我們可以在一個界面上同時記錄多路數據,各路數據的波形以不同顏色進行區分,各路數據的位置可以隨意設定,數據顯示效果如圖1所示:

圖1 數據顯示效果

通過以上分析說明我們可以利用系統下位機就近對數據進行采集,利用網絡進行數據的傳輸,利用控件的編程和設計對數據進行顯示處理,簡單而高效的實現了將檢測的離散數據以波形的方式顯示。

3 數據顯示應用實例

下面通過一個具體實例來說明在Delphi6.0中實現工控數據顯示的方法。

1) 界面設計:

打開一個新的工程,在窗體上安排一個iXYPlot控件,將其Align屬性設為alClient,并設置好相關其它屬性,最后完成界面設計如圖2所示。

圖2 界面設計圖

2) 程序如下:

var

Main_FM: TMain_FM;

Drawgraph,DrawGraphID:Thandle;

implementation

{$R *.dfm}

//波形顯示線程;

Function F_DrawGraph:Longint;

Var

TempB1,temp2,temp3:Byte;

Begin

IF (Main_Fm.GET_SwitchLed.Active)Then //顯示按鈕激活

Begin

If main_fm.xvalue>main_fm.X_span then //滿一屏后,橫坐標右移

main_fm.iXYPlot.XAxis[0].Min :=main_fm.iXYPlot.XAxis[0].Min+Main_fm.X_add;

main_fm.iXYPlot.Channel[0].AddXY(main_fm.xvalue,Sin(0 )*Main_fm.SP1_para0+Trunc(Main_fm.

SP1_para1)); //繪制第一通道的波形(直線)

main_fm.iXYPlot.Channel[1].AddXY(main_fm.xvalue,Sin(main_fm.Xvalue )*Main_fm.SP2_para0+Trunc(Main_fm.SP2_para1));//繪制第2通道的波形(正弦波)

main_fm.iXYPlot.Channel[2].AddXY(main_fm.xvalue,cos(main_fm.Xvalue)*Main_fm.SP3_para0+Trunc(Main_fm.SP3_para1)) ;//繪制第3通道的波形(余弦波)

main_fm.iXYPlot.Channel[3].AddXY(main_fm.xvalue,Cos(0)*Main_fm.Curr_para0+Trunc(Main_fm.Curr_para1));//繪制第4通道的波形(直線)

main_fm.iXYPlot.Channel[4].AddXY(main_fm.xvalue,0*Main_fm.Acc_para0+Trunc(Main_fm.Acc_

para1)); //繪制第5通道的波形(直線)

main_fm.iXYPlot.Channel[5].AddXY(main_fm.xvalue,Sin(main_fm.Xvalue )*Main_fm.Daf_para0+T

runc(Main_fm.Daf_para1)); //繪制第6通道的波形(正弦波)

main_fm.xvalue:=main_fm.xvalue+Main_fm.X_add;//設置橫坐標移動的變化

End;

End;

procedure TMain_FM.GET_SwitchLedClick(Sender: TObject);

begin

IF Not GET_SWITCHLED.Active Then //判斷顯示按鈕沒有被激活

Begin

GET_SWITCHLED.CaptionFont.Color:=clLime;//改變顯示字體顏色

Main_fm.iXYPlot.ClearAllData ; //清除原有的顯示數據,為新數據顯示做好準備

Main_Fm.Xvalue :=0;//設置橫坐標初時值

Main_Fm.Time50MS.Enabled:=True; //激活定時器

End

Else

Begin

GET_SWITCHLED.CaptionFont.Color:=clRed; //更改顯示按鈕字體

Main_Fm.Time50MS.Enabled:=False;//關閉定時器;

End;

end;

procedure TMain_FM.Time50MSTimer(Sender: TObject);

begin

F_DrawGraph; //定時調用顯示刷新程序

end;

procedure TMain_FM.FormShow(Sender: TObject);

begin

Main_fm.X_span :=10;//設定顯示區域一屏能夠顯示的橫坐標的最大值

Main_fm.X_add:=0.01;//設定橫坐標沒刷新周期變化的增量

Main_fm.SP1_para0 :=12;//設定通道的數據放大比例

Main_fm.SP1_para1 :=110; //設定通道數據顯示縱坐標的基準位置

Main_fm.SP2_para0 :=20;//設定通道的數據放大比例

Main_fm.SP2_para1 :=90;//設定通道數據顯示縱坐標的基準位置

Main_fm.SP3_para0 :=20;//設定通道的數據放大比例

Main_fm.SP3_para1 :=70;//設定通道數據顯示縱坐標的基準位置

Main_fm.Curr_para0 :=0;//設定通道的數據放大比例

Main_fm.Curr_para1 :=90; //設定通道數據顯示縱坐標的基準位置

Main_fm.Acc_para0 :=3;//設定通道的數據放大比例

Main_fm.Acc_para1 :=70; //設定通道數據顯示縱坐標的基準位置

Main_fm.Daf_para0 :=35;//設定通道的數據放大比例

Main_fm.Daf_para1 :=35; //設定通道數據顯示縱坐標的基準位置

end;

4 結束語

以上方法筆者在多個開發項目中都曾采用,微機與分散的各下位機之間通過這種下位機采集數據、網絡傳輸的方式將多種離散的工控數據以波形的方式顯示出來,該方法在項目中使用效果良好,運行穩定可靠。

參考文獻:

[1] 溫錦山,唐柱鵬.Delphi串口及語音傳真高級編程[M].北京:北京航空航天大學出版社,2004.

[2] 黃軍.熊勇.Delphi 串口通信編程[M].北京:人民郵電出版社,2002.

[3] 段興.Delphi實用程序100例[M].北京:人民郵電出版社,2002.

主站蜘蛛池模板: 精品国产成人高清在线| 久久久精品无码一区二区三区| 国产亚洲精久久久久久无码AV| 中文字幕调教一区二区视频| 亚洲av无码久久无遮挡| 四虎永久在线| 亚洲成年网站在线观看| 伦伦影院精品一区| 色婷婷成人| 91精品国产一区| 22sihu国产精品视频影视资讯| 色135综合网| 亚洲国产黄色| 2020国产免费久久精品99| 欧美97欧美综合色伦图| 国产视频资源在线观看| 亚洲系列中文字幕一区二区| 国产美女精品在线| 亚洲国产日韩一区| 鲁鲁鲁爽爽爽在线视频观看| 久久国产黑丝袜视频| 72种姿势欧美久久久大黄蕉| 青青青视频蜜桃一区二区| 一级毛片无毒不卡直接观看| 白浆视频在线观看| 国产aaaaa一级毛片| 国产精品真实对白精彩久久 | 日本免费福利视频| 中文字幕av无码不卡免费| 谁有在线观看日韩亚洲最新视频| 日韩在线视频网站| 欧美性精品| 欧美激情网址| 第一区免费在线观看| 色噜噜狠狠色综合网图区| 欧美区一区二区三| 亚洲av无码久久无遮挡| 91综合色区亚洲熟妇p| 天堂网亚洲系列亚洲系列| av尤物免费在线观看| a毛片免费看| 国产免费黄| 8090成人午夜精品| 99九九成人免费视频精品| 中国国产A一级毛片| 一区二区三区四区在线| 国产在线观看91精品| 色综合中文| 国产精品极品美女自在线看免费一区二区| 69免费在线视频| 91无码国产视频| 色婷婷综合在线| 国产亚洲精品在天天在线麻豆 | 一本视频精品中文字幕| 国内嫩模私拍精品视频| 伊人大杳蕉中文无码| 91精品网站| 尤物精品视频一区二区三区| 欧美成在线视频| 亚洲熟女偷拍| www.亚洲天堂| 日本免费一级视频| 亚洲成A人V欧美综合天堂| 四虎免费视频网站| 亚洲水蜜桃久久综合网站| 伊人久久青草青青综合| 欧美日韩中文国产| 一区二区日韩国产精久久| 91麻豆精品国产高清在线| 国产黄在线观看| 麻豆精品在线视频| 亚洲欧美日韩视频一区| 国产精品漂亮美女在线观看| 亚洲最猛黑人xxxx黑人猛交| 91精品国产综合久久不国产大片| 在线观看亚洲成人| 国产精品手机在线观看你懂的| 狠狠综合久久| 91极品美女高潮叫床在线观看| 国产一区二区人大臿蕉香蕉| 亚洲午夜久久久精品电影院| 人妻中文字幕无码久久一区|