10.4.1 RTU模式
10.4.1.1 命令码:03H,读取N个字 (最多可以连续读取16个字)
命令码03H表示主机向变频器读取数据,要读取多少个数据由命令中“数据个数”而定,最多可以读取16个数据。读取的参数地址必须是连续的。每个数据占用的字节长度为2字节,也即一个字(word)。以下命令格式均以16进制表示(数字后跟一个“H”表示16进制数字),一个16进制占用一个字节。
该命令的作用是读取变频器的参数及工作状态等。
例如:从地址为01H的变频器,从数据地址为0004H开始,读取连续的2个数据内容(也就是读取数据地址为0004H和0005H的内容),则该帧的结构描述如下:
RTU主机命令信息(主机发送给变频器的命令) | RTU从机回应信息(变频器发送给主机的信息) | ||
START | T1-T2-T3-T4(3.5个字节的传输时间) | START | T1-T2-T3-T4(3.5个字节的传输时间) |
ADDR(地址) | 01H | ADDR | 01H |
CMD(命令码) | 03H | CMD | 03H |
起始地址高位 | 00H | 字节个数 | 04H |
起始地址低位 | 04H | 地址0004H数据高位 | 13H |
数据个数高位 | 00H | 地址0004H数据低位 | 88H |
数据个数低位 | 02H | 地址0005H数据高位 | 00H |
CRC低位 | 85H | 地址0005H数据低位 | 00H |
CRC高位 | CAH | CRC低位 | 7EH |
END | T1-T2-T3-T4(3.5个字节的传输时间) | CRC高位 | 9DH |
END | T1-T2-T3-T4(3.5个字节的传输时间) |
10.4.1.2 命令码:06H,写一个字
该命令表示主机向变频器写数据,一条命令只能写一个数据,不能写多个数据。它的作用是改变变频器的参数及工作方式等。
例如:将5000(1388H)写到从机地址02H变频器的0004H地址处。则该帧的结构描述如下:
RTU主机命令信息(主机发送给变频器的命令) | RTU从机回应信息(变频器发送给主机的信息) | ||
START | T1-T2-T3-T4(3.5个字节的传输时间) | START | T1-T2-T3-T4(3.5个字节的传输时间) |
ADDR | 02H | ADDR | 02H |
CMD | 06H | CMD | 06H |
写数据地址高位 | 00H | 写数据地址高位 | 00H |
写数据地址低位 | 04H | 写数据地址低位 | 04H |
数据内容高位 | 13H | 数据内容高位 | 13H |
数据内容低位 | 88H | 数据内容低位 | 88H |
CRC低位 | C5H | CRC低位 | C5H |
CRC高位 | 6EH | CRC高位 | 6EH |
END | T1-T2-T3-T4(3.5个字节的传输时间) | END | T1-T2-T3-T4(3.5个字节的传输时间) |
注:在11.4主要介绍命令的格式,具体的用法将在11.6节以举例说明。
10.4.1.3 命令码:08H,诊断功能
子功能码的意义:
子功能码 | 说明 |
0000 | 返回询问讯息数据 |
例如:对驱动器地址01H做回路侦测询问讯息字串内容与回应讯息字串内容相同,其格式如下:
RTU主机命令信息(主机发送给变频器的命令) | RTU从机回应信息(变频器发送给主机的信息) | ||
START | T1-T2-T3-T4(3.5个字节的传输时间) | START | T1-T2-T3-T4(3.5个字节的传输时间) |
ADDR | 01H | ADDR | 01H |
CMD | 08H | CMD | 08H |
子功能码高位 | 00H | 子功能码高位 | 00H |
子功能码低位 | 00H | 子功能码低位 | 00H |
数据内容高位 | 12H | 数据内容高位 | 12H |
数据内容低位 | ABH | 数据内容低位 | ABH |
CRC CHK 低位 | ADH | CRC CHK 低位 | ADH |
CRC CHK 高位 | 14H | CRC CHK 高位 | 14H |
END | T1-T2-T3-T4(3.5个字节的传输时间) | END | T1-T2-T3-T4(3.5个字节的传输时间) |
10.4.1.4 命令码:10H,连写功能
命令码10H表示主机向变频器写数据,要写多少个数据由命令“数据个数”而定,最多可以连写16个数据。
例如:将5000(1388H)写到从机地址02H变频器的0004H、50(0032H)写到从机地址02H变频器的0005H地址处。则该帧的结构描述如下:
RTU主机命令信息(主机发送给变频器的命令) | RTU从机回应信息(变频器发送给主机的信息) | ||
START | T1-T2-T3-T4(3.5个字节的传输时间) | START | T1-T2-T3-T4(3.5个字节的传输时间) |
ADDR | 02H | ADDR | 02H |
CMD | 10H | CMD | 10H |
写数据地址高位 | 00H | 写数据地址高位 | 00H |
写数据地址低位 | 04H | 写数据地址低位 | 04H |
数据个数高位 | 00H | 数据个数高位 | 00H |
数据个数低位 | 02H | 数据个数低位 | 02H |
字节数 | 04H | CRC低位 | C5H |
数据0004H内容高位 | 13H | CRC高位 | 6EH |
数据0004H内容低位 | 88H | END | T1-T2-T3-T4(3.5个字节的传输时间) |
数据0005H内容高位 | 00H | / | / |
数据0005H内容低位 | 32H | / | / |
CRC低位 | C5H | / | / |
CRC高位 | 6EH | / | / |
END | T1-T2-T3-T4(3.5个字节的传输时间) | / | / |
10.4.2 ASCII模式
10.4.2.1 命令码:03H(0000 0011),读取N个字(Word)(最多可以连续读取16个字)
例如:从机地址为01H的变频器,内存启始地址为0004,读取连续2个字,则该帧的结构描述如下:
ASCII主机命令信息(主机发送给变频器的命令) | ASCII从机回应信息(变频器发送给主机的信息) | ||
START | ‘:’ | START | ‘:’ |
ADDR | ‘0’ | ADDR | ‘0’ |
‘1’ | ‘1’ | ||
CMD | ‘0’ | CMD | ‘0’ |
‘3’ | ‘3’ | ||
启始地址高位 | ‘0’ | 字节个数 | ‘0’ |
‘0’ | ‘4’ | ||
启始地址低位 | ‘0’ | 数据地址0004H高位 | ‘1’ |
‘4’ | ‘3’ | ||
数据个数高位 | ‘0’ | 数据地址0004H低位 | ‘8’ |
‘0’ | ‘8’ | ||
数据个数低位 | ‘0’ | 数据地址0005H高位 | ‘0’ |
‘2’ | ‘0’ | ||
LRC CHK Hi | ‘F’ | 数据地址0005H低位 | ‘0’ |
LRC CHK Lo | ‘6’ | ‘0’ | |
END Hi | CR | LRC CHK Hi | ‘5’ |
END Lo | LF | LRC CHK Lo | ‘D’ |
END Hi | CR | ||
END Lo | LF |
10.4.2.2 命令码:06H(0000 0110),写一个字(Word)
例如:将5000(1388H)写到从机地址02H变频器的0004H地址处。则该帧的结构描述如下:
ASCII主机命令信息(主机发送给变频器的命令) | ASCII从机回应信息(变频器发送给主机的信息) | ||
START | ‘:’ | START | ‘:’ |
ADDR | ‘0’ | ADDR | ‘0’ |
‘2’ | ‘2’ | ||
CMD | ‘0’ | CMD | ‘0’ |
‘6’ | ‘6’ | ||
写数据地址高位 | ‘0’ | 写数据地址高位 | ‘0’ |
‘0’ | ‘0’ | ||
写数据地址低位 | ‘0’ | 写数据地址低位 | ‘0’ |
‘4’ | ‘4’ | ||
数据内容高位 | ‘1’ | 数据内容高位 | ‘1’ |
‘3’ | ‘3’ | ||
数据内容低位 | ‘8’ | 数据内容低位 | ‘8’ |
‘8’ | ‘8’ | ||
LRC CHK Hi | ‘5’ | LRC CHK Hi | ‘5’ |
LRC CHK Lo | ‘9’ | LRC CHK Lo | ‘9’ |
END Hi | CR | END Hi | CR |
END Lo | LF | END Lo | LF |
10.4.2.3 命令码:08H(0000 1000),诊断功能
子功能码的意义:
子功能码 | 说明 |
0000 | 返回询问讯息数据 |
例如:对驱动器地址01H做回路侦测询问讯息字串内容与回应讯息字串内容相同,其格式如下所示:
ASCII主机命令信息(主机发送给变频器的命令) | ASCII从机回应信息(变频器发送给主机的信息) | ||
START | ‘:’ | START | ‘:’ |
ADDR | ‘0’ | ADDR | ‘0’ |
‘1’ | ‘1’ | ||
CMD | ‘0’ | CMD | ‘0’ |
‘8’ | ‘8’ | ||
写数据地址高位 | ‘0’ | 写数据地址高位 | ‘0’ |
‘0’ | ‘0’ | ||
写数据地址低位 | ‘0’ | 写数据地址低位 | ‘0’ |
‘0’ | ‘0’ | ||
数据内容高位 | ‘1’ | 数据内容高位 | ‘1’ |
‘2’ | ‘2’ | ||
数据内容低位 | ‘A’ | 数据内容低位 | ‘A’ |
‘B’ | ‘B’ | ||
LRC CHK Hi | ‘3’ | LRC CHK Hi | ‘3’ |
LRC CHK Lo | ‘A’ | LRC CHK Lo | ‘A’ |
END Hi | CR | END Hi | CR |
END Lo | LF | END Lo | LF |
10.4.2.4 命令码:10H,连写功能
命令码10H表示主机向变频器写数据,要写多少个数据由命令“数据个数”而定,最多可以连写16个数据。
例如:将5000(1388H)写到从机地址02H变频器的0004H、50(0032H)写到从机地址02H变频器的0005H地址处。则该帧的结构描述如下:
ASCII主机命令信息(主机发送给变频器的命令) | ASCII从机回应信息(变频器发送给主机的信息) | ||
START | ‘:’ | START | ‘:’ |
ADDR | ‘0’ | ADDR | ‘0’ |
‘2’ | ‘2’ | ||
CMD | ‘1’ | CMD | ‘1’ |
‘0’ | ‘0’ | ||
启始地址高位 | ‘0’ | 启始地址高位 | ‘0’ |
‘0’ | ‘0’ | ||
启始地址低位 | ‘0’ | 启始地址低位 | ‘0’ |
‘4’ | ‘4’ | ||
数据个数高位 | ‘0’ | 数据个数高位 | ‘0’ |
‘0’ | ‘0’ | ||
数据个数低位 | ‘0’ | 数据个数低位 | ‘0’ |
‘2’ | ‘2’ | ||
字节数 | ‘0’ | LRC CHK Hi | ‘E’ |
‘4’ | LRC CHK Lo | ‘8’ | |
数据0004H内容高位 | ‘1’ | END Hi | CR |
‘3’ | END Lo | LF | |
数据0004H内容低位 | ‘8’ | / | / |
‘8’ | / | / | |
数据0005H内容高位 | ‘0’ | / | / |
‘0’ | / | / | |
数据0005H内容低位 | ‘3’ | / | / |
‘2’ | / | / | |
LRC CHK Hi | ‘1’ | / | / |
LRC CHK Lo | ‘7’ | / | / |
END Hi | CR | / | / |
END Lo | LF | / | / |