時間:2008-06-24 10:21:00來源:ronggang
一、前言
隨著計算機技術的發展和成熟,計算機的應用也越來越廣泛。在自動化領域,計算機已經成為控制系統的首選平臺,應用計算機對生產和試驗進行實時、遠程監控是現代自動化發展的主要方向。將計算機應用于工業實時控制的前提是現場數據的實時獲取。在生產和科學實驗中,常常要測控很多參數,諸如溫度、壓力、轉速等,通常的方法是使用專用的儀表人為觀測、記錄處理數據、做出判斷,這就會帶來人為的誤差,而且應用范圍也會受到現場條件、響應速度等因素的限制。而自動的實時監控系統能很好的解決這些問題。本文以一種簡單實用的溫度實時采集系統為實例,討論了一種利用計算機進行遠程測控的框架結構和實現方法。
二、硬件構成
系統結構如圖1所示,其中:
COMPUTER為普通PC機,要求能夠運行Windows98操作系統和開發環境VB6.0,具有標準的RS232串口或RS485口,主要功能為數據采集處理和系統控制,是人機交互平臺。實驗中使用的是PIII800的計算機。
ADAM4521 為研華科技公司的接口轉換模塊,能將RS485或RS422信號轉換為RS232信號。由于普通PC只具有RS232接口,而一般工業測試信號符合 RS485或RS422標準,所以在這里要進行一下轉化。研華科技公司的ADAM4521模塊有以下特點:可尋址;內置微處理器;傳輸速度 115.2Kbps;1000VDC高壓隔離;RS485浪涌電壓保護;輸入輸出可置不同的波特率;無需握手信號。
ADAM4013為研華科技公司的熱敏電阻輸入模塊,能將熱敏電阻的模擬信號轉換為RS485數字信號。ADAM4013模塊利用內置的微處理器控制A/D轉換器把電流、電壓或熱敏電阻的模擬信號轉換為數字信號,模塊提供信號調整、A/D轉換、測量范圍調整、RS485通訊等功能,良好的光隔能有效的保護設備的安全。模塊的主要特點有:內置看門狗;3000VDC高壓隔離;采樣率10次/秒;誤差小于0.05%。這些參數能滿足絕大多數場合的應用。
溫度傳感器選用鉑電阻Pt100測量-100℃到+100℃的溫度,ADAM4013模塊測溫系數a設為0.00385。可根據測量范圍和測量精度的要求選擇不同的溫度傳感器,在軟件設計時進行相應的參數配置即可。
試驗中的介質是兩種液體的化學反應。鉑電阻Pt100將化學反應溫度轉化為模擬電信號傳到ADAM4013模塊,經過采樣處理轉化為RS485數字信號,在經過ADAM4521模塊的轉換,變成計算機可以接收的RS232信號,計算機收到數據后,實時顯示,繪制溫度曲線,同時進行后臺處理、存儲,以備他用。
三、軟件實現
系統軟件主要是用VB6.0對RS232串口編程,實現硬件之間的通訊。軟件框圖如圖2所示。
1、MSComm控件簡介
VB6.0對RS232串口編程主要通過MSComm控件來實現。下面簡單介紹一下MSComm控件:
MSComm 控件為應用程序提供串行通訊功能。控件提供下列兩種處理通訊的方式:事件驅動通訊是處理串行端口交互作用的一種非常有效的方法。在許多情況下,在事件發生時需要得到通知,例如,在 Carrier Detect (CD) 或 Request To Send (RTS) 線上一個字符到達或一個變化發生時。在這些情況下,可以利用 MSComm 控件的 OnComm 事件捕獲并處理這些通訊事件,無論何時當 CommEvent 屬性的值變化時,就產生 OnComm 事件,標志發生了一個通訊事件或一個錯誤。另一種方法是通過檢查 CommEvent 屬性的值來查詢事件和錯誤。如果應用程序較小,并且是自保持的,這種方法可能是更可取的,它只對某一特定的事件響應。
每個使用的 MSComm 控件對應著一個串行端口。如果應用程序需要訪問多個串行端口,必須使用多個 MSComm 控件。MSComm 控件主要屬性:
CommPort:設置并返回通訊端口號;
Settings: 以字符串的形式設置并返回波特率、奇偶校驗、數據位、停止位;
PortOpen: 設置并返回通訊端口的狀態。也可以打開和關閉端口;
Input: 從接收緩沖區返回和刪除字符;
Output: 向傳輸緩沖區寫一個字符串。
更詳細的信息請參閱Microsoft的聯機文檔MSDN。
2、ADAM模塊常用命令介紹
ADAM模塊時通過特殊的約定字符來實現相應的操作的,常用的有:
"%0101210600":設置端口,0-100度,科學單位;
"#01" : 讀串口1數據;
"#02" : 讀串口2數據;
"$010" : 模塊自動校準;
"$011" : 偏移量校準;
"$012" : 讀端口信息;
"$01M": 讀模塊名。
3、主界面及部分代碼
VB6.0具有強大的界面編輯功能,是一種完全面向對象的編程語言,用它實現的人機界面直觀友好、易操作易實現,下面就是試驗中所作的界面(圖3):
從界面可以看出,系統能實現溫度采集的設置、數據顯示處理功能。
關鍵代碼如下:
Const CMDconfig = "%0101210600" ‘設置端口命令字符,0-100度,科學單位
Const CMDdataIn1 = "#01" ‘讀串口1數據命令字符
Const CMDdataIn2 = "#02" ‘讀串口2數據命令字符
Const CMDspanCalibration = "$010" ‘校準命令字符
Const CMDoffsetCalibration = "$011" ‘偏移量校準命令字符
Const CMDconfigStatus = "$012" ‘讀端口信息命令字符
Const CMDmoduleName = "$01M" ‘讀模塊名命令字符
Private Sub CmdStart_OnClick() ‘開始命令子程序
MSComm1.CommPort = COMnum ‘設置串口號
If MSComm1.PortOpen = False Then ‘打開串口
MSComm1.PortOpen = True
End If
If COMnum = 1 Then
CMDdataIn = CMDdataIn1
Else
CMDdataIn = CMDdataIn2
End If
MSComm1.Output = CStr(CMDdataIn) & vbCr ‘發出讀數命令
TimeDelay 500 ‘延時500ms
Picture1.CurrentX = 0 ‘繪制曲線坐標起點
Picture1.CurrentY = temperature
Timer1.Enabled = True ‘開始計時
End Sub
Private Sub MSComm1_OnComm() ‘事件響應子程序
Select Case MSComm1.CommEvent ‘判斷MSComm1通訊事件
Case comEvReceive ‘收到Rthreshold個字節產生的接收事件
MSComm1.RThreshold = 0 ‘關閉OnComm事件接收
TimeDelay 20 ‘延時20ms
temperatureShow = Right(MSComm1.Input, 7) ‘讀取第一個數據字節(BCD碼高位字節)
temperature = Val(temperatureShow) ‘數值組合,標定小數點
MSComm1.Output = CStr(CMDdataIn) & vbCr ‘發送讀命令
MSComm1.InBufferCount = 0 ‘清空緩存
MSComm1.RThreshold = 1 ‘關閉OnComm事件接收
Case comEventBreak ‘ 收到 Break。
…
Case Else
End Select
End Sub
程序中一般會用到系統時鐘來計時,這是要用到系統動態連接庫kernel32.dll。有一點需要注意,由于串口速度有限,系統運行速度也有限,所以設置采樣間隔一般不能小于15毫秒,否則會出現延時錯誤。
四、結論
本系統最大的特點就是容易實現,不需要數據采集卡,不需要硬件驅動程序,硬件連接方便,軟件編制也比較容易掌握,有一點兒VB的基礎,再了解一下串口控件應用就可以了,特別適合較小的測溫系統。由于ADAM模塊是可尋址的,所以可以用多個模塊實現多個參量的測量采集。整個系統的開發周期較短,調試方便,運行可靠,可根據需要制作相應的操作界面。系統只占用PC機的一個串口,占用資源少,對硬件要求不高,各模塊在不同的場合可靈活應用。
參考文獻:
[1]李鋒,曾德良,基于VB6.0的串口通訊程序設計,現代電子技術,2002.10,54-57;
[2]鄭春生,于贇等,計算機連續實時溫度采集系統的研究,鑄造技術,2003.024(003),193-194;
[3]周六順,基于VB編程的微機溫度采集系統設計,化工設計通訊,2002.028(003),47-48;
[4]李時惠,計算機多點溫度采集系統的設計與現實,計算技術與自動化,2001.020(001),71-74;
[5]ADAM采集模塊使用手冊,研華科技股份有限公司;
[6]Microsoft Corporation 微軟(中國)有限公司,Microsoft Visual Basic 6.0中文版程序員指南,北京希望電腦公司 1998.01;
[7]范逸之,陳立元,Visual Basic與RS-232串行通訊控制(最新版),中國青年出版社,2002.01.
作者簡介:
1 喬治宏,北京工業大學電控學院檢測專業2001級碩士研究生,研究方向,信號處理;
2 吳晴,北京工業大學電控學院檢測專業副教授,研究生導師,研究方向,信號檢測與處理
標簽:
上一篇:速度控制開關磁阻直線電機及...
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-05-19
2025-04-30
2025-04-11
2025-04-08
2025-03-31
2025-03-26