标题:PLC通信问题
只看楼主
wanwei903
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-27
 问题点数:0 回复次数:0 
PLC通信问题

请教各位高手,我用VB做FX1S的PLC与PC的通信,可是不知道为什么,连起来试的时候没有反应,把程序贴上来哪位懂得给看看是哪里出问题了?非常感谢各位,谢谢了!

下面的程序实现的功能是,PC向PLC发送数据,PLC再反馈回给PC并显示出来!可是运行到 DoEvents
就没有反应了,单步执行发现out中是空的,也就是说PLC没有回应,不知道是什么原因?拜托各位高手了!

Private Sub Command3_Click()
If Not frm1.MSComm1.PortOpen Then
frm1.MSComm1.PortOpen = True
End If

Dim rd As String
If Text3.Text <> "" And Text4.Text <> "" Then
rd = "00FFTT" + "0" + Trim(Text3.Text) + Trim(Text4.Text)
frm1.Text5.Text = Comm_Write(rd)
End If
End Sub

Function Comm_Write(rd As String) As String
Dim out As String, data As String, a As Integer, b As String

out = Chr(&H5) + rd + GetSumChk(rd)
frm1.MSComm1.InputLen = 0
frm1.MSComm1.InBufferCount = 0
frm1.MSComm1.Output = out

Do
DoEvents
Loop Until frm1.MSComm1.InBufferCount >= 7 + Val(Trim(Text3.Text))

data = frm1.MSComm1.Input

a = Val(Asc(Left(data, 1)))
b = GetSumChk(Mid(data, 2, Len(data) - 3))
If a = 3 And b = Mid(data, Len(data) - 1, 2) Then
Comm_Write = Mid(data, 8, Val(Trim(Text3.Text)))
End If

End Function

搜索更多相关主题的帖子: PLC 通信 
2007-06-10 20:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-146404-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.167972 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved