Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。
Modbus允许多个 (大约240个) 设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和远程终端控制系统(RTU)。
Modbus有一个扩展版本Modbus Plus(Modbus+或者MB+),不过此协议是Modicon专有的,和Modbus不同。它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。连接Modbus Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PMCIA总线的板卡。
整个教程主要介绍Modbus 协议的基础,主要包括Modbus协议栈函数编程实现、Modbus协议在串行链路编程实现、Modbus协议在以太网链路编程实现以及常见问题的解决方法。
前 言 Modbus协议栈的体系与方法
- 第1讲 Modbus协议栈的体系与方法:Modbus 协议前世今生
- 第2讲Modbus协议栈的体系与方法:Modubs网络体系
- 第3讲 Modbus协议栈的体系与方法:Modbus 协议栈模型
- 第4讲Modbus协议栈的体系与方法:Modbus 主从网络
- 第5讲 Modbus协议栈的体系与方法:Modbus 物理层
- 第6讲Modbus协议栈的体系与方法:Modbus 帧的雏形
- 第7讲 Modbus协议栈的体系与方法:Modbus 帧的完善
- 第8讲Modbus协议栈的体系与方法:Modbus ASCII
- 第9讲 Modbus协议栈的体系与方法:Modbus ASCII帧格式
- 第10讲Modbus协议栈的体系与方法:Modbus RTU帧格式
- 第11讲 Modbus协议栈的体系与方法:读线圈命令
- 第12讲Modbus协议栈的体系与方法:写单个线圈命令
- 第13讲 Modbus协议栈的体系与方法:写多个线圈命令
- 第14讲Modbus协议栈的体系与方法:读离散量命令
- 第15讲 Modbus协议栈的体系与方法:读取保持寄存器
- 第16讲Modbus协议栈的体系与方法:写寄存器
- 第17讲 Modbus协议栈的体系与方法:读输入寄存器
- 第18讲Modbus协议栈的体系与方法:寄存器编号与协议地址关系
- 第19讲 Modbus协议栈的体系与方法:Modbus Tcp 协议1
- 第20讲Modbus协议栈的体系与方法:Modbus Tcp 协议2
- 第21讲 Modbus协议栈的体系与方法:STM32CubeMX 创建工程
- 第22讲Modbus协议栈的体系与方法:Modbus 工程完善
- 第23讲 Modbus协议栈的体系与方法:Modbus 调试软件使用
- 第24讲Modbus协议栈的体系与方法:读取保持寄存器编程
- 第25讲 Modbus协议栈的体系与方法:写单个寄存器编程
- 第26讲Modbus协议栈的体系与方法:写多个寄存器编程
- 第27讲 Modbus协议栈的体系与方法:写单个线圈编程
- 第28讲Modbus协议栈的体系与方法:写多个线圈编程
- 第29讲 Modbus协议栈的体系与方法:读取线圈状态编程
- 第30讲Modbus协议栈的体系与方法:读取离散输入编程
- 第31讲 Modbus协议栈的体系与方法:读取输入寄存器编程
- 第32讲Modbus协议栈的体系与方法:优化1,使用空闲中断IDLE,串口接收的精髓
- 第33讲 Modbus协议栈的体系与方法:工优化2,使用共用体解决数据共存,编程老炮的第二性征
- 第34讲Modbus协议栈的体系与方法:如何上传负数,难倒编程新猿
- 第35讲 Modbus协议栈的体系与方法:编程老炮指点,上传负数实现
- 第36讲Modbus协议栈的体系与方法:如何解决多串口都运行Modbus协议,程序员不再脱发
- 第37讲 Modbus协议栈的体系与方法:终极思考,解决裸奔和用操作系统下的协议栈复用
- 第38讲Modbus协议栈的体系与方法:Modbus Tcp
- 第39讲 Modbus协议栈的体系与方法:Modbus Tcp
- 第40讲Modbus协议栈的体系与方法:Modbus 总结