WeStudio技术社区

 找回密码
 立即注册

快捷登录

QQ登录

只需一步,快速开始

查看: 4189|回复: 0

Modbus功能码和错误码

[复制链接]

100

主题

147

帖子

1075

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1075
发表于 2021-7-1 09:46:21 | 显示全部楼层 |阅读模式
本帖最后由 hixon 于 2021-7-1 10:19 编辑

1、功能码:

数据类型
功能描述
功能码(10进制)
功能码(16进制)
异常功能码
8比特访问物理离散量输入
输入离散量
02
0x02
0x82
内部比特或者物理线圈
单个/多个线圈
01
0x01
0x81
单个线圈
05
0x05
0x85
多个线圈
15
0x0F
0x8F
16比特访问输入存储器
输入寄存器
04
0x04
0x84
内部存储器或物理输出存储器(保持寄存器)
多个寄存器
03
0x03
0x83
单个寄存器
06
0x06
0x86
多个寄存器
16
0x10
0x90
/多个寄存器(先写后读)
23
0x17
0x97
掩码寄存器
22
0x16
0x96
文件记录访问
文件记录
20
0x14

文件记录
21
0x15

2、错误码:
代码
名称
含义
01
Illegal function(非法功能)
对于服务器(或从站)来说,询问中接收到的功能码是不可允许的操作,可能是因为功能码仅适用于新设备而被选单元中不可实现同时,还指出服务器(或从站)在错误状态中处理这种请求,例如:它是未配置的,且要求返回寄存器值。
02
Illegal data address(非法数据地址)
对于服务器(或从站)来说,询问中接收的数据地址是不可允许的地址,特别是参考号和传输长度的组合是无效的。对于带有100个寄存器的控制器来说,偏移量96和长度4的请求会成功,而偏移量96和长度5的请求将产生异常码02。
03
Illegal data value(非法数据值)
对于服务器(或从站)来说,询问中包括的值是不可允许的值。该值指示了组合请求剩余结构中的故障。例如:隐含长度是不正确的。modbus协议不知道任何特殊寄存器的任何特殊值的重要意义,寄存器中被提交存储的数据项有一个应用程序期望之外的值。
04
Slave device or server failure(从站设备故障)
当服务器(或从站)正在设法执行请求的操作时,产生不可重新获得的差错。
05
Acknowledge(确认)
与编程命令一起使用,服务器(或从站)已经接受请求,并且正在处理这个请求,但是需要长持续时间进行这些操作,返回这个响应防止在客户机(或主站)中发生超时错误,客户机(或主机)可以继续发送轮询程序完成报文来确认是否完成处理。
06
Slave device or server is busy(从属设备忙)
与编程命令一起使用,服务器(或从站)正在处理长持续时间的程序命令,当服务器(或从站)空闲时,客户机(或主站)应该稍后重新传输报文。
08
Memory parity error(存储奇偶性差错)
与功能码20和21以及参考类型6一起使用,指示扩展文件区不能通过一致性校验。服务器(或从站)设备读取记录文件,但在存储器中发现一个奇偶校验错误。客户机(或主机)可重新发送请求,但可以在服务器(或从站)设备上要求服务。
0A
Gateway path unavailable(不可用网关路径)
与网关一起使用,指示网关不能为处理请求分配输入端口值输出端口的内部通信路径,通常意味着网关是错误配置的或过载的。
0B
Target device failed to respond(网关目标设备响应失败)
与网关一起使用,指示没有从目标设备中获得响应,通常意味着设备未在网络中。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|物一世(北京)科技有限公司 ( 京ICP备20025895 )

GMT+8, 2024-11-21 18:26 , Processed in 0.011435 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表