MODBUSTCPIP协议.docx

上传人:b****5 文档编号:29379949 上传时间:2023-07-22 格式:DOCX 页数:19 大小:103.37KB
下载 相关 举报
MODBUSTCPIP协议.docx_第1页
第1页 / 共19页
MODBUSTCPIP协议.docx_第2页
第2页 / 共19页
MODBUSTCPIP协议.docx_第3页
第3页 / 共19页
MODBUSTCPIP协议.docx_第4页
第4页 / 共19页
MODBUSTCPIP协议.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

MODBUSTCPIP协议.docx

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

MODBUSTCPIP协议.docx

MODBUSTCPIP协议

MODBUSTCPip协议

【网络架构】

RS-485

以太网帧格式

历史上以太网帧格式有五种:

「EthernetV1:

这是最原始的一种格式,是由XeroxPARC提出的3MbpsCS

MA/CD以太网标准的封装格式,后来在1980年由DEC,Intel和Xerox标准化形成EthernetV1标准.

2.EthernetV2(ARPA):

由DEC,Intel和Xerox在1982年公布其标准,主要更

改了EthernetV1的电气特性和物理接口,在帧格式上并无变化;EthernetV2出现

后迅速取代EthernetV1成为以太网事实标准;EthernetV2帧头结构为6bytes的

源地址+6bytes的目标地址+2Bytes的协议类型字段+数据。

3.RAW802.3:

这是1983年Novell发布其划时代的Netware/86网络套件时采

用的私有以太网帧格式,该格式以当时尚未正式发布的802.3标准为基础;但是当两

年以后IEEE正式发布802.3标准时情况发生了变化—IEEE在802.3帧头中又加入了

802.2LLC(LogicalLinkControl)头,这使得Novell的RAW802.3格式跟正式的I

EEE802.3标准互不兼容.

4.802.3/802.2LLC:

这是IEEE正式的802.3标准,它由EthernetV2发展而来。

它将EthernetV2帧头的协议类型字段替换为帧长度字段(取值为0000-05dc;十

进制的1500);并加入802.2LLC头用以标志上层协议,LLC头中包含DSAP,SS

AP以及Crontrol字段.

5.802.3/802.2SNAP:

这是IEEE为保证在802.2LLC上支持更多的上层协议同时更好的支持IP协议而发布的标准,与802.3/802.2LLC一样802.3/802.2SNA

P也带有LLC头,但是扩展了LLC属性,新添加了一个2Bytes的协议类型域(同时

将SAP的值置为AA),从而使其可以标识更多的上层协议类型;另外添加了一个3B

ytes的0UI字段用于代表不同的组织,RFC1042定义了IP报文在802.2网络中的

封装方法和ARP协议在802.2SANP中的实现.

802.3以太网帧格式备注:

前导码(7字节)、帧起始定界符(1字节)、目的MAC地址(6字节)、源MAC地址(6字节)、类型/长度(2字节)、数据(46~1500字节)、帧校验序列(4字节)[MAC地址可以用2—6字节来表示,原则上是这样,实际都是6字节]

以太网帧格式总结

MAC地址厂商的查询的网址:

全部厂商列表:

[url]http:

〃standards.ieee.org/regauth/oui/oui.txt[/url]

网页查询地址:

[url]http:

//standards.ieee.org/regauth/oui/index.shtml[/url]

在SearchthepublicOUIlisting...输入网卡MAC地址前三位即可,如00-0D-65

==>Start:

目前,有四种不同格式的以太网帧在使用,它们分别是:

•EthernetII即DIX2.0:

Xerox与DEC、Intel在1982年制定的以太网标准帧格式。

Cisco名称为:

ARPA。

•Ethernet

802.3

raw:

Novell

在1983

年公布的专用以太网标准帧格式。

Cisco名称

为:

Novell-Ether

o

Ethernet

802.3

SAP:

IEEE

在1985

年公布的Ethernet

802.3的SAP版本以太

网帧格式。

Cisco

名称为:

SAPo

Ethernet

802.3

SNAP

:

IEEE在1985

年公布的Ethernet

802.3的SNAP版本以

太网帧格式。

Cisco名称为:

SNAP。

在每种格式的以太网帧的开始处都有64比特(8字节)的前导字符,如图3所示。

其中,

前7个字节称为前同步码(Preamble),内容是16进制数0xAA,最后1字节为帧起始标志符0xAB,它标识着以太网帧的开始。

前导字符的作用是使接收节点进行同步并做好接收数据帧

的准备

图一:

说明:

所有范例中Send&Receive的数据都是通过ModbusTCP.exe软件发送与接收

功能码01

功能码01用于读取线圈的状态。

例:

ModbusTCP通讯模式下,读取站号为2的从站Y0〜Y5的状态

装置名称

Y7

Y6

Y5

Y4

Y3

Y2

Y1

Y0

状态

Master—Slave的数据『000000000006020105000006』

数据

说明

0018

2310

0005

目标MAC地址,

00:

18:

23表示台达

厂商代码

网卡的硬件地址。

设备编号

亠4

6字节

EthernetII

W■

00■■0D■■88—4

7--58--2C

*>

Ethernet地址

001A

A039

7E4E

源MAC地址,网

00:

1A:

A0表示D

厂商代码

卡的硬件地址。

ELL

设备编号

6字节

00■■0D■■88—4

J58--2C

Ethernet地址

0800

协议类型:

IP协议

2字节

45

Bit7Bit6Bit5Bit4

Bit3

Bit2Bit1Bit0

Internet

Protocol(IP)

4位首部长度,普通IP数据包字段的值是5

4位版本

00

服务类型(TOS)

0034

TotolLength(IP数据包的长度)

07C6

Identification

4000

Fragmentoffset

80

TimetoLive(一个圭寸包在网络上可以存活的时间)

06

协议类型:

TCP

6EE0

CRC校验码

C0

192

SourceID:

Transmission

A8

168

192.168.1.105

Control

01

1

Protocol

69

105

(TCP)

C0

192

DestinationID:

A8

168

192.168.1.100

01

1

64

100

044D

Sourceport:

pt2-discover(1101)

01F6

Destinationport:

asa-ppl-proto(502)

3705

D6C0

0053

F3CB

50

18

FDD6

windowsize

AACF

校验码

71CC

0000

TransactionIdenfifier。

2字节

Modbus/TCP

0000

ProtocolIdenfifier。

用来确疋应用层

协议是否为Modbus协议

2字节

协议

0006

数据长度,从【Slave的通讯地址】开始计算。

2字节

02

UnitIdenfifier,Slave的通讯地址。

1字节

01

功能码。

1字节

Modbus协议

0500

欲读取的位装置起始地址。

最大字节数为

0006

欲读取的位装置的个数(bits)。

148

Slave—Master的数据『00000000000406010135』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0004

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

01

功能码。

01

欲读取的位装置的数目(bytes),8bits为1byte。

当读取位装置的数目不足1byte时,以1byte计算。

35数据内容(Y5…Y0的状态)

装置名称

Y7

Y6

Y5

Y4

Y3

Y2

Y1

Y0

状态

ri

数值内容

3

51

功能码02

功能码02用于读取输入装置的状态。

例:

ModbusTCP通讯模式下,读取站号为2的从站X2〜X34的状态

装置名称

X7

X6

X5

X4

X3

X2

X1

X0

状态

LL

数值内容

3

5

装置名称

X17

X16

X15

X14

X13

X12

X11

状态

数值内容

9

7

装置名称

X27

X26

X25

X24

X23

X22

X21

X20

状态

r

zn

数值内容

F

5

装置名称

X37

X36

X35

X34

X33

X32

X31

X30

状态

数值内容

1

1

Master—Slave的数据『00000000000602020400001B』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0006

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

02

功能码。

0400

欲读取的位装置起始地址。

001B

欲读取的位装置的个数(bits)。

Slave—Master的数据『000000000007020204CD657D04』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0007

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

02

功能码。

欲读取的位装置的数目(bytes),8bits为Ibyte。

当读取位装置的数目不足Ibyte时,以Ibyte计算。

CD65

7D04

装置名称

X11

X10

X7

X6

X5

X4

X3

X2

状态

数值内容

C

D

装置名称

X21

X20

X17

X16

X15

X14

X13

X12

状态

数值内容

6

5

装置名称

X31

X30

X27

X26

X25

X24

X23

X22

状态

数值内容

7

D

装置名称

X35

X34

X33

X32

状态

数值内容

4

数据内容(X34…X2的状态)。

功能码03

功能码03用于读取保持寄存器(字装置)内容。

PLCD0的MODBUS位址H1000

例:

ModbusTCP通讯模式下,读取站号为2的从站地址H'000~H'0005的内容。

装置地址

内容值

H'0000

0031H

H'0001

0006H

H'0002

0808H

H'0003

0002H

H'0004

0300H

H'0005

0000H

Master—Slave的数据『000000000006020300000006』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0006

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

03

功能码。

0000

欲读取的字装置起始地址。

0006

欲读取的子装置的个数(words)。

Slave—Master的数据『00000000000F02030C003100060808000203000000』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

000F

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

03

功能码。

0C

欲读取的子装置的数目(bytes),1word为2bytes。

0031

H'000的数据内容。

0006

H'001的数据内容。

0808

H'002的数据内容。

0002

H'003的数据内容。

0300

H'004的数据内容。

0000

H'005的数据内容。

功能码05

功能码05用于对位装置进行写单笔操作。

例1:

ModbusTCP通讯模式下,设置站号为2的从站Y2=ON

Master—Slave的数据『00000000000602050502FF00』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0006

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

05

功能码。

0502

欲写入的地址。

FF00

写入的控制数据为H'FF00。

 

Slave—Master的数据『00000000000602050502FF00』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0006

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

05

功能码。

0502

欲写入的地址。

FF00

写入的控制数据为H'FF00。

例2:

ModbusTCP通讯模式下,设置站号为2的从站Y2=OFF

Master—Slave的数据『000000000006020505020000』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0006

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

05

功能码。

0502

欲写入的地址。

0000

写入的控制数据为H'0000。

Slave—Master的数据『000000000006020505020000』

 

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0006

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

05

功能码。

0502

欲写入的地址。

0000

写入的控制数据为H'FF00。

功能码06

功能码06用于对寄存器(字装置)进行写单笔操作。

例1:

ModbusTCP通讯模式下,设置站号为2的从站地址H'601的内容为K4

Master—Slave的数据『000000000006020616010004』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0006

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

06

功能码。

1601

欲写入的地址。

0004

写入的控制数据为H'0004。

Slave—Master的数据『000000000006020616010004』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0006

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

06

功能码。

1601

欲写入的地址。

0004

写入的控制数据为H'004。

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0009

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

0F

功能码。

0500

000A

欲写入的位装置的起始地址。

欲写入的位装置个数(bits)。

02

CD01

装置

Y11

Y10

Y7

Y6

Y5

Y4

Y3

Y2

Y1

Y0

状态

数值

1

C

D

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0006

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

0F

功能码。

0500

欲写入的位装置的起始地址。

000A

欲写入的位装置个数(bits)。

数据

说明

Master—Slave的数据『000000000009020F000A02CD01』

欲写入位装置的数目(bytes),8bits为1byte。

当写入位装置的数目不足1byte时,以1byte计算。

欲写入的数据内容(Y11…Y0的状态)。

Slave—Master的数据『000000000006020F0500000A』

功能码16

功能码16用于对字装置进行写多笔操作。

例1:

ModbusTCP通讯模式下,设置站号为2的从站地址H'1618=K500(01F4H);

H'1619=K1000(03E8H);H'161A=K2000(07D0H)。

装置地址

内容值

H'1618

01F4H

H'1619

03E8H

H'161A

07D0H

 

Master—Slave的数据『00000000000B0210161800030601F403E807D0』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

000B

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

10

功能码。

1618

欲与入的字装置起始地址。

0003

欲与入的字装置个数(words)。

06

欲与入字装置的数目(bytes),1word为2bytes。

01F4

写入的第一笔控制数据为H'1F4。

03E8

写入的第二笔控制数据为H'3E8。

07D0

写入的第二笔控制数据为H'7D0。

 

Slave—Master的数据『000000000006020F0500000A』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0006

数据长度,从【Slave的通讯地址】开始计算。

02

Slave的通讯地址。

10

功能码。

1618

欲与入的字装置起始地址。

0003

欲与入的字装置个数(words)。

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

当前位置:首页 > 医药卫生 > 药学

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

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