XCT串口及通讯协议.docx
《XCT串口及通讯协议.docx》由会员分享,可在线阅读,更多相关《XCT串口及通讯协议.docx(62页珍藏版)》请在冰豆网上搜索。
XCT串口及通讯协议
串口及通讯协议
§1、概述
XCT-2000系列超声波流量计/热量表本身带有隔离RS485接口。
新版XCT-2000可以同时支持多种常用的通信协议,包括MODBUS协议、M-BUS、FUJI扩展协议、部分其它厂家流量计水表兼容协议。
MODBUS协议是常规的工控常用协议。
MODBUS的两种格式RTU和ASCII都能支持。
FUJI扩展协议是在日本FUJI超声波流量计协议的基础上扩展实现的,能够兼容FUJI超声波流量计协议,以及第7版超声波流量计协议。
兼容协议可以兼容水表协议以及部分其它厂家水表协议。
XCT-2000还能够起到简易RTU设备的作用。
可使用电流环及OCT输出控制步进式或模拟式电磁阀的开度,OCT输出可控制其他设备的上下电,其1路模拟输入可用来输入压力、温度等信号。
使用RS485则可以接入RS-485总线。
也可以使用GSM短信息模块板,通过短信息传输流量/热量测量数据。
该模块板可以多机组网,还可以使用普通手机(移动电话)查看流量计的工作状态和测量数据。
在网络环境中使用时,除标识地址码的编程需使用XCT-2000的键盘外,其他各个量的操作均可在上位机上进行。
数据的传输采用命令应答方式,即上位机发出命令,流量计做出相应的回答。
流量数据采集可以使用本公司研制开发的通用/专用流量/热量数据监控系统,该系统基于XCT-2000流量计的特点,充分利用了流量计特色的软硬件设计,具有投资少、系统简单明快、运行可靠等特点。
§2、MODBUS协议
MODBUS协议的两种格式都能支持。
通过在菜单窗口M63中,选择使用MODBUS-RTU还是MODBUS-ASCII格式。
默认状态下支持MODBUS-ASCII格式。
XCT-2000型系列超声波流量计/热量表只能支持MODBUS功能代码03和06以及16三种功能代码,分别是读寄存器和写单一寄存器以及数据块写入功能。
例如在RTU方式下读取1号设备的从寄存器1开始的10个寄存器的命令如下
01030000000AC5CD(十六进制数字)
设备号功能起始寄存器寄存器数目效验和
在ASCII方式下读取1号设备的从寄存器1开始的10个寄存器的命令如下:
01030000000AF2(回车换行)
有关MODBUS协议细节请参考有关资料。
在默认状态下通信的设置速率一般是9600、无效验、8数据位、1个停止位。
§2.1MODBUS寄存器地址表
(注意与水表协议的不同之处)
寄存器
寄存器个数
变量名称
数据类型
说明
0001-0002
2
瞬时流量
REAL4
单位:
立方米/小时
0003-0004
2
瞬时热流量
REAL4
单位:
GJ/小时
0005-0006
2
流体速度
REAL4
单位:
米/秒
0007-0008
2
测量流体声速
REAL4
单位:
米/秒
0009-0010
2
正累积流量
LONG
累积器单位由M32窗口确定
0011-0012
2
正累积流量小数部分
REAL4
REAL4是标准IEEE-754格式单精度浮点数。
该格式数据一般也称为FLOAT格式
0013-0014
2
负累积流量
LONG
LONG是低字在前带符号长整数
0015-0016
2
负累积流量小数部分
REAL4
0017-0018
2
正累积热量
LONG
0019-0020
2
正累积热量小数部分
REAL4
0021-0022
2
负累积热量
LONG
0023-0024
2
负累积热量小数部分
REAL4
0025-0026
2
净累积流量
LONG
0027-0028
2
净累积流量小数部分
REAL4
0029-0030
2
净累积热量
LONG
0031-0032
2
净累积热量小数部分
REAL4
0033-0034
2
温度1/进水温度
REAL4
单位:
℃
0035-0036
2
温度2/回水温度
REAL4
单位:
℃
0037-0038
2
模拟输入AI3量
REAL4
0039-0040
2
模拟输入AI4量
REAL4
0041-0042
2
模拟输入AI5量
REAL4
0043-0044
2
模拟输入AI3电流值
REAL4
单位:
毫安
0045-0046
2
模拟输入AI4电流值
REAL4
单位:
毫安
0047-0048
2
模拟输入AI5电流值
REAL4
单位:
毫安
0049-0050
2
系统设置密码
BCD
可写。
00H表示取消密码设置
0051
1
硬件设置密码
BCD
可写。
“A55Ah”表示打开
0053-0055
3
仪表日期时间
BCD
可写。
6字节BCD数分别表示秒分时日月年,低位在前
0056
1
自动储存数据日小时
BCD
可写。
2个字节表示定时储存数据开始的时间和天,例如0312H表示每月3日12时储存数据。
0012H表示每日12时储存数据。
0059
1
输入键值(可模拟键盘)
INTEGER
可写。
参看说明书键值表
0060
1
使显示器显示x号菜单
INTEGER
可写。
0061
1
输入背光点亮时间
INTEGER
可写。
单位秒
0062
1
蜂鸣器剩余鸣响次数
INTEGER
可写。
最大255次
0062
1
OCT剩余脉冲数目
INTEGER
可写。
最大65536
0072
1
仪表工作错误代码
BIT
16比特位分别表示含义见备注4
0077-0078
2
进水电阻数
REAL4
单位欧姆
0079-0080
2
回水电阻数
REAL4
单位欧姆
0081-0082
2
超声波总传播时间
REAL4
单位微妙
0083-0084
2
超声波传播时间时差
REAL4
单位纳秒
0085-0086
2
超声波上游传播时间
REAL4
单位微妙
0087-0088
2
超声波下游传播时间
REAL4
单位微妙
0089-0090
2
当前电流环输出电流值
REAL4
单位毫安
0092
1
工作步骤和信号质量
INTEGER
高字节表示信号调整步骤
底字节表示信号质量,数值范围0-9,数值大表示信号好
0093
1
上游信号强度
INTEGER
数值范围0-4095
0094
1
下游信号强度
INTEGER
数值范围0-4095
0096
1
操作界面语言类型
INTEGER
0表示中文,1表示英文
0097-0098
2
超声波信号传输比
REAL4
正常范围100+-3%
0099-0100
2
当前雷诺数
REAL4
0101-0102
2
当前雷诺修正系数
REAL4
0103-0104
2
工作定时器时间
LONG
无符号,单位秒
0105-0106
2
总工作时间
LONG
无符号,单位秒
0105-0106
2
总上电次数
LONG
无符号
0113-0114
2
净累积流量(浮点形式)
REAL4
单位为立方米,7位有效数字
0115-0116
2
正累积流量(浮点形式)
REAL4
单位为立方米,7位有效数字
0117-0118
2
负累积流量(浮点形式)
REAL4
单位为立方米,7位有效数字
0119-0120
2
净累积热量(浮点形式)
REAL4
单位为GJ,7位有效数字
0121-0122
2
正累积热量(浮点形式)
REAL4
单位为GJ,7位有效数字
0123-0124
2
负累积热量(浮点形式)
REAL4
单位为GJ,7位有效数字
0125-0126
2
今天累积流量(浮点形式)
REAL4
单位为立方米,7位有效数字
0127-0128
2
本月累积流量(浮点形式)
REAL4
单位为立方米,7位有效数字
0129-0130
2
手动累积器流量
LONG
0131-0132
2
手动累积器小数部分
REAL4
0133-0134
2
批量控制器累积流量
LONG
0135-0136
2
批量控制器小数部分
REAL4
0137-0138
2
今天累积流量
LONG
0139-0140
2
今天累积流量小数部分
REAL4
0141-0142
2
本月累积流量
LONG
0143-0144
2
本月累积流量小数部分
REAL4
0145-0146
2
今年累积流量
LONG
0147-0148
2
今年累积流量小数部分
REAL4
0158
1
当前显示所在菜单
INTEGER
0165-0166
2
故障运行时间
LONG
单位:
秒
0173-0174
2
当前频率输出值
REAL4
单位:
Hz
0175-0176
2
当前电流环输出值
REAL4
单位:
mA
0181-0182
2
当前温差
REAL4
单位:
℃
0183-0184
2
本次上电所补加的流量
REAL4
单位:
立方米
0185-0186
2
频率系数
REAL4
应该小于0.1
0187-0188
2
自动储存总时间
LONG
储存时间由寄存器0056确定
0189-0190
2
自动储存正累积流量
REAL4
储存时间由寄存器0056确定
0191-0192
2
自动储存瞬时流量
REAL4
储存时间由寄存器0056确定
0221-0222
2
管道内经
REAL4
单位毫米
0229-0230
2
上游传播延迟
REAL4
单位微秒
0231-0232
2
下游传播延迟
REAL4
单位微秒
0233-0234
2
估算总传播时间
REAL4
单位微秒
0257-0288
32
显示器缓冲区
BCD
可读出
0289
1
显示器缓冲区存储指针
INTEGER
0311
2
今天已工作时间
LONG
无符号,单位秒
0313
2
本月已工作时间
LONG
无符号,单位秒
0315
2
今天最大瞬时流量
INTEGER
单位:
m3/h
0317
2
当月最大瞬时流量
INTEGER
单位:
m3/h
1437
1
当前瞬时流量计量单位
INTEGER
取值0-31见注5
1438
1
当前累积流量计量单位
INTEGER
取值0-7见注1
1439
1
当前累积流量倍乘因子
INTEGER
n取值0-7,见注解1
1440
1
当前累积热量倍乘因子
INTEGER
n取值0-10,见注解1
1441
1
当前热量计量单位
INTEGER
0=GJ,1=Kcal
2=KWh,3=BTU
1442
1
仪表通讯地址号码
INTEGER
1451
2
用户标尺因子
REAL4
1521
2
厂家标尺因子
REAL4
不可改写
1529
2
设备电子序列号码
BCD
本设备电子序列号码
请注意高位在前
注:
(1)内部累积量使用了长整数和小数组合的方式。
一般使用时,只读整数部分即可,小数部分可以忽略。
累积量的大小和累积单位及倍乘因子有关系,它们之间的确切关系是,设累积整数部分N(对正累积而言是寄存器0009,0010中数值,32比特带符号长整数),累积的小数部分为Nf(对正累积而言是寄存器0011、0012中内容,4字节浮点数),而累积流量倍乘因子为n(寄存器1439)
则正累积流量=(N+Nf)×10n-3(单位在累积流量单位1438寄存器中确定)。
寄存器1438中取值0-7含义如下:
0立方米(m3)
1公升(L)
2美制加仑(GAL)
3英制加仑(IGL)
4美制兆加仑(MGL)
5立方英尺(CF)
6美制石油桶[42](OB)
7英制石油桶(IB)
累积热量=(N+Nf)×10n-4
其中:
对于净热量,N值在寄存器0029,0030中
对于净热量,Nf值在寄存器0031,0032中
n值在寄存器1440中确定,
累积热量单位在寄存器1441中确定。
(2)其他变量不再给出,如果您有需求可咨询我公司
(3)请注意上表格中的很多数据对于非热量计来说是无效的,在单独使用流量计时,可以忽略无关项。
这些无关项主要是为了使我们的产品的通讯协议统一,便于用户使用。
(4)错误代码是16比特位其含义如下:
Bit0没有收到信号错误
Bit1信号太低错误
Bit2信号差错误
Bit3管道空错误
Bit4电路硬件错误
Bit5正在调整电路增益
Bit6频率输出超量程错误
Bit7电流环输出电流过量程错误(一般情形下需要设置最大量程)
Bit8内部数据寄存器效验错误
Bit9主振频率或者时钟频率存在错误
Bit10参数区存在效验和错误
Bit11程序存储器数据效验和错误
Bit12温度测量电路可能存在错误
Bit13保留待用
Bit14内部计时器溢出错误
Bit15模拟输入电路存在错误
注意如果对于流量计,使用此代码时请先注意屏蔽掉那些与热量测量有关的位,因为那些位的状态不是确定的。
(5)瞬时流量单位代码如下:
0
立方米/秒
1
立方米/分
2
立方米/小时
3
立方米/天
4
公升/秒
5
公升/分
6
公升/小时
7
公升/天
8
美制加仑/秒
9
美制加仑/分
10
美制加仑/小时
11
美制加仑/天
12
英制加仑/秒
13
英制加仑/分
14
英制加仑/小时
15
英制加仑/天
16
美制兆加仑/秒
17
美制兆加仑/分
18
美制兆加仑/小时
19
美制兆加仑/天
20
立方英尺/秒
21
立方英尺/分
22
立方英尺/小时
23
立方英尺/天
24
美制石油桶/秒
25
美制石油桶/分
26
美制石油桶/小时
27
美制石油桶/天
28
英制石油桶/秒
29
英制石油桶/分
30
英制石油桶/小时
31
英制石油桶/天
§2.2年月日累积数据MODBUS地址表
(1)日累积数据
每日累积数据采用16个字节大小的数据块循环队储存,共有128个数据块,当前的数据块指针地址在寄存器0162中,其数值范围为0~127。
当前指针指向“昨天”的数据,当前指针减1则指向“前天”的数据。
数据指针等于0时再减1则指向数据块127。
设0162中数为1,则昨天的累积数据在寄存器3337-3344中,前天的数据在3329-3336中,大前天的数据在4345-4352中。
地址表如下:
数据
块号
寄存器地址
寄存器
个数
变量名称
数据类型
说明
n/a
0162
1
日累积数据指针
Integer
数值范围0-127
0
2817
1
状态字节和日
BCD
低字节中是状态,高字节是日
2818
1
月和年
BCD
低字节中是月,高字节为年
2819-2820
2
总工作时间
LONG
用于检查全天工作时间
2821-2822
2
全天净累积流量
REAL4
2823-2824
2
全天净累积热流量
REAL4
1
2825
1
状态字节和日
BCD
低字节中是状态,高字节是日
2826
1
月和年
BCD
低字节中是月,高字节为年
2827-2828
2
总工作时间
LONG
用于检查全天工作时间
2829-2830
2
全天净累积流量
REAL4
2831-2832
2
全天净累积热流量
REAL4
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
127
3321-3328
8
第127块数据块
注:
状态字节的含义请见状态字含义说明
(2)月累积数据
月累积数据具有和日累积数据相同的结构,请参考日累积数据说明。
特别的是日期字节总是取0值,且只有63个数据块。
地址表如下:
数据
块号
寄存器地址
寄存器
个数
变量名称
数据类型
说明
n/a
0163
1
月累积数据指针
Integer
数值范围0-63
0
3329
1
状态字节
BCD
低字节是状态
3330
1
月和年
BCD
低字节中是月,高字节为年
3331-3332
2
总工作时间
LONG
用于检查全月工作时间
3333-3334
2
全月净累积流量
REAL4
3335-3336
2
全月净累积热流量
REAL4
1
3337
1
状态字节
BCD
低字节是状态
3338
1
月和年
BCD
低字节中是月,高字节为年
3339-3340
2
总工作时间
LONG
用于检查全月工作时间
3341-3342
2
全月净累积流量
REAL4
3343-3344
2
全月净累积热流量
REAL4
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
63
3577-3584
8
第63块数据块
注:
状态字节的含义请见状态字含义说明
(3)年累积数据是从月累数据中导出来的。
§2.3上电断电数据MODBUS地址表
上电和断电时,新版流量计会纪录时刻和流量当时工作状态字以及断电时间长度,每个数据块有32个字节组成,共有32个数据块,共可记录32次上电和32次断电。
上电断电数据也是采用队列环结构存储,请注意当前数据所在位置和指针有关,并且和日月年累积数据不同的是指针减1才指向当前上电数据,参见日累积部分说明,上断电数据的MODBUS地址表如下:
数据
块号
寄存器地址
寄存器
个数
变量名称
数据类型
说明
n/a
0164
1
上断电数据指针
Integer
数值范围0-31
0
3585
1
上电秒和分钟
BCD
低字节中是秒,高字节为分
3586
1
上电小时和天
BCD
低字节中是小时,高字节为天
3587
1
上电月和年
BCD
低字节中是月,高字节为年
3588
1
上电状态字
BIT
B15标志已补加,其他位参见状态字说明
3589
1
断电秒和分钟
BCD
低字节中是秒,高字节为分
3590
1
断电小时和天
BCD
低字节为小时高字节
3591
1
断电月和年
BCD
低字节中是月,高字节为年
3592
1
断电状态字
BIT
参见状态字说明
3593-3594
2
上电时刻流量
REAL4
上电后60秒时刻数据
3595-3596
2
断电时刻流量
REAL4
3597-3598
2
断电和上电间长
LONG
单位秒
3599-3600
2
所补加的流量
REAL4
单位:
立方米
1
3601
1
上电秒和分钟
BCD
低字节中是秒,高字节为分
3602
1
上电小时和天
BCD
低字节中是小时,高字节为天
3603
1
上电月和年
BCD
低字节中是月,高字节为年
3604
1
上电状态字
BIT
B15标志已补加,其他位参见状态字说明
3605
1
断电秒和分钟
BCD
低字节中是秒,高字节为分
3606
1
断电小时和天
BCD
低字节为小时高字节是天
3607
1
断电月和年
BCD
低字节中是月,高字节为年
3608
1
断电状态字
BIT
参见状态字说明
3609-3610
2
上电时刻流量
REAL4
上电后60秒时刻数据
3611-3612
2
断电时刻流量
REAL4
3613-3614
2
断电和上电间长
LONG
单位秒
3615-3616
2
所补加的流量
REAL4
单位:
立方米
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
31
3825-3840
16
第32块数据块
§3、FUJI扩展通讯协议
XCT-2000新版超声波流量计还可以使用第七版超声波流量计扩展协议。
下表中,那些红色的命令为新添加的协议。
§3.1基本命令
在这个协议中,所传输的数据都是ASCII码,便于调试及查看。
在只能发送一次命令需要多种数据的系统中应用时,可以使用‘&’符号把多个基本命令连接起来形成一个可以一次发送的复合命令。
请参考参考后面的‘&’符号部分说明。
命令
命令意义
数据格式
DQD(cr)注0
返回每天瞬时流量
±d.ddddddE±dd(cr)注1
DQH(cr)
返回每小时瞬时流量
±d.ddddddE±dd(cr)
DQM(cr)
返回每分瞬时流量
±d.ddddddE±dd(cr)
DQS(cr)
返回每秒瞬时流量
±d.ddddddE±dd(cr)
DV(cr)
返回瞬时流速
±d.ddddddE±dd(cr)
DI+(cr)
返回正累积量
±dddddddE±d(cr)注2
DI-(cr)
返回负累积量
±dddddddE±d(cr)
DIN(cr)
返回净累积量
±dddddddE±d(cr)
DIE(cr)
返回热量累积量
±dddddddE±d(cr)
DIE+(cr)
返回正热量累积量
±dddddddE±d(cr)
DIE-(cr)
返回负热量累积量
±dddddddE±d(cr)
DIT(cr)
返回今天净累积流量
±dddddddE±d(cr)
DIM(cr)
返回本月净累积流量
±dddddddE±d(cr)
DIY(cr)
返回今年净累积流量
±dddddddE±d(cr)
DID(cr)
返回仪器标识码(地址码)
ddddd(cr)5位长
E(cr)
返回每秒瞬时热流量
±d.ddddddE±dd(cr)
DL(cr)
返回信号强度
UP:
dd.d,DN:
dd.d,Q=dd(cr)
DS(cr)
返回模拟输出AO的百分比值
±d.ddddddE±dd(cr)
DC(cr)
返回当前错误代码
注3