VB MSCOMM與PLC通訊
發布時間:2019-08-01 10:38:59來源:
在啟動過程中對串口和輸入輸出緩沖區初始化
comm1.Settings = "1200,n,8,1" '設定波特率1200bps,無校驗,8位數據位,1位停止位
comm1.CommPort = 1 '串口1
comm1.InputLen = 1 '一次從輸入緩沖區中讀取一個字符
comm1.InBufferSize = 512 '定義輸入緩沖區為512字節(bytes)
comm1.InBufferCount = 0 '清空輸入緩沖區
comm1.OutBufferCount = 0 '清空輸出緩沖區
comm1.PortOpen = True '啟動串口
上位機向下位機發送的命令有校時命令、請求內存命令、發送數據命令、快采命令和慢采命令等。發送命令有兩種發送方式,即手動方式和自動方式,自動方式是由定時器來完成的。
下面是發送數傳命令的子過程,啟動該過程由一個定時器控制:
Sub sample_data ()
comm1.RTSEnable = True 將上位機置高,
Call time_delay 適當延時
comm1.Output = "*關機" + Chr$(13) 發送命令
Do
該循環用來檢測命令是否全部發送完畢
Loop Until comm1.OutBufferCount = 0
Call time_delay
適當延時
comm1.RTSEnable = False 將上位機置低,改為接受狀態
comm1.InBufferCount = 0 清空接收緩沖區
comm1.RThreshold = 1 設定RThreshold = 1,等待出發OnComm事件
End Sub