- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RLP485通讯协议
Modbus通讯协议格式
通讯协议两种方式
RTU模式:每个 8bit(位)资料由两个 4bit十六进制字元组成,如: 64H (十六进制)。
ASCII模式:每个 8bit资料由两个ASCII字元组成,如:64H(十六进制)以 ASCII 码表示, 包含6(36H)和4(34H)。
通讯方式 起始位 数据格式 校验 结束位 RTU方式 静音 ADDR通讯位置 CMD命令码 LEN D(n-1)~D(0) CRC 静音 ASCII方式 STX ADDR CMD LEN D(n-1)~D(0) LRC END
起始位
◆静音:表示50ms时间以上无串口中断
◆STX:起始位“:”(3AH)
◆ADDR: 通讯位置(8bit)
00:MODBUS广播方式
01~250:变频器地址
【注】ADDR=00时,无返回数据;
ADDR≠00且与变频器地址一致时有响应。
◆CMD:命令码(8bit)
01:读取功能码数据
02:更改功能码
03:写命令控制变频器状态
04:读取当前变频器状态
05:串口设定频率
◆LEN:资料长度,指D(n-1)~D(0)的长度,长度设定:每8bit为单位长度。
◆DATA:资料内容,D(n-1)~D(0)。
校验位
◆CRC:侦误值
RTU模式,采用CRC(cyclical Redundancy Check)侦误值。下列以C语言产生CRC值,此函数需要两个参数:
unsigned char data←指信息缓冲区的指标
unsigned char length←指信息缓冲区的位元组数目
此函数将传回unsigned integer型态之CRC值。
unsigned int crc_chk(unsigned char data,unsigned char length)
{
int j;
unsigned int reg_crc=0xffff;
while(length--)
{
reg_crc^=*data++;
for(j=0;j8;j++)
{
if(reg_crc0x01)
reg_crc=(reg_crc1)^0xa001;
else
reg_crc=reg_crc1;
}
}
return reg_crc;
}
◆LRC:侦误值
ASCII模式,采用LRC(Longitudinal Redundancy Check)侦误值。LRC侦误值乃是将ADDR至最后一个数据内容加总。得到结果以256单位,超出部分去除然后计算二次反补后得到结果即为LRC侦误值,如:更改功能码P003为30.00Hz
STX ADDR CMD LEN DATA LRC END : 01 02 03 03 0B B8 34 CR LF 3AH 30H 31H 30H 32H 30H 33H 30H 33H 30H 42H 42H 38H 33H 34H 0DH 0AH DATA数据说明:
“03”为功能参数P003,主频率,设置范围0.00~400.00Hz;
“0B B8”为设置参数值3000(既30.00Hz)的十六进制数值。
LRC值计算:01H + 02H + 03H + 03H + 0BH + B8H = CCH
CCH二次反补为34H,所以传送数据内容为:
3AH 30H 31H 30H 32H 30H 33H 30H 33H 30H 42H 42H 38H 33H 34H 0DH 0AH
结束位
RTU方式以静音(50ms)结束,ASCII方式以CR(0DH)LF(0AH)结束。
【注】通讯中的数据类型:由于在通讯中,传输的数据为十六进制整数。对于功能码的参数值而言,最小单位可由功能一览表中参数的小数点位置看出,如P003的最小单位为0.01Hz。因此依据Modbus协议,通讯传输3000就代表30.00Hz。
功能实例说明
01读取功能码数据
【例】读取主频率(功能码P003),参数值为30.00Hz(十六进制为0B B8)
[发送] 01 01 01 03
[接收] 01 01 03 03 0B B8
具体格式如下表所述:
通讯
方式 起始位 数据格式 校验位 结束 ADDR CMD LEN DATA RTU
方式 发送 50ms 01 01 01 03 11 89 50ms 接收 50ms 01 01 03 03 0B B8 CB 0C 50ms ASCII
方式 发送 3AH 30H 31H 30H 31H 30H 31H 30H 33H 46H 41H 0DH 0AH 接收 3AH 30H 31H 30H 31H 30H 33H 30H 33H 30H
41H 41H 38H 33H 35H 0DH 0AH
02更改功能码
【例】更
文档评论(0)