杭州金田电磁转换器MODBUS通讯协议

2023-11-05 05:48

本文主要是介绍杭州金田电磁转换器MODBUS通讯协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

杭州金田电磁转换器MODBUS通讯协议

通讯协议采用标准MODBUS RTU通讯协议。仪表为从机。

  • RTU消息帧定义

数据通讯由主机发起,主机首先发送RTU消息帧,消息帧发送至少要以3.5个字符时间的停顿间隔开始。传输的第一个字节是设备地址。可以使用的传输字符是十六进制的0...9,A...F。所有的从设备不断侦测网络总线,包括停顿间隔时间内。当第一个地址字节接收到,每个设备都进行解码以判断是否发往自己的。在最后一个传输字符之后,一个至少3.5个字符时间的停顿标定了消息的结束。一个新的消息可在此停顿后开始。

整个消息帧必须作为一连续的流转输。如果在帧完成之前有超过1.5个字符时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于3.5个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。这将导致一个错误,因为在最后的CRC域的值不可能是正确的。消息帧定义如下所示:

 

RTU消息帧基本定义

0

1

2

3

4

5

6

7

设备地址

功能编码

地址1

地址0

数据1

数据0

CRC

CRC

8位字节

8位字节

8位字节

8位字节

8位字节

8位字节

8位字节

8位字节

 

  • 参数读出命令
    1. 主机命令格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

03

0

00--35

0

1

XX

XX

 

    1. 从机回应格式

0

1

2

3

4

5

6

设备地址

功能代码

长度

数据1

数据0

CRC

CRC

1~99

03

2

高字节

低字节

XX

XX

数据 = 数据1  数据0;

注意:读出时,参数编号加1(MODBUS协议规定),如主机命令中参数编号为08,读出的参数编号为09。

 

  • 改写参数命令
    1. 主机命令格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

06

0

00—35

高字节

低字节

XX

XX

 

    1. 从机回应格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

06

0

00—35

高字节

低字节

XX

XX

从机将接收到的数据原样传回,主机可用于校验。注意:该数据不是写后数据。从机写参数需要50毫秒,即50毫秒后才能正确读出该参数。

注意:改写时,被改写得参数编号加1(MODBUS协议规定),如主机命令中参数编号为08,改写的参数编号为09。

 

  • 读出瞬时流量、流速、百分比、空管比、报警
    1. 主机命令格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

04

0

0

0

5

XX

XX

 

 

    1. 从机回应格式

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

设备地址

功能代码

字节数量

流量高位

流量低位

单位数点

流速高位

流速低位

百分比高

百分比低

空管比高

空管比低

报警状态

crc

crc

1-99

04

10

 

 

 

 

 

 

 

 

 

 

 

 

 

单位数点字节的B7是正负符号位,B7 = 0 流量为正向;B7 = 1 流量为反向;

单位数点字节的B6B5B4是小数点位置:

B6B5B4 = 0  .00000 B6B5B4 = 1  0.0000 B6B5B4 = 2  00.000

B6B5B4 = 3  000.00 B6B5B4 = 4  0000.0 B6B5B4 = 5  00000.

单位数点字节的B2B1B0是流量单位:

B2B1B0 = 0  LTR / s B2B1B0 = 1  LTR / m B2B1B0 = 2  LTR / h

B2B1B0 = 3  M3 / s B2B1B0 = 4  M3 / m B2B1B0 = 5  M3 / h

B2B1B0 = 6  UGK B2B1B0 = 7  USK

流速固定显示为:  XX.XXX m / s;

百分比固定显示为:  XXX.XX %;

空管比固定显示为:  XXXXX %;

报警状态字节:

B0 = 1 上限报警、 B1 = 1 下限报警、B2 = 1 空管报警、B3 = 1 系统报警;

 

  • 读出累计总量
    1. 主机命令格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

04

0

5

0

5

XX

XX

 

    1. 从机回应格式

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

设备地址

功能代码

字节数量

正向总量3

正向总量2

正向总量1

正向总量0

反向总量3

反向总量2

反向总量1

反向总量0

总量单位

保留

Crc

Crc

1-99

04

10

 

 

 

 

 

 

 

 

 

0

 

 

 

总量值  =  字节3  字节2  字节1  字节0

总量单位 = 00   000000.000  Ltr 总量单位 = 01   0000000.00  Ltr

总量单位 = 02   00000000.0  Ltr 总量单位 = 03   000000000.  Ltr

总量单位 = 04   000000.000  M3 总量单位 = 05   0000000.00  M3

总量单位 = 06   00000000.0  M3 总量单位 = 07   000000000.  M3

总量单位 = 08   000000.000  UKG 总量单位 = 09   0000000.00  UKG

总量单位 = 10   00000000.0  UKG 总量单位 = 11   000000000.  UKG

总量单位 = 12   000000.000  USG 总量单位 = 13   0000000.00  USG

总量单位 = 14   00000000.0  USG 总量单位 = 15   000000000.  USG

 

  • 读出瞬时流量、正向总量
    1. 主机命令格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

04

0

10

0

4

XX

XX

 

    1. 从机回应格式

0

1

2

3

4

5

6

7

8

9

10

11

12

设备地址

功能代码

字节数量

瞬时流量

瞬时流量

数点单位

正向总量

正向总量

正向总量

正向总量

总量单位

Crc

Crc

1-99

04

8

 

 

 

 

 

 

 

 

 

 

 

  • 读出瞬时流量、反向总量
    1. 主机命令格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

04

0

14

0

4

XX

XX

 

    1. 从机回应格式

0

1

2

3

4

5

6

7

8

9

10

11

12

设备地址

功能代码

字节数量

瞬时流量

瞬时流量

数点单位

反向总量

反向总量

反向总量

反向总量

总量单位

crc

Crc

1-99

04

8

 

 

 

 

 

 

 

 

 

 

 

  • 写操作密码
    1. 主机命令格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

06

0

63

密码高位

密码低位

XX

XX

 

    1. 从机回应格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

06

0

63

密码高位

密码低位

XX

XX

注意:改写时,被改写得参数编号加1(MODBUS协议规定),如主机命令中参数编号为63,改写的参数编号为64。

参数编号: 64:写操作密码

 

九、读出电子时钟

    1. 主机命令格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

03

0

64—69

0

1

XX

XX

 

    1. 从机回应格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

03

0

64—69

 

日期时间

XX

XX

注意:读出时,参数编号加1(MODBUS协议规定),如主机命令中参数编号为68,读出的参数编号为69(即为分)。

参数编号: 65:年、66:月、67:日、68:时、69:分、70:秒

 

  • 写电子时钟
    1. 主机命令格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

06

0

64—69

0

日期时间

XX

XX

    1. 从机回应格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

06

0

64—69

 

日期时间

XX

XX

注意:改写时,被改写得参数编号加1(MODBUS协议规定),如主机命令中参数编号为68,改写的参数编号为69(即为分)。

参数编号: 65:年、66:月、67:日、68:时、69:分、70:秒

 

 

 

 

 

  • 读总量控制(仪表带总量控制功能)
    1. 主机命令格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

04

0

26

0

4

XX

XX

b)   从机回应格式

0

1

2

3

4

5

6

7

8

9

10

11

12

设备地址

功能代码

字节数量

总量控制时间

总量控制时间

总量控制时间

总量控制时间

总量控制数值

总量控制数值

总量控制数值

总量控制数值

crc

Crc

1-99

04

8

D1

D2

D3

D4

D5

D6

D7

D8

 

 

 

注意:时间的单位为0.1s

例:总量控制时间=D1*256*256*256+D2*256*256+D3*256+D4

  • 读掉电总数据(仪表带掉电功能)
    1. 主机命令格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

04

0

18

0

4

XX

XX

b)   从机回应格式

0

1

2

3

4

5

6

7

8

9

10

11

12

设备地址

功能代码

字节数量

掉电指针

掉电指针

掉电次数

掉电次数

掉电时间总计

掉电时间总计

掉电时间总计

掉电时间总计

crc

Crc

1-99

04

8

D1

D2

D3

D4

D5

D6

D7

D8

 

 

 

注意:时间的单位为1。

 

 

  • 读掉电总数据(仪表带掉电功能)
    1. 主机命令格式

0

1

2

3

4

5

6

7

设备地址

功能代码

地址1

地址0

数据1

数据0

CRC

CRC

1~99

04

A0

A1

0

4

XX

XX

b)   从机回应格式

0

1

2

3

4

5

6

7

8

9

10

11

12

设备地址

功能代码

字节数量

掉电数据

掉电数据

掉电数据

掉电数据

掉电数据

掉电数据

掉电数据

掉电数据

crc

Crc

1-99

04

8

D1

D2

D3

D4

D5

D6

D7

D8

 

 

 

地址为0x2000+偏移量

D1:秒

D2:分

D3:时

D4:日

D5:月

D6:年

例:读取掉电指针为2,想要读取最新的掉电数据,则掉电时间地址为x2000+8*2,上电时间地址为0x2000+8*2+4。

 

 

 

 


附录一   参数定义表

参数编号

参数定义

参数取值范围

权限

01

语言

0、 1

 

02

仪表通讯地址

0~99

 

03

仪表通讯速度

0~6

 

04

测量管道口径

0~36

 

05

流量方向择项

0、1

 

06

仪表量程范围

00000~99999

 

07

流量单位

0~7

 

08

测量阻尼时间

0~9

 

09

小信号切除点

00.000~199.99

 

10

允许切除显示

0、1

 

11

流量累积单位

0~15

 

12

反向输出允许

0、1

 

13

电流输出类型

0、1

 

14

电流零点修正

0.0000~1.9999

 

15

电流满度修正

0.0000~1.9999

 

16

脉冲输出方式

0、1

 

17

脉冲单位当量

0~15

 

18

脉冲宽度时间

0~9

 

19

频率输出范围

0000~5000

 

20

上限报警允许

0、1

 

21

上限报警数值

000.00~100.00

 

22

下限报警允许

0、1

 

23

下限报警数值

00000~100.00

 

24

空管报警允许

0、1

 

25

空管报警阈值

00000~19999

 

26

空管量程修正

00000~3.9999

 

27

励磁方式选择

0~2

 

28

流量零点校正

±0000~9999

 

29

传感器系数值

0.0000~3.9999

 

30

仪表计算系数

0.0000~3.9999

 

31

保留

保留

 

32

出厂标定系数

0.0000~3.9999

 

33

尖峰抑制系数

0~9

 

34

尖峰抑制时间

0~9

 

35

尖峰抑制允许

0、1

 

36

传感器常数值

00~99

 

附录二 仪表通讯速度

编号

通讯速度

编号

通讯速度

编号

通讯速度

0

300

1

600

2

1200

3

2400

4

4800

5

9600

6

19200

 

 

 

 

 

附录三   管道口径表(mm)

编号

口径值

编号

口径值

编号

口径值

0

3

12

125

24

900

1

6

13

150

25

1000

2

10

14

200

26

1200

3

15

15

250

27

1400

4

20

16

300

28

1600

5

25

17

350

29

1800

6

32

18

400

30

2000

7

40

19

450

31

2200

8

50

20

500

32

2400

9

65

21

600

33

2500

10

80

22

700

34

2600

11

100

23

800

35

2800

36

3000

 

 

 

 

附录四 阻尼时间(ms)

编号

时间

编号

时间

编号

时间

编号

时间

编号

时间

0

1

1

2

2

3

3

4

4

6

5

8

6

10

7

15

8

30

9

50

附录五 脉冲单位当量

编号

当量值

编号

当量值

编号

当量值

编号

当量值

0

0.001L

1

0.01L

2

0.1L

3

1L

4

0.001m3

5

0.01m3

6

0.1m3

7

1m3

8

0.001UKG

9

0.01UKG

10

0.1UKG

11

1UKG

12

0.001USG

13

0.01USG

14

0.1USG

15

1USG

附录六 脉冲宽度时间(ms)

编号

宽度

时间

编号

宽度

时间

编号

宽度

时间

编号

宽度

时间

编号

宽度

时间

0

4

1

8

2

20

3

30

4

40

5

80

6

100

7

150

8

200

9

400

附录七 尖峰抑制系数(m/s)

编号

抑制

系数

编号

抑制

系数

编号

抑制

系数

编号

抑制

系数

编号

抑制

系数

0

0.800

1

0.500

2

0.300

3

0.200

4

0.100

5

0.080

6

0.050

7

0.030

8

0.020

9

0.010

附录八 尖峰抑制时间(ms)

编号

抑制

时间

编号

抑制

时间

编号

抑制

时间

编号

抑制

时间

编号

抑制

时间

0

400

1

500

2

600

3

700

4

800

5

900

6

1000

7

1500

8

2000

9

2500

 

 

这篇关于杭州金田电磁转换器MODBUS通讯协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/347828

相关文章

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

Java Websocket实例【服务端与客户端实现全双工通讯】

Java Websocket实例【服务端与客户端实现全双工通讯】 现很多网站为了实现即时通讯,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏 览器需要不断的向服务器发出请求,然而HTTP

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

Modbus-RTU协议

一、协议概述 Modbus-RTU(Remote Terminal Unit)是一种基于主从架构的通信协议,采用二进制数据表示,消息中的每个8位字节含有两个4位十六进制字符。它主要通过RS-485、RS-232、RS-422等物理接口实现数据的传输,传输距离远、抗干扰能力强、通信效率高。 二、报文结构 一个标准的Modbus-RTU报文通常包含以下部分: 地址域:单个字节,表示从站设备

网络原理之TCP协议(万字详解!!!)

目录 前言 TCP协议段格式 TCP协议相关特性 1.确认应答 2.超时重传 3.连接管理(三次握手、四次挥手) 三次握手(建立TCP连接) 四次挥手(断开连接)  4.滑动窗口 5.流量控制 6.拥塞控制 7.延迟应答 8.捎带应答  9.基于字节流 10.异常情况的处理 小结  前言 在前面,我们已经讲解了有关UDP协议的相关知识,但是在传输层,还有

css选择器和xpath选择器在线转换器

具体前往:Css Selector(选择器)转Xpath在线工具

DNS协议基础笔记

1.定义 DNS(Domain Name System,域名系统)是互联网的一项核心服务,它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。 2.域名解析过程 当用户在浏览器中输入一个域名,浏览器首先会检查自己的缓存中是否有该域名对应的 IP 地址。本地 DNS 服务器收到查询请求后,首先会检查自己的缓存中是否有该域名对应的 IP 地址。根域名服务器收到查询请

4G模块、WIFI模块、NBIOT模块通过AT指令连接华为云物联网服务器(MQTT协议)

MQTT协议概述 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,它被设计用来提供一对多的消息分发和应用之间的通讯,尤其适用于远程位置的设备和高延迟或低带宽的网络。MQTT协议基于客户端-服务器架构,客户端可以订阅任意数量的主题,并可以发布消息到这些主题。服务器(通常称为MQTT Broker)则负责接受来自客户端的连接请求,并转发消

STM32 HAL CAN通讯 实操

1、简介 相比于串口通讯,对于刚接触CAN通讯的小白来说,CAN通讯相对复杂,看各种视频、帖子理论,总是一知半解。本次通过傻瓜式操作,先实现CAN通讯的交互,以提高小白的信心,也便于自己复习观看。本次以STM32CubeMX进行初始化配置,通过Keil 5软件进行软件设计,通过CAN盒实现进行数据的交互。该流程实际以STM32F0、F1、F3、F4、F7实测好用(理论上都适用),这三种型号单片机