《用_VB_实现施耐德小型PLC_Twido_的Modbus_TCP-IP_的通讯实例精讲》.docx

《用_VB_实现施耐德小型PLC_Twido_的Modbus_TCP-IP_的通讯实例精讲》.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《用_VB_实现施耐德小型PLC_Twido_的Modbus_TCP-IP_的通讯实例精讲》.docx

用 VB 实现Twido 的Modbus TCP/IP 的通讯实例精讲!! 2009-12-25 11:02 ?? Twido系列PLC(twido为施耐德小型PLC,与西门子200PLC极为相似)支持TCP Modbus的通讯,尤其是TWDLCAE40DRF提供了内置的以太网接口,能实现 ?? 下图所示的结构;通过HUB,不仅能对Twido进行编程,也能对Twido PLC中的数据进行读写。 对于上位机,我们利用VB 的WinSock 套接字控件能很容易的进行编程。 新建 1 个套接字对象,设定其属性如右,注意其远程主机的IP 就是以上TWDLCAE40DRF 的IP 地址: 1. 建立网络连接 Private Sub Command2_Click() On Error Resume Next Winsock1.Close Winsock1.Connect , 502 If Err Then MsgBox 网络连接时发生错误: Err.Description, vbCritical, 网络连接 Err.Clear End If End Sub 2. 读多个字的命令(本例表示从PLC读%MW3和%MW4两个字): Private Sub cmdSend_Click() On Error GoTo ErrProc Dim SendStr(11) As Byte Dim RcvStr() As Byte SendStr(0) = 0 交换识别号高字节,通常为0 SendStr(1) = 0 交换识别号低字节,通常为0 SendStr(2) = 0 协议识别号高字节,为0 SendStr(3) = 0 协议识别号低字节,为0 SendStr(4) = 0 字节长度高字节 SendStr(5) = 6 以下字节长度低字节 SendStr(6) = 255 单元识别号,确省为255 SendStr(7) = H3 读多个字命令代码 SendStr(8) = 0 读数据的起始地址高字节 SendStr(9) = 3 读数据的起始地址低字节 SendStr(10) = 0 数据长度高字节 SendStr(11) = 2 数据长度低字节 Dim aStr As String Dim i As Integer For i = 0 To 11 aStr = aStr Chr(SendStr(i)) Next Winsock1.SendData aStr Exit Sub ErrProc: MsgBox 传输数据失败, vbCritical, 网络传输 End Sub 3. 写多个字的命令(本例表示写%MW3、%MW4、%MW5三个字到PLC 中): Private Sub cmdwrite_Click() On Error GoTo ErrProc Dim SendStr(18) As Byte Dim RcvStr() As Byte SendStr(0) = 0 交换识别号高字节,通常为0 SendStr(1) = 0 交换识别号低字节,通常为0 SendStr(2) = 0 协议识别号高字节,为0 SendStr(3) = 0 协议识别号低字节,为0 SendStr(4) = 0 字节长度高字节 SendStr(5) = 13 以下字节长度低字节 SendStr(6) = 255 单元识别号,确省为255 SendStr(7) = H10 写多个字命令代码 SendStr(8) = 0 写数据的起始地址高字节 SendStr(9) = 3 写数据的起始地址低字节 SendStr(10) = 0 数据长度字数的高字节 SendStr(11) = 3 数据长度字数的低字节 SendStr(12) = 6 数据长度的字节数 SendStr(13) = HA 写的第1 个字的高字节 SendStr(14) = HB 写的第1 个字的低字节 SendStr(15) = HC 写的第2 个字的高字节 SendStr(16) = HD 写的第2 个字的低字节 SendStr(17) = HE 写的第3 个字的高字节 SendStr(18) = HF 写的第3 个字的低字节 Dim aStr As String Dim i As Integer For i = 0 To 18 aStr = aStr Chr(SendStr(i)) Next Winsock1.SendData aStr Exit Sub ErrProc: MsgBox 传输数据失败, vbCritical, 网络传输 End Sub 4. 通讯数据处理(本例是得到4 个字节的数据): Private Sub Winsock1_DataArrival(ByVal bytes

文档评论(0)

ghfa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档