您现在所在的是:

串口通信

回帖:2个,阅读:2523 [上一页] [1] [下一页]
931
lahque
文章数:7
年度积分:50
历史总积分:931
注册时间:2003/12/4
发站内信
发表于:2004/10/26 11:32:00
#0楼
下面是我试编的程序,我往DM0000中写入FFFF,然后将PLC的响应显示在Text1中。运行时,程序没有报告错误,但是在Text1中没有任何反应。请大家帮忙看看。谢谢

Private Sub Command1_Click()
Dim outdata, L, fcs1, i, FCS, instring, fcs2, fcs3 As String
 outdata = "@00WD0000FFFF"
 L = Len(outdata)
 fcs1 = 0
 For i = 1 To L
   fcs1 = fcs1 Xor Asc(Mid(outdata, i, 1))
 Next i
 FCS = Hex(fcs1)
 Text1.Text = FCS
 MSComm1.Output = outdata + "FCS " + "*" + Chr$(13)
 
 Do
    DoEvents
 Loop Until MSComm1.InBufferCount >= 10
 instring = MSComm1.Input
 Text2.Text = instring
 
 fcs2 = 0
 For i = 1 To Len(instring) - 4
 fcs2 = fcs2 Xor Asc(Mid(instring, i, 1))
 Next i
 fcs3 = Hex(fcs2)
 If fcs3 = Mid(instring, Len(instring) - 3, 2) Then
  Text3.Text = "right"
 Else
  Text3.Text = "wrong"
 End If
 
End Sub

Private Sub Form_Load()
 MSComm1.CommPort = 1
 MSComm1.Settings = "9600,e,7,2"
 MSComm1.InputLen = 0
 MSComm1.PortOpen = True
End Sub
9012
吴辉
文章数:2351
年度积分:50
历史总积分:9012
注册时间:2002/1/15
发站内信
发表于:2004/10/26 23:35:00
#1楼
找个串口调试软件发16进制
4030305453313233343537362A0D
看返回的是不是下面的东西!
[@00TS1234576*+Chr(13)]
要是的话,连路,格式就没有设置错。
看看你应该是fcs那错了,要是其他没有错的话!

931
lahque
文章数:7
年度积分:50
历史总积分:931
注册时间:2003/12/4
发站内信
发表于:2004/10/27 10:02:00
#2楼
请说得详细一些。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003