modbus协议文档格式.docx

上传人:b****5 文档编号:18558169 上传时间:2022-12-27 格式:DOCX 页数:31 大小:57.55KB
下载 相关 举报
modbus协议文档格式.docx_第1页
第1页 / 共31页
modbus协议文档格式.docx_第2页
第2页 / 共31页
modbus协议文档格式.docx_第3页
第3页 / 共31页
modbus协议文档格式.docx_第4页
第4页 / 共31页
modbus协议文档格式.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

modbus协议文档格式.docx

《modbus协议文档格式.docx》由会员分享,可在线阅读,更多相关《modbus协议文档格式.docx(31页珍藏版)》请在冰豆网上搜索。

modbus协议文档格式.docx

...

数据n

CRC高字节

CRC低字节

地址域功能域数据域错误检测域

帧定界:

MODBUSRTU方式下,每两个字符之间发送或者接收的时间间隔不能超过1.5倍字符传输时间。

如果两个字符时间间隔超过了3.5倍的字符传输时间,规约就认为一帧数据已经接收,新的一帧数据传输开始。

ASCII方式

ASCII模式

:

LRC高字节

LRC低字节

回车

换行

帧定界:

“:

”帧起始“CRLF”帧结束

ASCII方式用两个ASCII字符表示一个8位数据,比如16进制的3A用字符“3”和字符“A”表示。

MODBUSTCP

MODBUSTCP模式下,由于模块的地址由IP地址确定,所以不再有地址域内容,考虑到TCP网络是可靠的数据传输网络,故不再有校验数据。

但是考虑到在IP网上数据到达的顺序可能与我们预期的数据不一致,故增加了一个数据序号,考虑到在MODBUSTCP协议上承载MODBUS协议,还在头部数据中增加了一个地址域。

MODBUSTCP/MODBUS桥

STC-511可以用于MODBUSTCP到MODBUS的桥设备使用,作为MODBUS桥设备时,需要在地址域上加上地址,另外对应的串口需要设置为MODBUS主设备。

由于存在两个串口设备,地址域的最高位MSB=1则访问串口2,MSB=0则访问串口1。

地址域广播地址是把低7位全部置为1,在发送到MODBUS总线时,地址修改为0。

地址域为0表示不访问MODBUS串口设备。

支持命令

我们目前所支持的功能码非常有限,主要包括:

01READCOILSTATUS

02READINPUTSTATUS

03READHOLDINGREGISTERS

04READINPUTREGISTERS

05FORCESINGLECOIL

06PRESETSINGLEREGISTER

15FORCEMULTIPLECOILS

16FORCEMULTIPLEREGISTERS

20READ

21WRITE

24READFIFOQUEUE

读继电器状态

功能码:

01

数据起始地址:

00001~00008

数据长度:

不大于08(因为只有8个输出继电器)

说明:

读取输出继电器的状态。

数据说明:

描述

说明

00001

第1个输出继电器

=1吸合=0断开

00002

第2个输出继电器

00003

第3个输出继电器

00004

第4个输出继电器

00005

第5个输出继电器

00006

第6个输出继电器

00007

第7个输出继电器

00008

第8个输出继电器

00009

第9个输出继电器(虚拟)

00010

第10个输出继电器(虚拟)

00011

第11个输出继电器(虚拟)

00012

第12个输出继电器(虚拟)

00013

第13个输出继电器(虚拟)

00014

第14个输出继电器(虚拟)

00015

第15个输出继电器(虚拟)

00016

第16个输出继电器(虚拟)

MODBUS请求

功能码

1BYTE

0X01

起始地址

2BYTE

0X0000TO0XFFFF

读取数量

1TO2000(0X7D0)

MODBUS响应

字节计数

N

线圈状态

nBYTE

n=NorN+1

N=读取数量/8如果余数不为0则N=N+1

错误响应

0X01+0X80

错误代码

0x1or0x2or0x3or0x4

举例

请求

响应

域名称

数据(hex)

01

起始地址高(字节)

00

03

起始地址低(字节)

13

27(h)~20状态

CD

读取数量高(字节)

35(h)~28状态

6B

读取数量低(字节)

38(h)~36状态

05

读开关量输入

02

100001~1000016

不大于16(因为只有16路输入)

读取输入开关量的状态。

输入的量改变状态需要经过0.1S滤波抗干扰后才会变化。

如果用户想知道改变的时刻,需要读取系统的FIFO中的SOE事件记录或者读取文件中的SOE记录。

输入量的每次改变都会累积到该路对应的32位计数器上,对于计数,输入的最高频率可以是1KHz。

100001

第1路开关量状态

=0没有通电=1接通电源

100002

第2路开关量状态

100003

第3路开关量状态

100004

第4路开关量状态

100005

第5路开关量状态

100006

第6路开关量状态

100007

第7路开关量状态

100008

第8路开关量状态

100009

第9路开关量状态

100010

第10路开关量状态

100011

第11路开关量状态

100012

第12路开关量状态

100013

第13路开关量状态

100014

第14路开关量状态

100015

第15路开关量状态

100016

第16路开关量状态

0X02

输入状态

0X02+0X80

02

C4

204(h)~197状态

AC

212(h)~205状态

DB

16

218(h)~213状态

35

读保持寄存器

03

400001-400128

不大于125(因为通信缓冲区的限制)

读取保持寄存器的值。

读取的是16位整数或者无符合整数。

400001

当日时间

系统当日毫秒时钟低16位

400002

当日时间

系统当日毫秒时钟高16位

400003

系统日期低16位

400004

系统日期高16位

400005

第1路开关量脉冲计数

低16位计数

400006

高16位计数

400007

第2路开关量脉冲计数

400008

400009

第3路开关量脉冲计数

400010

400011

第4路开关量脉冲计数

400012

400013

第5路开关量脉冲计数

400014

400015

第6路开关量脉冲计数

400016

400017

第7路开关量脉冲计数

400018

400019

第8路开关量脉冲计数

400020

400021

第9路开关量脉冲计数

400022

400023

第10路开关量脉冲计数

400024

400025

第11路开关量脉冲计数

400026

400027

第12路开关量脉冲计数

400028

400029

第13路开关量脉冲计数

400030

400031

第14路开关量脉冲计数

400032

400033

第15路开关量脉冲计数

400034

400035

第16路开关量脉冲计数

400036

400037

直流量1系数

第1路直流系数,系统调校

400038

直流量2系数

第2路直流系数,系统调校

400039

直流量3系数

第3路直流系数,系统调校

400040

直流量4系数

第4路直流系数,系统调校

400041

直流量5系数

第5路直流系数,系统调校

400042

直流量6系数

第6路直流系数,系统调校

400043

直流量7系数

第7路直流系数,系统调校

400044

直流量8系数

第8路直流系数,系统调校

400045

模拟量1输出

第1路直流模拟量输出

10000对应满量程(10V或20mA)

400046

400047

模拟量1输出系数

系统调校

400048

模拟量2输出系数

400049

模拟量1输出偏移量

400050

模拟量2输出偏移量

400051

闸门时间

0.05s为单位,用于各路频率测量

40060

脉冲输出1的脉冲宽度

单位1ms=0表示不输出

40061

脉冲输出2的脉冲宽度

40063

脉冲输出1的周期

单位1ms=0表示单次脉冲输出

40064

脉冲输出2的周期

保留

40071

第1路模拟量定值报警输出继电器设置

最高位(BIT15)表示该功能投入,

BIT14表示继电器动作性质

=0表示报警后一直吸合

=1表示报警后吸合设置时间后释放

低6位为动作继电器编号,0表示第1路,…

40072

第1路模拟量定值报警设置

模拟量的值

40073

第2路模拟量定值报警输出继电器设置

同40071

40074

第2路模拟量定值报警设置

40075

第3路模拟量定值报警输出继电器设置

40076

第3路模拟量定值报警设置

40077

第4路模拟量定值报警输出继电器设置

40078

第4路模拟量定值报警设置

40079

第5路模拟量定值报警输出继电器设置

40080

第5路模拟量定值报警设置

40081

第6路模拟量定值报警输出继电器设置

40082

第6路模拟量定值报警设置

40083

第7路模拟量定值报警输出继电器设置

40084

第7路模拟量定值报警设置

40085

第8路模拟量定值报警输出继电器设置

40086

第8路模拟量定值报警设置

400101

MODBUS地址

400102

IP地址高16位

400103

IP地址低16位

400104

网关地址高16位

400105

网关地址低16位

400106

子网掩码高16位

400107

子网掩码低16位

400108

MAC地址高16位

400109

MAC地址中16位

400110

MAC地址低16位

400117

继电器设置

最低位对应第1路继电器输出

某位=1,对应的继电器在得到吸合命令后,吸合400118设置时间后释放,也就是点动功能

400118

继电器释放时间

单位0.05s

400119

串口1设置

0XQWST

400120

串口2设置

0XQWST

400121

串口1延时设置

单位1ms

400122

串口2延时设置

400123

系统时间

年(高字节)月压缩BCD码

400124

日(高字节)小时压缩BCD码

400125

分(高字节)秒压缩BCD码

400126

毫秒(最大999毫秒)

0XQWST的含义

Q为二进制最高4位,W为次高4位,S位次低4位,T为最低4位

Q为串口的奇偶设置,Q=0X1为N81Q=0XD为E81Q=0XE为O81

S为主从设备设置,S=0该串口为从设备,S=1该串口为主设备,用于MODBUSTCP/MODBUS桥设备。

T为串口波特率设置,

T

波特率

9600

1

300

2

600

3

1200

4

2400

5

4800

6

7

19200

8

38400

9

57600

A

B

C

D

E

F

关于系统时间的说明:

当日毫秒时钟是指从当日0:

00开始计时的以毫秒为单位的一个32位数,其最大计数为86,400,000。

系统日期是指从2000年1月1日开始的天数,系统中保留了2000年~2099年的日期,对应2100年以后的日期,系统不能保证正确。

系统时间还有3个保持寄存器,保存年、月、日、时、分、秒,是系统实时钟芯片的时钟,与系统的时间和日期是相互关联的,设置一个,则会同时也设置另外一个而不用外界干预。

0X03

1TO125(0X7D)

N*2

N*2BYTE

0X03+0X80

06

寄存器高(108)

寄存器低(108)

2B

寄存器高(109)

寄存器低(109)

寄存器高(110)

寄存器低(110)

64

读输入寄存器

04

30001--30024

不大于12

读取输入数据。

读出值为16位整数

300001

第1路直流模拟量

5000满量程(5V或者20ma)

300002

第2路直流模拟量

300003

第3路直流模拟量

300004

第4路直流模拟量

300005

第5路直流模拟量

300006

第6路直流模拟量

300007

第7路直流模拟量

300008

第8路直流模拟量

300009

第1路开关量信号频率

闸门时间内的计数值

300010

第2路开关量信号频率

300011

第3路开关量信号频率

300012

第4路开关量信号频率

300013

第5路开关量信号频率

300014

第6路开关量信号频率

300015

第7路开关量信号频率

300016

第8路开关量信号频率

300017

第9路开关量信号频率

300018

第10路开关量信号频率

300019

第11路开关量信号频率

300020

第12路开关量信号频率

300021

第13路开关量信号频率

300022

第14路开关量信号频率

300023

第15路开关量信号频率

300024

第16路开关量信号频率

0X04

0X04+0X80

04

08

输入寄

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1