基于VB6.0的工控機與智能流量積算儀的串口通信
3.2 通信功能的編程實現
本文引用地址:http://cafeforensic.com/article/84182.htm程序框圖如下:
圖2 串口通信程序框圖
串口初始化:MSComm1.CommPort = 1
MSComm1.SThreshold = 1
MSComm1.Settings = 9600,N,8,1
MSComm1.InBufferSize = 1024
MSComm1.OutBufferSize = 1024
MSComm1.InputMode = comInputModeBinary
打開串口并定時發(fā)送數據命令: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.Input
ReDim dataread(UBound(tempdata)) As Byte
For i = 0 To UBound(tempdata)
dataread(i) = tempdata(i)
End Sub
同理利用以上程序框圖和通信協議可以完成下圖的所有功能:
圖3 基于VB的D08-8CZM型流量積算儀
4、結束語
利用VB6.0的MSComm 控件和MODBUS協議,實現了工控機與帶RS-232輸出接口的智能數字流量積算儀之間的串口通信功能,使其能夠實時的采集瞬時流量,并成功的應用于底吹氬流量閉環(huán)控制系統(tǒng)。這種通信方式靈活方便,結構簡單,可靠性高,完全達到了預期的要求,具有較好的實際價值和使用性。
評論