新聞中心News
地磅稱重儀表遠程數(shù)據(jù)采集與監(jiān)控的開發(fā)應(yīng)用
利用ActiveX控件的MSComm通信控件,實現(xiàn)了 Windows下單臺PC機與多臺計量儀表的串行通訊,達到了 對分散設(shè)備的集中控制和計量數(shù)據(jù)的自動采集、自動匯總以及自動打印功能。
在工業(yè)生產(chǎn)中,能源、物資的計量設(shè)備分布在現(xiàn) 場的各個區(qū)域,給設(shè)備的監(jiān)控和數(shù)據(jù)的統(tǒng)計帶來諸多 不便。隨著智能儀表技術(shù)的不斷發(fā)展,其通訊技術(shù)也 在不斷加強,當今的測量儀表大多帶有RS - 485或 RS- 232通訊接口,用現(xiàn)場總線方式可以實現(xiàn)多臺測 量儀表的集中監(jiān)控與數(shù)據(jù)采集,實現(xiàn)了儀表直接接入 PC機,利用在現(xiàn)場安裝大屏幕實時顯示計量儀表數(shù) 據(jù),使現(xiàn)場配料人員做到心中有數(shù),利用“遠程傳 輸”實現(xiàn)了 Windows環(huán)境下一臺PC機與多臺測量儀 表的串行通信功能,并且對儀表數(shù)據(jù)實現(xiàn)自動計量與 自動匯總。
1.系統(tǒng)的硬件設(shè)計
根據(jù)RS - 485電氣規(guī)定,在兩線制傳輸方式下, RS - 485驅(qū)動器可帶32個接收器,實現(xiàn)多半點雙工 通訊。系統(tǒng)方框圖如圖1所示。
圖1中PC機通過RS - 232接口,經(jīng)RS232 —RS485模塊與多臺流量計儀表相連接,一條總線上最 多可接32臺,每臺儀表被賦予各自的通訊地址碼用 于識別身份,這樣上位PC即能通過RS ?85總線對 掛在總線上的每臺儀表進行通訊,實現(xiàn)對計量儀表的 遠程數(shù)據(jù)采集與監(jiān)控。
2.計量儀表及通訊功能
通常采用MODBUS通訊協(xié)議,采用RS - 485 半雙工的方式,積算儀表作為從機,上位PC機作 為主機,控制和監(jiān)視計量儀表的運行,通訊波特 率大多為9 600bps ,通訊格式為:1位起始位,8 位數(shù)據(jù)位,1位奇偶校驗位,1位停止位,每個從 站被賦予唯一的本機地址,采用主機輪詢、從機 應(yīng)答的通訊方式。主機通過發(fā)送命令幀啟動一次 通訊,從機接收到數(shù)據(jù)后,判斷呼叫地址是否和 本機地址相同,若不同,則不予理睬,若相同則 根據(jù)命令幀中的特征字(命令字),發(fā)送主機要求 的數(shù)據(jù)幀[1]。
3.Windows 下的 ActiveX控件
在Windows環(huán)境下,出于對系統(tǒng)的安全考慮, 操作系統(tǒng)完全接管了各種硬件資源,不允許用戶直接 對包括串口在內(nèi)的硬件中斷進行管理,以往人們只能 通過繁瑣的API函數(shù)或Visual C++標準通訊函數(shù)來 控制各種硬件,現(xiàn)在VB6. 0提供了一個ActiveX控件 Microsoft Communication Cbntrol, Version 6. 0 ,稱為MSComm控件,利用它可以方便地進行計算機 串口的通訊管理。
4.用程序?qū)崿F(xiàn)對儀表的串行通訊控制
在Windows VB6. 0編程環(huán)境下,新建工程
引用MSCbmm通訊控件,在窗體中至少添加以下幾 個基本控件:①1個MSCOmm控件,控制名為 MSCOmml ,用于軟件對串口的訪問;②兩個定時器 控件,名為 TimPeriodic 和 TimNonPeriodic , Tim-Pe-riodic 用于使PC機定時向各儀表發(fā)送周期性命令, 使其定時回傳實時數(shù)據(jù);TimNonPeriodic用于控制兩 次非周期性指令傳送之間的時間間隔[2];③1個非周 期性命令發(fā)送按鈕CmdNonPeriodic ,用于非周期性 指令的傳送啟動[2];④若干個用于顯示儀表參數(shù)的 文本框和設(shè)置儀表參數(shù)的對話框。
對于監(jiān)控軟件的核心是如何讀取和處理現(xiàn)場儀表 的實時數(shù)據(jù),編程時應(yīng)注意以下幾個問題:①主機采 用輪詢方式訪問從機,從機應(yīng)答到發(fā)送完數(shù)據(jù)有一定 的時間間隔,一般設(shè)定為2?3s;②由于采用一個串 口和半雙工通訊方式,一方發(fā)送數(shù)據(jù)時另一方必須等 待接收,因此在發(fā)送非周期性命令時,必須停止輪 詢,否則會發(fā)生數(shù)據(jù)包碰撞,使通訊失敗。
數(shù)據(jù)的接收和處理:計量儀表回傳數(shù)據(jù)時即 可在主機上引發(fā)OnComm ()事件,在此事件處理 函數(shù)中,首先判斷接收數(shù)據(jù)的完整性,然后將數(shù)據(jù)一 次全部讀到所定義的變量參數(shù)中,根據(jù)儀表通訊協(xié)議 中定義的內(nèi)容,分別取出各個字節(jié),解析出意義,在 屏幕上顯示,利用在VB監(jiān)控程序中加入DATA控 件,將數(shù)據(jù)存入數(shù)據(jù)庫中,使用VB的報表功能即可 產(chǎn)生日報、月報及年報。
5.結(jié)束語
本文利用Windows下的ActiveX控件實現(xiàn)了在
Windows環(huán)境下單臺PC與多臺計量儀表的遠程通訊 監(jiān)控。本系統(tǒng)在萊鋼特鋼有限公司雙平臺秤中成功使 用,實現(xiàn)了分散計量點數(shù)據(jù)的自動采集、自動匯總, 及時反映出生產(chǎn)中計量數(shù)據(jù),為生產(chǎn)的成本控制起到 了積極作用,整個系統(tǒng)結(jié)構(gòu)簡單、方便、靈活,具有 較好的實際價值和使用性。