免费会员 生产厂家
参考价:
具体成交价以合同协议为准
免费会员 生产厂家
一、产品概述
本产品为一款实时测量24路交流电流的数据采集模块,采用高精密电流互感器实现信号的隔离与传感,信号测量采用的真有效值测量芯片,可准确测量各种波形的电流真有效值,且精度高,稳定性好;采用标准RS-485总线接口和MODBUS-RTU协议。广泛应用于路灯监控、生产自动化检测、LED灯老化检测等。本产品具有特点以下:
二、产品型号
RS-40242A-14 (穿孔式输入方式) RS-40242B-14 (端子式输入方式)(<10A)
三、性能指标
四、产品外观与安装尺寸
图一、产品实物图
图二、外形与安装尺寸 图三、外观参考图
安装方式:螺钉固定或导轨固定;
五、产品接线说明
图四、产品接线参考图
说明:电流输入通过互感器穿孔输入,互感器孔径为5mm,必须保证电流的线头与线径小于5mm,否则电流导线无线穿入。
表一、引脚定义
引脚 | 1 | 2 | 3 | 4 | 5 | 6 |
名称 | VCC | GND | INIT | G | D+ | D- |
描述 | 供电电源正 | 供电电源地 | 初始化引脚 | 初始化接地 | RS485正 | RS485负 |
说明:初始化端为地址与波特率初始化,短接后给产品上电,地址与波特率将初始化为1与9600。
六、MODBUS通讯协议
1、报文格式
(1)、功能码0x03---查询从设备寄存器内容
主设备报文
从设备地址 (0x01-0xFF 1字节) |
功能码 (0x03 1字节) |
起始寄存器地址 (2字节) |
寄存器个数 (2字节) |
CRC校验码 (2字节) |
从设备正确报文
从设备地址 (0x01-0xFF 1字节) |
功能码 (0x03 1字节) |
数据区字节数 (2*寄存器个数1字节) |
数据区 (寄存器内容 2*寄存器个数字节) |
CRC校验码 (2字节) |
(2)、功能码0x10---对从设备寄存器置数
主设备报文
从设备地址 (0x01-0xFF 1字节) |
功能码 (0x10 1字节) |
起始寄存器地址 (2字节) |
寄存器个数 (2字节) |
数据区字节数 (2*寄存器个数 1字节) |
写入寄存器的数据 (2*寄存器个数个字节) |
CRC校验码 (2字节) |
从设备正确报文
从设备地址 (0x01-0xFF 1字节) |
功能码 (0x10 1字节) |
起始寄存器地址 (2字节) |
寄存器个数 (2字节) |
CRC校验码 (2字节) |
注:1、CRC检验码低位在前、高位在后,寄存器地址, 寄存器个数,数据均为高位在前、低位在后;
2、寄存器字长为16bit(两个字节)
2、寄存器说明与命令格式
(1)、电参量数据寄存器定义表
寄存器地址(Hex) | 寄存器内容 | 寄存器个数 | 寄存器状态 | 数据范围 |
0000 | 放01通道电流值 | 1 | 只读 | 0~10000 |
0001 | 放02通道电流值 | 1 | 只读 | 0~10000 |
0002 | 放03通道电流值 | 1 | 只读 | 0~10000 |
0003 | 放04通道电流值 | 1 | 只读 | 0~10000 |
0004 | 放05通道电流值 | 1 | 只读 | 0~10000 |
0005 | 放06通道电流值 | 1 | 只读 | 0~10000 |
0006 | 放07通道电流值 | 1 | 只读 | 0~10000 |
0007 | 放08通道电流值 | 1 | 只读 | 0~10000 |
0008 | 放09通道电流值 | 1 | 只读 | 0~10000 |
0009 | 放10通道电流值 | 1 | 只读 | 0~10000 |
000A | 放11通道电流值 | 1 | 只读 | 0~10000 |
000B | 放12通道电流值 | 1 | 只读 | 0~10000 |
000C | 放13通道电流值 | 1 | 只读 | 0~10000 |
000D | 放14通道电流值 | 1 | 只读 | 0~10000 |
000E | 放15通道电流值 | 1 | 只读 | 0~10000 |
000F | 放16通道电流值 | 1 | 只读 | 0~10000 |
0010 | 放17通道电流值 | 1 | 只读 | 0~10000 |
0011 | 放18通道电流值 | 1 | 只读 | 0~10000 |
0012 | 放19通道电流值 | 1 | 只读 | 0~10000 |
0013 | 放20通道电流值 | 1 | 只读 | 0~10000 |
0014 | 放21通道电流值 | 1 | 只读 | 0~10000 |
0015 | 放22通道电流值 | 1 | 只读 | 0~10000 |
0016 | 放23通道电流值 | 1 | 只读 | 0~10000 |
0017 | 放24通道电流值 | 1 | 只读 | 0~10000 |
数据范围说明:0~10000为额定范围值,zui大输出数据为12000。
(2)、模块名、地址与波特率寄存器定义表
寄存器地址(Hex) | 寄存器内容 | 寄存器个数 | 寄存器状态 | 数据范围 |
0030H | 地址与 波特率 | 1 | 写 | 地址(0-256) 波特率(0-3) |
(3)、命令举例
命令中所有寄存器地址字节、寄存器个数字节、数据字节高位在前,低位在后;CRC校验码低位字节在前,高位字节在后;
A:读所有24组电流数据发送命令举例:
从设备地址 | 功能码 | 起始寄存器地址 | 寄存器个数 | CRC-L | CRC-H | ||
01H | 03H | 00H | 00H | 00H | 18H | 45H | C0H |
说明:从寄存器0开始连续读24个寄存器数据,每一路电流数据占用一个寄存器;
数据返回格式:
从设备地址 | 功能码 | 数据区字节个数 | 返回数据区 | CRC-L | CRC-H |
01H | 03H | 30H | …… | XX | XX |
说明:数据区总共有24组数据,48个字节;CRC校验码要根据实际数据得出;
B:修改地址与波特率发送命令举例:(地址由原来的01号变为02号,波特率改为9600<代码为01>)
从设备地址 | 功能码 | 起始寄 存器地址 | 寄存器 个数 | 数据字 节个数 | 写入寄存 器的数据 | CRC-L | CRC-H | |||
01H | 10H | 00H | 30H | 00H | 01H | 02H | 02H | 01H | 63H | 00H |
说明:”写入寄存器的数据”*字节为修改后的地址码(此数据为02H);第二字节为修改后的波特率代码;代码定义:0--4800bps 1--9600bps 2--19200bps 3--28800bps
数据返回格式:
从设备地址 | 功能码 | 起始寄存器地址 | 寄存器个数 | CRC-L | CRC-H | ||
01H | 10H | 00H | 30H | 00H | 01H | 85H | CFH |
C:新增硬件拨盘地址与软件地址选择功能
本板设有一个硬件地址和软件地址选择开关,当DZ01短接时,为硬件设置通讯地址和波特率方式;不插短接块时为软件设置通讯地址和波特率方式。
硬件设置地址和波特率:
软件设置地址和波特率:
本板设有一个8位DIP双列拨盘开关,当选择硬件设置通讯地址和波特率方式时,用于地址和波特率设定,开关位于“ON“时为“0”;“OFF”时为“1”。
1~6为地址设置,可选地址为:00H~3FH(十六进制)0~63D(十进制)
7~8为波特率设置,可选波特率为,00H~03H(十六进制)0~3D(十进制)
代码定义:0--4800bps 1--9600bps 2--19200bps 3--28800bps
开关选择举例:
地址:00H
波特率:00H(4800bps)
地址:01H(01D)
波特率:01H(9600bps)
地址:02H(02D)
波特率:01H(9600bps)
地址:3EH(62D)
波特率:01H(9600bps)
地址:3FH(63D)
波特率:01H(9600bps)
3、数据说明与数据还原计算
(1)、读到的所有数据格式如下表(例:电流输入量程等于5A时):
序号 | 通道 代码 | 输入 电流 | 读到的十六 进制数据(Id) | 十进制 数据 | 备注 | |
高字节 | 低字节 | |||||
1 | I1 | 5A | 27 | 10 | 10000 | 真有效值 |
2 | I2 | 5A | 27 | 10 | 10000 | 真有效值 |
3 | I3 | 5A | 27 | 10 | 10000 | 真有效值 |
… | … |
|
|
|
|
|
23 | I23 | 5A | 27 | 10 | 10000 | 真有效值 |
24 | I24 | 5A | 27 | 10 | 10000 | 真有效值 |
(2):实际电流值计算方法
I=Id/10000*电流量程 (AAC)
其中:Id----从设备读到的电流数据(将二字节转为十进制数据)
如:模块电流量程为5A,从模块中读到的数据值Id=26F1H(十六进制)=9969D(十进制),即实际电流值I=9969/10000*5=4.9845A。
附1:地址码对照表
序号 | 地址码 (HEX) | 地址码 (十进制) | 序 号 | 地址码 (HEX) | 地址码 (十进制) |
1 | 01 | 1 |
| 21 | 33 |
2 | 02 | 2 |
| 22 | 34 |
3 | 03 | 3 |
| 23 | 35 |
4 | 04 | 4 |
| 24 | 36 |
5 | 05 | 5 |
| 25 | 37 |
6 | 06 | 6 |
| 26 | 38 |
7 | 07 | 7 |
| 27 | 39 |
8 | 08 | 8 |
| 28 | 40 |
9 | 09 | 9 |
| 29 | 41 |
10 | 10 | 16 |
| 30 | 48 |
11 | 11 | 17 |
| 31 | 49 |
12 | 12 | 18 |
| 32 | 50 |
13 | 13 | 19 |
| 33 | 51 |
14 | 14 | 20 |
| 34 | 52 |
15 | 15 | 21 |
| 35 | 53 |
16 | 16 | 22 |
| 36 | 54 |
17 | 17 | 23 |
| 37 | 55 |
18 | 18 | 24 |
| 38 | 56 |
19 | 19 | 25 |
| 39 | 57 |
20 | 20 | 32 |
| 40 | 64 |
附2:MODBUS_CRC16检验码计算方法
循环冗余校验CRC区为2字节,含一个16位二进制数据。由发送设备计算CRC值,并把计算值附在信息中,接收设备在接收信息时,重新计算CRC值,并把计算值与接收的在CRC区中实际值进行比较,若两者不相同,则产生一个错误。
CRC开始时先把寄存器的16位全部置成“1”,然后把相邻2个8位字节的数据放入当前寄存器中,只有每个字符的8位数据用作产生CRC,起始位,停止位和奇偶校验位不加到CRC中。
产生CRC期间,每8位数据与寄存器中值进行异或运算,其结果向右移一位(向LSB方向),并用“0”填入MSB,检测LSB,若LSB为“1”则与预置的固定值异或,若LSB为“0”则不作异或运算。
重复上述处过程,直至移位8次,完成第8次移位后,下一个8位数据,与该寄存器的当前值异或,在所有信息处理完后,寄存器中的zui终值为CRC值。产生CRC的过程:
1. 把16位CRC寄存器置成FFFFH.
2. *个8位数据与CRC寄存器低8位进行异或运算,把结果放入CRC寄存器。
3. CRC寄存器向右移一位,MSB填零,检查LSB.
4. (若LSB为0):重复3,再右移一位。
(若LSB为1):CRC寄存器与A001 H 进行异或运算
5. 重复3和4直至完成8次移位,完成8位字节的处理。
6. 重复2至5步,处理下一个8位数据,直至全部字节处理完毕。
7. CRC寄存器的zui终值为CRC值。
8. 把CRC值放入信息时,高8位和低8位应分开放置。
把CRC值放入信息中
发送信息中的16 位CRC值时,先送低8位,后送高8位。
若CRC值为1241(0001 0010 0100 0001):
Addr | Func | Data Count | Data | Data | Data | Data | CR CLo | CR CHi |
|
|
|
|
|
|
| 41 | 12 |