登录
首页 PLC论坛 三菱Mitsubishi
回帖 发帖
正文

主题:PC与FX2-80MR,SC-09编程口,我的程序错 与我的通过测试程序

点击:3489 回复:12

请高手指点思路,我用的是FX2-80MR,SC-09数据线,编程口联结,想用电脑
做一个人机界面,即电脑与按钮双重控制。下面是我的程序,请高手指点,为什
么,命令报文发出就没有反应,求助呀
最后修改:2005-6-3 23:16:34
05-05-24 22:06
Private Sub Form_Load()
'********************************************************
'通过调试
'********************************************************
'设置电脑通信参数与打开串口
commli.CommPort = 1
commli.Settings = "9600,e,7,1"
commli.InBufferSize = 512
commli.OutBufferSize = 512
commli.InputLen = 0
commli.InputMode = comInputModeText
commli.Handshaking = comNone
commli.Handshaking = 0
commli.InputLen = 0
commli.PortOpen = True
      If commli.PortOpen = True Then
      Label6.Caption = "串口已打开"
      End If
 End Sub
Private Sub Cmdrun_Click(Index As Integer)
'*********************************************************
'通过调试
'********************************************************
'请求通信与确认
Dim InPackage As String
commli.OutBufferCount = 0
commli.InBufferCount = 0
commli.Output = Chr(&H5)
Do
DoEvents
Loop Until commli.InBufferCount = 1
'要加一个无通讯时,退出循环的内容,否则后的通讯失败就无从说起
InPackage = commli.Input
If InPackage = Chr(&H6) Then
MakeHandShaking = True
Else
MakeHandShaking = False
End If
If MakeHandShaking = True Then
Label7.Caption = "通讯正常"
Else: Label7.Caption = "通讯失败"
End If
Text1.Text = "测试正常"
End Sub
以上调试通过的部分。
05-05-24 22:08
以下是无法解决的问题,请高手指点
Private Sub Command2_Click()
''发送命令报文
''从PLC中读入从D123开始的4个字节的数据
''以下是参考《PC机与PLC串行通信的实现》一文
''(北京航空航天大学)  李  耿  宗光华
''为了调试方便加了一个文本框以确定程序运行到那一步。
Dim OutString As String
commli.OutBufferCount = 0
commli.InBufferCount = 0
OutStrin = Chr(&H2) + ″0″ + ″10F604″ + Chr(&H3) + ″74″
commli.Output = OutString
Text1.Text = OutString + "错误码状态1"
''读取应答报文
Dim InString As String
Do
DoEvents
''*********************************************************
程序执行到这就没有反应了,也就是命令报文发送出后就没有反应
了,PLC连“NAK (15H) 接受错误”的反应也没有。前面PLC
又给出了正确响应,请高手指点。下一步应该如何,给点思路,弄
了两个多星期,真的玩不下去了,我能想的都想了。求助!
''********************************************************
Loop Until commli.InBufferCount = 12
InString = commli.Input
Text1.Text = InString + "错误状态2"
End Sub
最后修改:2005-5-28 22:16:59
05-05-24 22:10
说说呀,说说呀,给点思路,我不知道下一步如何做了!
05-05-24 23:09
对面的高手看过来,看过来,不要对我不理不睬。不理不睬。
05-05-25 17:49
我真的很失望。为什么大家总是沉默不语,是我没表述清楚,还是,高手不愿出手,还是??????
05-05-25 18:00
几天了,站长也不能出来说句话吗?
05-05-26 18:13
OutStrin = Chr(&H2) + ″0″ + ″10F604″ + Chr(&H3) + ″74″
commli.Output = OutString
05-05-27 12:43
nyfuj
请问楼主有没有FX2-80MR的编程手册呀,我现在有几台这种旧了PLC想把它用上。可是没有编程手册,能不能传给我一份呀,谢谢了 , 还有有没FX-20DU的资料啊?
f_h_y@126.com
QQ356932348
最后修改:2005-5-27 15:55:07
05-05-27 15:52

引用 吴辉 在 2005-5-27 12:43:00 发言【内容省略】

万分感谢,万分感谢!
 这个低级错误实不该犯。都是复制惹的祸。总之,这个错误不可原谅。
 研究继续中。
 有结果,一定连梯形图等一道同大家共享。
为了记住这个错误,原贴不改
05-05-27 18:22

上一页下一页

工控新闻

更多新闻资讯