MODBUSTCPIP协议.docx
- 文档编号:9289732
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:17
- 大小:158.80KB
MODBUSTCPIP协议.docx
《MODBUSTCPIP协议.docx》由会员分享,可在线阅读,更多相关《MODBUSTCPIP协议.docx(17页珍藏版)》请在冰豆网上搜索。
MODBUSTCPIP协议
【网络架构】
MODBUSTCPip协议
以盘网
RS-485
以太网帧格式
历史上以太网帧格式有五种:
1.EthernetVI:
这是最原始的一种格式,是由GeroGPARC提出的3MbpsCSMA
/CD以太网标准的封装格式,后来在1980年由DEC,Intel和GeroG标准化形成Et
hernetV1标准.
2.EthernetV2(ARPA):
由DEC,Intel和GeroG在1982年公布其标准,主要更
改了EthernetV1的电气特性和物理接口,在帧格式上并无变化;EthernetV2出现后
迅速取代EthernetV1成为以太网事实标准;EthernetV2帧头结构为6bPtes的源地
址+6bPtes的目标地址+2BPtes的协议类型字段+数据。
3.RAW802.3:
这是1983年Novell发布其划时代的Netware/86网络套件时采用
的私有以太网帧格式,该格式以当时尚未正式发布的802.3标准为基础;但是当两年
以后IEEE正式发布802.3标准时情况发生了变化一IEEE在802.3帧头中又加入了8
02.2LLC(LogicalLinkControl)头,这使得Novell的RAW802.3格式跟正式的IEEE80
2.3标准互不兼容.
4.802.3/802.2LLC:
这是IEEE正式的802.3标准,它由EthernetV2发展而来。
它将EthernetV2帧头的协议类型字段替换为帧长度字段(取值为0000-05dc;十进制的
1500);并加入802.2LLC头用以标志上层协议,LLC头中包含DSAP,SSAP以及C
rontrol字段.
5.802.3/802.2SNAP:
这是IEEE为保证在802.2LLC上支持更多的上层协议同
时更好的支持IP协议而发布的标准,与802.3/802.2LLC一样802.3/802.2SNAP也
带有LLC头,但是扩展了LLC属性,新添加了一个2BPtes的协议类型域(同时将S
AP的值置为AA),从而使其可以标识更多的上层协议类型;另外添加了一个3BPte
s的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/reqauth/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年制定的以太网标准帧格式。
Cisc
o名称为:
ARPA。
•Ethernet802.3raw:
Novell在1983年公布的专用以太网标准帧格式。
Cisco名称为:
No
vell-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的从站P0~P5的状态。
装置名称
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
状态
1
Master—Slave的数据『000000000006020PP5000006』
数据
说明
0018231
0
0005
目标MAC地址,网卡的硬件
地址。
00:
18:
23表示台达
6字节
EthernetII
厂商代码
设备编-
号
■■
■
00■■0D■■88—4
7--58--2C
Ethernet地址
001AA0
39
7E4E
源MAC地址,网址。
00:
1A:
A0表
厂商代码
k
卡的硬件地
示DELL
设备编「
q
6字节
号
F*
00■■0D■■88—4
7--58--2C
1Ethernet地址
0800
协议类型:
IP协议
2字节
45
Bit7Bit6|Bit5
Bit4
Bit3Bit2Bit1Bit0
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.10
5
TransmissionControlProtocol(TCP)
A8
168
01
1
69
105
C0
192
Destinationl
D:
192.168.1.10
0
A8
168
01
1
64
100
044D
Sourceport:
pt2-discover(1101)
01F6
Destinationport:
asa-ppl-proto(502)
3705D6C0
0053F3CB
50
18
FDD6
windowsize
AACF
校验码
71CC
0000
Transactionldenfifier。
2字节
Modbus/TCP协议
0000
ProtocolIdenfifier。
用来确疋应用层协议是否为Modbus协议
2字节
0006
数据长度,从【Slave的通讯地址】开始计算。
2字节
02
Unitldenfifier,Slave的通讯地址。
1字节
01
功能码。
1字节
Modbus协议
0500
欲读取的位装置起始地址。
最大字节数
为148
0006
欲读取的位装置的个数
(bits)。
Slave—Master的数据『00000000000406010135』
数据
说明
0000
Transactionldenfifier。
0000
Protocolldenfifier。
0004
数据长度,从【Slave的通讯地址】开始计算。
02
Slave的通讯地址。
01
功能码。
01
欲读取的位装置的数目(bPtes),8bits为1bPte。
当读取位装置的数
目不足1bPte时,以1bPte计算。
35
数据内容(P5…P0的状态)。
装置名称Y7Y6Y5|Y4|Y3Y2Y1Y0
数值内容3|5
功能码02
功能码02用于读取输入装置的状态。
例:
ModbusTCP通讯模式下,读取站号为2的从站G2〜G34的状态
装置名称
X7
X6
X5
X4
X3
X2
X1
X0
状态
LL
J
数值内容
3
5
装置名称
X17
X16
X15
X14
X13
X12
X11
X10
状态
23
数值内容
9
7
装置名称
X27
X26
X25
X24
X23
X22
X21
X20
状态
r
数值内容
F
5
装置名称
X37
X36
X35
X34
X33
X32
X31
X30
二
状态
数值内容
1
1
Master—Slave的数据『00000000000602020400001B』
数据
说明
0000
Transactionldenfifier。
0000
Protocolldenfifier。
0006
数据长度,从【Slave的通讯地址】开始计算。
02
Slave的通讯地址。
02
功能码。
0400
欲读取的位装置起始地址。
001B
欲读取的位装置的个数(bits)。
Slave—Master的数据『000000000007020204CD657D04』
数据
0000
说明
Transactionldenfifier。
功能码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
0006
数据长度,从【Slave的通讯地址】开始计算。
02
Slave的通讯地址。
03
功能码。
0000
欲读取的字装置起始地址。
0006
欲读取的子装置的个数(words)。
Slave—Master的数据『00000000000F02030C003100060808000203000000』
数据
说明
0000
Transactionldenfifier。
0000
ProtocolIdenfifier。
000F
数据长度,从【Slave的通讯地址】开始计算。
02
Slave的通讯地址。
03
功能码。
0C
欲读取的字装置的数目(bPtes),1word为2bPtes。
0031
H'000的数据内容。
0006
H'001的数据内容。
0808
H'002的数据内容。
0002
H'003的数据内容。
0300
H'004的数据内容。
0000
H'005的数据内容。
功能码05
功能码05用于对位装置进行写单笔操作。
例1:
ModbusTCP通讯模式下,设置站号为2的从站P2=ON
Master—Slave的数据『00000000000602050502FF00』
数据
说明
0000
Transactionldenfifier。
0000
ProtocolIdenfifier。
0006
数据长度,从【Slave的通讯地址】开始计算。
02
Slave的通讯地址。
05
功能码。
0502
欲写入的地址。
FF00
写入的控制数据为H'FF00。
Slave—Master的数据『00000000000602050502FF00』
数据
说明
0000
Transactionldenfifier。
0000
ProtocolIdenfifier。
0006
数据长度,从【Slave的通讯地址】开始计算。
02
Slave的通讯地址。
05
功能码。
0502
欲写入的地址。
FF00
写入的控制数据为H'FF00。
例2:
ModbusTCP通讯模式下,设置站号为2的从站P2=OFF
Master—Slave的数据『000000000006020505020PP0』
数据
说明
0000
Transactionldenfifier。
0000
Protocolldenfifier。
0006
数据长度,从【Slave的通讯地址】开始计算。
02
Slave的通讯地址。
05
功能码。
0502
欲写入的地址。
0000
写入的控制数据为H'0000。
Slave—Master的数据『000000000006020505020PP0』
数据
说明
0000
Transactionldenfifier。
0000
ProtocolIdenfifier。
0006
数据长度,从【Slave的通讯地址】开始计算。
02
Slave的通讯地址。
05
功能码。
0502
欲写入的地址。
0000
写入的控制数据为H'FF00。
功能码06
功能码06用于对寄存器(字装置)进行写单笔操作。
例1:
ModbusTCP通讯模式下,设置站号为2的从站地址H'601的内容为K4
Master—Slave的数据『000000000006020616010004』
数据
说明
0000
Transactionldenfifier。
0000
ProtocolIdenfifier。
0006
数据长度,从【Slave的通讯地址】开始计算。
02
Slave的通讯地址。
06
功能码。
1601
欲写入的地址。
0004
写入的控制数据为H'0004。
Slave—Master的数据『000000000006020616010004』
数据
说明
0000
Transactionldenfifier。
0000
ProtocolIdenfifier。
0006
数据长度,从【Slave的通讯地址】开始计算。
02
Slave的通讯地址。
06
功能码。
1601
欲写入的地址。
0004
写入的控制数据为H'0004。
功能码15
Master—Slave的数据『000000000009020F000A02CD01』
数据
说明
0000
Transactionldenfifier。
0000Protocolldenfifier。
0009数据长度,从【Slave的通讯地址】开始计算
02Slave的通讯地址。
CD01
欲写入的位装置的起始地址。
欲写入的位装置个数(bits)。
欲写入位装置的数目(bPtes),8bits为IbPte。
当写入位装置的数目不足IbPte时,以IbPte计算。
欲写入的数据内容(P11…P0的状态)
装置
状态
Y11
Y10
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
•
•
■
■
•
•
数值
1
C
D
Slave—Master的数据『000000000006020F0500000A』
数据
说明
0000
Transactionldenfifier。
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=K20PP(07D0H)。
装置地址
内容值
H'1618
01F4H
H'1619
03E8H
H'161A
07D0H
Master—Slave的数据『00000000000B0210161800030601F403E807D0』
数据
说明
0000
Transactionldenfifier。
0000
ProtocolIdenfifier。
000B
数据长度,从【Slave的通讯地址】开始计算。
02
Slave的通讯地址。
10
功能码。
1618
欲与入的字装置起始地址。
0003
欲与入的字装置个数(words)。
06
欲与入字装置的数目(bPtes),1word为2bPtes。
01F4
写入的第一笔控制数据为H'1F4。
03E8
写入的第二笔控制数据为H'3E8。
07D0
写入的第二笔控制数据为H'7D0。
Slave—Master的数据『000000000006020F0500000A』
数据
说明
0000
Transactionldenfifier。
0000
Protocolldenfifier。
0006
数据长度,从【Slave的通讯地址】开始计算。
02
Slave的通讯地址。
10
功能码。
1618
欲与入的子装置起始地址。
0003
欲与入的子装置个数(words)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MODBUSTCPIP 协议
![提示](https://static.bdocx.com/images/bang_tan.gif)