Modbus协议简介及Java代码取值实现
Modbus协议简介及Java代码取值实现
胡盛生
modbus协议概念特点以及java实现的整理,对于入门有一定的参考意义。
Modbus协议简介
Modbus是一种通讯协议,主要应用于电子控制器上的一种通用语言。Modbus支持多种电气接口,如RS232、RS485、TCP/IP等。多数Modbus设备通信是通过串口或TCP/IP进行连接。
通常情况下 Modbus是主从架构,即通信节点是Master,其它使用Modbus协议参与通信的是slave节点(最多247个,地址范围为1-247,0节点是广播地址)。每个slave设备都具有一个唯一的地址。总线上只能有一个Master节点。
Modbus寄存器介绍
所有数据都存在寄存器中,寄存器可指物理寄存器,也可是一块内存区域。Modbus根据数据类型及各自读写特性,将寄存器分为了4个部分,分别如下。
Modbus消息结构
Modbus功能码介绍
功能码由1个字节构成,因此取值范围1-255。常用功能码如下:
01:读线圈状态
02:读输入状态
03:读保持寄存器
04:读输入寄存器
05:强制单线圈
06:预制单寄存器
15:强制多线圈
17:报告从设备ID
22:屏蔽写寄存器
23:读/写寄存器
Modbus TCP消息结构
传输标识:Transaction Identifier。占用2个字节。标