当前位置:文档之家› 工业控制网络(现场总线)EtherNetIP

工业控制网络(现场总线)EtherNetIP


6.3.3 连接管理者对象
连接类型
优先级 触发类型
NULL、多点播送或点对点
低、高或预定 周期、COS或应用
连接长度
连接路径
不超过65511字节
在一个端口段内作为一个ASCII 字符串被编码
连接请求超时 应足够长以允许连接的建立
6.3.4 CIP传送类0和类1连接数据
6.3.5 IP多点传送地址范围与地址 分配
6.5 设备描述
标识 对象 连接管理 者对象 应用 对象
TCP/IP 接 口对象
报文路由器 对象
CIP UCM M
封装
CIP 传送
6.5.2 必选对象
每个Ethernet/IP设备至少实现下面对象的实 例1。 • 标识对象(类代码=0x01) • 报文路由器对象(类代码=0x02) • 连接管理者对象(类代码=0x06) • TCP/IP接口对象(类代码=0xF5) • 若使用 Ethernet 媒体,则相应的链接对象 应为Ethernet链接对象(类代码=0xF6)。 • 尽管UCMM没有类代码,每个设备也需实 现UCMM。
未连接数据项
封装一个未连接报文的数据项。
连接数据项
封装一个连接传送数据包的数据项。
Sockaddr info 项
Sockaddr info项用于封装在目标和源发端 之间发送数据报所需的槽地址信息。源发端目标和目标-源发端分别拥有各自槽信息。
6.3 显式与I/O信息到TCP/IP的映 射
本节主要阐述封装协议在CIP中的应用,
注:此回复返回的项均未被公开定义。
6.2.4.4 RegisterSession
注:发起一次会话。
6.2.4.4 RegisterSession
6.2.4.5 UnRegisterSession
注:终止会话。不用回复。会话句柄被设 置为初始 RegisterSession 回复中获取 的值。
6.2.4.6 ListServices
工业控制网络 (现场总线)
第6章 EtherNet/IP
EtherNet/IP ( Ethernet/Industrial Protocol )是一种适用于工业环境的通信系统。 EtherNet/IP 使 用 控 制 与 信 息 协 议 CIP 协 议 ( Control and Information Protocol),其公共的 网络层、传输层和应用层亦为 ControlNet 和 DeviceNet 共享。是位于开放的、高度流行的 EtherNet和TCP/IP协议的顶层的一个公共的、 开放的应用层。
6.2.3.5 状态区
状态区的值指明接收者是否能执行请求
的封装命令。一个回复中的值0指明命令执行
成功。发送者指定的所有的请求中,状态应
为0。此区不反映由报文数据部分所含的封装 协议数据包产生的错误。
6.2.3.5 状态区
6.2.4.1 NOP(空)
注:NOP为源发端或目标确定TCP连接是 否开放提供了一种方法。
6.6.2 TCP/IP接口对象(类代码 =0xF5)
TCP/IP 接口对象可配置的项包括 IP 地址
、网络屏蔽和网关地址。
(1)状态实例属性
(2) 配置性能实例属性
(3) 配置控制实例属性
(4) 物理链路对象
(5) 接口配置
(6) 主机名称
主机名称属性含有设备的主机名字。
6.6.2.3 公共服务
6.2.6 公共信息包格式
公共数据包格式为使用封装协议传送的 协议数据包定义了一个标准格式。
6.2.6 公共信息包格式连接的地址项
被用在面向连接的封装协议。数据含有 一个连接标识符。
序列地址项
被用在CIP传送类0和类1连接数据。数据 含有一个连接标识符和一个序列号。
注:确定目的节点支持哪一个封装服务类。
6.2.4.6 ListServices
6.2.4.6 ListServices
6.2.4.7 SendRRData
注:传送一个封装的请求/回复数据包。
6.2.4.7 SendRRData
注:当用于封装 CIP 时, SendRRData 请求 和响应被用于发送封装的UCMM报文。
6.1 概述
6.1 概述
几个重要概念: 广播风暴 (broadcast storm)- 网络上的一个错 误数据包的广播,它会引起多个主机立刻响应。一 般说来,这种平等的错误数据包会引起风暴,严重 地成指数增长。 数据报(datagram)- 装载足够由一个源到目 的计算机的路由信息的数据的一个自身含有的独立 实体,而不需依靠源与目的计算机先前的信息交换 和传输网络。
6.2.5.3 终止会话
两种方式: ⊙源发端或目标将关闭底层的 TCP 连接。相应 的目标或源发端检测 TCP 连接的丢失,并关闭其自 身端的连接; ⊙源发端或目标将发送一个UnRegisterSession命 令,并等待检测关闭 TCP 连接,相应的目标或源发 端关闭自身端的 TCP 连接。 UniRegisterSession 的发 送者检测到 TCP 连接关闭,它将关闭自身端的连接 。
6.2.2 TCP和UDP的使用
6.2.3.1 封装数据包结构
封装报文均由固定长度为 24 字节的头部
和后续的可选数据部分组成。封装报文的总 长度(包括头部)应限制在65535字节以内。 封装报文内的多字节整数区应以小端字节顺 序发送,这与标准Internet网络协议不同。
6.2.3.1 封装数据包结构
6.6.3 Ethernet链路对象(类代码 =0xF6)
Ethernet 链路对象 为 Ethernet802.3 通信接
口维护链路特定计数器和状态信息。
(1) 接口标志
(2)接口速度
接口速度 属性指出接口是运行在 10Mbps 、100Mbps还是1Gbps。此属性的单位为Mbps ,因此,若接口运行在100Mbps,则此属性为 100。接口速度目的在于描述媒体带宽;若接 口运行在全双工模式,此属性不可加倍。
法可被用于CIP工业协议或其它网络。此封装 协议具有 OSI 参考模型第 2 层数据链路层的功 能。
6.2.2 TCP和UDP的使用
封装协议定义了一个将被所有Ethernet/IP设备支 持的保留的TCP端口号0xAF12 。封装协议也定义了 所 有 Ethernet/IP 设 备 所 支 持 的 保 留 的 UDP 端 口 号 0xAF12 。 TCP/IP 是一种基于流的协议。它允许发送选择 任意长度的 IP 数据包。 UDP 与 TCP 不同,它没有能 力来对信息包重新排序,无论何时使用 UDP 来发送 一个封装报文,整个报文将会在一个独立的 UDP 数 据包中被发送。
6.2.5.4 维护会话
除非发生下述事件,连接应被保持:
⊙源发端或目标关闭TCP连接;
⊙源发端或目标发起UniRegisterSession
命令;
⊙TCP连接被打破。
6.2.5.4 TCP行为
TCP是一种可靠的、面向连接的协议。 若一个进程在连接任意一端关闭连接,则 TCP 的另一个终端会立刻被通知;若来自一个进程的一 个报文不能在合理的时间内传送到另一个终端时, 认为连接已经被破坏。 若一个源发端进程检测到目标已关闭其终端的 一个连接,或连接已经破裂,则它认为与目标的会 话已破裂,并关闭与目标的连接。然后建立一个新 的会话来恢复与目标的通信。
(3) 物理地址
物理地址属性含有接口的 MAC层地址。 物理地址 是 8 位字节的一个数组。建议使用 “XX-XX-XX-XX-XX-XX”格式显示,起始于 第一个8位字节。物理地址是不可设的属性。 Ethernet地址由制造商来分配。
(4) 接口计数器
接口计数器 属性含有与接口上接收数据 包 相 关 的 计 数 器 。 这 些 计 数 器 在 RFC1213“MIB-II管理信息基础”中定义。
6.2.4.8 SendUnitData
注:发送封装报文。此命令在封装协议拥有自身的底层 端对端传送机制时被使用,回复不需被返回。
6.2.5 会话管理
一个TCP封装会话分为三个阶段。
⊙建立会话
⊙维护会话
⊙关闭会话
6.2.5.2 建立会话

源发端开放一个到目标的TCP连接; 发送一个RegisterSession命令给目标; 目标将检测命令报文内的协议版本。若不 支持,将返回支持的最高协议版本; 若支持,目标将分配一个新的(唯一的) SessionID,并回复给源发端。
6.2.5.4 TCP行为
尽管源发端在一个连接的另一端被关闭时被通 知。一个破裂的连接仅可当一个进程试图在连接上 发送一个报文时才被检测到。 TCP 协议支持保持激活进程。当连接在一段时 间内处于空闲, TCP 会发送一个保持激活报文给其 连接的另一个终端。 连接保持几分钟内都不可用,则 TCP 连接失效 。
6.2.3.2 命令区
注:若接收到不支持的命令,将把错误代 码返回给发送者。
6.2.3.3 长度区
封装报文的总长度应限制在65535字节以
内。一个报文的总长度应为长度区的值加上 封装头部的24字节长度。
6.2.3.4 会话句柄
会话句柄应由目标产生,并在对
RegisterSession 请求的响应中返回给源发端。 源发端将其插入到发送给该特定目标的后续 的每个数据包中。一个特定命令是否需要一 个会话是在该命令的描述中被注明的。
重点介绍了 UCMM 和连接数据包的封装。当
一个 CIP 数据包的路径穿过 Ethernet-TCP/IP 网
络时,会使用 TCP/IP 协议族和封装协议来发 送封装的数据包。
6.3.2.1 未连接报文
6.3.2.1 未连接报文
6.3.2.2 CIP传送类0和类1连接
使用 UDP 和封装协议所定义的公共数据
相关主题