用VB实现ModbusTCPIP的通讯_第1页
用VB实现ModbusTCPIP的通讯_第2页
用VB实现ModbusTCPIP的通讯_第3页
用VB实现ModbusTCPIP的通讯_第4页
用VB实现ModbusTCPIP的通讯_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Schneider-施耐德LEC使用技工方文集第7讲如何用VB实现Twido的 Modbus TCP/IP 的通讯提供 :Schneider-施耐德电气(中国)投资有限公司xx浏览次数:1070Twido系歹U PLC支才等TCPModbus的通讯,尤其是 TWDLCAE40DRF供了内 置的以太网接口,能实现下图所示的结构;通过 HUB,不仅能对Twido进行编 程,也能对TwidoPLC中的数据进行读写。对于TWDLCAE40DRF假定其配置如下:对于上位机,我们利用 VB的WinSock套接字控件能很容易的进行编程。新建1个套接字对象,设定其属性如右,注意其远程主机的IP就是以上TWDL

2、CAE40DR的 IP地址:1 建立网络连接Private Sub Command2_Click()On Error Resume NextWinsock1.CloseWinsock1.Connect “85.16.1.1 ” , 502If Err ThenMsgBox “网络连接时发生错误:” & Err.Description, vbCritical,网络连接 " Err.ClearEnd IfEnd Sub2.读多个字的命令(本例表示从 PLC卖乂川3和乂川4两个字):Private Sub cmdSend_Click()On Error GoTo ErrProcDi

3、m SendStr(11) As ByteDim RcvStr() As ByteSendStr(0) = 0 交换识别号高字节 ,通常为0SendStr(1) = 0 交换识别号低字节 ,通常为0SendStr(2) = 0 协议识别号高字节 ,为 0SendStr(3) = 0 协议识别号低字节 ,为 0SendStr(4) = 0 字节 xx 高字节SendStr(5) = 6 以下字节 xx 低字节SendStr(6) = 255 单元识别号 ,确省为 255SendStr(7) = &H3 读多个字命令代码SendStr(8) = 0 读数据的起始地址高字节 SendStr(

4、9) = 3 读数据的起始地址低字节 SendStr(10) = 0 数据 xx 高字节SendStr(11) = 2 数据 xx 低字节Dim aStr As StringDim i As IntegerFor i = 0 To 11aStr = aStr & Chr(SendStr(i)NextWinsock(12) ndData aStrExit SubErrProc:MsgBox传输数据失败 :vbCritical,网络传输“”End Sub3、 写多个字的命令(本例表示写%MW4、 %MW5、 %MW5 三个字到PLCxx):Private Sub cmdwrite_Clic

5、k()On Error GoTo ErrProcDim SendStr(18) As ByteDim RcvStr() As ByteSendStr(0) = 0 交换识别号高字节 ,通常为0SendStr(1) = 0 交换识别号低字节 ,通常为0SendStr(2) = 0 协议识别号高字节 ,为 0SendStr(3) = 0 协议识别号低字节 ,为 0SendStr(4) = 0 字节 xx 高字节SendStr(5) = 13 以下字节 xx 低字节SendStr(6) = 255 单元识别号 ,确省为255SendStr(7) = &H10 写多个字命令代码 SendStr

6、(8) = 0 写数据的起始地址高字节 SendStr(9) = 3 写数据的起始地址低字节 SendStr(10) = 0 数据长度字数的高字节 SendStr(11) = 3 数据长度字数的低字节 SendStr(12) = 6 数据 xx 的字节数SendStr(13) = &HA 写的第 1 个字的高字节SendStr(14) = &HB 写的第 1 个字的低字节SendStr(15) = &HC 写的第 2个字的高字节SendStr(16) = &HD 写的第 2 个字的低字节SendStr(17) = &HE 写的第 3个字的高字节SendS

7、tr(18) = &HF 写的第 3个字的低字节Dim aStr As StringDim i As IntegerFor i = 0 To 18aStr = aStr & Chr(SendStr(i)NextWinsock(19) ndData aStrExit SubErrProc:MsgBox传输数据失败 :vbCritical,网络传输“”End Sub(20) 通讯数据处理(本例是得到4 个字节的数据):Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)Dim a1, a2, b1, b2, s As StringWinsock1.GetData sIf bytesTotal > 12 Thena1 = Hex$(Asc(Mid$(s, 10, 1)a2 = Hex$(Asc(Mid$(s, 11, 1)b1 = Hex$(Asc(Mid$(s, 12, 1)b2 = Hex$(Asc(Mid$(s, 13, 1)End IftxtReceive.Text = a1 & a2 &“/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论