初识modbus

  modbus是工业设备通信中常用到的一种协议,一般做机械自动化的接触的比较多一点。在OSI(Open System Interconnection)模型中他是属于报文传输协议层,所以很多人在刚接触的时候会觉得疑惑搞不清232串口、485总线、以太网之间和modbus之间的关系,其实现在就可以说明白,那就是单纯的协议,哪怕你用usb传输数据,只要你的数据包符合modbus标准协议的数据包的格式,那么你用的就是modbus协议。

  modbus是典型的一对多框架,一台主机可以链接多个从机进行通信,之间的消息传递采用最简单的一问一答的形式。每一个从机都有一个属于自己的地址,当主机想要向从机询问消息的时候采用会发动含有从机地址的数据包,在这个从机下面的所有的主机都会接收到这个数据包,但是从机会对数据包中所包含的地址进行比对,如果发现地址是自己的地址则进行应答,如果地址不是自己的那么不做任何反馈,在modbus中有一个超时的概念,modbus数据包是没有传统数据包的帧头和帧尾的,所以数据帧的结束是通过超时判断来进行的,当超过设定的时间没有数据包过来的时候则判断数据包结束。当然在数据传输过程中可能会出现数据漏传或者错传的情况,在modbus中是通过CRC等校验手段对数据进行校验的.
  modbus定义的数据类型有四种,离散输入、线圈、输入寄存器、保持寄存器等。
 
posted @ 2015-09-17 21:45  散吧散吧  阅读(501)  评论(0编辑  收藏  举报