如今风靡全球的“中国新四大发明”正深深地改变着人们的生活。就拿购物来说,以前买东西要逛商场,先找楼层导购,再逛到相应柜台,接着愉快购物,选好东西后经过一番讨价还价,最后付钱拿货走人,这些都是稀松平常的场景。可是,如果没有实际看见东西,只在网上看到照片,在见不着商家就先付钱,然后等着东西送到家里,这些场景放在过去简直让人不可思议,但就是凭借一套行之有效的交易规则实现了,也就是一种各方都需要遵守的协议。
既然购物能通过一套规则做到这么便捷,那么通信是不是也能做到?答案是肯定的,因为通信就是数据交互,也可以通过制定一套规则来方便数据交互,这种规则就是通信协议。万事开头难,整明白了协议以及通信协议,那么MODBUS就说清楚了一半,因为MODBUS就是一种通信协议,那么MODBUS是怎样的一种通信协议呢?
众所周知,网购的规则是为了协调买家、卖家、第三方平台之间的关系,规定了各方享有的权利和承担的义务,提出一些完成交易需要的步骤和方法。大家直接就能想到的场景,比如说电商会展示商品和服务内容(买、可退换)、网络平台(淘宝、天猫)制定了交易的规则,以及快递公司定义了传输商品的方式(包裹、快递单)。
同样道理,MODBUS通信协议是为了方便控制器、设备之间的数据交互,表面上由类似于“用户须知”一样的诸多条文组成,其实也就是说了几件事情:协议功能、通信内容、通信规则、通信数据格式。
1)通信功能:MODBUS通信协议定义的功能包括读、写、诊断,这里可以想象一下,当你打电话办理某个业务,语音提示你:请输入您想办理业务,按键1查询,2充值,0人工服务,这不就是功能码嘛!
2)通信内容:正如电商会展示出商品供大家选择一样,MODBUS通信协议定义了通信的内容包括保持型寄存器、输入寄存器、线圈等。商品有小件也有大件的,能退也有不能退的,这些通信的内容也是有的可以读写,有的只能读。
3)通信规则:MODBUS通信协议采用客户端/服务器模式进行通信,可以看看图表2对这种通信模式与网购的类比。显然两个客户端是没办法直接通信的,因为两个买家能干嘛?
4)通信数据格式:网购后,卖家会采用物流投递,快递公司不会像餐厅侍者一样,托着商品呈递到家中,而采用包裹的形式,按照快递单据准确送达,这就是网购货品的形式。
MODBUS通信协议为了实现准确传输数据,也需要“打包”和“快递单”。假如说货品是一个保持寄存器,那么打包过程就是将保持寄存器的值用功能码包装,形成协议数据PDU(类似于包裹);货品贴上快递单就是说数据PDU被加上了地址和差错校验(即)后形成一帧完整的通信数据(应用数据ADU)。
综上所述,MODBUS就是包含以上4个内容的通信协议。其实,工业互联网中的一些技术并不是特别深奥,能从生活中找到原型,你看MODBUS通信协议不也是可以很俗很直观的吗?