FM1002系列表计通讯规约100810范文.docx
《FM1002系列表计通讯规约100810范文.docx》由会员分享,可在线阅读,更多相关《FM1002系列表计通讯规约100810范文.docx(40页珍藏版)》请在冰豆网上搜索。
![FM1002系列表计通讯规约100810范文.docx](https://file1.bdocx.com/fileroot1/2023-2/4/a8702f3b-d117-4fb1-a7ff-ed369b113799/a8702f3b-d117-4fb1-a7ff-ed369b1137991.gif)
FM1002系列表计通讯规约100810范文
FM100-2智能测控装置
通讯规约
深圳市华力特电气股份有限公司
版权所有不得复制
1引言
FM100-2系列智能测控装置采用国际标准的MODBUS-RTU通讯协议,可与施耐德、西门子、AB、GE、Modicon等多个国际著名品牌的可编程顺序控制器(PLC)、SCADA,DCS或第三方具有ModBus兼容的监控系统之间进行信息和数据的有效传递。
本通讯规约详细描述了本机串行口通讯的读、写命令格式及内部信息数据的定义,以便第三方开发使用。
2ModBus基本规则
Ø所有RS485通讯回路都应遵照主/从方式。
依照这种方式,数据可以在一个主站(如:
PC)和最多32个从站(如:
FM100-2系列智能测控装置)之间传递。
Ø主站将初始化和控制在RS485通讯回路上传递的所有信息。
Ø通讯的发起方只能为主站,不能为从站。
Ø所有RS485总线上的通信都以“信息帧”(报文)方式发生。
“信息帧”就是一个由数据帧(每一个字节为一个数据帧)构成的字符串(最多255个字节),是由信息头和发送的编码数据构成的标准异步串行数据。
Ø如果主站或子站接收到含有未知命令的信息帧,则不予以响应。
Ø任何情况从站只能响应主站一个请求。
3数据帧格式
通讯传输为异步方式,并以字节(数据帧)为单位。
在主站和从站之间传递的每一个数据帧都是11位的串行数据流。
数据帧格式:
起始位
1位
数据位
8位(低位在前、高位在后)
奇偶校验位
1位:
有奇偶校验位;无:
无奇偶校验位
停止位
1位:
有奇偶校验位;2位:
无奇偶校验位
有校验位的时序图:
无校验位的时序图:
主站发送的通讯命令以数据帧的形式在RS485总线上传输,从站装置自动将数据从数据帧中提取出来恢复成信息帧。
如果信息帧的格式符合从站的要求,接收通讯命令,执行相应的任务;然后把执行结果返送至主站。
如果信息帧的格式不符合从站的要求,不发送任何信息。
4信息帧格式
START
ADD
CS
DATA
CRC
END
初始结构
地址码
功能码
数据区
错误校验
结束结构
延时(相当于4个字节的时间)
1字节
8位
1字节
8位
N字节
N×8位
2字节
16位
延时(相当于4个字节的时间)
4.1地址码(ADD)
地址码为每次通讯传送的信息帧中的第一个数据帧(8位),从0到255。
这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。
并且每个从机都有唯一的地址码,并且响应回送均以各自的地址码开始。
主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。
4.2功能码(CS)
功能码是每次通讯传送的信息帧中的第二个数据帧。
ModBus通讯规约定义功能码为1~127(01H~7FH)。
FM100-2系列智能测控装置利用其中的一部分功能码。
作为主机请求发送,通过功能码告诉从机执行什么动作。
作为从机响应,从机发送的功能码与主机发送来的功能码一样,并表明从机已响应主机进行操作。
如果从机发送的功能码的最高位是1(功能码>127),则表明从机没有响应或出错。
下表列出的功能码都具体的含义及操作。
MODBUS部分功能码
功能码
定义
操作
03H
读寄存器
读取一个或多个寄存器的数据
06H
写单个寄存器
把一个16位二进制数写入单个寄存器
10H
写多个连续寄存器
把N个16位二进制数写入连续寄存器
03,读寄存器
FM100-2系列智能测控装置采用ModBus通讯规约,利用通讯命令,可以进行读取点(保持寄存器或返回值输入寄存器)。
功能码03H映射的数据区的保持和输入寄存器值都是16位(2字节)。
这样从从站读取的寄存器值都是2字节。
一次最多可读取寄存器数是125。
由于一些可编程控制器不用功能码03,所以功能码03被用作读取点和返回值。
从机响应的命令格式是从机地址、功能码、数据区及CRC码。
数据区的数据都是每2个字节为一组的双字节数,且高字节在前,低字节在后。
06,写单个寄存器:
主机利用这条命令把单点数据保存到FM100-2系列智能测控装置的存储器。
从机也用这个功能码向主机返送信息。
10,写多个点连续寄存器:
主机利用这条命令把多点数据保存到FM100-2系列智能测控装置的存储器。
Modbus通讯规约中的寄存器指的是16位(即2字节),并且高位在前。
这样FM100-2A智能测控装置的点都是二字节。
用一条命令保存的最大点数取决于从机。
因为Modbus通讯规约允许最多保存60个寄存器,这样FM100-2A智能测控装置允许一次最多可保存60个寄存器。
FM100-2A智能电力监测仪的命令格式是从机地址、功能码、数据区及CRC码。
4.3数据区(DATA):
数据区随功能码不同而不同。
由主机发送的读命令(03H)信息帧的数据区与从机应答信息帧的数据区是不同的,由主机发送的写命令(06H、10H)信息帧的数据区与从机应答信息帧的数据区是完全相同。
数据区包含需要从机执行什么动作或由从机采集的需要回送的信息。
这些信息可以是数值、参考地址等等。
例如,功能码告诉从机读取寄存器的数值,则数据区必须包含要读取寄存器的起始地址及读取长度(寄存器个数)。
与功能码03对应的数据区格式:
主机发送
数据顺序
1
2
数据含义
起始地址
读寄存器个数
字节数
2
2
从机应答
数据顺序
1
2
数据含义
回送字节数
N个寄存器的数据
字节数
1
2×N
与功能码06对应的数据区格式:
数据顺序
1
2
数据含义
起始地址
写入寄存器的数据
字节数
2
2
与功能码10对应的数据区格式:
数据顺序
1
2
…
N
数据含义
起始地址
写入数据1
…
写入数据N
字节数
2
2
…
2
4.4错误校验码(CRC):
主机或从机可用校验码进行判别接收信息是否出错。
有时,由于电子噪声或其他一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或从机对在传送过程中出错的信息不起作用。
这样增加了系统的安全和效率。
错误校验码采用CRC-16校验方法。
冗余循环码(CRC)包含2个字节,即16位二进制。
CRC码由发送端计算,放置于发送信息的尾部。
接收端的设备再重新计算接收到信息的CRC码,比较计算得到的CRC码是否与接收到的相符,如果二者不相符,则表明出错。
CRC码的计算方法是,先预置16位寄存器全为。
再逐渐把每8位数据信息进行处理。
在进行CRC码计算时只用8位数据位,起始位及停止位,如有奇偶校验位的话也包括奇偶校验位,都不参与CRC码计算。
在计算CRC码时,8位数据与寄存器的数据相异或,得到的结果向低位移一位,用0填补最高位。
再检查最低位,如果最低位为1,把寄存器的内容与预置数相异或,如果最低位为0,不进行异或运算。
这个过程一直重复8次。
第8次移位后,下一个8位再与现在寄存器的内容相异或,这个过程与上以上一样重复8次。
当所有的数据信息处理完后,最后寄存器的内容即为CRC码值。
CRC-16码的计算步骤
置16位寄存器为十六进制FFFF(即全为1)。
称此寄存器为CRC寄存器。
把一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器。
把寄存器的内容右移一位(朝低位),用0填补最高位,检查最低位(移出位)。
如果最低位为0:
复第3步(再次移位)。
如果最低位为1:
CRC寄存器与多项式A001(1010000000000001)进行异或。
重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理。
重复步骤2到步骤5,进行下一个8位的处理。
最后得到的CRC寄存器即为CRC码,低字节在前,高字节在后。
5信息帧格式举例
5.1功能码03
从机地址为01,起始地址0032的3个寄存器。
此例中寄存器数据地址为:
地址
数据(16进制)
0032
EA60
0034
C350
0036
DB6C
报文:
主机:
010300320003A404
从机:
010306EA60C350DB6CD13F
报文分析如下表所示:
主机发送
字节数
举例(16进制)
从机地址
1
01
送至从机01
功能码
1
03
读取寄存器
起始地址
2
00
起始地址为0032
32
读取个数
2
00
读取3个寄存器(共6字节)
03
CRC码
2
A4
由主机计算得到的CRC码
04
从机响应
字节数
举例(16进制)
从机地址
1
01
送至从机01
功能码
1
03
读取寄存器
读取字节数
1
06
3个寄存器(共6字节)
寄存器数据1
2
EA
地址为0032内的内容
60
寄存器数据2
2
C3
地址为0034内的内容
50
寄存器数据3
2
DB
地址为0036内的内容
6C
CRC码
2
D1
由从机计算得到的CRC码
3F
5.2功能码06
从机地址为01,保存起始地址0002的2个值。
在此例中,数据保存结束后,从机中地址为0002内的内容为0002。
报文:
主站:
010600020002A9CB
从站:
010600020002A9CB
报文分析如下表所示
主机发送
字节数
举例(16进制)
从机地址
1
01
发送至从机01
功能码
1
06
单个数据(2字节)保存
起始地址
2
00
起始地址为0002
02
保存数据
2
00
保存的数据为0002
02
CRC码
2
A9
由主机计算得到的CRC码
CB
从机响应
字节数
举例(16进制)
从机地址
1
01
来自从机01
功能码
1
06
单点保存
起始地址
2
00
起始地址为0002
02
保存数据
2
00
保存的数据为0002
02
CRC码
2
A9
由从机计算得到的CRC码
CB
5.3功能码10
从机地址为01,把0064保存到地址0000。
在此例中,数据保存结束后,地址为01的FM100-2系列智能测控装置内保存的信息为:
地址
数据(16进制)
0000
0064
0001
0000
报文:
主站:
0110000000020400640000B270
从站:
01100000000241C8
报文分析如下表所示
主机发送
字节数
举例(16进制)
从机地址
1
01
发送至从机01
功能码
1
10
多点保存
起始地址
2
00
起始地址为0000
00
保存数据数
2
00
保存2点(共4字节)
02
字节数
1
04
保存数据1
2
00
数据地址为0002
64
保存数据2
2
00
数据地址为0000
00
CRC码
2
B2
由主机计算得到的CRC码
70
从机响应
字节数
举例(16进制)
从机地址
1
01
来自从机01
功能码
1
10
多点保存
起始地址
2
00
起始地址为0000
00
保存数据数
2
00
保存2点(共4字节)
02
CRC码
2
41
由从机计算得到的CRC码
C8
5.4出错处理
当FM100-2系列智能测控装置检测到了CRC码出错以外的错误时,必须向主机回送信息,功能码的最高位置为1,即从机返送给主机的功能码是在主机以送的功能码的基础上加128。
以下的这些代码表明有意外的错误发生。
从主机接收到的信息如有CRC错误,则将被装置忽略。
从机返送的错误码的格式如下(CRC码除外)
地址码:
1字节
功能码:
1字节(最高位为1)
错误码:
1字节
CRC码:
2字节
FM100-2系列智能测控装置响应回送如下出错命令
81
非法的功能码。
接收到的功能码装置不支持。
82
非法的数据位置。
指定的数据位置超出装置范围
83
非法的数据值
接收到主机发送的数据值超出相应地址的数据范围。
6
FM100-2系列各型号通讯信息表
6.1数据变换
从FM100-2系列智能测控装置响应输出的基本数据都被按一定公式规范成2个字节Rx,电能除外,为4个字节,上送的数据Rx需通过以下表中公式换算成实际一次值。
NO
项目
公式
取值范围
符号
说明
1
电压
V
U=Rx×PT×0.01
0~65535
无
Ua
Ub
Uc
Ue0
Uca
Uab
Ubc
Ue
2
电流
A
I=Rx×CT×0.0001
0~65535
无
Ia
Ib
Ic
Ie
3
频率
Hz
F=Rx×0.
0~65535
无
F
4
功率因数
PF
PF=Rx×0.0001
-10000~10000
有
PFa
PFb
PFc
PFs
+:
滞后负载/-:
超前负载
5
有功功率
W
P=Rx×PT×CT×0.4
-32768~32768
有
Pa
Pb
Pc
P
6
无功功率
Q
Q=Rx×PT×CT×0.4
-32768~32768
有
Qa
Qb
Qc
Q
7
视在功率
S
S=Rx×PT×CT×0.2
0~65535
无
Sa
Sb
Sc
S
8
电能
Wh
Wh=Rx×PT×CT
0~109
无
+Wh
-Wh
+Varh
-Varh
注:
当装置输入电压范围为150V,即0305H中的值为0时,上表中有功功率、无功功率的系数0.4应换成0.1.
6.2
FM100-2A
功能码03H所映射的数据区-基本数据:
基本数据(Basic)
序号
地址(Address)
项目(Item)
说明
1
0000H
Ua
相电压Ua
2
0001H
Uca
线电压Uca
3
0002H
Ia
A相电流
4
0003H
5
0004H
Pa
A相有功功率
6
0005H
PFa
A相功率因数
7
0006H
Qa
A相无功功率
8
0007H
Sa
A相视在功率
9
0008H
Ub
相电压Ub
10
0009H
Uab
线电压Uab
11
000AH
Ib
B相电流
12
000BH
13
000CH
Pb
B相有功功率
14
000DH
PFb
B相功率因数
15
000EH
Qb
B相无功功率
16
000FH
Sb
B相视在功率
17
0010H
Uc
相电压Uc
18
0011H
Ubc
线电压Ubc
19
0012H
Ic
C相电流
20
0013H
21
0014H
Pc
C相有功功率
22
0015H
PFc
C相功率因数
23
0016H
Qc
C相无功功率
24
0017H
Sc
C相视在功率
25
0018H
I0
零序电流
26
0019H
Uav
三相平均相电压
27
001AH
Iav
三相平均相电流
28
001BH
F
频率
29
001CH
Psum
三相有功功率
30
001DH
PFav
三相总功率因数
31
001EH
Qsum
三相无功功率
32
001FH
Ssum
三相视在功率
33
0020H
PhaseRotation
功能码03H所映射的数据区-电能:
电能
序号
地址
项目
说明
1
0021H
+Wh(L)
正向有功电能累加值低位字
2
0022H
+Wh(H)
正向有功电能累加值高位字
3
0023H
-Wh(L)
负向有功电能累加值低位字
4
0024H
-Wh(H)
负向有功电能累加值高位字
5
0025H
+Varh(L)
正向无功电能累加值低位字
6
0026H
+Varh(H)
正向无功电能累加值高位字
7
0027H
-Varh(L)
负向无功电能累加值低位字
8
0028H
-Varh(H)
负向无功电能累加值低高字
功能码03H所映射的系统参数:
参数地址
项目
字节数
说明
初始状态
0300H
本机地址
2
1~247
0
0301H
被测系统负载接线方式
2
0
三相四线
0
1
一相二线
2
三相三线
3
三相三线平衡
4
一相三线
5
三相四线平衡
1
允许
0304H
波特率
2
0
1200
3
1
2400
2
4800
3
9600
4
19200
0305H
电压输入范围
2
0
150V
1
1
600V
0307H
PT
4
1~60000
1
0309H
CT
4
1~60000
1
0340H~035FH
厂家保留
功能码06H所映射的数据区:
地址
项目
说明
0000h
本机地址
1~247
0002H
测量系统接线方式
0
三相四线
1
一相二线
2
三相三线
3
三相三线平衡
4
一相三线
5
三相四线平衡
0008H
波特率
0
1200
1
2400
2
4800
3
9600
4
19200
其它为非法值
0040H~005FH
厂家保留
功能码10H所映射的数据区:
项目
起始地址
尾地址
取值范围
单位
PT
000EH
0011H
1~60000
1
CT
0012H
0015H
1~60000
1
6.3
FM100-2B
功能码03H所映射的数据区-基本数据:
基本数据(Basic)
序号
地址(Address)
项目(Item)
说明
1
0000H
Ua
相电压Ua
2
0001H
Uca
线电压Uca
3
0002H
Ia
A相电流
4
0003H
5
0004H
Pa
A相有功功率
6
0005H
PFa
A相功率因数
7
0006H
Qa
A相无功功率
8
0007H
Sa
A相视在功率
9
0008H
Ub
相电压Ub
10
0009H
Uab
线电压Uab
11
000AH
Ib
B相电流
12
000BH
13
000CH
Pb
B相有功功率
14
000DH
PFb
B相功率因数
15
000EH
Qb
B相无功功率
16
000FH
Sb
B相视在功率
17
0010H
Uc
相电压Uc
18
0011H
Ubc
线电压Ubc
19
0012H
Ic
C相电流
20
0013H
21
0014H
Pc
C相有功功率
22
0015H
PFc
C相功率因数
23
0016H
Qc
C相无功功率
24
0017H
Sc
C相视在功率
25
0018H
I0
零序电流
26
0019H
Uav
三相平均相电压
27
001AH
Iav
三相平均相电流
28
001BH
F
频率
29
001CH
Psum
三相有功功率
30
001DH
PFav
三相总功率因数
31
001EH
Qsum
三相无功功率
32
001FH
Ssum
三相视在功率
33
0020H
PhaseRotation
功能码03H所映射的数据区-电能:
电能
序号
地址
项目
说明
1
0021H
+Wh(L)
正向有功电能累加值低位字
2
0022H
+Wh(H)
正向有功电能累加值高位字
3
0023H
-Wh(L)
负向有功电能累加值低位字
4
0024H
-Wh(H)
负向有功电能累加值高位字
5
025H
+Varh(L)
正向无功电能累加值低位字
6
0026H
+Varh(H)
正向无功电能累加值高位字
7
0027H
-Varh(L)
负向无功电能累加值低位字
8
0028H
-Varh(H)
负向无功电能累加值低高字
功能码03H所映射的系统参数:
参数地址
项目
字节数
说明
初始状态
0300H
本机地址
2
1~247
1
0301H
被测系统负载接线方式
2
0
三相四线
0
1
一相二线
2
三相三线
3
三相三线平衡
4
一相三线
5
三相四线平衡
0304H
波特率
2
0
1200
3
1
2400
2
4800
3
9600
4
19200
0305H
电压输入范围
2
0
150V
1
1
600V
0307H
PT
4
1~64000
1
0309H
CT
4
1~64000
1
0312H
语言
2
0
中文
0
1
英文
0340H~035FH
厂家保留
功能码06H所映射的数据区:
地址
项目
说明
0000h
本机地址
1~247
0002H
测量系统接线方式
0
三相四线
1
一相二线
2
三相三线
3
三相三线平衡
4
一相三线
5
三相四线平衡
0008H
波特率
0
1200
1
2400
2
4800
3
9600
4
19200
0026H
语言
0
中文
1
英文
0040H~005FH
厂家保留
功能码10H所映射的数据区:
项目
起始地址
尾地址
取值范围
单位
PT
0000H
0003H
1~64000
1
CT
0004H
0007H
1~64000
1
6.4
FM100-2C
功能码03H所映射的数据区-基本数据:
基本数据(Basic)
序号
地址(Address)
项目(Item)
说明
1
0000H
Ua
相电压Ua
2
0001H
Uca
线电压Uca
3
0002H
Ia
A相电流
4
0003H
5
0004H
Pa
A相有功功率
6
0005H
PFa
A相功率因数
7