Modbus资料Word文件下载.docx

上传人:b****3 文档编号:6874176 上传时间:2023-05-07 格式:DOCX 页数:17 大小:21.76KB
下载 相关 举报
Modbus资料Word文件下载.docx_第1页
第1页 / 共17页
Modbus资料Word文件下载.docx_第2页
第2页 / 共17页
Modbus资料Word文件下载.docx_第3页
第3页 / 共17页
Modbus资料Word文件下载.docx_第4页
第4页 / 共17页
Modbus资料Word文件下载.docx_第5页
第5页 / 共17页
Modbus资料Word文件下载.docx_第6页
第6页 / 共17页
Modbus资料Word文件下载.docx_第7页
第7页 / 共17页
Modbus资料Word文件下载.docx_第8页
第8页 / 共17页
Modbus资料Word文件下载.docx_第9页
第9页 / 共17页
Modbus资料Word文件下载.docx_第10页
第10页 / 共17页
Modbus资料Word文件下载.docx_第11页
第11页 / 共17页
Modbus资料Word文件下载.docx_第12页
第12页 / 共17页
Modbus资料Word文件下载.docx_第13页
第13页 / 共17页
Modbus资料Word文件下载.docx_第14页
第14页 / 共17页
Modbus资料Word文件下载.docx_第15页
第15页 / 共17页
Modbus资料Word文件下载.docx_第16页
第16页 / 共17页
Modbus资料Word文件下载.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Modbus资料Word文件下载.docx

《Modbus资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《Modbus资料Word文件下载.docx(17页珍藏版)》请在冰点文库上搜索。

Modbus资料Word文件下载.docx

注释

01

ReadCoilStatus

(线圈状态0x)(读PLC的输出状态)

bit读位,与5对应,可读可写DO

02

ReadInputStatus

(输入状态1x)(读PLC的输入状态)

bit读位,只读DI

03

ReadHoldingRegister

(保持寄存器4x HR)(读模出状态)

读整形、状态字、浮点型、字符型,与16对应

04

ReadInputRegister

(输入寄存器3x AR)(读PLC模入状态) 

读整形、状态字、浮点型 只读AI

05

WriteSingleCoil

(强制单路输出,给PLC写数据)

写单个位可读可写DO

06

WriteSingleRegister

(强制单路模出,给PLC写数据)

写单个整形、状态字、浮点型、字符型,写HR4x的地址区

15

WriteMultipleCoil

(强制多路输出,给PLC写数据)

写多个位

16(0x10H)

WriteMultipleRegister

(强制多路模出,给PLC写数据)

写多个整形、状态字、浮点型、字符型

15和16可能是用于一次写一串数据的,不允许单个写。

如时刻的世纪、年、月、日、时、分、秒要一次写下去

设备和Modbus地址范围对应表

设备地址

Modbus地址

描述

功能

R/W

1...10000*

address-1

Coils(outputs)

Read/Write

10001...20000*

address-10001

DiscreteInputs

Read

40001...50000*

address-40001

HoldingRegisters

30001...40000*

address-30001

InputRegisters

*最大值与设备相关

注:

设备地址是从1开始的,所以Modbus写入地址要在设备地址上减1。

协议格式

功能码:

01 (线圈状态0x)(读输出状态)

例:

从4站读10…22(Coil11…23),从A开始,共D(13)个数据

主站

从站地址

H 地址

L 地址

HCoils

LCoils

CRC

00

0A

0D

DD

98

 

从站

字节数

Coils7..10

Coils27..20

04

11

50

B3

02 (输入状态1x)(读输入状态)

从4站读10…22(Input10011…10023),从A开始,共D(13)个数据

HInput

LInput

99

Input7..10

Input27..20

14

03 (维持寄放器4x HR)(读模出状态)

从1站读0…1(寄放器40001…40002),共2个数据

H 数据

L 数据

C4

0B

H数据

L数据

01

DA

31

04 (输入寄放器3x AR)(读模入状态) 

从1站读0…1(寄放器30001…30002),共2个数据

71

CB

DB

86

05 强制单路输出,给PLC写数据

给17站173单线圈写ON

AC

FF

4E

8B

写0xFF00表示ON,写0x0000表示OFF

11

返回帧与主站相同

06 强制单路模出,给PLC写数据

给17站40002变量写0x0003H。

帧的地址是0x0001H

9A

9B

11

返回帧与主站相同

15 强制多路输出,给PLC写数据

给17站从20号线圈开始的10个单线圈写ON,MB地址:

20-1=19=0x13H

数据:

帧中位

1   

1  

0 

1 

1

位置

7

6

5

4

3

2

13

12

10

9

8

本例位置

起始位为20

27

26

25

24

23

22

21

20

-

29

28

主站

H线圈数量

L线圈数量

0F

CD

BF

变量写的从站反馈没有数据

16 强制多路模出到维持寄放器,给PLC写数据,每一个寄放器的数据为2个字节。

例:

给17站从40002HR开始的2个寄放器,数据为000A和0102,MB地址:

40002-1=40001=MB1

主站

H地址

L地址

H模入数量

L模入数量

H

L

数据2

C6

F0

Modbus的从站反馈数据没有数据帧的编号(不像TCP协议那样),所以不会显示那个反馈数据是主站的哪次请求的。

若主站一次发送N个数据,从站而没有及时反馈,如此就乱了,主站就不明白从站发过来的数据是哪次命令的。

单变量与多变量:

读能够读单读多,命令不分读几个。

可是写要区分写一个仍是写多个,所以写命令有写单线圈和写多线圈。

Modbus所有功能码

作用

读取线圈状态

取得一组逻辑线圈的当前状态(ON/OFF)

读取输入状态

取得一组开关输入的当前状态(ON/OFF)

读取保持寄存器

在一个或多个保持寄存器中取得当前的二进制值

读取输入寄存器

在一个或多个输入寄存器中取得当前的二进制值

强置单线圈

强置一个逻辑线圈的通断状态

预置单寄存器

把具体二进值装入一个保持寄存器

07

读取异常状态

取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定,用户逻辑可以将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态

08

回送诊断校验

把诊断校验报文送从机,以对通信处理进行评鉴

09

编程(只用于484)

使主机模拟编程器作用,修改PC从机逻辑

控询(只用于484)

可使主机与一台正在执行长程序任务从机通信,探询该从机是否已完成操作任务,仅在含有功能码9的报文发送后,本功能码才发送

读取事件计数

可使主机发出单询问,并随即判定操作是否成功,尤其是该命令或其他应答产生通信错误时

读取通信事件记录

可是主机检索每台从机的ModBus事务处理通信事件记录。

如果某项事务处理完成,记录会给出有关错误

编程(184/384484584)

可使主机模拟编程器功能修改PC从机逻辑

探询(184/384484584)

可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序操作,仅在含有功能13的报文发送后,本功能码才得发送

强置多线圈

强置一串连续逻辑线圈的通断

16

预置多寄存器

把具体的二进制值装入一串连续的保持寄存器

17

报告从机标识

可使主机判断编址从机的类型及该从机运行指示灯的状态

18

(884和MICRO84)

可使主机模拟编程功能,修改PC状态逻辑

19

重置通信链路

发生非可修改错误后,是从机复位于已知状态,可重置顺序字节

读取通用参数(584L)

显示扩展存储器文件中的数据信息

写入通用参数(584L)

把通用参数写入扩展存储文件,或修改之

22~64

保留作扩展功能备用

65~72

保留以备用户功能所用

留作用户功能的扩展编码

73~119

非法功能

120~127

保留

留作内部作用

128~255

用于异常应答

ModBus功能码与数据类型对应表

代码

数据类型

整型、字符型、状态字、浮点型

整型、状态字、浮点型

N/A

重复“回路反馈”信息

字符型

Modbus变量地址

映射地址

功能

地址类型

存取方式

描述

0xxxx

01,05,15

Coil

读写

1xxxx

02

离散输入

只读

2xxxx

03,04,06,16

浮点寄存器

两个连续16位寄存器表示一个浮点数(ieee754格式32位)

3xxxx

04

输入寄存器

每个寄存器表示一个16位无符号整数(0~65535)同上

4xxxx

03,06,16

保持寄存器

5xxxx

ascii字符

每个寄存器表示两个ascii字符

FAQ0:

ABB组态软件有功能块读线圈-1,读线圈-8,读寄放器-1,读寄放器-8的原因是什么?

因为Modbus功能码的读操作能够指定数据长度。

若是从站的地址持续,则能够用一次读八个变量的操作。

若是不持续,能够一次读一个。

读八个的效率要高一些。

FAQ1 :

MB地址的问题:

MB经常常利用30001,40001如此的地址,WHY?

给个理由。

ANS1 :

地址以3开头,如IFIX的mb1中地址用3000一、300一、300001表示的是功能码4的操作,即读输入寄放器。

同理,地址以4开头表示的是功能码3的操作,即对指的是对输出寄放器/内部寄放器进行的操作。

虽然Modbus有两个字节表示地址0xFFFF,共64K,可是一般用不了那么多的。

高安屯垃圾电厂DCSModbus通信点表

DCS-TAG_№

DESCRIPTION

Type

Data

Addr.

XA0FG10-1

ACTIVATEDCARBONSTORAGESILOVENTINGFILTERFANFAULT

DI

BOOL

00407

HC#RC10-O

No.#INLETDAMPERFORNIDSYSTEMAINSERVICECOMMAND

DO

10001

ATO#FG03-S

No.#SETPOINTSO2EMISSION

AO

INT

30002

AI#RC01

No.#REACTORINLETGASSO2ANALYZER

AI

40001

地址以2开头表示浮点数,以0,1,3,4开头表示整数。

FAQ2:

Modbus功能码的名称来源是什么?

ANS2:

因为Modbus主要用于与PLC通信,所以Modbus的地址空间命名也服从PLC的方式。

功能码

名称

注释

01

ReadCoilStatus

读PLC的输出状态,可能是内部量

可读可写

ReadInputStatus

读PLC的输入DI点状态

只读DI,通道来

03

ReadHoldingRegister

读PLC内部模拟量

ReadInputRegister

读PLC的模入AI状态

只读AI,通道来

05

WriteSingleCoil

给PLC写开关量数据

写单个位

06

WriteSingleRegister

给PLC写模拟量数据

写模拟量

15

WriteMultipleCoil

给PLC写多个开关量数据

写多个位

16(0x10H)

WriteMultipleRegister

给PLC写多个模拟量数据

写多个模拟量

列出PLC的线圈与寄放器的分派如下,以三菱FX2n介绍:

辅助继电器

(M线圈)

一般

500点

M0到M499

锁定

2572点

M384至M3071

特殊

256点

M8000至8255

状态继电器

(S线圈)

490点

S0至S499

400点

S500至S899

初始

10点

S0至S9

信号报警器

100点

S900至S999

数据寄存器(D)

200点

D0至D199

类型:

32位元件的16位数据存储寄存器

7800点

D200至D7999

文件寄存器

7000点 

D1000至D7999通过14块500程式步的参数设置类型:

16位数据存储寄存器

从D8000至D8255

变址

16点

V0至V7和Z0至Z7

松下FP1—C40寄放器I/O配置表

符号

编号(地址)

功能说明

外部

输入/

输出

继电

X(位)

X0~X12F

(主机X0~X17)

输入继电器

总点数208点,主机24点,用来存储外部输入信号

WX(字)

WX0~WX12(13个字)

Y(位)

Y0~Y12F(主机Y0~YF)

输出继电器

总点数208点,主机16点,用来存储程序运行结果并输出

WY(字)

WY0~WY12(13个字)

R(位)

R0~R62F

通用内部继电器

只能在PLC内部供用户编程使用,不能用于输出

WR(字)

WR0~WR62

R9000~R903F

特殊内部继电器

每个继电器均具有特殊用途,用

户只能使用其接点,不能用程序

控制其状态,不能用于输出

数据

寄存器

DT(字)

DT0~DT1659(1,660字)

通用数据寄存器

用来存储PLC内处理的数据

DT9000~DT9069(70字)

特殊数据寄存器

具有特殊用途的数据寄存器,不能存储用户数据

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2