VB6.0与三菱PLC通信
1、DEVICEREAD(读出软设备状态值)计算机向PLC发送:始命令首地址位数终和校验STXCMDGROUPADDRESSBYTESETXSUM例子:从D123开始读取...
1、DEVICE READ(读出软设备状态值)
计算机向PLC发送:
始 命令 首地址 位数 终 和校验
STX CMD GROUP ADDRESS BYTES ETX SUM
例子:从D123开始读取4个字节数据
02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34h
地址算法:address=address*2+1000h
再转换成ASCII
31h,30h,46h,36h
PLC返回
STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM
以上是VB6.0读取三菱通信协议
Private Sub Command4_Click()
Dim jiankong As String '声明一个字符串变量jiankong
MSComm1.Output = Chr$(2) + "0" + "0105" + Chr$(3) + "00" '发送Y1到串口
t1 = Timer
Do: Loop While (Timer - t1 < 0.1)
jiankong = MSComm1.Input '读取串口返回,赋值给instring
If jiankong = PLC返回??????
Label1.Caption = "读取成功" '显示消息对话框:读取成功
End if
End Sub
以上不知道PLC返回Y1的值是什么,用返回的值来比较,让Label1.显示“读取成功”
请高手帮忙修改 展开
计算机向PLC发送:
始 命令 首地址 位数 终 和校验
STX CMD GROUP ADDRESS BYTES ETX SUM
例子:从D123开始读取4个字节数据
02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34h
地址算法:address=address*2+1000h
再转换成ASCII
31h,30h,46h,36h
PLC返回
STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM
以上是VB6.0读取三菱通信协议
Private Sub Command4_Click()
Dim jiankong As String '声明一个字符串变量jiankong
MSComm1.Output = Chr$(2) + "0" + "0105" + Chr$(3) + "00" '发送Y1到串口
t1 = Timer
Do: Loop While (Timer - t1 < 0.1)
jiankong = MSComm1.Input '读取串口返回,赋值给instring
If jiankong = PLC返回??????
Label1.Caption = "读取成功" '显示消息对话框:读取成功
End if
End Sub
以上不知道PLC返回Y1的值是什么,用返回的值来比较,让Label1.显示“读取成功”
请高手帮忙修改 展开
3个回答
展开全部
MSComm1.Output = Chr$(2) + "0" + "0105" + Chr$(3) + "00"
貌似这个0105是Y1复位/置位的地址
MSComm1.Output = Chr$(2) + "7" + "0105" + Chr$(3) + "00" 'Y1置位
貌似这个0105是Y1复位/置位的地址
MSComm1.Output = Chr$(2) + "7" + "0105" + Chr$(3) + "00" 'Y1置位
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-17
展开全部
这些只能通过调试来实现,记得网上直接可以下载这个程序啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-14
展开全部
找昆山中宇工控吧,他们有VB 和PLC通迅方面视频,一看就会了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询