EtherNet/IP 协议结构
一、Ethernet/IP 协议
将标准的TCP/IP以太网延伸 到工业实时控制并和通用工业协议(CIP)结合,将很好地帮助用户获得更加开放集成的工业自动化和信息化的整体解决方案。EtherNet/IP 就是为实现这一目的的标准工业以太网技术。Ethernet/IP是一个面向工业自动化应用的工业应用层协议。它建立在标准是由ODVA(OpenDeviceNet VendorsAssociation)和ControlNet International 所推出的一种与TCP/IP 以太网相结合的工业以太网标准。

下图反应的 CIP 保证实时通讯与Internet协议并存。(EtherNet/IP是一种基于以太网和TCP/IP技术的工业以太网,其物理层和数据链路层使用以太网协议网络层和传输层使用TCP/IP协议族中的协议,应用层使用CIP和 TCP/IP协议)
将UDP报文映射到IP多播传送,实现高效的I/O交换,用TCP协议的流量控制点对点特性通过TCP通道传输非实时性显示报文。(以太网广播只能在交换机和网桥和集线器之间传输,不能穿透路由器,以太网广播报文被限制在一个子网内,不可能被扩散到Internet)
实践中 工业以太网的设备层,流通的数据是实时I/O数据,采用的UDP/IP协议来传递,其优先级较高(比TCP/IP优先级高)

1、CIP 是 Ethernet/IP和 DevieNet 、ControlNet三种网络都使用的构成部分,三者据用相同的应用层和应用对象库和设备描述(CIP协议族定义了一系列46个对象,但同时也存在不通用的 ----DeviceNet有一个 ControlNet有3个 EtherNet/IP有1个,其余的都是通用的)。因此一般上将这三种协议统称为CIP网络



2、EtherNet/IP 的通信机制
第一:通信模式 -------生产者/消费者
第二 :CIP报文通信的方式:
无连接通信-------基本的通信方式,设备的无连接通信资源有无连接报文管理器UCMM管理,无连接通信不需要任何设置或任何机制保持连接激活状态。
连接报文通信------可以用来传递I/O数据和显示报文,支持生产者/消费者的多点传输关系。
3、etherNet/IP 硬件总体结构
三星的模块: ARM9 S3C2410为CPU

目前磊说由于不可避免的原因 (目前,Ethernet/IP工业以太网的应用主要是在自动化领域的信息层和控制层)在设备层使用ODVA 支持的ControlNet 和DeviceNet .利用总线在设备层的抗干扰能力强的优点作为公益以太网的补充。
EtherNet/IP 基于Socket 在 层上定义数据模型,发送的数据包都是IP包
二、CIP协议结构
ODVA(Open DeviceNet Vendor Association) 和CI(ContrilNet International)共同推动了CIPTM (通用工业协议)的工业网络,包括了 EtherNet/IP 、 ControlNet 、 DeviceNet 。CIP协议本身的特点(实时性-------数据传输花的时间少、、确定性------数据传输的时间具有可预测性、 可重复性-----增加或减少网络节点,对数据花费时间影响较小、 可靠性------数据传输的正确率较高)
CIP 协议的特点:
报文: CIP协议是重要的特点是乐意传输多种类型的数据 (工业应用中需要传输的数据类型有I/O数据、互锁、配置、诊断故障、程序上传和下载-----不同的书卷类型对传输的性能要求不一样)-----》》》》所以报文被分成两种类型 显示报文和隐式报文

显示报文; --------用于传输对时间上没有苛刻要求的数据(程序的上传和下载、系统的维护、故障诊断、设备配置信息等--------》这种报文包含解读该报文所需的解读该报文的信息被称为显示报文)
隐式报文: --------用于传输I/O数据(隐式报文又称为I/O报文或者隐式I/O报文)

CIP协议通信重要特性就是与介质无关性,(对此可以在控制系统和I/O设备上实现协议的开放原因)这就保证了以后可以将其移植到更高性能的网络上实施。并且提供全部的功能。保证原有现场总线或者以太网技术的透明性和一致性。



现在发现,研究的这个协议里面涉及的东西太多,
EtherNet/IP 协议结构的更多相关文章
- 工业以太网EtherNet/IP协议安全分析整理
1. EtherNet/IP : 设备可以用户数据报协议(UDP)的隐式报文传送基于IO的资料 ,用户传输控制协议(TCP)显示报文上传和下参数,设定值,程式 ,用户主站的轮询 从站周期性的更 ...
- EtherNet/IP 协议应用层使用CIP协议&CIP协议中使用的TLS和DTLS(Network Infrastructure for EtherNet/IPTM: Introduction and Considerations)
- EtherNet/IP CIP协议
EtherNet/IP CIP协议 1.EtherNet/IP简述 EtherNet/IP(Ethernet/Indstrial Protocol,以太网/工业协议)是一种基于以太网和TCP/IP技术 ...
- 工控安全入门之Ethernet/IP
这一篇依然是协议层面的,协议层面会翻译三篇,下一篇是电力系统中用的比较多的DNP3.这一篇中大部分引用的资料都可以访问到,只有一篇reversemode.com上的writeup(http://rev ...
- 工控安全入门之 Ethernet/IP
工控安全入门之 Ethernet/IP Ethernet/IP 与 Modbus 相比,EtherNet/IP 是一个更现代化的标准协议.由工作组 ControlNet International 与 ...
- TCP/IP协议头部结构体(网摘小结)(转)
源:TCP/IP协议头部结构体(网摘小结) TCP/IP协议头部结构体(转) 网络协议结构体定义 // i386 is little_endian. #ifndef LITTLE_ENDIAN #de ...
- TCP/IP协议头部结构体
TCP/IP协议头部结构体(转) 网络协议结构体定义 // i386 is little_endian. #ifndef LITTLE_ENDIAN #define LITTLE_ENDIAN (1) ...
- #WEB安全基础 : HTTP协议 | 0x0 TCP/IP四层结构
学完HTML/CSS了? 做了这么多网页,但是你知道它们是怎么工作的吗? 作为你的朋友,我也对这些东西感兴趣,在写博客的同时也在和你一起学. 废话少说,进入正题 网络中的通信包括两个端分别为:客户端( ...
- Linux内核--网络栈实现分析(四)--网络层之IP协议(上)
本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7514017 更多请看专栏,地址 ...
随机推荐
- leanote使用本地账户+坚果云同步
1. 换机器后笔记无法显示 这是因为新建账户与原账户userid不一致. 正确的同步方式为: 下载leanote并解压,不运行,不新建账户 从坚果云同步leanote数据 创建leanote的数据目录 ...
- 「Algospot」量化QUANTIZE
一道不难的DP题,主要是为了总结这类最优化题的思路:同时还学到了一个新操作 传送门:$>here<$ 题意 给出一个长度为$N$的序列,要求最多使用s个数字进行量化(有损压缩),即代替原数 ...
- IIS搭建校内小站
背景 在学校读书最大的烦恼是去机房忘了带作业,或者带了U盘传文件又很容易丢,或者的或者用学校内网网盘又容易忘了上传. 所以笔者搞了个办法. IIS准备工作 win+pause break 打开控制面板 ...
- Flink的高可用集群环境
Flink的高可用集群环境 Flink简介 Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布,数据通信以及容错机制等功能. 因现在主要Flink这一块做先关方面的学习, ...
- (六)QDialog,QMessageBox,QFileDialog,QColorDialog颜色,QFontDialog字体
QDialog 对话框: 1.模态对话框: QDialog dlg(this); // 显示模态对话框 exec ,后面的不可操作 dlg.exec(); // 阻塞 2.非模态对话框: QDialo ...
- ajax+json
ajax学习: 1.ajax的概念 局部刷新技术.不是一门新技术,是多种技术的组合,是浏览器端的技术 2 为什么要使用ajax? 传统的模式 是 发送请求 到 服务器 ,服务器经过 ...
- java 中使用RSA非对称性加密解密
需要引入的jar包:bcprov-jdk15on-161.jar 下载地址:https://www.bouncycastle.org/latest_releases.html //公钥加密 publi ...
- Java虚拟机—垃圾收集器(整理版)
1.概述 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现.Java虚拟机规范中对垃圾收集器应该如何实现并没有规定,因此不同的厂商.不同版本的虚拟机所提供的垃圾收集器都可能会有很 ...
- JGUI源码:JS菜单动态绑定(8)
我们知道Jquery绑定事件后的新添加的对象是不响应事件的,为了解决这个问题,动态添加的对象需要从新绑定,使用一个init方法实现代码如下 //Accordion封装 (function($) { J ...
- D. Vanya and Treasure Codeforces Round #355 (Div. 2)
http://codeforces.com/contest/677/problem/D 建颗新树,节点元素包含r.c.dis,第i层包含拥有编号为i的钥匙的所有节点.用i-1层更新i层,逐层更新到底层 ...