好文档 - 专业文书写作范文服务资料分享网站

Modbus标准通讯协议格式 

天下 分享 时间: 加入收藏 我要投稿 点赞

0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B

输出频率 设定频率 输出电流 输出转速 直流电压 交流电压 温度 计数器 反馈值 目标值 当前运行时间 总运行时间

R R R R R R R R R R R

4)DATA:资料内容 n×8-bit资料 5)LRC:侦误值

ASCII模式,采用LRC(Longitudinal Redundancy Check)侦误值。

LRC侦误值乃是将ADDR至最后一个资料内容加总。得到结果以256单位,超出部分去除(如结果为11128H则取1128H)然后计算二次反补后得到结果即为LRC侦误值。

功能码数据同HOLIP标准协议中ASCII格式中的功能码

?

校验码CRC算法同HOLIP普通协议中RTU格式中的CRC算法

04 读取输入寄存器

如:要读变频器温度显示值(假如温度为36.2)(CD160=CD161=1 CD162=3)

应发送数据: 01 04 00 06 00 01 CRC(16进制)

变频器返回数据: 01 04 02 01 6A CRC(16进制) 返回的数据位为“016A”(16进制)转换为10进制为 “362”表示温度为36.2

05 写单个线圈状态

如:要使变频器的正转无效,反转有效(CD160=CD161=1 CD162=3)

应发送数据: 01 05 00 49 00 00 FF 00 CRC(16进制)

变频器返回数据:01 05 00 49 00 00 FF 00 CRC(16进制) “0000”代表无效; “FF00”代表有效

06 写单个保持寄存器值

如:要对变频器功能码CD000写入30.00(CD160=CD161=1 CD162=3),

应发送数据: 01 06 00 00 0B B8 36 0D 0A(16进制) 变频器返回数据: 01 06 00 00 0B B8 36 0D 0A(16进制) 返回的数据位为“0BB8”(16进制)转换为10进制为“3000”表示CD000

设置值为30.00

0F 写多个线圈状态

如:要使变频器的正转无效(CD160=CD161=1 CD162=3)

应发送数据: 01 0F 00 48 00 08 01 00 02 CRC(16进制)

变频器返回数据:01 0F 00 48 00 08 CRC(16进制)

“0002”即0000 0010; 即线圈0x49置为1,给变频器发正转命令。

10 写多个保持寄存器

如要同时对 CD000写入 30.00,对CD001写入110.0,(CD160=CD161=1

CD162=3)

应发送数据: 01 10 00 00 00 02 04 0B B8 04 4C CRC(16进制) 变频器返回数据: 01 10 00 00 00 02 45CRC(16进制)

发送的要写入16进制数据“0BB8”和“04 4C”转换为10进制数分别为3000和1100表示对CD000和CD001写入的数据分别为30.00和110.0

HLP – A.C+海利MODBUS通讯规约

在使用RS485通讯界面时,每一台变频器必须设定其通讯位置,电脑便根据每一台变频器个别位置实施控制。

1:本通讯协议有二种方式:

1)RTU方式(Remote Terminal Unit)模式

2)ASCII方式(American Standard Code for information interchange)模式编码意义 RTU模式:

每个8-bit资料由两个4-bit十六进位字元组成,如:64H ASCII模式:

每个8-bit资料由两个ASCII字元组成,如:一个1-bit资料64H(十六进位)以ASCII“64”表示,包含6(36H)和4(34H)

字元符号 ASCII码

字元符号 ASCII码

8 38H

9 39H

A 41H

B 42H

C 43H

D 44H

E 45H

F 46H

0 30H

1 31H

2 32H

3 33H

4 34H

5 35H

6 36H

7 37H

2:通讯资料方式

1)8N1 For ASCII CD162=0 Start bit 0 1 2 3 4 8—Data bits 10—bits

2)8E1 For ASCII CD162=1 Start 7 0 1 2 3 4 5 6 bit 8—Data bits 11—bits

3)8O1 For ASCII CD162=2 Start 0 1 2 3 4 5 6 7 bit 8—Data bits 11—bits

4)8N1 For RTu CD162=3 Start bit 0 1 2 3 4 5 8—Data bitsEven parity 字元串 5 6 7 Stop bit 字元串

字元框

Stop bit 字元框

Odd parity 字元串 Stop bit 字元框

6 7 Stop bit 字元串 11—bits

5)8E1 For RTu CD162=4 Start 0 1 2 3 4 5 bit 8—Data bits 11—bits6)8O1 For RTU CD163=5 Start 0 1 2 3 4 5 bit 8—Data bits 11—bits 6 7 Even parity 字元串 Stop bit 字元框

字元框

6 7 Odd parity 字元串 Stop bit 字元框

3:通讯资料格式

3.1 ASCII模式 通讯资料格式 STX “:” (3AH)

ADDR

END

FUNC

LEN

DATE(n-1)…DATA0

LRC

CR(0DH) LF(0AH)

1)STX:启始单元“:” (3AH)

2)ADDR通讯位置 8-bit位置包含了2个ASCII码 00:广播方式为MODBUS 01—250相应变频器地址

3)FUNC:功能码8-bit位置包含了2个ASCII码 01:FUNC READ 读取功能码数据 02:FUNC WRIT功能码设定 03:控制命令

04:控制状态读取

05:变频器串口频率设定 06:保留 07:保留

08:回路检测

a.读取功能码数据 ( 01 )

发送格式: ADDR 01 LEN Data

ADDR=0时,无返回数据

ADDR≠0且符合变频器地址时有响应 当返回为正常时,格式如下: ADDR 01 LEN Data

如返回为一个字时 LEN=3 一个字节时 LEN=2 当无此功能或无效时返回为:

ADDR 81H 01

例如:读取CD000的参数

发送: 3A 30 31 30 31 30 31 30 30 LRC 0D 0A “30 30”即00。代表CD000.

接收: 3A 30 31 30 31 30 33 30 30 31 33 38 38 LRC 0D 0A

说明:CD000 = 01388H = 5000,即50Hz.

b.功能码设定 ( 02 )

发送格式:ADDR 02 LEN Data ADDR=0 作广播用,可以设定,但无应答 ADDR≠0时可以设定 同时有回应讯号 当返回为正常时,格式如下:

ADDR 02 LEN Data

当设定不正确时,或无此功能,返回参数为: ADDR 82H 01

例如:将CD000参数值改为60.00Hz

发送: 3A 30 31 30 32 30 33 30 30 31 37 37 30 46 44 0D 0A “30 30”即00。代表CD000.”31373730”即1770(Hex),转换为十进制数为6000。 接收: 3A 30 31 30 32 30 33 30 30 31 37 37 30 46 44 0D 0A

c.控制命令 ( 03 )

发送格式:ADDR 03 01 CNTR ADDR=0 为广播,无返回响应 ADDR≠0时有响应,返回 CNTR

7 jogr

当设定正确时,返回当前控制状态 CNST

7 跟踪启动 检测不正确时 发运行命令

发送:3A 30 31 30 33 30 31 30 31 LRC 0D 0A “ 3031 ”即01 ,01为数据,代表运行命令。

接收:3A 30 31 30 33 30 31 30 39 LRC 0D 0A “ 3039 ”即09 ,09为数据,代表变频器处于运行状态。

注意: 因通讯实时性,变频器返回状态滞后性,所以发命令之后返回的数据不能正确反应变频器当前状态。

6 制动

5 r/f

4 joging

格式:ADDR 03 01 CNST

3 Runing

2 r/f

1 jog

0 Run

6 jogf

5 jog

4 r/f

3 stop

2 Rev

1 for

0 Run

ADDR 83H 01 CNST

例如:通讯控制变频器运行时即CD033 = 2时

Modbus标准通讯协议格式 

0000000100020003000400050006000700080009000A000B输出频率设定频率输出电流输出转速直流电压交流电压温度计数器反馈值目标值当前运行时间总运行时间RRRRRRRRRRR4)DATA:资
推荐度:
点击下载文档文档为doc格式
8ka7245d7638ccg96pas
领取福利

微信扫码领取福利

微信扫码分享