Modbus讯协议格式.docx

上传人:b****6 文档编号:8890263 上传时间:2023-02-02 格式:DOCX 页数:31 大小:21.44KB
下载 相关 举报
Modbus讯协议格式.docx_第1页
第1页 / 共31页
Modbus讯协议格式.docx_第2页
第2页 / 共31页
Modbus讯协议格式.docx_第3页
第3页 / 共31页
Modbus讯协议格式.docx_第4页
第4页 / 共31页
Modbus讯协议格式.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

Modbus讯协议格式.docx

《Modbus讯协议格式.docx》由会员分享,可在线阅读,更多相关《Modbus讯协议格式.docx(31页珍藏版)》请在冰豆网上搜索。

Modbus讯协议格式.docx

Modbus讯协议格式

Modbus讯协议格式

?

-----------------------Page1-----------------------

HLPA+Modbus标准通讯协议格式

 

ASCII格式

 

通信资料格式

 

STXEND

 

“:

”ADDRESSFUNCDataHDataLLRCCR(0DH)

 

LF(0AH)

(3AH)

 

1)STX:

启始单元“:

”(3AH)

 

2)ADDR通讯位置8-bit位置包含了2个ASCII码

 

00:

广播方式为MODBUS

 

01-250:

相应变频器地址

3)FUNC:

命令码8-bit命令

01读线圈

上位机发送数据格式:

“:

”ADDRESS01ADDRHADDRLNUMHNUMLLRC0X0D

0X0A

 

注:

ADDR:

00000---FFFF;NUM:

0001-----0020(16进制数)(NUM为要读

 

的线圈的数量)

 

正确时变频器返回数据格式:

“:

”ADDRESS01BYTECOUNTDATA1DATA2DATA3DATAN

LRC0X0D0X0A

 

注:

BYTECOUNT=NUM/8或BYTECOUNT=NUM/8+1(取整或取整加一)

 

错误时变频器返回数据格式:

“:

”ADDRESS0X8101or02or03or04LRC0X0D0X0A

如:

要检测变频器运行方向(假如变频器反转运行)(CD160=CD161=1,CD162=0)

应发送数据:

“:

”010100050001F90D0A(16进制),转

为ASCII码

格式为:

3A30313031303030353030303146390D0A(ASCII码)

变频器返回数据:

“:

”01010101FC0D0A(16进制),转为ASCII

格式为:

3A303130313031303146430D0A(ASCII)

返回的数据位为“01”(16进制)化为2进制数为“00000001”末位表示运行状

态为“1”表示变频器正在反转运行(如是正转或停止状态则为“0”详见线圈

说明)

 

03读保持寄存器

上位机发送数据格式:

“:

”ADDRESS03ADDRHADDRLNUMHNUMLLRC0X0D

0X0A

 

注:

ADDR:

0---0XFFFF;NUM:

0001---0004(NUM为要读的保持寄存器的数量)

 

正确时变频器返回数据格式:

“:

“ADDRESS03BYTECOUNTDATA1DATA2DATA3DATAN

LRC0D0A

 

-----------------------Pag

e2-----------------------

注:

BYTECOUNT=2*NUM

 

错误时变频器返回数据格式:

“:

”ADDRESS0X8301or02or030r04LRC0X0D0X0A

如:

要读变频器功能码CD000中的设定值(假如为30.00HZ)(CD160=CD161=1

CD162=0)

应发送数据:

“:

”0300000001FC0D0A(16进制),转为ASCII码格式为

3A3033303030303030303146430D0A(ASCII)

变频器返回数据:

“:

”0103020BB8370D0A(16进制),转为ASCII码格式

为:

3A3031303330323042423833370DDA

返回的数据位为“0BB8”(16进制)转换为10进制数为3000表示CD000设置值为

30.00

 

04读取输入寄存器

上位机发送数据格式:

“:

“ADDRESS04ADDRHADDRLNUMHNUMLLRC0X0D

0X0A

 

注:

ADDR:

0----0XFFFF;NUM:

0001----0004(NUM为要读的输入寄存器的数量)

 

正确时变频器返回数据格式:

“:

“ADDRESS04BYTECOUNTDATAH1DATAL1----DATAHN

DATALN

 

注:

BYTECOUNT=NUM*2

 

错误时变频器返回数据格式:

“:

“ADDRESS0X8401or02or03or04LRC0X0D0X0A

如:

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

应发送数据:

“:

”010400060001F40D0A(16进制),转为ASCII格式

为:

3A30313034303030363030303146340D0A(ASCII)

变频器返回数据:

“:

”010402016A

8E0D0A(16进制),转为ASCII码格式

3A3031303430323031364138450D0A(ASCII)

返回的数据位为“016A”(16进制)转换为10进制为“362”表示温度为36.2

 

05写单个线圈状态

上位机发送数据格式:

“:

“ADDRESS05ADDRHADDRLDATAHDATALLRC0X0D

0X0A

 

注:

ADDR:

0----0XFFFFDATA:

0X0000or0XFF00(16进制数)

 

正确时变频器返回数据格式:

“:

“ADDRESS05ADDRHADDRLDATAHDATALLRC0X0D

0X0A

错误时变频器返回数据格式:

“:

”A

DDRESS0X8501or02or030r04LRC0X0D0X0A

 

-----------------------Page3-----------------------

06写单个保持寄存器值

上位机发送数据格式:

“:

“ADDRESS06ADDRHADDRLDATAHDATALLRC0X0D

0X0A

 

注:

ADDR:

0----0XFFFF

 

正确时变频器返回数据格式:

“:

“ADDRESS06ADDRHADDRLDATAHDATALLRC0X0D

0X0A

错误时变频器返回数据:

“:

”ADDRESS0X8601or02or030r04LRC0X0D0X0A

如:

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

应发送数据:

“:

”010600000BB8360D0A(16进制),转为ASCII格

式为

3A30313036303030303042423833360D0A(ASCII)

变频器返回数据:

“:

”010600000BB8360D0A(16进制),转为ASCII

格式为

3A30313036303030303042423833360D0A(ASCII)

返回的数据位为“0BB8”(16进制)转换为10进制为“3000”表示CD000设置值

为30.00

 

0F写多个线圈状态

上位机发送数据格式

“:

“ADDRESS0FADDRHADDRLNUMHNUMLCOUNT

DATAH1DATAL1DATA2HDATA2L-------DATANHDATANLLRC

0X0D0X0A

 

注:

ADDR:

0--------0XFFFF;NUM:

1-------1968/0X7B0;COUNT:

NUM/8或

 

NUM/8+1(NUM为要写的线圈的数量)

 

正确时变频器返回数据格式:

“:

“ADDRESS0FADDRHADDRLNUMHNUMLLRC0X0D

0X0A

错误时变频器返回数据格式:

“:

”ADDRESS0X8F01or02or030r04LRC0X0D0X0A

如:

要使变频器正转(CD160=CD161=1CD162=0),

应发送数据:

“:

”010F004800080102LRC0D0A(16进制),转为ASCII

格式为3A303130463030343830303038303130303032LRC0D

0A(ASCII)

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

变频器返回数据:

“:

”010F00480008LRC0D0A(16进制),转为ASCII

格式为3A303130463030343830303038LRC0D0A(ASCII)

 

10写多个保持寄存器

 

上位机发送数据格式

“:

“ADDRESS0x10ADDRHADDRLNUMHNUML

BYTECOUNTDATAH1DATAL1DATA2HDATA2L-------DATANH

 

-----------------------Page4-----------------------

DATANLLRC0X0D0X0A

 

注:

ADDR:

0------0XFFFF;NUM:

0-125(NUM为要写的保持寄存器的数量)

 

正确时变频器返回数据格式

“:

“ADDRESS0x10ADDRHADDRLNUMHNUMLLRC0X0D

0X0A

 

COUNT=NUM*2

 

错误时变频器返回数据格式:

“:

”ADDRESS0X9001or02or030r04LRC0X0D0X0A

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

CD162=0)

应发送数据:

“:

”011000000002040BB8044CD60D0A(16进制),转为ASCII

格式:

3A3031313030303030303030323034304242383034344344360D0A

(ASCII)

变频器返回数据:

“:

“01100000000245440D0A(16进制),转为ASCII格

式为:

3A303131303030303030303032343534340D0A(ASCII)

发送的要写入16进制数据“0BB8”和“044C”转换为10进制数分别为3000和

1100表示对CD000和CD001写入的数据分别为30.00和110.0

通信错误代码说明:

01非法的功能码

02非法数据地址

03非法数据值

04设备失败

 

功能码说明

 

线圈功能码说明

 

线圈地址名称R/W说明

 

0000保留R

 

0001保留R

 

0002保留R

 

0003运行R0–停止1–运行

 

0004点动R0–无效1–点动

 

0005正/反转R0–正转1–反转

 

0006制动R0–无效1–制动P02-00=0

 

0007频率跟踪R0–无效1–频率跟踪P02–00=1

 

0008IGBT短路R0–无效1–错误‘OC’

 

0009CT检测过流highR0–无效1–错误‘Oc’

 

000ACT检测过流lowR0–无效1–错误“oc”

 

000B对地短路R0–

1-有效

 

0028-002F状态输出MLTIOUT1R0—无效1-有效

 

0030-0037状态输出MLTIOUT2R0—无效1-有效

 

0038-003F状态输出MLTIOUT3R0—无效1-有效

 

0040-0047状态输出MLTIOUT4R0—无效1-有效

 

0048RUNW0—无效1-有效

 

0049FORW0—无效1-有效

 

004AREVW0—无效1-有效

 

004BSTOPW0—无效1-有效

 

004CF/RW0—无效1-有效

 

004DJOGW0—无效1-有效

 

004EJOGFW0—无效1-有效

 

004FJOGRW0—无效1-有效

 

保持寄存器功能码说明

功能码地址与键盘的功能码参数数值显示一样

输入寄存器功能码地址说明

 

输入寄存器地址名称R/W说明

 

-----------------------Page6-----------------------

0000输出频率R

 

0001设定频率R

 

0002输出电流R

 

0003输出转速R

 

0004直流电压R

 

0005交流电压R

 

0006温度R

 

0007计数器R

 

0008反馈值R

 

0009目标值R

 

000A当前运行时间R

 

000B总运行时间

 

4)DATA:

资料内容n×8-bit资料

5)LRC:

侦误值

 

ASCII模式,采用LRC(LongitudinalRedundancyCheck)侦误值。

LRC侦误值乃是将ADDR至最后一个资料内容加总。

得到结果以256单位,超

 

出部分去除(如结果为11128H则取1128H)然后计算二次反补后得到结果即为

 

LRC侦误值。

 

RTU模式

静音ADDRFUNCDATAHDATALCRCHCRCL静音

 

>50ms

50ms

 

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

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

 

范例:

01读线圈

如:

要检测变频器运行方向(假如变频器反转运行)(CD160=CD161=1,CD162=3)

应发送数据:

010100050001CRC(16进制),

变频器返回数据:

01010101CRC(16进制)

返回的数据位为“01”(16进制)化为2进制数为“00000001”末位表示运行状

态为“1”表示变频器正在反转运行(如是正转或停止状态则为“0”祥见线圈

说明)

 

03读保持寄存器

如:

要读变频器功能码CD000中的设定值(假如为30.00HZ)(CD160=CD161=1

CD162=3)

应发送数据:

0300000001CRC(16进制)

变频器返回数据:

0103020BB8CRC(16进制)

返回的数据位为“0BB8”(16进制)转换为10进制数为3000表示CD000设置值

为30.00

 

-----------------------Page7-----------------------

 

04读取输入寄存器

如:

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

应发送数据:

010400060001CRC(16进制)

变频器返回数据:

010402016ACRC(16进制)

返回的数据位为“016A”(16进制)转换为10进制为“362”表示温度为36.2

 

05写单个线圈状态

如:

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

应发送数据:

010500490000FF00CRC(16进制)

变频器返回数据:

010500490000FF00CRC(16进制)

“0000”代表无效;“FF00”代表有效

 

06写单个保持寄存器值

如:

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

应发送数据:

010600000BB8360D0A(16进制)

变频器返回数据:

010600000BB8360D0A(16进制)

返回的数据位为“0BB8”

(16进制)转换为10进制为“3000”表示CD000

设置值为30.00

 

0F写多个线圈状态

如:

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

应发送数据:

010F00480008010002CRC(16进制)

变频器返回数据:

010F00480008CRC(16进制)

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

 

10写多个保持寄存器

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

CD162=3)

应发送数据:

011000000002040BB8044CCRC(16进制)

变频器返回数据:

01100000000245CRC(16进制)

发送的要写入16进制数据“0BB8”和“044C”转换为10进制数分别为3000和

1100表示对CD000和CD001写入的数据分别为30.00和110.0

 

-----------------------Page8-----------------------

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

 

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

 

频器个别位置实施控制。

 

1:

本通讯协议有二种方式:

 

1)RTU方式(RemoteTerminalUnit)模式

 

2)ASCII方式(AmericanStandardCodeforinformationinterchange)模式编码意义

 

RTU模式:

 

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

64H

 

ASCII模式:

 

每个8-bit资料由两个ASCII字元组成,如:

一个1-bit资料64H(十六进位)以ASCII

 

“64”表示,包含6(36H)和4(34H)

 

字元符号01234567

 

ASCII码30H31H32H33H34H35H36H37H

 

字元符号89ABCDEF

 

ASCII码38H39H41H42H43H44H45H46H

 

2:

通讯资料方式

 

1)8N1ForASCIICD162=0

StartbitStop

01234567

 

bit

 

8—Databits字元串

10—bits字元框

 

2)8E1ForASCIICD162=1

Start01234567EvenStop

bitparitybit

 

8—Databits字元串

11—bits字元框

 

3)8O1ForASCIICD162=2

Start01234567OddStop

bitparitybit

 

8—Databits字元串

11—bits字元框

 

4)8N1ForRTuCD162=3

StartbitStop

01234567

bit

 

8—Databits字元串

 

-----------------------Page9-----------------------

11—bits字元框

 

5)8E1ForRTuCD162=4

Start01234567EvenStop

bitparitybit

 

8—Databits字元串

11—bits字元框

 

6)8O1ForRTUCD163=5

Start01234567OddStop

bitparitybit

 

8—Databits字元串

11—bits字元框

 

3:

通讯资料格式

 

3.1ASCII模式

通讯资料格式

 

STX

END

“:

”ADDRFUNCLENDATE…DATALRCCR(0DH)

(n-1)0

 

(3AH)LF(0AH)

 

1)STX:

启始单元“:

”(3AH)

 

2)ADDR通讯位置8-bit位置包含了2个ASCII码

 

00:

广播方式为MODBUS

01—250相应变频器地址

 

3)FUNC:

功能码8-bit

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1