下面給出在Win2000下利用VB6.0的MSComm控件開發計算機與壹智能采集模塊進行串行通信的程序實現。在工控領域內,智能采集模塊有著相當重要的地位,它可以通過串口通訊協議(RS232、RS485等)或其他通訊協議與PC機相連,並與外界現場信號直接相連或與由傳感器轉換過的外界信號相連,由PC機中的程序控制並實現采集現場的模擬信號,並處理采集到的現場信號並輸出模擬控制信號、開關量輸入輸出等功能。因此,智能采集模塊在工業控制領域內有著極其廣泛的應用。本例子中的智能采集模塊與計算機進行通信時,采用壹位開始位、壹位停止位、7位數據位、偶校驗方式,波特率為9600bps.
(1)在窗體中添加名為MyComm的MSComm控件,並設置空間的屬性,如下:
.CommPort=2 ‘使用COM2
.Setting=”9600,e,7,1” ‘波特率9600,偶校驗,7個數據位,1個停止位
.InBufferSize=40 ‘設置MyComm接收緩沖區為40個字節
.OutBufferSize=2 ‘設置MyComm發送緩沖區為2個字節
.InputMode=comInputModeBinary
‘設置接收數據模式為二進制模式
.InputLen=1 ‘設置壹次從接收緩沖區讀取字節數為1
.Sthreshold=1 ‘設置壹次從發送緩沖區讀取字節數為1
.PortOpen=True ‘打開通信口
‘其他屬性設置省略
(2)下面是響應Mycomm_OnComm事件的處理程序,對數據庫采集的處理程序采用MSComm事件驅動方式。
Private Sub MyComm_OnComm()
With MyComm
Select case .CommEvent
Case .comEvReceive
‘ 接收數據
‘ 對數據進行處理
case .comEVSend
‘發送數據
case .comEventRxParity
‘對奇偶校驗錯誤進行處理
end select
end with
end sub