|
发表于 2010-12-2 20:58:23
|
显示全部楼层
本帖最后由 zdingyun 于 2010-12-2 21:11 编辑
如果PLC返回的数据是诸如:"A0000,123",那完全可按文本方式接收,无须从字节转换为ASCII字符.
MSComm1.InputMode = comInputModeText
-
- Option Explicit
- Private Sub Form_Load()
- MSComm1.CommPort = 1
- MSComm1.Settings = "9600,n,8,1"
- MSComm1.RThreshold = 9
- MSComm1.InBufferSize = 512
- MSComm1.InputMode = comInputModeText
- MSComm1.InputLen = 0
- If MSComm1.PortOpen = False Then
- MSComm1.PortOpen = True
- End If
- Timer1.Interval = 1000
- Timer1.Enabled = True
- End Sub
- Private Sub MSComm1_OnComm()
- Dim strSj As String
- Select Case MSComm1.CommEvent
- Case comEvReceive
- If MSComm1.PortOpen = False Then
- MSComm1.PortOpen = True
- End If
- strSj = MSComm1.Input
- If Mid(strSj, 1, 1) = "A" And Len(strSj) = 9 Then
- Text1.Text = strSj
- Else
- Text1.Text = ""
- End If
- End Select
- End Sub
复制代码 |
|