PLC和VB通讯

来源:百度知道 编辑:UC知道 时间:2024/07/01 06:05:46
VB编程好后发送给FX2NPLC,收不到反馈
大概编程如下

MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,7,1"
MSComm1.PortOpen = True

然后我发送MSCOMM1.OUTPUT=CHA(5)&"01FFBRM00011047"
我只想读取M0001后的10个数据回来
但是怎么我MSCOMM1.INPUT收不到任何数据?

当然最好哪个高手给个完整的代码让小弟学习学习~~
Private Sub Command1_Click()
MSComm1.Output = Chr(5) & "01FFBRM00011047"
Do
DoEvents
Loop Until MSComm1.OutBufferCount = 0

End Sub

Private Sub Command2_Click()
MSComm1.InputMode = comInputModeBinary
Text1.Text = MSComm1.Input

End Sub

Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.PortOpen = True
MSComm1.Settings = "9600,n,7,1"

End Sub
编的比较简单,我只想试试看,但是还是收不到,那位高手帮我分析分析原因

以字节形式发送

1:
MSComm1.InputMode = comInputModeBinary
2:
dim js() as byte
js=mscomm1.input

Option Explicit

Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,7,1"
MSComm1.InputMode = comInputModeBinary
MSComm1.RThreshold = 1
MSComm1.PortOpen = True
End Sub

Private Sub MSComm1_OnComm()
Dim arr() As Byte
Dim i As Integer
Select Case MSComm1.CommEvent
Case 2
arr() = MSComm1.Input
For i = 0 To UBound(arr)
If Len(Hex(arr(i))) = 1 Then
Text1 = Text1 & "0" & Hex(arr(i))
Else
Text1 = Text1 & Hex(arr(i))
End If
Next
End Select
End Sub
Private Sub Command1_Click()
MSComm1.Output = Chr(5) & "01FFBRM00011047"
End Sub