Modbus TCP指令格式说明

这个是一条正确的发送指令指令 : 22 A3   00 00   00 06   FE   05   00 1F   FF 00

说明

22 A3 :为此次通信事务处理标识符,一般每次通信之后将被要求加1以区别不同的通信数据报文,可以理解为id;

00 00 :表示该条指令遵循ModbusTCP协议;

00 06  :表示后面数据的长度,可以自己数一下是否是6个Bit

FE : 设备地址,这个可以用于局域网里面的具体的地址,如果目标机器有固定ip,这个就不起作用,直接上写成 00;

05 :功能码,这个可以参考:http://blog.csdn.net/m0_37549050/article/details/71794192  这个是线圈,

00 1f : 操作 线圈的位置;

FF 00 :开启线圈


查询指令和返回结果
指令:0000 0000 0006 fe 01 0000 0004

最后面4个Bit的意思是:0000 表示从第0个线圈开始;0004表示读取四个

结果:0000 0000 0004 fe 01 0100

0000 ;是通信事务处理标识符

0000; 是协议标识,标识用的是modbustcp

0004;标识后面有4Bit数据 fe是设备地址

01:表示的功能码

0100:表示结果,这个表示第0,1,3位置的线圈是关闭的,第2位置的是开着的。

如果想了解更多的,可以参考《基于Modbus协议的工业自动化网络规范 第1部分:Modbus应用协议》;

http://download.csdn.net/detail/m0_37549050/9841423

如果你没有积分,请联系本人,免费发邮箱。


  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
VB.NET是一种高级的编程语言,可以用它来访问Modbus TCPIP通信协议Modbus TCPIP是一种常用的工业通讯协议,常用于PLC和其他设备之间进行通信。在VB.NET中,我们可以使用Modbus TCP类库来轻松地实现Modbus TCPIP通信。在本文中,我们将探讨如何使用VB.NET来实现Modbus TCPIP通信以及如何使用Modbus TCP类库来实现这一过程。 1.引入Modbus TCP类库 Modbus TCP类库包含了许多关于Modbus TCP通信的类、方法和属性等。要使用这个类库,我们需要将其添加到我们的VB.NET项目中。我们可以从Nuget上安装ModbusTCP.dll包来引入这个类库。 2.连接到Modbus服务器 在VB.NET中,我们可以使用一个叫做TcpClient的类来连接到Modbus服务器,如下所示: Dim client as New TcpClient("192.168.1.1", 502) 如果连接成功,我们可以使用这个客户端来发送和接收Modbus TCPIP数据。如果连接失败,我们需要处理异常或者重新连接。 3.发送Modbus TCPIP指令 Modbus TCPIP协议将数据交换定义为读或操作,并且每个操作都指定了一个数据地址和数据长度。我们可以使用Modbus TCP类库的Write方法来发送Modbus TCPIP指令,如下所示: Dim cmd as New WriteMultipleCoilsRequest(1, 0, {True, False, True}, 3) client.GetStream().Write(cmd.MessageFrame, 0, cmd.MessageFrame.Length) 上面的代码将向Modbus服务器发送一个指令,该指令将地址1处的3个连续线圈为True、False、True。发送指令后,我们可以使用Read方法来读取Modbus服务器返回的数据。 4.接收Modbus TCPIP响应 Modbus TCPIP响应包含了指令的执行结果和相关数据。我们可以使用Modbus TCP类库的Read方法来接收Modbus TCPIP响应,如下所示: Dim rsp as ModbusTCP.Message.IMessage rsp = ModbusTCP.Message.ReadResponse(client.GetStream()) 如果响应成功,我们可以从响应中获取相关数据,如: Dim coils() as Boolean = DirectCast(rsp.Data, ModbusTCP.Message.ReadCoilsResponse).Data 上面的代码将获取Modbus服务器返回数据中的线圈值,并存储在一个Boolean数组中。 总之,VB.NET是一种非常强大的编程语言,可以用来实现复杂的Modbus TCPIP通信任务。使用Modbus TCP类库可以轻松地发送和接收Modbus TCPIP指令和响应,因此我们可以在开发PLC、控制器等设备的应用程序时,更加方便地实现数据交换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值