| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 610 人关注过本帖
标题: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
快速回复:PLC通信问题
数据加载中...
 
   



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

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