Modbus功能码全解1(最全的解释,包括所有非常用部分)
声明:本人的博客均为原创,未经允许不得转载。
网上搜寻了一大堆资料,基本能找到的资料都只介绍了几种常用功能码。分别为01H-06H,0FH-10H。找到的中文规范说明也仅仅只多出了14H-17H以及2BH的说明。加之中文版机翻,实在难以阅读。因此只得去寻找modbus英文原版说明书。现作出如下简单归纳和说明:
首先是中英文对照,以及简单解释。个人翻译,有不当之处还请指出。此处仅列出了英文说明书目录中包含的内容,部分子项不在此列出。详情请看具体条目。
0x01 读线圈状态(Read Coils)
0x02 读离散输入状态(Read Discrete Inputs )
0x03 读保持寄存器(Read Holding Registers )
0x04 读输入寄存器(Read Input Registers)
0x05 写单线圈(Write Single Coil )
0x06 写单寄存器(Write Single Register)
0x07 读取异常状态(限串行线)(Read Exception Status (Serial Line only) )
0x08 通信系统诊断(限串行线)(Diagnostics (Serial Line only) )
0x09-0x0A无
0x0B 获取串行通信事件计数器(Get Comm Event Counter (Serial Line only) )
0x0C 获取串行通信事件日志 ( Get Comm Event Log (Serial Line only) )
0x0D-0x0E无
0x0F 写多个线圈(Write Multiple Coils)
0x10 读多个线圈(Write Multiple registers)
0x11 报告服务器ID(仅串行线)(Report Server ID (Serial Line only) )
0x12-0x13无
0x14 读文件记录(Read File Record )
0x15 写文件记录(Write File Record)
0x16 带屏蔽字写入寄存器(Mask Write Register )
0x17 读/写多个寄存器(Read/Write Multiple registers)
0x18 读取先进先出(FIFO)队列(Read FIFO Queue)
0x19-0x2A无
0x2B 封装接口传输(Encapsulated Interface Transport .)
0x2C-0xFF无
现对以上目录中的专有名词进行解释:
Discrete Inputs:离散输入量
离散输入量指输入并非是以时间为自变量的连续函数,而是一个个孤立的点。大多来自于采样的信号。
Holding Registers:保持寄存器