找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
这个是按PPI协议做的
http://youhm.ucoz.com/S7-200_VB.rar
2 用VB的MSCOMM控件和S7-200 PLC做自由口通信这种方式
我举个简单的例子:
PLC程序:
LD SM0.1
MOVB 9, SMB30
MOVB 2, VB100
LD SM0.0
MOVB IB0, VB101
MOVB IB1, VB102
LD SM0.5
EU
XMT VB100, 0 每秒将IW0上传一次。
VB程序:
第一步:添加MSComm控件
在工具栏右键-部件-添加Microsoft Comm Control 6.0
然后双击MSComm
第二步:添加2个Text Box
Text Box用来显示PLC发给电脑的数据
Text Box1显示IB0
Text Box2显示IB1
第三步:写代码
Option Explicit
Dim p() As Byte
Private Sub Form_Load()
MSComm1.PortOpen = True
MSComm1.InputMode = 1
MSComm1.RThreshold = 2
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
p = MSComm1.Input
Text1 = p(0)
Text2 = p(1)
End Select
End Sub
这是最简单的通讯,如果PLC发送的数据很多,有起始字符结束字符,那就要在程序里再判断
如果VB在接收数据后,再发送数据给PLC,那还要做发送程序
如果VB做主,PLC做从,那程序又复杂一点。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!