欢迎访问:深圳华旭智造科技有限公司!
解决方案
在线留言
销售热线:
Contact Hotline
13554829950 13554829950
传真:

E-mail:jan@huaxuzhizao.cn

公司地址:广东省深圳市宝安区新桥街道新桥社区广深路沙井段505号6层
智能电批MODBUS-RTU协议使用说明


97b4f8c2-37bb-4d87-8dc9-01bfd164ca4f.png

d895fb3a-fcce-4993-9890-dd650046d0bf.png


























智能电批MODBUS-RTU使用说明

1.1 连接说明

在设备与用户 MODBUS-RTU 连接之前,请确保满足以下规格要求:

通信接口

: 设备支持 MODBUS-RTU 通信协议,且作为从机,走 RS-485 接口;

ID 地址

: 触屏版控制器可通过上位机或者在控制器上设置通讯 ID 地址,机用版控制

器可通过拨码配置 ID 地址;

支持指令

: 读功能码 (0x03)操作和写 16 位功能码 (0x06);

通讯波特率

:可通过上位机或者在控制器上设置 485 通讯波特率为 9600bps,19200bps,

38400bps,57600bps,115200bps;

通讯数据格式 :可通过上位机或者在控制器上设置通讯数据格式,支持:

a 数据实际传输位数为 11 位,其中 1 位起始位,8 位数据位,2 位结束位

b 数据实际传输位数为 11 位:1 位起始位,8 位数据位,1 位偶校验位,1 位结束位

c 数据实际传输位数为 11 位:1 位起始位,8 位数据位,1 位奇校验位,1 位结束位

1.2 读地址数据(0x03)

主机请求数据格式:

ADD

控制器 ID 号

CMD

0x03

DATA[0]

地址 16 进制高 8 位,如峰值扭力地址 0x0110,DATA[0] = 0x01

DATA[1]

地址 16 进制低 8 位,如峰值扭力地址 0x0110,DATA[1] = 0x10

DATA[2]

读地址数据个数( 高 8 位)

DATA[2] = 0x00

DATA[3]

读地址数据个数( 低 8 位)

DATA[3] = 0x01

读取一个长度的地址数据

CRCL

CRC 校验有效字节( 低 8 位)

CRCH

CRC 校验有效字节( 高 8 位)

操作成功控制器返回数据格式:

ADD

控制器 ID 号

CMD

0x03

DATALENGTH

返回数据字节数 0x02

DATA[0]

返回数据,高 8 位

DATA[1]

返回数据,低 8 位

CRCL

CRC 校验有效字节( 低 8 位)

CRCH

CRC 校验有效字节( 高 8 位)

操作失败控制器返回数据格式:

ADD

控制器 ID 号

CMD

0x83

DATA[0]

0x00

DATA[1]

0x00

DATA[2]

错误码( 高 8 位)

DATA[3]

错误码( 低 8 位)

CRCL

CRC 校验有效字节( 低 8 位)

CRCH

CRC 校验有效字节( 高 8 位)

错误码:

0x0001

非法功能

0x0002

非法数据地址

0x0003

非法数据值

0x0004

从站设备故障

0x0006

从属设备忙

0x0012

不支持写入

0x000A

设定值超范围1.3 写地址数据(0x06)

主机请求数据格式:

ADD

控制器 ID 号

CMD

0x06

DATA[0]

写入地址 16 进制高 8 位,如切换任务号 0x0201,DATA[0] = 0x02

DATA[1]

写入地址 16 进制低 8 位,如切换任务号 0x0201,DATA[1] = 0x01

DATA[2]

写入地址数值( 高 8 位),如写入 17(0x11),DATA[2] = 0x00

DATA[3]

写入地址数值( 低 8 位),如写入 17(0x11),DATA[3] = 0x11

CRCL

CRC 校验有效字节( 低 8 位)

CRCH

CRC 校验有效字节( 高 8 位)

操作成功控制器返回数据格式:

ADD

控制器 ID 号

CMD

0x06

DATA[0]

被写入地址 16 进制高 8 位,如切换任务号 0x0201,DATA[0] = 0x02

DATA[1]

被写入地址 16 进制低 8 位,如切换任务号 0x0201,DATA[1] = 0x01

DATA[2]

被写入地址实际数值( 高 8 位),如写入后是 17(0x11),DATA[2] = 0x00

DATA[3]

被写入地址实际数值( 低 8 位),如写入后是 17(0x11),DATA[3] = 0x11

CRCL

CRC 校验有效字节( 低 8 位)

CRCH

CRC 校验有效字节( 高 8 位)

操作失败控制器返回数据格式:

ADD

控制器 ID 号

CMD

0x86

DATA[0]

0x00

DATA[1]

0x00

DATA[2]

错误码( 高 8 位)

DATA[3]

错误码( 低 8 位)

CRCL

CRC 校验有效字节( 低 8 位)

CRCH

CRC 校验有效字节( 高 8 位)

错误码:

0x0001

非法功能

0x0002

非法数据地址

0x0003

非法数据值

0x0004

从站设备故障

0x0006

从属设备忙

0x0012

不支持写入

0x000A

设定值超范围1.4 CRC 校验

485 通信,必须采用一致的CRC 检验算法,否则产生 CRC 校验错误。本控制器采用 16

位 CRC 校验,低字节在前,高字节在后,CRC 计算函数如下:

Uint16 Modbus_Crc(const Uint16 *data, Uint16 len)

{

Uint16 crc = 0xffff;

int16 i=0;

while (len--)

{

crc ^= *data++;

for (i = 0; i < 8; i++)

{

if (crc & 0x0001)

{

crc = (crc >> 1) ^ 0xA001;

}

else

{

crc = crc >> 1;

}

}

}

return (crc);

}

 


微信咨询
13554829950
返回顶部