我正试图通过rs232从PC注射泵。
我想向泵发送字符串"02DC;50803"
以建立通信,泵应回复"C"
。
我使用MSComm1.Output="02DC;50803"
发送命令,Text1.Text=Text1.Text+MSComm1.Input
用于接收。当MSComm1.Output
执行时,我能够看到终端设备上的LED闪烁,但没有MSComm1.input
的回复。
请帮助我解决这个问题,如果我将这些说明置于MSComm()
控制之下,它似乎已经死了。
答案 0 :(得分:0)
这里可能存在许多问题。
例如:
最后2个可能不太可能,泵可能会回复你发射的所有东西 - 我在这里所有的肯定都会回答。
真的需要更多信息来帮助你。
P.S。我的软件不支持您的泵;我不认识那些命令。
答案 1 :(得分:0)
从timb继续列表:
请发送您发送命令的函数/ sub的完整代码,并发布您阅读MSCOmm1.Input
的函数/ sub的完整代码。查看以下测试项目,其中我将“AT”命令发送到我的调制解调器,该调制解调器连接到commport 1并与我在波特率9600进行通信:
'1 form with:
' 1 textbox control : name=Text1
' 1 command button : name=Command1
' 1 MSComm control : name=MSComm1
Option Explicit
Private Sub Command1_Click()
MSComm1.Output = "at" & vbCrLf
End Sub
Private Sub Form_Load()
With MSComm1
If .PortOpen Then .PortOpen = False
.Settings = "9600,n,8,1"
.CommPort = 1
.RThreshold = 1 'read data per char
.SThreshold = 0 'send all data at once
.PortOpen = True
End With 'MSComm1
End Sub
Private Sub Form_Resize()
Dim sngWidth As Single
Dim sngCmdHeight As Single
Dim sngTxtHeight As Single
sngWidth = ScaleWidth
sngCmdHeight = 315
sngTxtHeight = ScaleHeight - sngCmdHeight
Text1.Move 0, 0, sngWidth, sngTxtHeight
Command1.Move 0, sngTxtHeight, sngWidth, sngCmdHeight
End Sub
Private Sub MSComm1_OnComm()
Dim strData As String
With MSComm1
Select Case .CommEvent
Case comEvReceive
strData = .Input
ShowData strData
End Select
End With 'MSComm1
End Sub
Private Sub ShowData(strData As String)
With Text1
.SelStart = Len(.Text)
.SelText = strData
End With 'Text1
End Sub
当我点击Command1时,它会发送“AT”& vbCrLf和调制解调器回复“OK”,显示在Text1。