当前位置:文档之家› Modbus+RTU+标准通讯协议格式

Modbus+RTU+标准通讯协议格式

HLP_SV Modbus RTU 标准通讯协议格式通信资料格式Address Function Data CRC check8 bits 8 bits N×8bits 16bits1)Address通讯地址:1-2472)Function:命令码8-bit命令01 读线圈状态上位机发送数据格式:ADDRESS 01 ADDRH ADDRL NUMH NUML CRC注: ADDR: 00000 --- FFFF(ADDR=线圈地址-1);NUM: 0010-----0040 (NUM为要读线圈状态值的二进制数位数)正确时变频器返回数据格式:ADDRESS 01 BYTECOUNT DA TA1 DA TA2 DA TA3 DA TAN CRC注: BYTECOUNT:读取的字数错误时变频器返回数据格式:ADDRESS 0X81 Errornum CRC注: Errornum为错误类型代码如:要检测变频器的输出频率应发送数据:01 01 00 30 00 10 3D C9(16进制)变频器返回数据:01 01 02 00 20 B8 24(16进制)发送数据:0030hex(线圈地址49)返回的数据位为“0020”(16进制),高位与低位互换,为2000。

即输出频率为303(Max Ref)的50%。

关于2000对应50%,具体见图1。

03读保持寄存器上位机发送数据格式:ADDRESS 03 ADDRH ADDRL NUMH NUML CRC注:ADDR: 0 --- 0XFFFF;NUM: 0010-----0040 (NUM为要读取数据的字数)ADDR=Parameter Numbe r×10-1正确时变频器返回数据格式:ADDRESS 03 BYTECOUNT DA TA1 DA TA 2 DA TA 3 DA TAN CRC 注: BYTECOUNT:读取的字节数错误时变频器返回数据格式:ADDRESS 0X83 Errornum CRC如:要读变频器参数303的设定值应发送数据:01 03 0B D5 00 02 95 BC (16进制)Parameter 303(3029)=0BD5HEX变频器返回数据:“:”01 03 04 00 00 EA 60 B5 7B返回的数据位为“00 00 EA 60”(16进制)转换为10进制数为60000,表示303设置值为60.000※当参数值为双字时,NUM的值必须等于2。

否则无法读取或读取错误。

05 写单个线圈状态上位机发送数据格式:ADDRESS 05ADDRH ADDRL DA TAH DA TAL CRC注:ADDR: 0 ---- 0XFFFF(ADDR=线圈地址-1);DATA=0000HEX(OFF) OR FF00(ON) HEX正确时变频器返回数据格式:ADDRESS 05 DATAH DATAL BYTECOUNT CRC错误时变频器返回数据格式:ADDRESS 0X85 Errornum CRC如:要使写参数为写入RAM和EEPROM应发送数据:01 05 00 40 FF 00 CRC(16进制)变频器返回数据:01 05 FF 00 00 01 CRC(16进制)发送数据:0040hex(线圈地址65)06 写单个保持寄存器值(只能写参数值为单个字的参数)上位机发送数据格式:ADDRESS 06 ADDRH ADDRL DA TAH DA TAL CRC注:ADDR: ADDR=Parameter Numbe r×10-1正确时变频器返回数据格式:ADDRESS 06 ADDRH ADDRL DA TAH DA TAL CRC错误时变频器返回数据:ADDRESS 0X86 Errornum CRC如:要对变频器参数101写入1应发送数据:01 06 00 03 F1 00 01 19 BD(16进制)变频器返回数据:01 06 03 F1 00 01 19 BD(16进制)PARAMETER 101(1009)=03F1 HEX返回的数据位为“0001”(16进制)转换为10进制为“1”表示101设置值为10F 写多个线圈状态上位机发送数据格式ADDRESS 0F ADDRH ADDRL NUMH NUML COUNT DATAH1DA TAL1 DA TA2H DA TA2L ------- DA TANH DA TANL CRC注:ADDR: 0 -------- 0XFFFF (ADDR=线圈地址-1); NUM: 0010-----0040 (NUM为要写值的二进制数的位数) ; COUNT: NUM / 8正确时变频器返回数据格式:ADDRESS 0F ADDRH ADDRL NUMH NUML CRC错误时变频器返回数据格式:ADDRESS 0X8F Errornum CRC如:变频器运行,频率是参数303的40%应发送数据:01 0F 00 00 00 20 04 7C 04 9A 19 37 43(16进制)变频器返回数据:01 0F 00 00 00 20 54 13(16进制)运行命令:0000 0100 0111 1100=047C HEX速度命令:4000 HEX=100% Speed40% of 4000 HEX=199A HEX10 写多个保持寄存器(只能写单个参数的值)上位机发送数据格式ADDRESS 0x10 ADDRH ADDRL NUMH NUML BYTECOUNTDA TAH1 DA TAL1 DA TA2H DA TA2L ------- DA TANH DA TANL CRC注:ADDR: 0 ------ 0XFFFF:ADDR=Parameter Numbe r×10-1;NUM: 0-2 (NUM 为要写的字的字数)COUNT=NUM*2正确时变频器返回数据格式ADDRESS 0x10 ADDRH ADDRL NUMH NUML CRC错误时变频器返回数据格式:ADDRESS 0X90 Errornum CRC如要同时对参数303写入60.000(Parameter 303(3029)=0BCB HEX)应发送数据:01 10 0B CB 00 02 04 00 00 EA 60 82 34(16进制)变频器返回数据:01 10 0B CB 00 02 32 12(16进制)发送的要写入16进制数据“00 00 EA 60”转换为10进制数为60000表示对参数303写入的数据分别为60.000※注意:NUM的值必须写对,否则返回的数据可能出错通信错误代码(Errornum)说明:00 参数号码不存在01 不能写入已定义的参数02 参数的值超出该参数的上限03 子索引不存在04 该参数不是数组类型05 数据类型与已定义参数的数据类型不同06 仅用于复位07 不可改变11 不许写17 在变频器当前模式下不能更改已定义参数的数据某些参数只能在电机关闭时才能更改18 其它错误64 无效的数据地址65 无效的长度66 无效的数据长度和值67 无效的参数130 已定义参数没有总线连接131 出厂设定值已被选定数据,不能更改功能码说明线圈功能码说明线圈地址名称R/W 说明1-16 变频器控制字R,W 见附表17-32 变频器转速或设定频率R,W 见附表33-48 变频器状态字R49-64 变频器输出频率R65 参数写控制R,W 0 –参数写入RAM:1-参数写入RAM 和EEPROM66-65536 保留4)DATA:资料内容n×8-bit资料5)CRC:侦误值附表:变频器控制字:位位=0 位=100 预置最小参考值01 预置最大参考值02 直流制动03 惯性停机04 快停05 冻结输出频率06 加减速停车起动07 复位08 点动09 加减速1 加减速210 数据无效数据有效11 无功能12 无功能13 选择最小安装14 选择最大安装15 反转变频器状态字:位位=0 位=100 控制准备完毕01 驱动准备完毕02 惯性停机03 错误04 无用05 无用06 无用07 无警告警告08 速度!=参考值速度=参考值09 本地控制串行通信10 频率范围溢出频率限制正常11 电机正常运行1213 电压警告14 电流限定15 热警告读数组参数310[2](index=2)发送:01 06 00 08 00 02 CRC“0002”Index的值接收:01 06 00 08 00 02 CRC发送:01 03 0C 1B 00 01 CRC接收:01 03 02 00 00 CRC写数组参数310[2](index=2)发送:01 06 00 08 00 02 CRC“0002”Index的值接收:01 06 00 08 00 02 CRC发送:01 10 0C 1B 00 01 02 00 00 CRC接收:01 10 0C 1B 00 01 CRC读写带数组的数必须先发01 06 00 08 Index(High) Index(Low) CRC ,再按读,写数据的格式发送数据HLP_SV FC_MODBUS通讯协议格式通信资料格式由一个起始字节(STX)开始,这个起始字节为STX=02(十六进制)。

随后紧跟资料的长度(LGE)的字节和表示变频器地址的字节(ADR)。

然后是一些数据字节。

最后由一个数据控制字节(BCC)来结束。

STX LGE ADR DATA BCC1)资料长度资料长度是数据字节的数目和地址字节(ADDR)加数据字节(DA TA)再加BCC字节的总和。

4个数据字节的资料长度为:LGE=4+1+1=612个数据字节的资料长度为:LGE=12+1+1=14包含文本的资料长度为:10+n字节。

其中,10代表固定字节,n是随着文本的长度而变化的。

2)变频器地址(ADDR):1-2473)数据控制字节(BCC)将前面所有的数据进行异或运算。

4)数据字节数据字节的资料格式有三种类型:PKE IND PWE high PWE low PCD1 PCD2参数块过程块过程块由4个字节(2个字)的数据块组成,包括:控制字和参考值状态字和当前输出频率(从从机到主机)PCD1 PCD2过程块文本块,用于通过数据块读写文本。

PKE IND Ch1 Ch2 …Chn PCD1 PCD2文本块过程块参数命令与应答(AK)1 1 0 1 在RAM和EEPROM中写参数值(双字类型)1 1 1 0 在RAM和EEPROM中写参数值(字类型)1 1 1 1 读/写文本应答从——主位号:15 14 13 12 应答命令0 0 0 0 无应答0 0 0 1 参数值已传送(字类型)0 0 1 0 参数值已传送(双字类型)0 1 1 1 命令不能执行1 1 1 1 文本已传送如果命令不能被执行,则从机发送应答:0111‘命令不能执行’并且在参数值(PWE)中给定以下的错误报告。

相关主题