🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
effectivefunction code说明(decimal)
| function code | 说明 |
|---|---|
| 01 | Read coil status |
| 02 | 读取input state |
| 03 | Read and hold register |
| 04 | Read input register |
| 05 | 强置单线圈 |
| 06 | 预置单register |
| 07 | 读取异常状态 |
| 08 | 回送诊断校验 |
| 09 | 编程(只用于484) |
| 10 | 控询 |
| 11 | 读取事件计数 |
| 12 | 读取通信事件记录 |
| 13 | 编程(184/384/484/584等) |
| 14 | 探寻 |
| 15 | 强置多线圈 |
| 16 | 预置多线圈 |
| 17 | 报告多register |
| 18 | 可使主机模拟编程Function |
| 19 | 重置通信链路 |
| 20 | 读取通用参数 |
| 21 | 写入通用参数 |
| 22 | 屏蔽写register |
| 23 | 读/写多个register |
| 43 | 读设备别识码 |
| 22-42, 44-64 | 保留作为扩展Function |
| 65-72 | 保留以备用Function所用 |
| 73-119 | Illegal function |
| 120-127 | 保留,留作内部作用 |
| 128-255 | 保留,用于异常应答 |
Exception Response
主设备(客户端)或从设备(服务器)中的任何一个出现异常晌应,都会导致data处理Error。在主设备(客户端)发出一个Request以后,可能出现以下事件中的一种:
- 如果从设备(服务器)从主设备(客户端)receive了Request,其中没有出现通讯Error,并且正确处理了Request,那么它会返回一个正常晌应。
- 如果从设备(服务器)因为通讯Error而没有从主设备(客户端)receiveRequest,那么它不会返回晌应。主设备程序最终会为Request处理一个超时条件。
- 如果从设备(服务器)从主设备(客户端)receive了Request,但是检测到了一个通讯Error,那么它不会返回晌应。主设备程序最终会为Request处理一个超时条件。
- 如果从设备(服务器)从主设备(客户端)receive了Request,其中没有出现通讯Error,但是无法处理它(比如该Request是读取一个does not exist的register),那么从设备就会返回一个异常晌应,以通知主设备出现了何种Error。
异常帧
从设备向主设备send了一个异常帧,以报告异常晌应。一个异常帧包括四个域:
| 域 | 定义 | 大小 | 说明 |
|---|---|---|---|
| 1 | 从设备号 | 1 个byte | Request的目的address1–247:唯一的目的address |
| 2 | 异常Function代码 | 1 个byte | RequestFunction代码 +128 (0x80) |
| 3 | 异常代码 | n byte | 参见下节 |
| 4 | 检查 | 2 bytes | CRC16(检查传输Error) |
异常代码
异常晌应帧有两个将其区别于普通晌应帧的field:
- 异常晌应的异常Function代码等于原Request的Function代码加上 128 (0x80)。
- 异常代码取决于从设备所遇到的通讯Error。
下表介绍了由断路器处理的异常代码:
| 异常代码 | 名称 | 说明 |
|---|---|---|
| 01 (0x01) | Illegal function | 在Request中receive的Function代码不是从设备的一个授权Operation。从设备可能处于Error状态,无法处理特定Request。 |
| 02 (0x02) | Illegal data address | 从设备receive的dataaddress不是从设备的一个授权address。 |
| 03 (0x03) | Illegal data value | 在Requestdata栏中的numerical value不是从设备的一个授权值。 |
| 04 (0x04) | 从设备故障 | 从设备未能执行一个Request的Operation,因为出现了一个无法修复的Error。 |
| 05 (0x05) | Confirm | 从设备接受了Request,但是需要较长的time来处理它。 |
| 06 (0x06) | 从设备繁忙 | 从设备忙于处理另一个命令。主设备必须在从设备空闲后sendRequest。 |
| 07 (0x07) | 否定Confirm | 从设备无法执行主设备send的编程Request。 |
| 08 (0x08) | 存储器奇even parityError | 从设备在尝试读取扩展存储器的时候从存储器中检测到一个奇even parityError。 |
| 10 (0x0A) | 网关通道不可用 | 网关过载,或者没有正确配置。 |
| 11 (0x0B) | 网关目标设备未能晌应 | 在网络中does not exist从设备。 |
发表回复