如今网购正深深地改变着人们的生活,以前买东西要逛商场,先找楼层导购,再逛到相应柜台,接着愉快购物,选好东西后经过一番讨价还价,最后付钱拿货走人,这些都是稀松平常的场景。可是,如果没有实际看见东西,只在网上看到照片,在见不着商家就先付钱,然后等着东西送到家里,这些场景放在过去简直让人不可思议,但就是凭借一套行之有效的交易规则实现了,也就是一种各方都需要遵守的协议

既然购物能通过一套规则做到这么便捷,那么通信是不是也能做到?答案是肯定的,因为通信就是数据交互,也可以通过制定一套规则来方便数据交互,这种规则就是通信协议。万事开头难,整明白了协议以及通信协议,那么MODBUS就说清楚了一半,因为MODBUS就是一种通信协议,那么MODBUS是怎样的一种通信协议呢?

众所周知,网购的规则是为了协调买家、卖家、第三方平台之间的关系,规定了各方享有的权利和承担的义务,提出一些完成交易需要的步骤和方法。大家直接就能想到的场景,比如说电商会展示商品和服务内容(买、可退换)、网络平台(淘宝、天猫)制定了交易的规则,以及快递公司定义了传输商品的方式(包裹、快递单)。同样道理,MODBUS通信协议是为了方便控制器、设备之间的数据交互,表面上由类似于“用户须知”一样的诸多条文组成,其实也就是说了几件事情:协议功能、通信内容、通信规则、通信数据格式。

1)通信功能MODBUS通信协议定义的功能包括读、写、诊断,这里可以想象一下,当你打电话办理某个业务,语音提示你:请输入您想办理业务,按键1查询,2充值,0人工服务,这不就是功能码嘛!

2)通信内容:正如电商会展示出商品供大家选择一样,MODBUS通信协议定义了通信的内容包括保持型寄存器、输入寄存器、线圈等。商品有小件也有大件的,能退也有不能退的,这些通信的内容也是有的可以读写,有的只能读。

3)通信规则MODBUS通信协议采用客户端/服务器模式进行通信,可以看看图表2对这种通信模式与网购的类比。显然两个客户端是没办法直接通信的,因为两个买家能干嘛?

4)通信数据格式

网购后,卖家会采用物流投递,快递公司不会像餐厅侍者一样,托着商品呈递到家中,而采用包裹的形式,按照快递单据准确送达,这就是网购货品的形式。MODBUS通信协议为了实现准确传输数据,也需要“打包”和“快递单”。假如说货品是一个保持寄存器,那么打包过程就是将保持寄存器的值用功能码包装,形成协议数据PDU(类似于包裹);货品贴上快递单就是说数据PDU被加上了地址和差错校验(即)后形成一帧完整的通信数据(应用数据ADU)。

综上所述,MODBUS就是包含以上4个内容的通信协议。其实,工业互联网中的一些技术并不是特别深奥,能从生活中找到原型,你看MODBUS通信协议不也是可以很俗很直观的吗?

综上所述,MODBUS就是包含以上4个内容的通信协议。其实,工业互联网中的一些技术并不是特别深奥,能从生活中找到原型,你看MODBUS通信协议不也是可以很俗很直观的吗?

史上最俗的MODBUS介绍的更多相关文章

  1. 史上最全的RunLoop介绍

    之前有人在后台给小编留言,说:小编啥时候给我们分享RunLoop的一些文章,工作以后特别需要这样的技术.这不,小编从网上找了一个介绍非常详细,清晰的文章,仅供参考. RunLoop 是 iOS 和 O ...

  2. HR面试:过五关斩六将后,小心阴沟翻船!(史上最全、避坑宝典)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  3. 【腾讯Bugly干货分享】OCS——史上最疯狂的iOS动态化方案

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/zctwM2Wf8c6_sxT_0yZvXg 导语 在 ...

  4. 【Tips】史上最全H1B问题合辑——保持H1B身份终级篇

    [Tips]史上最全H1B问题合辑——保持H1B身份终级篇 2015-04-10留学小助手留学小助手 留学小助手 微信号 liuxue_xiaozhushou 功能介绍 提供最真实全面的留学干货,帮您 ...

  5. 史上最简单,一步集成侧滑(删除)菜单,高仿QQ、IOS。

    重要的话 开头说,not for the RecyclerView or ListView, for the Any ViewGroup. 本控件不依赖任何父布局,不是针对 RecyclerView. ...

  6. 史上最全的java随机数生成算法分享(转)

    这篇文章主要介绍了史上最全的java随机数生成算法,我分享一个最全的随机数的生成算法,最代码的找回密码的随机数就是用的这个方法 String password = RandomUtil.generat ...

  7. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

    [原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文  http: ...

  8. GitHub上史上最全的Android开源项目分类汇总 (转)

    GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...

  9. 史上最全的iOS面试题及答案

    迷途的羔羊--专为路痴量身打造的品牌.史上最精准的定位.想迷路都难!闪电更新中...敬请期待,欢迎提意见.下载地址:https://itunes.apple.com/us/app/mi-tu-de-g ...

随机推荐

  1. Python读取网页表格数据

    学会了从网格爬取数据,就可以告别从网站一页一页复制表格数据的时代了. 说个亲身经历的事: 以前我的本科毕业论文是关于"燃放烟花爆竹和空气质量"之间关系的,就要从环保局官网查资料. ...

  2. python中的 * 和 ** 作用含义

    python中的 * 和 ** ,能够让函数支持任意数量的参数,它们在函数定义和调用中,有着不同的目的 一. 打包参数 * 的作用:在函数定义中,收集所有位置参数到一个新的元组,并将整个元组赋值给变量 ...

  3. 高效动画实现原理-Jetpack Compose 初探索

    一.简介 Jetpack Compose是Google推出的用于构建原生界面的新Android 工具包,它可简化并加快 Android上的界面开发.Jetpack Compose是一个声明式的UI框架 ...

  4. AIbee 笔试

    CSS选择器 div+p 选择紧接在div元素之后的所有< p >元素 C++删除数组最后一个元素. 例如[1 2 3 4] 最后变为 [1 2 3] 用splice的删除,增加和替换 a ...

  5. Redis:学习笔记-02

    Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...

  6. 在Vue前端项目中,附件展示的自定义组件开发

    在Vue前端界面中,自定义组件很重要,也很方便,我们一般是把一些通用的界面模块进行拆分,创建自己的自定义组件,这样操作可以大大降低页面的代码量,以及提高功能模块的开发效率,本篇随笔继续介绍在Vue&a ...

  7. Noip模拟67 2021.10.3

    还是困,不过已经可以用脑子思考问题了 T1 数据恢复 没啥明确的算法,可以说是贪心? 考虑部分分, 链的直接扫, 对于菊花的发现只要根节点在第一个,剩下的点位置不重要 那么按照$a/b$排序,扫一遍就 ...

  8. 2021.9.12考试总结[NOIP模拟51]

    T1 茅山道术 仔细观察发现对于每个点只考虑它前面第一个与它颜色相同的点即可. 又仔细观察发现对一段区间染色后以这个区间内点为端点的区间不能染色. 于是对区间右端点而言,区间染色的贡献为遍历到区间左端 ...

  9. 【Golang详解】go语言中并发安全和锁

    go语言中并发安全和锁 首先可以先看看这篇文章,对锁有些了解 [锁]详解区分 互斥锁.⾃旋锁.读写锁.乐观锁.悲观锁 Mutex-互斥锁 Mutex 的实现主要借助了 CAS 指令 + 自旋 + 信号 ...

  10. 万能构造解决Rolle中值问题

    只要原函数是两个函数的乘积形式,皆可此构造.