熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 基于VB6.0的工控機與智能流量積算儀的串口通信

基于VB6.0的工控機與智能流量積算儀的串口通信

時間:2008-03-26 14:28:00來源:wangtao

導語:?以VB6.0為軟件開發平臺,在分析工控機與D08-8CZM智能流量積算儀通信原理的基礎上,利用MSComm 控件和MODBUS協議,實現了上位機與該智能流量積算儀的串口通信功能

1、引言

本文主要從應用的角度利用VB6.0的MSComm 控件MODBUS協議,成功實現了某流量控制系統中工控機與帶RS-232輸出接口的智能數字流量積算儀之間的串口通信功能。D08-8CZM數字顯示表應用于底吹氬流量控制系統中流量的顯示,工控機通過讀取其顯示值作為反饋信號,從而實現流量的閉環控制。

2、D08-8CZM型智能數字流量顯示積算儀與串口通信

2.1 硬件構成

D07-12A型質量流量傳感器采用毛細管傳熱溫差量熱法原理測量氣體的質量流量(無需溫度壓力補償)。將傳感器加熱電橋測得的流量信號送入放大器放大,放大后的流量檢測電壓與設定電壓進行比較,再將差值信號放大后去控制調節閥門,閉環控制流過通道的流量使之與設定的流量相等。當本流量積算儀與MFC(質量流量計)配套使用時,只需用電纜通過D型插頭將流量積算儀與MFC連接起來即可。然后采用一臺上位機與一臺D08-8CZM流量積算儀進行通信的方式,使用RS232通訊方式:將2引腳(TXD)與上位機串口的RXD(工控機串口的2引腳)相連;3引腳(RXD)與上位機串口的TXD(工控機串口的3引腳)相連;5引腳(SG)與上位機串口的SG(工控機串口的5引腳)相連。

2.2 通訊原理

工控機作為上位機與從機(數字流量積算儀)采用主從應答方式進行通信,一個網絡中只有一個主機(上位機,節點地址為0),主機通過站號(數字流量積算儀的唯一地址)區分不同的從機。上位機始終處于主動狀態,根據程序運行的需要向(通信端口)數字流量積算儀發出讀寫等命令;從機處于被動狀態,接收并響應上位機的命令。需要讀采樣數據時,上位機通過通信口向指定地址的數字流量積算儀發出讀數據命令,數字流量積算儀響應并將數據準備好,按統一的數據通信幀格式編成響應字符串,主機再次讀通信口接收緩沖區即可讀到所需的數據。向數字流量積算儀寫數據時,上位機向指定數字流量積算儀發出寫命令及參數數據,積算儀即可接受并返回響應情況。上位機通過RS-232通信進行運行狀態監控、參數設置、診斷等遠程測控功能,實現這些功能采用了不同的通信格式。其中MODBUS協議通訊原理圖如下:

MODBUS協議的詢問應答環路
圖1 MODBUS協議的詢問應答環路

2.3 通訊協議

本通信協議應用于D08-8CZM型流量積算儀與上位機的通信,數據以16進制格式傳輸,波特率:9600;數據位8位;停止位:1位;效驗位:無。本協議與MODBUS協議兼容,可以通過上位機顯示流量積算儀的瞬時流量、累積流量、滿量程、單位和閥狀態(包括閥控、關閉和清洗),而且可以通過上位機設定流量積算儀的瞬時流量、使流量積算儀的累積流量清零。因此在本協議用到了MODBUS協議的命令$03(Reading 1~9words)、命令$05(Force single coil)和命令$06(Writing 1 word)。

使用命令$03可以通過上位機讀流量積算儀的當前狀態,其通信協議的具體格式為:

上位機

積算儀:01 03 00 02 00 08 E5 CC

各字節含義:

01:MODBUS地址;

03:功能碼03(Reading 1~9words);

00 02:起始地址,00為高8位,02為低8位;

00 08:讀取的字數;

E5 CC:CRC效驗值,E5為CRC的低8位,CC為高8位。

上位機

積算儀:01 03 10 (1)~(16) CRCL CRCH

各字節含義:

01:MODBUS地址;

03:MODBUS命令號;

10:上傳的字節數;

(1)~(4):瞬時流量值;

“00~09”表示數字“0~9”,“10~19”表示“0.~9.”;

(5)~(10):流量累積值;

同上;

(11)~(14):滿量程;

同上;

(15):流量單位;

00表示SCCM和SCC,01表示SCCM和SL,11表示SLM和SL;

(16):閥狀態;

00表示關閉,80表示閥控,FF表示清洗;

CRCL:CRC的低八位;

CRCH:CRC的高8位。

3、用VB實現串行通訊

3.1 MSComm控件

VB的通信控件MSComm能夠提供串行通信的全部功能,程序編寫、調試簡單方便,開發速度快,該控件封裝了通信過程中的底層操作程序,用戶只需設置和監控控件的屬性和事件,就可以方便地實現異步串行通信。

采用MSComm控件接收數據,按照接收方式分兩種形式:事件驅動方式,定時查詢方式。本例為適應流量的實時控制采用定時驅動方式,若定時器計時到,通過串行通信口向指定地址流量積算儀發出讀寫等操作命令,等待時間到則檢查InBufferCount屬性值來判斷輸入緩沖區中是否接受到了相應數目的字符,從而進行讀取、判斷數據合法性和數據存儲、處理等操作。

3.2 通信功能的編程實現

程序框圖如下:

串口通信程序框圖
圖2 串口通信程序框圖

串口初始化:

MSComm1.CommPort = 1

MSComm1.SThreshold = 1

MSComm1.Settings = 9600,N,8,1

MSComm1.InBufferSize = 1024

MSComm1.OutBufferSize = 1024

MSComm1.InputMode = comInputModeBinary

打開串口并定時發送數據命令:

Private Sub Timer1_Timer()

Dim bytearray(0 To 7)

As Byte bytearray(0) = &H1

bytearray(1) = &H3

bytearray(2) = &H0

bytearray(3) = &H2

bytearray(4) = &H0

bytearray(5) = &H8

bytearray(6) = &HE5

bytearray(7) = &HCC

MSComm1.InputLen = 21

MSComm1.InBufferCount = 0

MSComm1.OutBufferCount = 0

MSComm1.RThreshold = 1

MSComm1.PortOpen = True

If MSComm1.PortOpen = True

Then MSComm1.Output = bytearray

End If End Sub

接受數據:

Private Sub MSComm1_OnComm()

Do DoEvents Loop Until MSComm1.InBufferCount = 21 Dim dataread()

As Byte

Dim tempdata As Variant

Dim str As String

If MSComm1.CommEvent = comEvReceive

Then tempdata = MSComm1.InputReDim dataread(UBound(tempdata))

As Byte For i = 0 To UBound(tempdata)

dataread(i) = tempdata(i)

End Sub

同理利用以上程序框圖和通信協議可以完成下圖的所有功能:

基于VB的D08-8CZM型流量積算儀
圖3 基于VB的D08-8CZM型流量積算儀

4、結束語

利用VB6.0的MSComm 控件和MODBUS協議,實現了工控機與帶RS-232輸出接口的智能數字流量積算儀之間的串口通信功能,使其能夠實時的采集瞬時流量,并成功的應用于底吹氬流量閉環控制系統。這種通信方式靈活方便,結構簡單,可靠性高,完全達到了預期的要求,具有較好的實際價值和使用性。

標簽:

點贊

分享到:

上一篇:圖形LCD模塊的菜單方式人機交...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 武汉市| 磴口县| 松江区| 商丘市| 攀枝花市| 开鲁县| 长沙县| 昭苏县| 房山区| 洪洞县| 游戏| 松潘县| 信宜市| 公主岭市| 吴忠市| 静安区| 赤壁市| 湟源县| 昌黎县| 通道| 基隆市| 犍为县| 商南县| 丹江口市| 独山县| 鄂伦春自治旗| 金川县| 敖汉旗| 滕州市| 朝阳县| 华坪县| 海原县| 夏河县| 龙井市| 武宣县| 剑川县| 云龙县| 广德县| 和龙市| 巴里| 莱芜市|