當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]本文主要介紹了DELPHI 串行通信,以及怎樣使用Delphi 語言編程實(shí)現(xiàn)溫度的實(shí)時(shí)采集以及處理顯示。0 引言溫度是一個(gè)十分重要的物理量,對(duì)它的測(cè)量與控制有著十分重要的意義,在現(xiàn)代工業(yè)生產(chǎn)中溫度也是常見的工藝參數(shù)之一

本文主要介紹了DELPHI 串行通信,以及怎樣使用Delphi 語言編程實(shí)現(xiàn)溫度的實(shí)時(shí)采集以及處理顯示。

0 引言

溫度是一個(gè)十分重要的物理量,對(duì)它的測(cè)量與控制有著十分重要的意義,在現(xiàn)代工業(yè)生產(chǎn)中溫度也是常見的工藝參數(shù)之一,任何物理變化和化學(xué)反應(yīng)過程都與溫度密切相關(guān),隨著時(shí)代的不斷發(fā)展,現(xiàn)代工農(nóng)業(yè)技術(shù)的不斷進(jìn)步, 人們對(duì)生活環(huán)境要求的提高,使得對(duì)于溫度的測(cè)量和控制的要求越來越高, 迫切需要檢測(cè)與控制溫度。

1 系統(tǒng)總體介紹

本系統(tǒng)主要包括三個(gè)模塊:下位機(jī)硬件設(shè)計(jì)部分、下位機(jī)軟件設(shè)計(jì)部分和上位機(jī)軟件設(shè)計(jì)部分。本文涉及的主要是上位機(jī)軟件程序設(shè)計(jì)部分,使用高級(jí)語言Delphi 編制上位機(jī)監(jiān)控程序,并通過RS-232 串行通信口與下位機(jī)系統(tǒng)實(shí)現(xiàn)實(shí)時(shí)通信。同時(shí)為了操作方便,系統(tǒng)還附加了遙控器部分。其中系統(tǒng)的原理框圖如圖1 所示:


             圖1 系統(tǒng)的原理框圖

2 主要控件介紹:

2.1 TComm 控件:

用Delphi 實(shí)現(xiàn)串口通訊,常用的幾種方法為:使用控件如TComm,使用API 函數(shù)或者在Delphi 中調(diào)用其它串口通訊程序。下面詳細(xì)介紹TComm 的使用。

a)TComm 的主要屬性

  Name:對(duì)象的名稱,對(duì)象放置完成后,是第一個(gè)必須要設(shè)置的屬性。

  CommPort:通信端口的選擇。

  PortOpen:打開或關(guān)閉通信端口。

  BaudRate:傳輸速度的選擇。

b)TComm 的主要事件

  ONReceiveData:當(dāng)接收到數(shù)據(jù)時(shí)觸發(fā)。

  OnReceiveError:當(dāng)接收數(shù)據(jù)錯(cuò)誤時(shí)觸發(fā)。

  OnModemSTateChange:當(dāng)引腳的電壓發(fā)生變化時(shí)觸發(fā)。

d)TComm 的主要方法

  OutputString:輸出文字?jǐn)?shù)據(jù)到串行端口。

  OutputByte:輸出字節(jié)數(shù)據(jù)到串行端口。

  ReadInputByte:以字節(jié)方式讀取緩沖區(qū)內(nèi)的數(shù)據(jù)。

2.2 TChart 組件:

TChart 是Delphi 里面一個(gè)標(biāo)準(zhǔn)的圖形顯示控件。它可以靜態(tài)設(shè)計(jì)(at design time)也可以動(dòng)態(tài)生成。TChart 的實(shí)時(shí)繪制對(duì)機(jī)器性能要求比較高,因此在編程的時(shí)候要注意:

(1)使用2d 圖形;⑵Chart 盡可能包含少的點(diǎn)。

a)TChart 組件的主要事件

  OnPageChange:當(dāng)改變頁的時(shí)候,此事件發(fā)生。

  OnMouseDown:當(dāng)鼠標(biāo)按下時(shí)產(chǎn)生。

  OnAfterDraw 事件:該事件是在繪制所有的Series 時(shí)發(fā)生的。

  OnClick 事件:該事件是在用戶單擊Series 點(diǎn)時(shí)發(fā)生的。

  OnZoom 事件:該事件是在圖表放大時(shí)觸發(fā)。

b)TChart 組件的主要方法

       ActiveSeriesLegend 函數(shù):該函數(shù)用于返回當(dāng)前活動(dòng)的Series,如果所有的Series 都是活動(dòng)的,需要為該函數(shù)確定要返回Series 的序號(hào)。

  AddSeries 過程:該過程用于添加一個(gè)Series 對(duì)象。

3 系統(tǒng)各具體模塊設(shè)計(jì)

3. 1 系統(tǒng)主界面設(shè)計(jì)

用戶登錄到主界面之后,在主界面中,可以實(shí)現(xiàn)通過面板或者菜單來設(shè)置溫度的上下限,系統(tǒng)實(shí)時(shí)顯示測(cè)試時(shí)間,同時(shí)在面板上通過狀態(tài)燈顯示當(dāng)前系統(tǒng)的工作狀態(tài)。


                      圖2 系統(tǒng)主界面

同時(shí)在主界面的菜單中,可以進(jìn)行通信端口的選擇、通信波特率的選擇、修改密碼、幫助以及退出系統(tǒng)。

3.2 修改密碼模塊設(shè)計(jì)

為了系統(tǒng)的安全,系統(tǒng)增加了修改密碼模塊。如果要修改密碼,首先要輸入原來的密碼,而后輸入新密碼,最后重新輸入新密碼并確定,如果輸入的兩次新密碼相同,則修改密碼成功,如果輸入的兩次新密碼不同,則修改密碼失敗,則重新輸入新密碼。

3.3 通信模塊的設(shè)計(jì)

本次設(shè)計(jì)使用RS232 轉(zhuǎn)RS485 轉(zhuǎn)換器實(shí)現(xiàn)遠(yuǎn)程監(jiān)控的,采用的是半雙工的數(shù)據(jù)傳輸方式和異步通信方式,串行口工作于模式1。

傳輸數(shù)據(jù)的格式如下:首先上位機(jī)發(fā)送FF 給下位機(jī),下位機(jī)檢測(cè)到時(shí),將溫度傳送給上位機(jī)。向單片機(jī)發(fā)送上限溫度命令,格式:FE,XX;向單片機(jī)發(fā)送下限溫度命令,格式:FD,XX;設(shè)置監(jiān)控,格式:FC;取消監(jiān)控,格式:FB;向單片機(jī)發(fā)送點(diǎn)擊上限按鈕,格式:FA;向單片機(jī)發(fā)送點(diǎn)擊下限按鈕,格式:F9。

a)接收數(shù)據(jù)

上位機(jī)采用事件驅(qū)動(dòng)方式接收數(shù)據(jù)。當(dāng)下位機(jī)傳送一幀數(shù)據(jù)上來輸入緩存時(shí),將觸發(fā)TCOMM 組件的OnReceiveData 事件,對(duì)數(shù)據(jù)進(jìn)行接收。然后對(duì)接收的數(shù)據(jù)進(jìn)行判斷,分別轉(zhuǎn)相應(yīng)的處理程序。下面是數(shù)據(jù)接收的程序段:

  begin

  try

  count:=form1.Comm1.ReadInputByte(pt);

  if ((count+1) mod 4<>0) then

  begin

  form1.Comm1.DataCount:=0;

  exit;

  end;

  for i:=0 to 3 do

  begin

  re[i]:=pt^;

  inc(pt);

  end;

  … //數(shù)據(jù)處理部分

b)發(fā)送數(shù)據(jù)

發(fā)送數(shù)據(jù)采用異步I/O 方式,即將要發(fā)送的數(shù)據(jù)用WriteCommData 方法發(fā)送到寫線程,然后立即返回。該方法所有的操作均在后臺(tái)進(jìn)行,如果發(fā)送成功,返回True, 發(fā)送失敗,返回False。下面是發(fā)送數(shù)據(jù)的主要程序段:

  form1.Comm1.PortOpen:=true;

  form1.Comm1.OutputByte(send);

  timedelay(300);

3.4 系統(tǒng)初始化模塊設(shè)計(jì)

本系統(tǒng)初始化部分設(shè)計(jì)程序如下:

  begin

  Position:=poscreencenter;

  form1.Comm1.DataCount:=0;

  form1.Comm1.RThreshold:=1;

  form1.Comm1.PortOpen:=true;//串行口初始化

  form1.sys_ini();//系統(tǒng)參數(shù)初始化

  …

3.5 參數(shù)設(shè)置模塊設(shè)計(jì)

為了系統(tǒng)的操作方便,在菜單中加入了參數(shù)的設(shè)置,可以選擇串行口,選擇通信的波特率等等。

4 結(jié)束語

系統(tǒng)經(jīng)過一個(gè)多月的觀察測(cè)試,該軟件系統(tǒng)運(yùn)行穩(wěn)定,使用操作方便,測(cè)量精度高。

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉