名师推荐MODBUSTCPIP新协调范本doc.docx

上传人:b****8 文档编号:30563825 上传时间:2023-08-16 格式:DOCX 页数:15 大小:80.16KB
下载 相关 举报
名师推荐MODBUSTCPIP新协调范本doc.docx_第1页
第1页 / 共15页
名师推荐MODBUSTCPIP新协调范本doc.docx_第2页
第2页 / 共15页
名师推荐MODBUSTCPIP新协调范本doc.docx_第3页
第3页 / 共15页
名师推荐MODBUSTCPIP新协调范本doc.docx_第4页
第4页 / 共15页
名师推荐MODBUSTCPIP新协调范本doc.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

名师推荐MODBUSTCPIP新协调范本doc.docx

《名师推荐MODBUSTCPIP新协调范本doc.docx》由会员分享,可在线阅读,更多相关《名师推荐MODBUSTCPIP新协调范本doc.docx(15页珍藏版)》请在冰豆网上搜索。

名师推荐MODBUSTCPIP新协调范本doc.docx

名师推荐MODBUSTCPIP新协调范本doc

MODBUSTCPip新协议范本

【网络架构】

以太网帧格式

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

  1.EthernetV1:

这是最原始的一种格式,是由GeroGPARC提出的3MbpsCSMA/CD以太网标准的封装格式,后来在1980年由DEC,Intel和GeroG标准化形成EthernetV1标准.

  2.EthernetV2(ARPA):

由DEC,Intel和GeroG在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格式跟正式的IEEE802.3标准互不兼容.

  4.802.3/802.2LLC:

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

它将EthernetV2帧头的新协议范本类型字段替换为帧长度字段(取值为0000-05dc;十进制的1500);并加入802.2LLC头用以标志上层新协议范本,LLC头中包含DSAP,SSAP以及Crontrol字段.

  5.802.3/802.2SNAP:

这是IEEE为保证在802.2LLC上支持更多的上层新协议范本同时更好的支持IP新协议范本而发布的标准,与802.3/802.2LLC一样802.3/802.2SNAP也带有LLC头,但是扩展了LLC属性,新添加了一个2Bytes的新协议范本类型域(同时将SAP的值置为AA),从而使其可以标识更多的上层新协议范本类型;另外添加了一个3Bytes的OUI字段用于代表不同的组织,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.tGt[/url]

网页查询地址:

[url]http:

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

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

==>Start:

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

●EthernetII即DIG2.0:

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

Cisco名称为:

ARPA。

●Ethernet802.3raw:

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

Cisco名称为:

Novell-Ether。

●Ethernet802.3SAP:

IEEE在1985年公布的Ethernet802.3的SAP版本以太网帧格式。

Cisco名称为:

SAP。

●Ethernet802.3SNAP:

IEEE在1985年公布的Ethernet802.3的SNAP版本以太网帧格式。

Cisco名称为:

SNAP。

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

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

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

图一:

说明:

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

功能码01

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

例:

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

Master→Slave的数据『000000000006020KK5000006』

数据

说明

00182310

0005

目标MAC地址,网卡的硬件地址。

00:

18:

23表示台达

6字节

EthernetII

001AA039

7E4E

源MAC地址,网卡的硬件地址。

00:

1A:

A0表示DELL

6字节

0800

新协议范本类型:

IP新协议范本

2字节

45

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

InternetProtocol(IP)

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

4位版本

00

服务类型(TOS)

0034

TotolLength(IP数据包的长度)

07C6

Identification

4000

Fragmentoffset

80

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

06

新协议范本类型:

TCP

6EE0

CRC校验码

C0

192

SourceID:

192.168.1.105

TransmissionControlProtocol(TCP)

A8

168

01

1

69

105

C0

192

DestinationID:

192.168.1.100

A8

168

01

1

64

100

044D

Sourceport:

pt2-discover(1101)

01F6

Destinationport:

asa-ppl-proto(502)

3705D6C0

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

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

最大字节数为148

0006

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

Slave→Master的数据『00000000000406010135』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0004

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

02

Slave的通讯地址。

01

功能码。

01

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

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

35

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

功能码02

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

例:

ModbusTCP通讯模式下,读取站号为2的从站G2~G34的状态。

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

功能码。

04

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

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

CD657D04

数据内容(G34…G2的状态)。

功能码03

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

PLCD0的MODBUS位址H1000

例:

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

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’0000的数据内容。

0006

H’0001的数据内容。

0808

H’0002的数据内容。

0002

H’0003的数据内容。

0300

H’0004的数据内容。

0000

H’0005的数据内容。

功能码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的数据『000000000006020505020KK0』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0006

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

02

Slave的通讯地址。

05

功能码。

0502

欲写入的地址。

0000

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

Slave→Master的数据『000000000006020505020KK0』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0006

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

02

Slave的通讯地址。

05

功能码。

0502

欲写入的地址。

0000

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

功能码06

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

例1:

ModbusTCP通讯模式下,设置站号为2的从站地址H’1601的内容为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’0004。

功能码15

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

例1:

ModbusTCP通讯模式下,设置站号为2的从站Y0~Y17的状态如下表所示。

Master→Slave的数据『000000000009020F000A02CD01』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0009

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

02

Slave的通讯地址。

0F

功能码。

0500

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

000A

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

02

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

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

CD01

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

Slave→Master的数据『000000000006020F0500000A』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

0006

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

02

Slave的通讯地址。

0F

功能码。

0500

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

000A

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

功能码16

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

例1:

ModbusTCP通讯模式下,设置站号为2的从站地址H’1618=K500(01F4H);H’1619=K1000(03E8H);H’161A=K20XX(07D0H)。

Master→Slave的数据『00000000000B0210161800030601F403E807D0』

数据

说明

0000

TransactionIdenfifier。

0000

ProtocolIdenfifier。

000B

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

02

Slave的通讯地址。

10

功能码。

1618

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

0003

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

06

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

01F4

写入的第一笔控制数据为H’01F4。

03E8

写入的第二笔控制数据为H’03E8。

07D0

写入的第二笔控制数据为H’07D0。

Slave→Master的数据『000000000006020F0500000A』

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

当前位置:首页 > 人文社科 > 军事政治

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

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