java modbus通讯协议_论Modbus协议

20de7b4d6e07c903e742deb785a1938a.png

从事自动化行业的工程师,自动化设备之间的通讯多多少少会接触一些, 比如西门子基于工业以太网IEEE 80的Profinet。基于RS-485总线的Profibus。但是这些协议都是不开放的,拿不到协议文本。但是Modbus协议不一样,首先协议是不收任何费用的,其实协议是公开的,这就意味着网上会有大把的源码可以让你借鉴。
自从1979年Modican公司发表工业串行链路的事实标准(Modbus协议)以来,
Modbus协议可以使成千上万的自动化设备组建体系庞大的Modbus通讯网络架构。

1de2f35ea6fdb2039004af7c70098103.png
Modbus网络体系结构 图1.1

最上面的Modbus应用层是面向报文的协议,这就意味着Modbus可以支持多种电气接口,比如RS232/422/485,EthernetII/802.3。

ca40ce2209e96ad0ac55b9be975f9efb.png
Modbus通信栈 图1.1

串行总线上的Modbus协议概述

图1.1和1.2大致描述了Modbus网络通讯的各个层次,这里主要讲运行在串行总线上的Modbus协议,Mosbus协议由于在串行总线上有两种协议,一个是面向于数据链路层的Modbus串行链路协议,可以在Modbus串行链路协议上定义设备的主从角色和传输模式,Modbus串行链路协议位于图2.1OSI/ISO模型的第二层,另外一个是处于应用层面向报文的Modbus应用协议,Modbus应用协议为为总线或网络上的通讯设备提供客户机/服务器通讯。

b08a17d6d0a4ef50ddcdd56069fb267b.png
Modbus协议与OSI/ISO模型 图2.1

数据链路之串行链路协议概述[1]

Modbus主从协议原理解析:

Modbus串行链路协议位于OSI/ISO模型的通信数据链路层,Modbus串行链路协议本子上是一种主-从协议

在串行链路总线上,有且只有一个主站,主站下面可以挂多个从站,设备之间的通讯一般是主站发起,从站没有收到来自主站请求时,不会发数据,并且从站之间是不能互相通讯的。

主站向从站发送Modbus请求一般有两种方式:

cc893e74d0ee61ee9b8fbfd128375212.png
单播模式
单播模式: 主站寻址单个从站,从站接受并处理请求后,从站向主站返回一个应答。 在这种模式下一个Modbus事务处理包含两个报文:主站请求报文,从站应答报 文, 每个从站都有唯一的地址,

e266157361ecaa8797f56f4878cc09cd.png
广播模式
广播模式:
主站向所有从站发送请求,对于主站主站发送的广播报文从站是没有应答的,广
播请求必须是写命令,所有设备必须接受写功能的广播,地址0被保留用来识别
广播通信。

==============================================================================================================

Mobus协议报文

8e6f3a544c37409549ede6b2c09d780e.png

Modbus 协议定义了一个与基础通讯层无关的PDU[2],特定总线或者网络上的Modbus协议映射能够在ADU[3]上引入一些附加的字段[4],我没查到这些附加的字段是在OSI/ISO的那一层添加的,既然讲的是面向于报文的应用层,那么我猜想ADU是在应用层被添加的。

Modbus应用数据单元由启动Modbus事务处理的客户机创建。功能码向服务器指示将执行那些操作,Modbus协议建立了客户机请求格式。

功能码(function code)是客户机让伺服器提供服务的的标识,

客户机向服务器发送的报文数据段包含附加信息,服务器使用这些信息执行功能码定义的操作字段。。。。。。。

未完待续。。。

参考

  1. ^从Modbus 到透明就绪-华榕著 http://modbus.org/
  2. ^简单协议数据单元
  3. ^应用数据单元
  4. ^翻译的好像有问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值