Modbus概念
Modbus协议是应用于电子控制器上的一种通用语言,通过此协议,可以实现控制器相互之间或通过网络实现通信。
Modbus特点
Modbus协议标准开放、公开发表且无版权要求。
Modbus协议支持多种电气接口,包括RS232,TCP/IP等,还可以在各种介质上进行传输,如双绞线、光纤、红外、无线等。
Modbus消息帧格式简单、紧凑、通俗易懂。用户理解和使用简单、厂商容易开发和集成,方便形成工业控制网络。
Modbus在串行链路上的两种对比
Modbus在串行链路上的报文格式
对于每一帧报文都会有3.5个字符左右的报文间隔时间,这3.5个字符时间并不是一个固定的时间,而是一个相对时间,它和通讯的波特率相关。9600的波特率3.5
个字符大概占用4ms,如果是19200,那么这个时间将会更加的短。如果你同时发送两帧报文,时间间隔非常小,小于3.5个字符占用的时间,那么将会被视为是一
条报文,如果时间间隔大于3.5个字符占用的时间,那么就会被视为两条报文,这就是通信过程中常说的粘包。
Modbus存储区介绍
Modbus控制器涉及到的控制器(或Modbus设备)存储区以0XXXX,1XXXX,3XXXX,4XXXX标识:
Modbus三大利器
Modbus Poll:仿真Modbus Rtu主站或者Modbus Tcp客户端的软件
Modbus Slave:仿真Modbus Rtu从站或者Modbus Tcp服务器的软件
VSPD:虚拟电脑串口的软件
Modbus功能
1.读取输出线圈 功能码:01H
主站询问报文格式
含义:读17号(十六进制数0x11是十进制数17)从站输出线圈,起始地址=0013H=19.对应地址00020;线圈数=001B=27;结束地址=00020+27-1=46,即读
11H(17号)从站输出线圈00020至00046共27个线圈状态。
2.