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