MODBUSTCPIP协议.docx
- 文档编号:23234922
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:15
- 大小:359.45KB
MODBUSTCPIP协议.docx
《MODBUSTCPIP协议.docx》由会员分享,可在线阅读,更多相关《MODBUSTCPIP协议.docx(15页珍藏版)》请在冰豆网上搜索。
MODBUSTCPIP协议
MODBUSTCP-IP协议
MODBUSTCPip协议
【网络架构】
以太网帧格式
历史上以太网帧格式有五种:
1.EthernetV1:
这是最原始的一种格式,是由XeroxPARC提出的3MbpsCSMA/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格式跟正式的IEEE802.3标准互不兼容.
4.802.3/802.2LLC:
这是IEEE正式的802.3标准,它由EthernetV2发展而来。
它将EthernetV2帧头的协议类型字段替换为帧长度字段(取值为0000-05dc;十进制的150
Master→Slave的数据『000000000006020105000006』
数据
说明
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的从站X2~X34的状态。
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
数据内容(X34…X2的状态)。
功能码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的数据『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’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=K2000(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』
数据
说明
0000
TransactionIdenfifier。
0000
ProtocolIdenfifier。
0006
数据长度,从【Slave的通讯地址】开始计算。
02
Slave的通讯地址。
10
功能码。
1618
欲写入的字装置起始地址。
0003
欲写入的字装置个数(words)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MODBUSTCPIP 协议