手机国产乱子伦精品视频_国产黄在线观看免费观看不卡_www.亚洲视频.com_少妇BBW搡BBBB搡BBBB_久久白浆_欧美顶级大胆免费视频

行業動態

當前位置:首頁>>新聞中心>>行業動態 發布時間:2017-07-27 06:36:09

基于串行通信的電子秤實時數據采集技術研究

時間:2017-07-27 06:36:09 來源:本站 點擊數:703

在計算機與外部設備通信的過程中,計算機通過串行接口實時采集外部設備發送來的數據 是非常重要的通信方式之一,本文以計算機通過串行接口實時采集電子秤的數據為例,詳細論述了計算機串行通信的基本原理、電子秤的通信協議以及電子秤數據解碼,重點論述了利用串行口控件 MSCOM實現實時采集電子秤數據的通用方法。

1. 

隨著計算機的普及與外圍設備技術的發展,計算機與外圍設備之間的通信顯得越來越重要,串行口通 信是目前計算機與外圍設備之間的重要的通信方式之一。由于串行通信是在一根傳輸線上一位一位的傳送 數據,其優點是使用的傳輸線少,速度快,適合于遠距離傳輸。但對于那些與計算機相距不遠的人一機交 換設備和串行存儲的外部設備如終端、打印機、邏輯分析儀、磁盤等外部設備,采用串行方式交換數據也 很普遍。在計算機對外部設備的實時控制中,大多采用計算機的串行接口與外部設備進行通信,所以串行 接口是計算機應用系統中常用的接口,而相應的接口應用程序也成為近年來研究的熱點。本文旨在通過計 算機串行接口實時采集電子秤的數據的實現,論述串行口通訊的原理以及如何利用串行口通信控件 MSCOM開發計算機的基于串行口的應用軟件。

本文在Visual Basic 6.0開發環境中利用Microsoft Communication控件實現計算機與電子秤的串行通 信。成功地實現了計算機實時采集電子秤的數據,并通過對采集到的數據進行解碼處理并實時地將數據顯 示于計算機應用軟件上。

2.串行通訊的基本原理

2.1串行通信原理

串行通信是指外部設備和計算機之間使用一根數據信號線,數據在一根數據信號線上按位進行傳輸,每 一位數據都占據一個固定的時間長度。但是由于高速率的要求,處于計算機內部的CPU與串口之間的通訊 仍然采用并行的通訊方式,所以串行口的本質就是實現CPU與外圍數據設備的數據格式轉換(或者稱為串 并轉換器)和控制信息(起始位和終止位插入和刪除,即當數據從外圍設備輸入計算機時,數據格式由 (Bit)轉化為字節Byte)數據,并將相應的控制信息刪除;反之,當計算機發送數據到外圍設備時,串 口又將字節數據轉化為位串數據,并將控制信息插入到位串數據隊列。

為實現串行通信,計算機的串行口內部結構設計如圖1所示,它是個雙緩沖的串行接口,包括一個發 送緩沖區SBUF)和一個接收緩沖區(SBUF)可以同時進行數據的發送和接收,當計算機需要向外部設備發送數據時,CPU首先將數據送入SBUF中,然后串行口一位一位向外發送,當一個字節全部發送后,串 行口發出中斷請求,CPU向緩沖區SBUF發送下一個字節的數據;計算機接收數據時,串行口一位一位將從 外部接收的數據送入緩沖區,當一個字節的數據全部接收完以后,向CPU發出一個中斷請求,CPU將緩沖 區的數據取走,然后接收下一個字節數據。計算機的串行口與特定的定時器綁定在一起,通過該定時器可 以設置計算機串行口發送和接收的波特率,以適用不同的外部設備。

云網客1.jpg

串行口的典型代表是RS-232C及其兼容接口,有9針和25針兩類?,F在的臺式PC機一般有三個RS 232串行口 COM1、COM2COM3,通常COM1COM2都使用的是9D形連接器,而COM3 使用DB25針連接器。其中九針的串行口各針定義如表1所示.

云網客2.jpg

當計算機通過串行口與外部設備進行通信時,首先將計算機串行口 TXB引腳與外部設備串行口的RXB 引腳相連,然后將計算機的串行口RXD引腳與外部設備的串行口 TXD引腳相連[1]。計算機串行口與外部設備串行口連接方式如圖2所示。

云網客3.jpg

在本文中,以XK3100 B2+的電子秤為例,該電子秤帶有一個9針的RS-232C串行接 口,能與計算機進行串口數據通信,并實時傳送檢測數據到計算 機。連接時,將連接電子秤串行口和計算機串行口的兩個接頭按 23,32的方式連接,如需要做到實時接收數據,還要將電 子秤的發送模式調到數據穩定后自動發送狀態。

VB6.0環境下,米用Microsoft Communication控件來實現計算機與電子秤之間串行通信,進行串行 通信時只需了解以下四根線的代號及作用。以下四根線的高電平/低電平狀態分別對應MSComm控件的相 應屬性的True/False值。

DTR線:計算機中數據發往電子秤,表示計算機是否已準備好。

RTS線:計算機中數據發往電子秤,表示計算機是否允許電子秤發回數據。

DSR線:電子秤中數據發往計算機,表示電子秤是否已做好操作準備。

CTS線:電子秤中數據發往計算機,表示電子秤是否允許發送數據。

2.2通信方式

VB6.0環境下,計算機與外部設備有兩種通訊方式

1、事件驅動,它是一種功能強大的處理問題的方法。在實際工作中,往往要處理許多通信中的相關事件,例如:當線路數據到達計算機端或RTS信號線狀態發生變化時,要求我們使用相應的事件來跟蹤和處 理,該控件是使用OnComm事件來實現的,主要包括檢測、數據處理和通信錯誤等方面的問題,CommEvent 值返回最近的通信事件或錯誤的數字代碼。

2、查詢方式。由程序設計者負責讀取CommEvent的值并處理所發生的錯誤或事件。通常簡單的應用 程序設計可采用這種辦法。

2.3串行通信控件的屬性

利用串行通信控件設計通信程序,關鍵是準確理解和設置串行通信控件的屬性。在VB6.0AcdveX MSCOMM.VBX提供了 27個關于通信控件方面的屬性,下面就部分屬性分別予以描述:

CommPort屬性:設置并返回通訊端口號。

RThreshold 屬性:在 MSComm 控件設置 CommEvent 屬性為 comEvReceive 并產生 OnComm 之前,設置并返回的要接收的字符數。

CTSHolding屬性:確定是否可通過查詢Clear To Send (CTS)線的狀態發送數據。Clear To Send是調制解調裝置發送到相聯計算機的信號,指示傳輸可以進行。該屬性在設計時無效,在運行時為只讀。 SThreshold屬性:MSComm控件設置CommEvent屬性為ComEvSend并產生OnComm事件之前,設置并返回傳輸緩沖區中允許的最小字符數。

CDHolding屬性:通過查詢Carrier Detect (CD)線的狀態確定當前是否有傳輸。Carrier Detect是從調制解調裝置發送到相聯計算機的一個信號,指示調制解調裝置正在聯機。該屬性在設計時無效,在運行時 為只讀。

DSRHolding屬性:確定Data Set Ready (DSR)線的狀態。Data Set Ready信號由調制解調器發送到相連計算機,指示作好操作準備。該屬性在設計時無效,在運行時為只讀。

Settings屬性:設置并返回波特率、奇偶校驗、數據位、停止位參數。

InputLen屬性:設置并返回Input屬性從接收緩沖區讀取的字符數。

EOFEnable屬性:確定在輸入過程中MSComm控件是否尋找文件結尾EOF)字符。如果找到EOF 字符,將停止輸入并激活OnComm事件,此時CommEvent屬性設置為comEvEOF。

3.電子秤的串口通信協議

本文使用的電子秤是XK3100-B2+型,其串口數據通信協議規定

如下:

①數據傳輸速率可設置為9600bp4800bps2400bps;

②數據格式:電子秤采用通用的RS232 UART信號,每10BIT為一個數據幀,幀格式如表2所示.

云網客4.jpg

云網客5.jpg

4.電子秤實時數據釆集的實現

VB6.0環境下通過串行通訊實現電子秤實時數據采集。

4.1數據的采集

在設計好計算機與電子秤的物理連接后,接著設計應用軟件實時采集電子秤的稱重數據,在VB6.0 新建一個標準EXE”工程,然后選擇工程/部件菜單項,在部件對話框中選擇“Microsoft Comm Control 6.0”,即可添加MSComm控件;再在窗體中依次布置如表3所示的控件并設置其屬性。

為了只要打開此窗口即可接收數據,在Form窗口的程序代碼如下:

Private Sub Form_Load()

MSComm 1. CommPort = 1 ‘使用

串口 1

MSComm 1.PortOpen = True ‘打 開串口 1

MSComm 1 .RThreshold = 1 ‘接收 數據后產生OnComm事件 End Sub

在設置完上面的程序后就可以進行數 據采集,根據電子秤的協議規定電子秤一 次傳輸的是6幀數據,而在接收數據后是 采用的16進制將數據存放的,將它存放到字符串HData中,以便在下個步驟中對數 據進行處理并顯示于計算機的屏幕中。

云網客6.jpg

4.2數據解碼處理

根據電子秤發送的第二幀數據D3D4位的取值決定電子秤的稱重模式,其稱重模式分別是00 重模式;01計數模式;10百分比模式.根據第二幀數據的不同取值,分別對字符串進行處理,如表4 示。然后將第三幀(顯示數值的最低字節)、第四幀(顯示數值的中間字節)、第五幀(顯示數值的最高字節)解碼成十進制數;并根據第六幀數據的值確定本次稱重是以公斤00H)為單位還是磅01H) 單位。最后將解碼后的數據顯示于計算機屏幕上。數據解碼流程示意圖如圖3所示。

云網客7.jpg

當一次稱重過程結束,可以繼續下一次的稱重,在程序設計過程中必須用程序設置計算機接收的波特 率。以保證計算機的接收的波特率和電子秤發送波特率相一致,不然會造成數據的丟失。

5.結束語

本文主要論述了基于串行通信的電子秤實時數據采集原理和實現方法,重點探討了如何利用高級語言 通過串行接口控制外部設備以實時采集數據,并將采集到的數據解碼成用戶所需的數據。很好地解決了電 子秤數據的實時采集,該方法具有很好的實用性和通用性,不同的電子秤只需修改解碼參數就可以適用。

 


主站蜘蛛池模板: 国产亚洲成AⅤ人片在线观看不卡 | 成人午夜国产内射主播 | 国产精品99蜜臀久久不卡二区 | 欧美一区二区三区四区五区 | 久久精品视频观看 | 久久婷婷激情综合色综合俺也去 | 亚洲第一区中文字幕 | av在线一级 | 免费成人午夜视频 | 国产精品秘入口18禁麻豆免会员 | www.com黄色| 国产精品久久久久9999吃药 | JAPANESE极品丰满少妇 | 九色porny蝌蚪视频 | 亚洲色大18成网站WWW | 曰批全过程免费视频在线观看草莓 | 久久国产精品99国产精 | 白丝无内液液酱夹腿自慰 | 视频成人| 精品国产欧美另类一区 | 黄色毛片免费进入 | 亚洲欧美一区二区三区视频 | 日韩在线免费播放 | 亚洲一视频 | 19禁无遮挡啪啪无码网站性色 | 成人午夜亚洲 | 狠狠躁夜夜躁人人爽天天古典 | 成人一区二区在线播放 | 国产区在线免费观看 | 成年人免费看片网站 | 国产精品毛片大码女人 | a级国产毛片 | 欧美老熟妇喷水 | 人人看黄色 | hi6你好星期六免费观看 | 精品人妻无码一区二区三区蜜桃 | 91动漫网站 | 三及片免费 | 91短视频网址 | 99久e精品热线免费 日韩午夜免费 | 精品国产自在精品国产浪潮 |