标准的TCP/IP工业以太网-EtherNet/IP
标准的TCP/IP工业以太网-EtherNet/IP
徐智穹
以太网具有传输速度高、兼容性好、应用广泛等方面的优势,支持几乎所有流行的网络协议,其中使用的最广泛TCP/IP协议支持基于异种操作系统的异种网络间的互联,是真正的开放系统通信协议,已成为目前国际上进行异种网络互联的事实上的标准。
工业控制领域正向分布式、智能化的实时控制方向发展,用户对统一的通讯协议和网络的要求日益迫切;同时用户要求企业从现场控制层到管理层能够实现全面的无缝的信息集成,并提供一个开放的基础构架,这些都要求控制网络使用开放的、透明的通信协议。但是目前的各种现场总线都无法满足这些要求,而在以太网上广泛使用的TCP/IP协议的开放性使得在工控领域中的通讯问题得到了解决。因而,近年来以太网逐渐进入了控制领域,形成了新型的以太网控制网络技术,即“工业以太网”技术。过去以太网没有进入工控领域,主要是由于以太网采用的带冲突检测的载波监听多点访问(Carrier Sense Multiple Access with Collision Detection,CSMA/CD)是一种非确定性或随机性通信方式,不能满足实时性和确定性高要求的使用需求。但是,随着以太网技术的不断发展,其网络传输速度不断提高,带宽达千兆的网络已经出现;而且高速交换技术也极大的提高了以太网的确定性。克服了过去的种种不足后,以太网最终得以进入工业领域。
国际上广泛使用的IE有:控制网络国际组织(ControlNet International,CI)和开放式设备供货商协会(Open DeviceNet Vendor Association,ODVA)开发的EtherNet/IP(EIP)、由Mod-bus-IDA组织开发的Modbus TCP和由PNO(Profibus Nutzer Organization)开发的和Siemens开发的Profinet,它们分别由相应的企业和组织进行推广。
1. EtherNet/IP的优点
相对于其他IE而言,EIP使用标准TCP/IP 以太网,使其工业用户能够直接从标准TCP/IP 以太网技术本身的持续创新和成本降低等好处中获益。EIP的性能会随着以太网其他技术(如信息安全技术、高速传输技术、高速交换技术等)的不断发展而发展。
标准TCP/IP以太网技术的完全开放意味着EIP产品供应商可以自由、自主地选择全球范围内任何符合工业等级要求的TCP/IP以太网控制芯片进行开发和生产。EIP在商业以太网的硬件和软件基础上运行适用于工业自动化设备的应用层协议。这样,商业以太网的交换机等设备就可以直接用在工业控制系统中(当然需要满足实际系统的控制和环境等条件要求)。在EIP产品的开发和制造中,中国自动控制厂商和国外厂商站在了同一条起跑线上。
图1 EtherNet/IP和CIP的协议架构
EIP在商业以太网中引入了通用工业协议 (Common Industrial Protocol,CIP)。CIP是专为工业控制设计的应用层协议,提供了访问数据和控制设备操作的对象集。EIP和CIP的协议架构如图1所示。在发送CIP数据包以前必须对其进行封装;运行在EIP上的CIP协议可以与运行在标准TCP/IP传输层上的任何其他协议并存;EIP还可以与任何一个基于CIP的网络(如DeviceNet和ControlNet)共存。由于建立在广泛使用的协议簇之上,故EIP首次实现了传感器级网络到控制器和企业级网络的无缝集成。
2. CIP
CIP是经实践证明的、实时性能很好的应用层协议,具备CIP应用层的以太网才是真正开放的工业以太网产品。它是基于DeviceNet、ControlNet、EIP的通信协议,为DeviceNet、ControlNet、EtherNet/IP网络提供公共的应用层和设备描述。CIP建立在单一的、与介质无关的平台上,为从工业现场到企业管理层提供无缝通信,使用户可以整合跨越不同网络的有关安全、控制、同步、运动、报文和组态等方面的信息。它有助于使工程化和现场安装的开销最小化,使用户获得最大的投资收益。
CIP采用基于非连接的用户数据报文协议/网际协议(UDP/IP)和基于连接的传输控制协议/网际协议(TCP/IP)作为Ethernet网上控制和信息的传输协议,允许发送显式和隐式报文(CIP与TCP/IP层次关系见图2)。
其中,隐式报文是对时间有苛刻要求的控制信息,通过UDP/IP完成;显式报文是对时间无苛刻要求的点对点信息,可由TCP/IP完成。显式报文用于配置、下载和故障诊断;隐式报文用于实时I/O数据的传输。CIP是一个基于对象的网络设备的解决方案。作为设备间进行自动化数据传输的通讯协议,CIP把每一个网络设备看作一系列对象的集合。每个对象也只是一组设备相关数据的集合,称为属性。它通过设备描述对网络中的设备进行完整的定义。CIP向终端用户提供了自动化系统必不可少的控制、组态、数据采集服务功能。为面向自动化领域提供了以太网上的工业自动化设备的互操作性和互换性。
图2 CIP与TCP/IP层次关系
2.1 CIP对象模型
图3为CIP的对象模型。包括所有EIP设备都必须实现的核心对象,如消息路由器
(Message Router)、无连接信息管理器(Unconnected Message Manager)、标识对象(Identity Object)和连接管理器(Connection Manager);可以选择实现的对象:组合对象(Assembly Object)。
(1)消息路由器。负责接收来自UCMM或Transport的显式报文,去掉报文头,将数据进行解析。根据要访问的类和属性路径对目的对象进行路由;
(2)无连接信息管理器(UCMM)。主要通过基于非连接传输方式的报文解析,提供跨网络的报文服务并可以进行报文复制检测和重试服务。值得注意的是CIP中UCMM和Transport并不是真正意义上的对象,而是与产品具体实现相关的功能组件。相对于UCMM来讲,Transport在网络层和设备对象之间直接建立了一个接口:当接收到显式报文时,将数据送给Message Router处理;当接收到隐式报文时,直接将数据送到应用对象处理。提供跨网络的报文服务并可以进行报文复制检测和重试服务;
(3)标识对象。包含了当产品接入网络时与网络相关的所有服务和属性,如提供Vendor ID、IP地址和端口号等设备相关信息;
(4)连接管理器。负责管理网络上连接的打开和关闭,为1类和3类连接提供传输目标。
(5)组合对象。用于实现网络上结点数据的传送和接收。
图3 CIP的对象模型
CIP规约定义了三种类型的对象:①必须对象②应用对象③厂商定义对象。
必须对象是指每个CIP设备都必须包含的对象(如标识对象和消息路由器等)。
应用对象定义了设备封装的数据。这类对象对应于不同的设备。比如,驱动系统中的电机对象包含了描述频率、额定电流和电机尺寸等属性数据;I/O设备的模拟量输入对象包含了模拟输入的类型和电流值等属性数据。
厂商定义对象是指那些在规约中没有指明的而是由厂商自己构造的特殊对象,在访问这类对象时可以使用与访问必须对象和应用对象相同的方法。
2.2 3种主要的传输方式
EIP中现有的主要三种传输类型为UCMM方式、1类和3类传输方式。
(1)UCMM方式,即基于无连接的报文传输。
该方式由客户端和服务器端组成,客户端发起报文传输,服务器端对客户端的请求进行响应。UCMM方式采用了重发和确认机制来保证每次请求和响应包的可靠传输。与1类和3类传输方式相比,这种传输方式效率相对较低,但由于采用基于无连接的方式,在传输请求和响应包时不需要预先进行协商。UCMM客户端可以同时向一个和多个服务器端发起多次请求/响应传输,具体传输次数大小仅由实际客户端设备的传输记录能力来决定。与此类似,UCMM的服务器端可以同时接收来自多个不同客户端传输请求/响应,具体数目也是仅由实际服务器端设备的传输记录能力来决定的。UCMM类传输方式多用在1类和3类传输初始化阶段,连接初始化工作由Connection Manager Object(连接管理器对象)来完成。
(2)1类传输,即基于连接的实时数据传输。
与UCMM和3类传输方式不同,该传输方式不是由采用客户端和服务器端的组成,而是由生产者和消费者组成。 它允许连接中的双方节点可以分别同时发送和接收数据,而不再有先请求后响应的顺序要求了。1类传输可以重复进行,是进行实时控制数据传输的主要方式。
3类传输: 基于连接的报文传输;
与UCMM传输方式类似,3类传输方式也由客户端和服务器端组成,客户端发起报文传输,服务器端则对客户端的请求进行响应。这种方式适合于以定时方式进行的事件类触发数据的传输,传输效率高于UCMM传输方式。
三种传输方式与TCP和UDP的关系如表1所示。
表1 三种传输方式与TCP和UDP的关系
TCP UDP
Unconnected UCMM
Connected 3类传输 1类传输
3类传输是通过TCP/IP协议收发报文的,主要是通过TCP端口0xaf12进行的,所有的3类报文都是采用点对点方式传输的;1类传输是通过UDP/IP协议收发报文的,主要是通过UDP端口0x08ae进行的,1类报文可以采用点对点传输,也可以采用多播方式进行多点传输。
3.3 EIP产品的开发
为了推广EIP作为工业自动化应用层协议的使用,国际上有四个独立的组织一直在努力工作,即:ODVA(Open DeviceNet V
标准的TCP/IP工业以太网-EtherNet/IP的更多相关文章
- 工业以太网EtherNet/IP协议安全分析整理
1. EtherNet/IP : 设备可以用户数据报协议(UDP)的隐式报文传送基于IO的资料 ,用户传输控制协议(TCP)显示报文上传和下参数,设定值,程式 ,用户主站的轮询 从站周期性的更 ...
- EtherNet/IP CIP协议
EtherNet/IP CIP协议 1.EtherNet/IP简述 EtherNet/IP(Ethernet/Indstrial Protocol,以太网/工业协议)是一种基于以太网和TCP/IP技术 ...
- 各种工业以太网比较(EtherCAT,EtherNet/IP,ProfiNet,Modbus-TCP,Powerlink)
EtherCAT(以太网控制自动化技术)是一个以以太网为基础的开放架构的现场总线系统,EterCAT名称中的CAT为ControlAutomation Technology(控制自动化技术)首字母的缩 ...
- EtherNet/IP 协议结构
一.Ethernet/IP 协议 将标准的TCP/IP以太网延伸 到工业实时控制并和通用工业协议(CIP)结合,将很好地帮助用户获得更加开放集成的工业自动化和信息化的整体解决方案.EtherNet/I ...
- 工控安全入门之 Ethernet/IP
工控安全入门之 Ethernet/IP Ethernet/IP 与 Modbus 相比,EtherNet/IP 是一个更现代化的标准协议.由工作组 ControlNet International 与 ...
- 以太网帧、TCP与UDP段以及IP数据报格式总结
传输层及其以下的机制由内核提供,是操作系统的一部分,应⽤层由⽤户进程提供应⽤层数据通过协议栈发到⽹络上时,每层协议都要加上⼀个数据⾸部(header),称为封装.不同的协议层对数据包有不同的称谓,在传 ...
- 以太网,IP,TCP,UDP数据包分析【转】
原文地址:http://www.cnblogs.com/feitian629/archive/2012/11/16/2774065.html 1.ISO开放系统有以下几层: 7 应用层 6 表示层 5 ...
- TCP/IP协议的数据传输过程详解——IP与以太网的包收发操作
MTU:一个网络包的最大长度,以太网中一般是1500字节:(含有头部长度,包括IP头部,TCP头部,不包括MAC头部) MSS:除去头部后,一个网络包所能容纳的TCP的数据的最大长度 下图为TCP/I ...
- 以太网,IP,TCP,UDP数据包分析(此文言简意赅,一遍看不懂的话,耐心的看个10遍就懂了,感谢作者无私奉献)
1.ISO开放系统有以下几层: 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 2.TCP/IP 网络协议栈分为应用层(Application).传输层(Tra ...
随机推荐
- C# Path
http://hi.baidu.com/mayijun0410/item/4fa6c6c154a1c35ebdef69f9 using System.IO; Path类的静态方法: ChangeExt ...
- bzoj 1242: Zju1015 Fishing Net 弦图判定
1242: Zju1015 Fishing Net弦图判定 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 214 Solved: 81[Submit ...
- [转载]MVC3缓存:使用页面缓存
在以前的WebForm的开发中,在页面的头部加上OutputCache即可启用页面缓存,而在MVC3中,使用了Razor模板引擎的话,该如何使用页面缓存呢?如何启用 在MVC3中要如果要启用页面缓存, ...
- C++中怎么获取类的成员函数的函数指针?
用一个实际代码来说明. class A { public: staticvoid staticmember(){cout<<"static"<<endl;} ...
- Redis-PHP-Hash 表相关API
Hashes 相关 ================================ hDel - 删除一个哈希 key hExists - 检查哈希 key是否存在 hGet - 获得某哈希 key ...
- Codeforces Round #243 (Div. 2) A~C
题目链接 A. Sereja and Mugs time limit per test:1 secondmemory limit per test:256 megabytesinput:standar ...
- nginx知识点
nginx 安装与配置文件 #cat /etc/nginx/nginx.conf #运行用户user www-data; #启动进程,通常设置成和cpu的数量相等worker_processes ...
- Android性能优化典范 - 第2季
Google发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化,网络优化,Wear上如何做优化,使用对象池来提高效率,LRU Cache,Bitmap的缩放,缓 ...
- Tableau
http://tableau.analyticservice.net/desktop.html
- DIV内英文或者数字不换行的问题 解决办法
word-wrap:break-word; word-break:break-all;