造价通

反馈
取消

热门搜词

造价通

取消 发送 反馈意见

远程IO模块实际应用

2018/06/19182 作者:佚名
导读: 1.通信协议格式远程IO设备实现Modbus通信时,均作为从机,遵循Modbus通信过程,采用了MODBUS-RTU协议的命令子集,使用读寄存器命令(03)和单寄存器设置命令(06)。每消息的开头和结尾至少有3.5个字节时间的间隔。注:03命令用于主机读取远程IO设备的采集数据或端口状态;06命令用于设置设备参数或远程控制IO设备继电器动作;功能码03(读指令)利用Modbus通信协议的03

1.通信协议格式

远程IO设备实现Modbus通信时,均作为从机,遵循Modbus通信过程,采用了MODBUS-RTU协议的命令子集,使用读寄存器命令(03)和单寄存器设置命令(06)。每消息的开头和结尾至少有3.5个字节时间的间隔。

注:03命令用于主机读取远程IO设备的采集数据或端口状态;

06命令用于设置设备参数或远程控制IO设备继电器动作;

功能码03(读指令)

利用Modbus通信协议的03功能码,读取设备的数值。

主机请求数据格式:从机地址、功能码、起始地址、数据个数及CRC码

主机发送

字节数

信息内容

备注

从机地址

1

xx

向地址为xx的从机要数据

功能码

1

03

读取寄存器

寄存器起始地址Rn

2

NN Rn

起始地址=NNRn NN为00-FF的任意数值

数据长度Ln

2

00 XX

读取XX个数据,每数据2个字节

CRC码

2

CRCL、CRCH

由主机计算得到的CRC码,低位在前、高位在后。

例如: 从机地址为01,读取设备寄存器地址=0000的数值(1个数值)。

01

03

00

00

00

01

84

0A

从机响应数据格式:从机地址、功能码、字节数、数据区及CRC码

从机发送

字节数

信息内容

备注

从机地址

1

xx

从机地址

功能码

1

03

读取寄存器

数据长度

1

00 XX

读取XX个字节(共2倍数据个数)

寄存器0高字节

1

DATA0H

寄存器0数据,高位在前,低位在后。

寄存器0低字节

1

DATA0L

寄存器n高字节

1

DATAnH

寄存器n数据,高位在前,低位在后。

寄存器n低字节

1

DATAnL

CRC码

2

CRCL、CRCH

由从机计算得到的CRC码,低位在前,高位在后。

寄存器数据为二个字节,高位在前。CRC码都是二个字节,低位在前。

例如: 从机地址为01返回:

01 03 02 DATA0H DATA0L CRCL CRCH

功能码06(写指令)

利用Modbus通信协议的06功能码,设置设备的一个寄存器的数值。

信息帧格式:

①主机请求数据格式:从机地址、功能码、寄存器地址、设置的数据及CRC码

主机发送

字节数

信息内容

备注

从机地址

1

ADDxx

向地址为XX的从机预置数据

功能码

1

06

预置单个寄存器

寄存器地址

2

00-Rn

需要预置的寄存器

数据值高位

1

DATAH

需要预置数据

数据值低位

1

DATAL

需要预置数据

CRC码

2

CRCL、CRCH

由主机计算得到的CRC码,低位在前,高位在后。

2.寄存器

寄存器地址

(16进制)

功能

(每寄存器数值16bit,即2字节)

存取属性

读功能码:03

写功能码:06

0001

485地址

读写

0002

串口波特率

读写

0000:1200;0001:2400;0002:4800;0003:9600;0004:19200

0003

所有DO输出状态,返回值1-16bit,按位表示第x路输出状态,所在位

只读

为0:继电器常态(开路),所在位为1:继电器闭合(合路)
注:当前仅有前6个bit有效。

0004

所有DI输入状态,返回值1-16bit,按位表示第x路输入状态,

只读

所在位为0:无输入,所在位为1:有输入
注:当前仅有前4个bit有效。

0005

第1路继电器状态

读写

0000:继电器常态(开路)
0001:继电器闭合(合路)

0006

第2路继电器状态

读写

0000:继电器常态(开路)
0001:继电器闭合(合路)

0007

第3路继电器状态

读写

0000:继电器常态(开路)
0001:继电器闭合(合路)

0008

第4路继电器状态

读写

0000:继电器常态(开路)
0001:继电器闭合(合路)

0009

第5路继电器状态

读写

0000:继电器常态(开路)
0001:继电器闭合(合路)

000A

第6路继电器状态

读写

0000:继电器常态(开路)
0001:继电器闭合(合路)

000B

读第1路DI输入状态

只读

0000:无输入(开路状态)
0001:有输入(合路状态)

000C

第2路DI输入状态

只读

0000:无输入(开路状态)
0001:有输入(合路状态)

000D

第3路DI输入状态

只读

0000:无输入(开路状态)
0001:有输入(合路状态)

000E

第4路DI输入状态

只读

0000:无输入(开路状态)

0001:有输入(合路状态)

000F

第1路输入计数值-高16位

读写

0010

第1路输入计数值-低16位

读写

0011

第2路输入计数值-高16位

读写

0012

第2路输入计数值-低16位

读写

0013

第3路输入计数值-高16位

读写

0014

第3路输入计数值-低16位

读写

0015

第4路输入计数值-高16位

读写

0016

第4路输入计数值-低16位

读写

*文章为作者独立观点,不代表造价通立场,除来源是“造价通”外。
关注微信公众号造价通(zjtcn_Largedata),获取建设行业第一手资讯

热门推荐

相关阅读