1、MODBUS TCP ip 协议【网络架构】以太网帧格式历 史 上 以 太 网 帧 格 式 有 五 种 : 1.Ethernet V1: 这 是 最 原 始 的 一 种 格 式 , 是 由 Xerox PARC 提 出 的 3Mbps CSMA/CD 以 太 网 标 准 的 封 装 格 式 , 后 来 在 1980 年 由 DEC, Intel 和 Xerox 标 准 化 形成 Ethernet V1 标 准 . 2.Ethernet V2(ARPA): 由 DEC, Intel 和 Xerox 在 1982 年 公 布 其 标 准 , 主 要 更改 了 Ethernet V1 的 电 气 特
2、 性 和 物 理 接 口 , 在 帧 格 式 上 并 无 变 化 ; Ethernet V2 出现 后 迅 速 取 代 Ethernet V1 成 为 以 太 网 事 实 标 准 ; Ethernet V2 帧 头 结 构 为 6bytes的 源 地 址 +6bytes 的 目 标 地 址 +2Bytes 的 协 议 类 型 字 段 +数 据 。 3.RAW 802.3: 这 是 1983 年 Novell 发 布 其 划 时 代 的 Netware/86 网 络 套 件 时 采用 的 私 有 以 太 网 帧 格 式 , 该 格 式 以 当 时 尚 未 正 式 发 布 的 802.3 标 准
3、为 基 础 ; 但 是 当 两年 以 后 IEEE 正 式 发 布 802.3 标 准 时 情 况 发 生 了 变 化 IEEE 在 802.3 帧 头 中 又 加 入了 802.2 LLC(Logical Link Control)头 , 这 使 得 Novell 的 RAW 802.3 格 式 跟 正 式的 IEEE 802.3 标 准 互 不 兼 容 . 4.802.3/802.2 LLC: 这 是 IEEE 正 式 的 802.3 标 准 , 它 由 Ethernet V2 发 展 而来 。 它 将 Ethernet V2 帧 头 的 协 议 类 型 字 段 替 换 为 帧 长 度 字
4、 段 (取 值 为 0000-05dc;十进 制 的 1500); 并 加 入 802.2 LLC 头 用 以 标 志 上 层 协 议 , LLC 头 中 包 含 DSAP, SSAP 以 及 Crontrol 字 段 . 5.802.3/802.2 SNAP: 这 是 IEEE 为 保 证 在 802.2 LLC 上 支 持 更 多 的 上 层 协 议同 时 更 好 的 支 持 IP 协 议 而 发 布 的 标 准 , 与 802.3/802.2 LLC 一 样 802.3/802.2 SNAP 也 带 有 LLC 头 , 但 是 扩 展 了 LLC 属 性 , 新 添 加 了 一 个 2B
5、ytes 的 协 议 类 型 域 ( 同时 将 SAP 的 值 置 为 AA) , 从 而 使 其 可 以 标 识 更 多 的 上 层 协 议 类 型 ; 另 外 添 加 了 一 个 3Bytes 的 OUI 字 段 用 于 代 表 不 同 的 组 织 , RFC 1042 定 义 了 IP 报 文 在 802.2 网 络 中的 封 装 方 法 和 ARP 协 议 在 802.2 SANP 中 的 实 现 .802.3 以 太 网 帧 格 式 备 注 :前 导 码 ( 7 字 节 ) 、 帧 起 始 定 界 符 ( 1 字 节 ) 、 目 的 MAC 地 址 ( 6 字 节 ) 、 源 MAC
6、 地 址 ( 6 字 节 ) 、 类 型 /长 度 ( 2 字 节 ) 、 数 据 ( 461500 字 节 ) 、 帧 校 验 序 列 ( 4 字节 ) MAC 地 址 可 以 用 2 6 字 节 来 表 示 , 原 则 上 是 这 样 , 实 际 都 是 6 字 节 以太网帧格式总结MAC 地址厂商的查询的网址:全部厂商列表:urlhttp:/standards.ieee.org/regauth/oui/oui.txt/url 网页查询地址:urlhttp:/standards.ieee.org/regauth/oui/index.shtml/url 在 Search the public
7、 OUI listing . . .输入网卡 MAC 地址前三位即可,如 00-0D-65=Start:目前,有四种不同格式的以太网帧在使用,它们分别是:Ethernet II 即 DIX 2.0:Xerox 与 DEC、Intel 在 1982 年制定的以太网标准帧格式。Cisco 名称为:ARPA。Ethernet 802.3 raw:Novell 在 1983 年公布的专用以太网标准帧格式。Cisco 名称为:Novell-Ether 。Ethernet 802.3 SAP:IEEE 在 1985 年公布的 Ethernet 802.3 的 SAP 版本以太网帧格式。Cisco 名称为:
8、SAP。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功能码
9、01 用于读取线圈的状态。例:Modbus TCP 通讯模式下,读取站号为 2 的从站 Y0Y5 的状态。Y0装 置 名 称状 态Y1Y2Y3Y4Y5Y6Y7MasterSlave 的数据0000 0000 0006 02 01 0500 0006数据 说明00 18 23 1000 05目标 MAC 地址,网卡的硬件地址。00:18:23 表示台达00-0D-88-47-58-2CEthernet地 址厂 商 代 码 设 备 编 号6 字节00 1A A0 397E 4E源 MAC 地址,网卡的硬件地址。00:1A:A0 表示 DELL00-0D-88-47-58-2CEthernet地 址
10、厂 商 代 码 设 备 编 号6 字节08 00 协议类型:IP 协议 2 字节Ethernet IIBit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0454 位首部长度,普通 IP 数据包字段的值是 54 位版本00 服务类型(TOS)00 34 Totol Length(IP 数据包的长度)07 C6 Identification40 00 Fragment offset80 Time to Live(一个封包在网络上可以存活的时间 )06 协议类型:TCPInternet Protocol(IP)6E E0 CRC 校验码C0 192A8 16801 169
11、105Source ID:192.168.1.105C0 192A8 16801 164 100Destination ID:192.168.1.10004 4D Source port:pt2-discover( 1101)01 F6 Destination port:asa-ppl-proto(502)37 05 D6 C000 53F3 CB5018FD D6 window sizeAA CF 校验码71CCTransmission Control Protocol (TCP)00 00 Transaction Idenfifier。 2 字节00 00 Protocol Idenfif
12、ier。用来确定应用层协议是否为 Modbus 协议2 字节00 06 数据长度,从【Slave 的通讯地址 】开始计算。2 字节02 Unit Idenfifier ,Slave 的通讯地址。 1 字节Modbus/TCP协议01 功能码。 1 字节05 00 欲读取的位装置起始地址。00 06 欲读取的位装置的个数(bits) 。最大字节数为148Modbus 协议SlaveMaster 的数据0000 0000 0004 06 01 01 35数据 说明0000 Transaction Idenfifier。0000 Protocol Idenfifier。0004 数据长度,从【Sla
13、ve 的通讯地址 】开始计算。02 Slave 的通讯地址。01 功能码。01 欲读取的位装置的数目(bytes ) ,8bits 为 1byte。当读取位装置的数目不足 1byte 时,以 1byte 计算。35 数据内容(Y5Y0 的状态) 。Y0装 置 名 称状 态Y1Y2Y3Y4Y5Y6Y73 5数 值 内 容功能码 02功能码 02 用于读取输入装置的状态。例:Modbus TCP 通讯模式下,读取站号为 2 的从站 X2X34 的状态。X0装 置 名 称状 态X1X2X3X4X5X6X73 5数 值 内 容X10装 置 名 称状 态X11X12X13X14X15X16X179 7数
14、 值 内 容X20装 置 名 称状 态X21X22X23X24X25X26X27F 5数 值 内 容X30装 置 名 称状 态X31X32X33X34X35X36X371 1数 值 内 容MasterSlave 的数据0000 0000 0006 02 02 0400 001B数据 说明0000 Transaction Idenfifier。0000 Protocol Idenfifier。0006 数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。02 功能码。0400 欲读取的位装置起始地址。001B 欲读取的位装置的个数(bits) 。SlaveMaster
15、 的数据0000 0000 0007 02 02 04 CD65 7D04数据 说明0000 Transaction Idenfifier。0000 Protocol Idenfifier。0007 数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。02 功能码。04 欲读取的位装置的数目(bytes ) ,8bits 为 1byte。当读取位装置的数目不足 1byte 时,以 1byte 计算。CD65 7D04数据内容(X34X2 的状态) 。装 置 名 称状 态X2X3X4X5X6X7C D数 值 内 容装 置 名 称状 态X10X11X12X13X14X1
16、5X16X176 5数 值 内 容装 置 名 称状 态X20X21X22X23X24X25X26X277 D数 值 内 容装 置 名 称状 态X30X31X32X33X34X354数 值 内 容功能码 03功能码 03 用于读取保持寄存器(字装置)内容。PLC D0 的 MODBUS 位址 H1000例:Modbus TCP 通讯模式下,读取站号为 2 的从站地址 H0000H0005 的内容。装 置 地 址 内 容 值H0000H0001H0002H0003H0004H00050031H0006H0808H0002H0300H0000HMasterSlave 的数据0000 0000 000
17、6 02 03 0000 0006数据 说明0000 Transaction Idenfifier。0000 Protocol Idenfifier。0006 数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。03 功能码。0000 欲读取的字装置起始地址。0006 欲读取的字装置的个数(words) 。SlaveMaster 的数据0000 00 00 000F 02 03 0C 0031 0006 0808 0002 0300 0000数据 说明0000 Transaction Idenfifier。0000 Protocol Idenfifier。000F
18、数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。03 功能码。0C 欲读取的字装置的数目(bytes ) ,1word 为 2bytes。0031 H0000 的数据内容。0006 H0001 的数据内容。0808 H0002 的数据内容。0002 H0003 的数据内容。0300 H0004 的数据内容。0000 H0005 的数据内容。功能码 05功能码 05 用于对位装置进行写单笔操作。例 1:Modbus TCP 通讯模式下,设置站号为 2 的从站 Y2=ON。MasterSlave 的数据0000 0000 0006 02 05 0502 FF00数据
19、 说明0000 Transaction Idenfifier。0000 Protocol Idenfifier。0006 数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。05 功能码。0502 欲写入的地址。FF00 写入的控制数据为 HFF00。SlaveMaster 的数据0000 0000 0006 02 05 0502 FF00数据 说明0000 Transaction Idenfifier。0000 Protocol Idenfifier。0006 数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。05 功能码。0502
20、欲写入的地址。FF00 写入的控制数据为 HFF00。例 2:Modbus TCP 通讯模式下,设置站号为 2 的从站 Y2=OFF。MasterSlave 的数据0000 0000 0006 02 05 0502 0000数据 说明0000 Transaction Idenfifier。0000 Protocol Idenfifier。00 06 数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。05 功能码。05 02 欲写入的地址。0000 写入的控制数据为 H0000。SlaveMaster 的数据0000 0000 0006 02 05 0502 000
21、0数据 说明0000 Transaction Idenfifier。0000 Protocol Idenfifier。0006 数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。05 功能码。0502 欲写入的地址。0000 写入的控制数据为 HFF00。功能码 06功能码 06 用于对寄存器(字装置)进行写单笔操作。例 1:Modbus TCP 通讯模式下,设置站号为 2 的从站地址 H1601 的内容为 K4。MasterSlave 的数据0000 0000 0006 02 06 1601 0004数据 说明0000 Transaction Idenfifie
22、r。0000 Protocol Idenfifier。0006 数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。06 功能码。1601 欲写入的地址。0004 写入的控制数据为 H0004。SlaveMaster 的数据0000 0000 0006 02 06 1601 0004数据 说明0000 Transaction Idenfifier。0000 Protocol Idenfifier。0006 数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。06 功能码。1601 欲写入的地址。0004 写入的控制数据为 H0004。功能
23、码 15功能码 15 用于对位装置进行写多笔操作。例 1:Modbus TCP 通讯模式下,设置站号为 2 的从站 Y0Y17 的状态如下表所示。Y11 Y10 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0状 态装 置MasterSlave 的数据0000 0000 0009 02 0F 000A 02 CD01数据 说明0000 Transaction Idenfifier。0000 Protocol Idenfifier。0009 数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。0F 功能码。0500 欲写入的位装置的起始地址。000A 欲写入的位装置个数
24、(bits) 。02 欲写入位装置的数目(bytes ) ,8bits 为 1byte。当写入位装置的数目不足 1byte 时,以 1byte 计算。CD01 欲写入的数据内容(Y11Y0 的状态) 。Y11 Y10 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0状 态装 置数 值 1 C DSlaveMaster 的数据0000 0000 0006 02 0F 0500 000A数据 说明0000 Transaction Idenfifier。0000 Protocol Idenfifier。0006 数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。0F 功能
25、码。0500 欲写入的位装置的起始地址。000A 欲写入的位装置个数(bits) 。功能码 16功能码 16 用于对字装置进行写多笔操作。例 1:Modbus TCP 通讯模式下,设置站号为 2 的从站地址 H1618=K500(01F4H) ;H1619=K1000(03E8H) ;H161A=K2000 (07D0H) 。装 置 地 址 内 容 值H1618H1619H161A01F4H03E8H07D0HMasterSlave 的数据0000 0000 000B 02 10 1618 0003 06 01F4 03E8 07D0数据 说明0000 Transaction Idenfifi
26、er。0000 Protocol Idenfifier。000B 数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。10 功能码。1618 欲写入的字装置起始地址。0003 欲写入的字装置个数(words) 。06 欲写入字装置的数目(bytes ) ,1word 为 2bytes。01F4 写入的第一笔控制数据为 H01F4。03E8 写入的第二笔控制数据为 H03E8。07D0 写入的第二笔控制数据为 H07D0。SlaveMaster 的数据0000 0000 0006 02 0F 0500 000A数据 说明0000 Transaction Idenfifier。0000 Protocol Idenfifier。0006 数据长度,从【Slave 的通讯地址 】开始计算。02 Slave 的通讯地址。10 功能码。1618 欲写入的字装置起始地址。0003 欲写入的字装置个数(words) 。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。