第八章 MODBUS 通信
1
ID
从站号
0x01
ID
从站号
0x01
2
FC
功能码
0x06
FC
功能码
0x06
3
H
ADDR
地址
4
L
H
ADDR
地址
L
5
H
DATA
数据
6
L
H
DATA
数据
L
7
L
CRC
校验码
8
H
L
CRC
校验码
H
注意:正常的请求帧和应答帧是一样的数据;
通信数据如下所示:
发送
01 06 00 01 00 01 19 CA
接收
01 06 00 01 00 01 19 CA
发送帧:即请求帧,表示主站向 ID 号为 1 的从站驱动器的地址为 0x0001 的内存写入长度为
1 个 Word(16bit)的数据(值 0x0001);发送帧前 6 个 byte 的 CRC 校验值为 0xCA19。
接受帧:即应答帧,表示主站向 ID 号为 1 的从站驱动器成功写入数值,返回同样的数据帧。
8.3.3 写多个数据功能码 0x10
向驱动器中写入多个数据的功能码都是 0x10,这里指是写入 16bit 的多个数据,现以驱
动器从站站点号为 1,写入 2 个数据为例说明:(H 表示高 8bit,L 表示低 8bit)
序号
请求帧数据格式(主->从)
应答帧数据格式(从->主)
1
ID
从站号
0x01
ID
从站号
0x01
2
FC
功能码
0x10
FC
功能码
0x10
3
H
ADDR
地址
4
L
H
ADDR
地址
L
5
数据个数 0x00(H)
NUM1
6
Word
0x02(L)
写入数据个 0x00(H)
NUM
数(Word) 0x02(L)
数据个数
0x04
7
NUM2
Byte
(2*NUM1)
L
CRC
校验码
H
8
H
DATA1
数据 1
9
L
10
H
DATA2
数据 1
11
L
12
L
CRC
校验码
13
H
注意:伺服参数都是 32bit,并且是高 16bit 在前,低 16bit 在后,分成两个 Word;通信时
分配两个以偶数开始的连续通信地址,高 16bit 使用偶数通信地址,低 16bit 使用奇数通信
地址;Word 的帧格式也是高 8bit 在前,低 8bit 在后。
·从伺服轴地址为 01 的驱动器中,以 PA0.00 的起始地址 0x0000 写 32bit 的数据。
通信数据如下所示:
发送
01 10 00 00 00 02 04 00 00 00 00 F3 AF
291
    "