谘詢電話

ENGLISH0755-88840386
新聞中心

谘詢電話

0755-88840386
您的位置:首頁 > K8凯发大酒店天生赢家專題 > 專業技術專題 > 工業自動化稱重儀表>詳情頁

雙架皮帶秤數據采集係統的設計與實現

發布時間:2020-12-15 16:24:10 |來源:網絡轉載

1.前言
VB作為Windows環境下的可視化編程語言開發係統。不但提供了良好的界麵設計能力,而且在微機串口通信方麵也有很強的功能。采用VB開發WinodW8環境下的數據采集和工業控製應用軟件,其界麵設計簡潔。編程工作量較小,使用十分方便。
下麵給出實時數據采集應用實例。通過對“秦港二公司雙架皮帶秤"雙通道實時檢測儀表數據通訊係統進行分析,解決了數據實時處理和數據解壓問題,給出了一種開發微機通過串口對工業儀表進行實時數據采集程序的新方法。
2係統的總體結構圖
係統的總體結構如圖1所示.

皮帶秤係統的總體結構圖

3 皮帶秤儀表通訊協議及數據格式
該實時檢測儀表接兩路高精度壓力傳感器,用於測量前後兩秤的置量.該儀表帶有一個9針的RS一232C串口,能與微機進行串口數據通訊,實時傳送檢測數據,通過微機軟件處理可實現工業實時監控.
該儀表的串口數據通訊協議是·數據傳輸速率為9600bps,1位開始位,8位數據位·1位停止位,無奇偶校驗位.儀表數據傳輸每幀數據的格式如下。
開始標誌l位,為二進製常數d7HI秤號2位,16進製,表示不同的秤l以後的數據為10進製包括總累計量/單次累計量8位t前通道總累計量/前通道單次累計量8位,盾通道總累計量/後通道單次累計量8位-K8凯发登录入口5位I故障號1位,工作狀態l位I運行狀態1位,自檢誤差l位。
4主要技術及算法
(1)用MSComm控件實現微機串口的數據通MSComm控件是Microsoft提供的擴展控件,用於支持VB程序對串口的訪問.該控製“隱藏”了大部分串口通訊的底層運行過程和許多煩瑣的處理過程,同時支持查詢方法和事件驅動通訊的機製。事件驅動通訊是交互方式處理串口事務的一種非常有效的方法,特別適合Windows程序的編寫.在串口通訊過程中,當發送數據、收秤秤田l係統總體結構圈到數據或產生傳輸錯誤時.觸發MSComm控件的OnComm事件。然後可以通過判斷Corn.mEvent屬性值獲得事件類型,再根據事件類型進行相應數據處理。因此用其實現微機串口的數據通訊可以用較少的程序代碼輕鬆實現串口的訪問和數據通訊。
(2)采用MSComm事件驅動方式采集數據
MSComm串口控件數據接收方式有以下兩種t
①在OnComm事件中接收數據.這種方式能充分MSComm控件的特性.OnComm事件還可以檢查和處理通訊錯誤·可以通過檢查CommEvent屬性的值來查詢事件和錯誤.對於不定長數據以及對數據進行處理比較複雜的情況,此法不是很方便.
②定時器輪循法采集數據。對於數據包方式收發數據以及不需實時響應情況,用輪循法更好些.實際上輪循法最大的好處在於集中處理數據而且不太占用CPU。輪循法要注意定時采集的時間片段大小I這裏用二進製收發模式I使屬性RThreshold、SThreahold為0,屏蔽On.Comm事件。
③本實時數據采集處理程序采用MSComm事件驅動方式。MSComm--OnComm的事件處理程序隻處理comEvReceive事件。
(3)接收數據模式設置設置
MSComm控件的接收數據模式采用=進製方式.即InputMode=comlnput ModeBinary,但用Input屬性讀取數據時,不能直接賦值給Byte類型變量,隻能通過先賦值給一個Variant類型變量,返回一個二進製數據的數組,再轉換保存到Byte類型數變量中。
(4)添加循環等待處理
儀表通訊傳輸速率為9600bps。則最快速度為1.0417ms發送一個字節·儀表每秒發送250個字節.平均4.0ms發送一個字節。在查詢方式或連續讀取串口數據時要在程序中添加循環等待程序,等待接收緩衝區收到足夠的宇節才能進行數據處理.
(5)數據實時性處理
儀表定時發送字節數據,微機隻有收到1完整幀數據後,才能進行數據處理.如果微機在下l幀數據接收前能將數據計算處理完畢,則接收緩衝區內隻會保存有一幀效據,不會存有兩幀以上數據,接收緩衝區的大小不會影響實時監測效果(接收緩衝區大於等於1完整幀長度),這時完全可以實現實時監測或實時控製·如果微機在規定的時間內不能將數據計算處理完畢,接收緩衝區設置的又很大,在數據計算處理完畢前,接收緩衝區內就會保存有兩幀以上數據,254而且一次工作時間越長,綴衝區內滯留數據幀就越多.數據采集和數據處理之間產生逐漸增大的額外時間差。當接收緩衝區充滿後,時間差不再增大,固定在某一值,部分數據因不能及時采集到接收緩衝區中,數據產生丟失現象,真實工作情況就會和微機處理結果產生較大的時間差,對實時監測和實時控製很不利,這種情況下接收緩衝區的大小就會影響實時監測效果,所以接收緩衝區設置不能過大,讓部分數據丟失,以保證數據處理的實時性。

 

 

本文源於網絡轉載,如有侵權,請聯係刪除

分享到
網站地圖凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8