蜀谷智能差压流量计SGQ通讯说明文档

  • 格式:pdf
  • 大小:212.45 KB
  • 文档页数:7
行处理。在进行 CRC 码计算时只用 8 位数据位,起始位及停止位,如有奇偶校验位 的话也包括奇偶校验位,都不参与 CRC 码计算。
SGQ 智能流量计采用 MODBUS RTU 通讯协议,使用了其中的 0 类命令进行数 据的交互。
功能码
含义
用途
03
读多个寄存器
读取流量计数据
16
写多个寄存器
3、读多寄存器 (FC3)
ZeroName 列表
-6-
strMode 列表 0 法兰取压 1 角接取压
8 氢气含量 9 当地大气压 10 差压小信号切除
0 差压 1 压力 2 温度
四川蜀谷仪表科技有限公司 2010.12.30
-7-
说明
SR3 byte byte 星期 小时
SR4
byte byte


SR5
SR6
SR7
int

--
--
--
--
--
--
--
--
分钟 秒 星期 小时
i0
i1
i0
i1
lTotel0
fValue0
fValue0
fFreq0
fFreq0
SR8 SR9
--
--
--
--
--
--
--
--
月日 年
--
--
--
--
字节数
1
1
2
2
2
4.1 读多个寄存器实例 修改计量直径为 300mm,查通讯地址表可知,计量管直径的通讯地址为 11、占
两个寄存器长度,通讯数据报文内容如下。 主机请求数据报文格式:
设备地址 功能码 起始地址
数据长度
数据
CRC 校验码
01
10 00 0B 00
02 04 00 00 43 03 42
功能码:主机发送的功能码请求流量计完成什么任务。功能码的具体含义及操作
如下所示。
代码
含义
操作
03
读取寄存器数据
读取一个寄存器或连续多个寄存器的二进制值
16
设置寄存器的值从机执行什么动作或由从机采集的返送信息。这些信息
可以是数值、参考地址等等。例如,功能码告诉从机读取寄存器的值,则数据区必需
8位
8位
N × 8位
16 位
地址码:地址码是信息帧的第一字节(8 位),从 1 到 127。这个字节表明由用户 设置地址的 SGQ 流量计将接收由主机发送来的信息。每个流量计都必须有唯一的地 址码,并且只有符合地址码的流量计才能响应回送。当流量计回送信息时,相对应的
地址码表明该信息来自于何处,SGQ 流量计在出厂时地址设置为 1,该值可以通过 流量计按键操作重新设置或由厂家管理软件设置,特别当有多台 SGQ 流量计参与通 讯时,更改地址是必须的。
分钟,秒 星期,小时 月份,日期 年 小时平均差压(kPa) 小时平均压力(MPa) 小时平均温度(℃) 小时累计流量(Nm3/h) 表累计流量(Nm3)
5:1Cr13,2Cr13
6:1Cr17
7:12Cr1MoV
8:Cr6SiMo
9:2Cr12NiMoV
10:普通碳钢
11:工业用铜
12:黄铜
13:红铜
16 地址=11 写寄存器数=2
从机响应数据报文格式:
设备地址 功能码
起始地址
计量管直径=300
数据长度
CRC 校验码
01
10
00
0B
5、SGQ 寄存器地址编码
00
02
30 0A
仪表参数
数据含义
通讯 数据类型 地址
备注
取压方式
int
CO2 含量(%)
float
气质参数
H2 含量(%)
float
天然气高位热值(MJ/m3) float
14:316/316L
int
37
3:有新的小时数据
int
418 2:有新的分钟数据
1:新的日志记录
0:计量
1:清洗
int
419 2:检表
3:换电
4:停表
char,char 420
char,char 421 当前实时时间 char,char 422
int
423
float 424
float 426
float 428
附录:
SGQ智能差压流量计通讯协议
一、通讯参数
通讯接口类型:RS485 通讯速率:9600Baud 数据位:8bit 校验位:无
停止位:1bit 二、通讯协议
SGQ 智能差压流量计采用 MODBUS RTU 通讯协议,使用了其中的 0 类命令进 行数据的交互。
1、信息帧结构
地址码
功能码
数据区
错误校验码
包含要读取寄存器的起始地址及读取长度。对于不同的从机,地址和数据信息都不相
同。
错误校验码:主机或从机可用校验码进行判别接收信息是否出错。有时,由于电
子噪声或其它一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主
机或从机对在传送过程中出错的信息不起作用。这样增加了系统的安全和效率。错误
校验采用 CRC-16 校验方法。 注:信息帧的格式都基本相同:地址码、功能码、数据区和错误校验码。
UserID
UserID 1
UserID
2 UserID
3 UserID
4 UserID
5 UserID
6 UserID
7 UserID
UserID 8
UserID
事件子 类型码
SR1
int
0 1 0 1 ----nameID zeroID 0 1
SR2 byte byte 分钟 秒
事件发生时间
详细日志内容
测量值通讯地址连续,可通过读多个寄存器方式一次性都读出来,起始地址为 424 (0x01A8),寄存器数量为 10。 主机发送请求包格式:
设备地址 功能码 起始地址
数据长度
CRC 校验码
01
03
01 A8
00
0A
45
D1
从机响应数据包格式:











数据内容
CRC 校 验码
01 03 10 8B 4A 41 5C 5A CC 3A 5A 36 2B 3E A2 D9 E1 3E A4 ED 0B 00 03 B5 10
lTotel1
fValue1
fValue1
fFreq1
fFreq1
上电 掉电 登陆 注销 时间调整至:SR6~SR9 时刻 状态修改:strState[i0] -> strState[i1] 取压方式修改:strMode[i0] -> strMode[i2] 累计量修改:lTotel0 -> lTotel1 Name[nameID]修改:fValue0 -> fValue1 ZeroName[zeroID]修改:fValue0 -> fValue1 实时时钟修改:fFreq0 -> fFreq1 子系统时钟修改:fFreq0 -> fFreq1
解析表
Int
641
分钟,秒
char,char 642
星期,小时
char,char 643
月份,日期
char,char 644

int
645
事件记录其数值意义与事
646
件类型和事件子类型相关
647

648
649
-5-
日志记录解析表 事件 类型
用户号
寄存器
SR0
数据 类型
byte byte
UserID 0
char,char 620
小时,星期
char,char 621
日期,月份
char,char 622
年 分钟平均差压(kPa) 分钟平均压力(MPa)
int
623
每读一次会有一条新
float 624
记录
float 626
分钟平均温度(℃)
float 628
分钟累计流量(Nm3/m)
long 630
表累计流量(Nm3)
2、错误校验 冗余循环码(CRC)包含 2 个字节,即 16 位二进制。CRC 码由发送设备计算,
放置于发送信息的尾部。接收信息的设备再重新计算接收到信息的 CRC 码,比较计
-1-
算得到的 CRC 码是否与接收到的相符,如果两者不相符,则表明出错。 CRC 码的计算方法是,先预置 16 位寄存器全为 1。再逐步把每 8 位数据信息进
用户 ID 号(UserID)说明 0 系统 1 值班员 2 检定员 3 管理员 4 维护员 5 计算机
Name 列表 0 静压量程 1 计量管内径 2 孔板直径 3 孔板尖锐度系数 4 管壁粗糙度 5 气体相对密度 6 气体高位热值 7 二氧化碳含量
strState 列表 0 计量 1 清洗 2 检表 3 换电 4 停表
温度=13.784006
压力=0.000833
4、写多寄存器 (FC16) 主机请求数据报文格式:
差压=0.316820
瞬量=0.321975
累计量=257291
请求包格式 设备地址
字节数
1
功能码 1
数据长度 2n 1
寄存器的内容 2n
CRC-16 2
-2-
从机响应数据报文格式:
响应包格式 设备地址 功能码 寄存器开始地址 读寄存器数目 n CRC-16