函数代码 15 — 写多个线圈
函数
使用此函数代码,可以在从站中更改较多 2040 位(对于 ET 200S 1SI Modbus 较多 1744 位)
起始地址
驱动程序并不检查位起始地址参数,因此将参数原封不动地发送出去。
位数
对于位数(线圈数),允许 1 和 2040 之间的任何值(对于 ET 200S 1SI Modbus,位数较多为 1744)。
这*了从站中要覆盖的位数。
请求消息帧中的“字节计数器”参数是由驱动程序根据传送的参数“位数”生成的。
SEND 源 DB
SEND 源区域的结构:
地址 | 名称 | 类型 | 初始值 | 注释 |
---|---|---|---|---|
+0.0 | 地址 | BYTE | B#16#5 | 从站地址 |
+1.0 | 函数 | BYTE | B#16#0F | 函数代码 |
+2.0 | bit_startadr | WORD | W#16#0058 | 位起始地址 |
+4.0 | bit_number | INT | 10 | 位数 |
+6.0 | coil_state[1] | WORD | W#16#EFCD | 状态 |
示例
请求消息帧 FUNCTION 15:
05H | 从站地址 |
0FH | 函数代码 |
00H | 位地址“高字节” |
50H | 位地址“低字节” |
00H | 位数“高字节” |
0AH | 位数“低字节” |
02H | 字节计数器 |
CDH | 状态线圈 50H..57H |
EFH | 状态线圈 58H..59H |
xxH | CRC 校验和“低字节” |
xxH | CRC 校验和“高字节” |
来自从站 FUNCTION 15 的响应消息帧:
05H | 从站地址 |
0FH | 函数代码 |
00H | 位地址“高字节” |
50H | 位地址“低字节” |
00H | 位数“高字节” |
0AH | 位数“低字节” |
xxH | CRC 校验和“低字节” |
xxH | CRC 校验和“高字节” |
响应消息帧并不输入到接收 DB 中。
shtxjd.cn.b2b168.com/m/