函数代码 15 — 写多个线圈

2021-08-02 浏览次数:106
函数代码 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

状态
线圈 5FH..58H/57H..50H

示例

请求消息帧 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/
top