版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、用VB6_0實現(xiàn)PC機對多臺流量計遠程數(shù)據(jù)采集與監(jiān)控.txt如果真誠是一種傷害,請選擇謊言;如果謊言是一種傷害,請選擇沉默;如果沉默是一種傷害,請選擇離開。用VB6.0實現(xiàn)PC機對多臺流量計遠程數(shù)據(jù)采集與監(jiān)控節(jié)能法律、法規(guī)節(jié)能先關表格下載節(jié)能宣傳欄節(jié)能相關技術標準相關部門文件欄目樹形導航| 首頁 | 行業(yè)信息 | 公司信息 | 部門信息 | 生產(chǎn)管理 | 技術資料 | 員工溝通| 網(wǎng)上學習 | 幫助導航 |技術設備部首頁|設備管理|計量管理|節(jié)能管理|部門動態(tài)|法規(guī)制度|技術交流|設備之窗|您現(xiàn)在的位置:珠海供水 >> 技術交流 >> 技術設備部正文用戶登錄新用戶注冊
2、圖文用VB6.0實現(xiàn)PC機對多臺流量計遠程數(shù)據(jù)采集與監(jiān)控【字體:小大】用VB6.0實現(xiàn)PC機對多臺流量計遠程數(shù)據(jù)采集與監(jiān)控作者:喻維綱技術設備部來源:湘潭鋼鐵公司自動化部點擊數(shù):18 更新時間:2005-10-28摘要:利用VB6.0 ActiveX控件的MSComm通信控件,實現(xiàn)了Windows9X下單臺PC機與多臺智能流量計的串行通訊,達到了對分散設備的集中控制和計量數(shù)據(jù)的采集和自動上報功能。關鍵詞:PC機;流量計;智能儀表;RS485;串口;事件驅動Collecting and controlling the Long-distance Data of Flowrates byUsing
3、 Personal Computer Base on VB6.0Xiang Tan Steel Automatic DepartmentYu Wei GangAbstract: This paper describes one personal computer series-communicating with many intellectual-flowrates under Windows9X by using MSComm controls of VB6.0 ActiveXs.Coming to centralized controlling scattered measure Equ
4、ipment and Automatic data collecting and switching.Key word: Personal computer; floweret; intellectual meter; SerialcommunicationRS485; incident driving一、引言在工業(yè)生產(chǎn)中,能源、動力介質的測量設備分布在現(xiàn)場的各個區(qū)域,給設備的監(jiān)控和數(shù)據(jù)的統(tǒng)計帶來諸多不便,隨著智能儀表技術的不斷發(fā)展,其通訊技術也在不斷加強,當今的流量測量儀表大多帶有RS-485通訊接口,完全可以運用現(xiàn)場總線方式實現(xiàn)多臺測量儀表的集中監(jiān)控與數(shù)據(jù)采集。本文利用VB6.0的Acti
5、veX控件Microsoft Communication控件,方便的實現(xiàn)了Window9X環(huán)境下一臺PC機與多臺流量計測量儀表的串行通信功能,完成24臺流量計的數(shù)據(jù)采集與管理。二、系統(tǒng)的硬件設計:根據(jù)RS485電氣規(guī)定,在兩線制傳輸方式下,RS485驅動器可帶32個接收器,實現(xiàn)多半點雙工通訊,通訊距離在15m時波特率可達10Mb/s,通訊距離在1.2m范圍內波特率可達100Mb/s,超過此距離可用Repeater(中繼器,增大傳輸距離,系統(tǒng)方框圖如圖所示:圖中PC機通過RS232接口,經(jīng)RS232RS485模塊與多臺流量計儀表相連接,一條總線上最多可接32臺,每臺儀表被賦予各自的通訊地址碼用以
6、識別身份,這樣上位PC即能通過RS485總線對掛在總線上的每個儀表進行通訊。實現(xiàn)對流量計的遠程數(shù)據(jù)采集與監(jiān)控。三、流量計結構及通訊功能:3.1 流量計大致由三部分組成:1、流量傳感器,包括殼體組合,前置放大電路等;2、溫度傳感器組合;3、流量積算儀表組合。隨著單片技術的不斷發(fā)展,流量積算儀大多采用單片計算機組成的智能系統(tǒng),在完成系統(tǒng)的采樣積算等功能的同時,還可以采用一定的通訊協(xié)議與遵循相同協(xié)議的設備聯(lián)網(wǎng),積算儀表系統(tǒng)中有1K以上字節(jié)的EPROM可以永久保存數(shù)據(jù)和命令,用戶的命令和系統(tǒng)運行參數(shù)可通過串口從PC機發(fā)送到積算儀表,積算儀表將其格式化后存入不同的EPROM地址中,供運行時直接調用。3.
7、2 積算儀表與計算機的通訊采用RS-485半雙工的方式,積算儀表作為從機,上位PC機作為主機,控制和監(jiān)視流量計的運行,通訊波特率大多為9600bps,通訊格式為:1位起始位,8位數(shù)據(jù)位,1位奇偶校驗位,1位停止位,每個從站被賦予唯一的本機地址,采用主機輪詢,從機應答的通訊方式。主機通過發(fā)送命令幀啟動一次通訊,從機接收到數(shù)據(jù)后,判斷呼叫地址是否和本機地址相同,若不同,則不與理睬,若相同則根據(jù)命令幀中的特征字(命令字,發(fā)送主機要求的數(shù)據(jù)幀。以TLXZ系列流量計為例,命令幀的格式如下:項號1234字節(jié)數(shù)1字節(jié)2字節(jié)4字節(jié)1 字節(jié)意義起始字節(jié)(STX從機地址(ADDR特征字異或校驗(BCC第一項為幀頭
8、(STX取值41H,用以標志一幀的開始;第二項為從機地址(ADDR流量計地址碼,取值為031,當?shù)刂反a兩個字節(jié)都為255時為廣播地址;第三項命令特征字為3A、3C、3F,用以命令流量計回傳的數(shù)據(jù)內容,第四項BCC為異或校驗,為前面數(shù)據(jù)的異或校驗和用于通訊校錯。數(shù)據(jù)幀比較長,有12個字節(jié),其格式如下:項號1231字節(jié)數(shù)1字節(jié)2字節(jié)8字節(jié)1 字節(jié)意義起始字節(jié)(STX從機地址(ADDR用戶數(shù)據(jù)異或校驗命令幀與數(shù)據(jù)幀除第三項外,其它意義相同,數(shù)據(jù)幀的第三部內容是從機根據(jù)主機發(fā)出的命令幀向主機發(fā)出的本機即時、累計數(shù)據(jù),或運行參數(shù)。另外主機還有一個特殊的命令幀參數(shù)修改數(shù)據(jù)幀,它的格式為:項號12345字節(jié)
9、數(shù)1字節(jié)2字節(jié)1字節(jié)8字節(jié)1字節(jié)意義起始字節(jié)(STX從機地址(ADDR命令字用戶數(shù)據(jù)異或校驗該幀的命令字特征為3E,起始碼為3F,用以區(qū)別其它命令幀,第三部分是主機向從機發(fā)送的從機運行參數(shù),從機收到此幀后,將數(shù)據(jù)格式化,存入EPROM中,以發(fā)送流量計的運行參數(shù),對此幀從機不回應。四、 VB6.0中的ActiveX控件:在Windows環(huán)境下,出于對系統(tǒng)的安全考慮,操作系統(tǒng)完全接管了各種硬件資源,不允許用戶直接對包括串口在內的硬件中斷進行管理,以往人們只能通過繁瑣的API函數(shù)或VisualC+標準通訊函數(shù)來控制各種硬件,現(xiàn)在VB6.0提供了一個ActiveX控件Microsoft Communi
10、cation Control,Version6.0,稱為MSComm控件,利用它可以方便地進行計算機串口的通訊管理。MSComm控件有許多屬性,其中與串口有關的重要屬性有:CommPort設置串口號,類型short,設置為1、2、3等,分別表示COM1、COM2、COM3Settings設置串口通訊參數(shù)(B、P、D、S,類型string,B表示波特率,P表示奇偶校驗(N無校驗,E偶校驗,O奇校驗,M符號校驗,S空格校驗,D表示有效數(shù)據(jù)位數(shù),S表示停止位數(shù)PortOpen設置或返回通信端口狀態(tài),類型Bool;InputMode從接收緩沖區(qū)讀取數(shù)據(jù)格式,類型VARIANT,設置為0時表示字符串格式
11、,設置為1時表示二進制格式Input設置從緩沖區(qū)中讀取數(shù)據(jù),類型Long;Output向發(fā)送緩沖區(qū)中寫入數(shù)據(jù),類型Long;InputLen設置或返回Input 每次讀取的字節(jié)數(shù),類型Short;Rthreshold 設置返回要接收的字符數(shù),類型Short;Sthreshold 設置并返回發(fā)送緩沖區(qū)中允許的最少字符數(shù),類型Short;CommEvent串口事件,類型Short;InputMode 使程序方便地選擇從緩沖區(qū)讀取數(shù)據(jù)格式。當串口接收到信息時MSComm 控件提供兩種處理方法,一種為查詢方式,一種為事件響應方式,利用SetCommEvent (函數(shù)設置串口響應事件。當響應事件發(fā)生時,
12、系統(tǒng)會激活OnComm(事件。在OnComm(事件中添加用戶處理代碼,則可實現(xiàn)類似中斷的串口事件處理。五、用VB6.0實現(xiàn)對流量計積算儀表的串行通訊控制:在Windows9X VB6.0編程環(huán)境下,新建工程引用MSComm通訊控件,在窗體中至少添加以下幾個基本控件:1、 1個MSComm控件,控制名為MSComm1,用于軟件對串口的訪問;2、兩個定時器控件,名為(TimPeriodic和TimNonPeriodic,TimPeriodic用于使PC機定時向各儀表發(fā)送周期性命令,使其定時回傳實時數(shù)據(jù);TimNonPeriodic 用于控制兩次非周期性指令傳送之間的時間間隔;3、 1個非周期性命令
13、發(fā)送按鈕CmdNonPeriodic,用于非周期性指令的傳送啟動;4、若干個用于顯示儀表參數(shù)的文本框和設置儀表參數(shù)的對話框;監(jiān)控軟件的核心是如何讀取和處理現(xiàn)場儀表的實時數(shù)據(jù),編程時應注意以下幾個問題:、主機采用輪詢方式訪問從機,從機應答到發(fā)送完數(shù)據(jù)有一定的時間間隔,一般設定為23秒;、由于采用一個串口和半雙工通訊方式,一方發(fā)送數(shù)據(jù)時另一方必須等待接收,因此在發(fā)送非周期性命令時,必須停止輪詢,否則會發(fā)生數(shù)據(jù)包碰撞,使通訊失敗;、主機呼叫從機無應答時,要有報警設置,提示通訊出錯,一般設置3次呼叫無應答后,即可停止呼叫,提示通訊出錯,跳過此從機繼續(xù)執(zhí)行;、當從機故障或停運時,應可自動跳過對此從機輪詢
14、,以節(jié)省輪詢時間,并在顯示窗口提示,同時寫入故障記錄。下面給出讀取和處理現(xiàn)場儀表數(shù)據(jù)時的源代碼,供參考:5.1 窗體中各控件初始設置:Sub Form-load(MSComm1,CommPort=2 /選用COM2口通訊MSComm1,Setting=“9600,N,8,1 /設置通訊參數(shù)MSComm1,Inputlen=0 /Input將讀取緩沖區(qū)全部內容MSComm1,InputlenSize=1024 /設置接收緩沖區(qū)大小MSComm1,PortOpen=True n /打開通訊端口MSComm1,InBufferCount=0 /清除發(fā)送緩沖區(qū)MSComm.OutbufferCount
15、=0 /清除接收緩沖區(qū)TimNonPeriodic.Interval=3000 /設置3秒定時間間隔TimNonPeriodic.Interval=500 /設置0.5秒定時間間隔CmdPressed=False /命令按鈕在未激活狀態(tài)DuringPeriodic=False /周期命令傳輸未開始DuringNonPeriodic=False /非周期命令傳輸未開始End Sub5.2 周期性命令的發(fā)送:Sub TimPeriodic_Timer(If DuringNonPeriodic=True Then Exit Sub /非周期命令數(shù)據(jù)傳送未結束退出過程DuringPeriodic=Tr
16、ue /周期命令準許發(fā)送Call Send Date (Periodic_COMMAND /發(fā)送周期性命令MSComm1.Rthreshold=R_PERIOPIE_BYTE /接收字節(jié)后引發(fā)OnCommgk 事件 End Sub5.3 非周期命令的發(fā)送Sub CmdNomPeriodic_click(CmdPressed=true/允許發(fā)送End SubSub TimNoPeriodic_Timer(/發(fā)送周期性命令If DuringPeriodic=True or CmdPressed=False Then Exit Sub/周期性命令傳送未結束或本次傳送未被允許時,退出本過程CmdPre
17、ssed=false/發(fā)送命令按鈕恢復禁止 Call SendDate(NoPeriodic_COMMAND /發(fā)送命令 MSComm1.Rthreshold=R_NONPERIODIC_BYTE / 接 收 字 節(jié) 后 引 發(fā) Oncomm 事件 5.4 數(shù)據(jù)的接收和處理: 流量計積算儀表回傳數(shù)據(jù)時即可在主機上引發(fā) OnComm(事件,在此事件處理函數(shù)中, 首先判斷接收數(shù)據(jù)的完整性,然后將數(shù)據(jù)一次全部讀到所定義的變量參數(shù)中,根據(jù)流量計通 訊協(xié)議中定義的內容,分別取出各個字節(jié),解析出意義,在屏幕上顯示,同時利用 OFFICE 自帶的 Access 數(shù)據(jù)庫,在 VB 監(jiān)控程序中加入 DATA 控
18、件,將數(shù)據(jù)存入數(shù)據(jù)庫中,使用 VB 的 報表功能即可產(chǎn)生日、月、年報表,同時可以通過編程將數(shù)據(jù)發(fā)往企業(yè)內部主數(shù)據(jù)庫,實現(xiàn) 能源計量數(shù)據(jù)的自動上報。 六、結語: 本文利用 VB6.0 下的 ActiveX 控件實現(xiàn)了在 Windows9X 環(huán)境下, 單臺 PC 與多臺流量計 的通訊監(jiān)控。本系統(tǒng)在湘鋼煤氣調試系統(tǒng)中成功使用,實現(xiàn)了分散計量點數(shù)據(jù)的自動采集、 匯總與上報,及時反應出生產(chǎn)中能源計量數(shù)據(jù),為生產(chǎn)的成本控制起到了積極作用,整個系 統(tǒng)結構簡單,無需購置價格昂貴的組態(tài)軟件,方便、靈活,具有較好的實際價值和使用性。 參考文獻: 1、 范逸文、 陳立元 Visual Basic 與 RS-232 串行通信控制M, 清華大學出版社, 2002 年。 2、王仲文等釋,精通串行通信M,北京電子工業(yè)出版社,1995 年。 3、 (美)Steven Holzner.Visual Basic 6.0 技術內幕,機械工業(yè)出版社M,1999。 4、TLXZ 系列流量計說明書,2002 年 技術設備部錄入:何雄 責任編輯:何雄 上一個技術設備部: 泵用機械密封的維修 下一個技術設備部: 我國將重點推進十項節(jié)能工程 【發(fā)表評論】 【加入收藏】 【告訴好友】 【打印此文】 【關閉窗口】 最新熱點 最新推薦 08 年度能源統(tǒng)計月報(下載 設
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 服裝銷售財務制度
- 法人股東財務制度
- 教育輔導機構財務制度
- 分層產(chǎn)權登記制度
- 內部資料編審制度
- 養(yǎng)老院老人緊急聯(lián)絡通訊制度
- 養(yǎng)老院老人安全教育培訓制度
- 泉眼加固施工方案(3篇)
- 托管積分活動方案策劃(3篇)
- 生產(chǎn)企業(yè)員工安全管理制度(3篇)
- 項目二 模塊四 波音737-800飛機乘務員控制面板及娛樂系統(tǒng)的操作方法課件講解
- 2022年新疆維吾爾自治區(qū)新疆生產(chǎn)建設兵團中考數(shù)學試題(無答案)
- 游戲你來比劃我來猜的PPT
- 福建省福州市2023-2024學年高一上學期期末考試物理試卷2
- 鋼結構生產(chǎn)工藝流程
- 譯林版英語六年級上冊第八單元ChineseNewYear課件
- 2022-2023學年四川省宜賓市高一(下)期末數(shù)學試卷(含解析)
- 教你填《廣東省普通高中學生檔案》精編版
- 大學生兼職家教個人簡歷
- 轉動極板技術簡介
- 《人類行為與社會環(huán)境》課件
評論
0/150
提交評論