EtherNet/IP网络模型

2023-10-31

一、常识入门

0.为什么需要CIP协议

  • CIP协议(Common Industrial Protocol)是一种工业通信协议,旨在实现不同设备、控制器和系统之间的数据交换和控制。CIP协议的使用有以下几个原因:
  • 统一标准:CIP协议是一个公认的标准,它为不同的工业设备和系统提供了一致的通信标准,这样不同设备之间的通信就可以更加方便和高效。
  • 数据交换:在工业环境中,设备和系统需要共享数据,以便实现更高效的生产流程。CIP协议提供了一种可靠的数据交换方式,使设备和系统之间可以实时地交换数据。
  • 控制和监测:CIP协议不仅可以用于数据交换,还可以用于控制和监测工业设备和系统。使用CIP协议,工业系统可以实现远程控制和监测,提高生产效率和可靠性。
  • 安全性:CIP协议提供了一些安全功能,包括身份验证和数据加密等。这些功能可以保护工业设备和系统的安全性,避免因未经授权的访问或攻击而导致的损失。
    因此,CIP协议在工业自动化和控制系统中得到了广泛的应用,它提供了一种可靠的通信和控制方式,帮助工业系统实现更高效、更安全和更可靠的运行。

1.CIP协议是什么

  • CIP协议是“Common Industrial Protocol”的缩写,它是一个由罗克韦尔自动化公司(Rockwell Automation)开发的用于工业自动化控制系统(如PLC,工业网络等)通信的开放性协议。
  • CIP协议是一种基于以太网技术的协议,它提供了一种标准的方式来管理工业设备之间的通信和数据交换。它可以处理不同类型的数据和消息,如控制数据、状态数据、诊断数据、设备标识和配置数据等。CIP协议还提供了一种简单的方法来配置和管理工业网络,包括以太网、控制网和设备网等。
  • CIP协议是一个非常灵活和可扩展的协议,它支持多种不同的数据传输方式,如广播、多播和单播等。CIP协议还可以扩展到不同的物理层和传输层协议,如TCP/IP、UDP、DeviceNet、ControlNet和EtherNet/IP等。
    总的来说,CIP协议是一个非常重要的工业自动化控制协议,它提供了一个标准的方式来实现设备之间的通信和数据交换,使得工业自动化控制系统更加可靠、高效和灵活。

2.CIP协议有以下几个特点:

  • 开放性:CIP协议是一种开放性协议,可以在不同的硬件和软件平台上实现,并且可以扩展到不同的物理层和传输层协议。
  • 灵活性:CIP协议可以处理不同类型的数据和消息,如控制数据、状态数据、诊断数据、设备标识和配置数据等,同时也支持多种不同的数据传输方式,如广播、多播和单播等。
  • 可靠性:CIP协议提供了一种可靠的数据传输机制,确保了数据的完整性和可靠性。
  • 安全性:CIP协议提供了一种安全的数据传输机制,通过认证和加密等措施保护了数据的机密性和安全性。
  • 易用性:CIP协议提供了一种简单易用的方法来配置和管理工业网络,包括以太网、控制网和设备网等。
  • 可扩展性:CIP协议是一个可扩展的协议,可以根据不同的应用场景和需求进行扩展和定制。
    综上所述,CIP协议是一个非常重要的工业自动化控制协议,它具有开放性、灵活性、可靠性、安全性、易用性和可扩展性等特点,为工业自动化控制系统的通信和数据交换提供了一种标准的方式。

3.CIP协议报文通信

  • CIP协议(Common Industrial Protocol)是用于工业控制系统的通信协议。在CIP协议中,有两种主要类型的报文:显性报文和I/O报文。
  • 显性报文是一个数据结构,它包含了要发送或接收的数据的详细描述,以及用于标识这些数据的特定地址。显性报文允许控制器和设备之间进行更复杂的通信,例如读取或写入特定的寄存器或内存地址。
  • I/O报文则是一个更简单的数据结构,用于直接传输输入或输出数据。这种报文不需要特定的地址或描述信息,因为数据的含义已经预定义。I/O报文通常用于在控制器和设备之间传输实时的控制数据,例如传感器读数或控制指令。
    总的来说,显性报文提供了更高级别的通信功能,而I/O报文则提供了更快速、更直接的数据传输方式。具体使用哪种报文类型取决于特定的应用需求。

4.CIP Extension

  • CIP协议,之外还有CIP Safety, CIP security, CIP Sync 和CIP Motion等协议。
  • CIP Safety用于检测CIP网络是否出现网络错误,用于报警提示,提供密码机制限制用户配置设备。
  • CIP Security使用TLS加密协议来传输数据。
  • CIP Sync的一个典型应用是时间戳传感器输入,分布式时间触发输出和分布式运动。
  • CIP Motion是一个专门针对电机驱动的协议,该协议提供了几种不同的电机控制方式.

5.CIP协议与EtherNet/IP关系

  • CIP(通用工业协议)是EtherNet/IP网络中的应用层协议,它提供了一种标准化的通信机制,用于在工业自动化系统中交换数据和控制信息。CIP定义了一组对象模型和服务,这些对象和服务可以用于配置和控制EtherNet/IP设备。
  • CIP协议是在ODVA(开放型工业自动化联盟)标准下开发的,该联盟致力于促进工业自动化技术的标准化和互操作性。CIP协议支持面向对象的通信,使用基于TCP/IP的EtherNet/IP网络进行通信,并能够与其他工业控制网络集成,例如ControlNet和DeviceNet。
  • 在EtherNet/IP网络中,CIP协议使用TCP/IP协议栈进行通信,可以通过IP地址和MAC地址进行设备标识,并支持多播和广播通信。CIP协议还提供了一组服务,例如数据传输、设备识别、连接管理和安全性等,以满足工业自动化应用的需求。
  • 因此,CIP协议是EtherNet/IP网络中的重要组成部分,它提供了一种通用的、标准化的通信机制,可以用于在工业自动化系统中实现数据交换和控制。

6.EtherNet/IP网络模型

  • EtherNet/IP是一种基于以太网的工业控制网络协议,它支持面向对象的通信,可以与其他工业控制网络集成,例如ControlNet和DeviceNet。EtherNet/IP协议使用TCP/IP协议栈进行通信,因此它可以使用标准以太网硬件,并能够在互联网上进行广域网通信。
  • EtherNet/IP网络模型包括三层:应用层、传输层和网络层。在应用层,EtherNet/IP使用CIP(通用工业协议)作为其通信协议。CIP提供了一组对象模型和服务,这些对象和服务可以用于配置和控制EtherNet/IP设备。传输层使用TCP协议提供可靠的通信服务,确保数据的正确传输。网络层使用IP协议将数据包从源设备传输到目标设备。
  • 在EtherNet/IP网络模型中,设备可以通过TCP/IP网络地址进行标识。设备可以使用IP地址和MAC地址进行识别,并且可以使用DHCP进行自动配置。EtherNet/IP还支持多播和广播通信,以及对数据的QoS(服务质量)控制。
  • 总之,EtherNet/IP网络模型提供了一种可靠和高效的通信方式,可以用于工业自动化和控制应用中。
    在这里插入图片描述

二、EtherNet/IP网络模型

EtherNet/IP 是基于标准以太网协议(IEEE 802.3)的技术,支持 TCP 与 UDP 传输协议,支持数种网络拓扑连接方式。

1. EtherNet/IP 通信类型

EtherNet/IP 定义了两种类型的通讯方式,显性(explicit)与隐形(implicit)。
在这里插入图片描述

  • 显性通信: 通过TCP传输数据,适合用于传递高准确性,低及时性的数据,例如配置设备信息,上传或下载程序。表格中CIP通讯关系中的 已连接与未连接 是CIP 协议的一个服务,完成该服务后,连接的双方各持一串号码,用该号码来完成后续的信息交流。
  • 隐形通信: 通过UDP传输数据,适合用来传输高实时性的数据,例如马达控制,传感器数据。该通信方式需要提前建立CIP连接(详见后续)。
    CIP 连接需要通过 Connection Manager(CM) 对象的ForwardOpen 服务来完成。客户端作为请求的发起方,请求中包含传输类,时间信息,电子密钥以及连接ID。当接收到ForwardClose请求或响应超时,清空连接信息。
    对于隐形通信,其数据可以广播或发送给某特定地址。数据的发送必须包含对象的IP(单一IP或广播地址)以及 CIP 连接 ID。
    其总体格式如下:
    在这里插入图片描述

2. EtherNet/IP 格式

下图为EtherNet/IP的一般结构,EtherNet/IP 为 传输层中的内容。EtherNet/IP 可分为两个部分:封装头部,以及封装数据。CIP指令包含于封装数据中。
在这里插入图片描述

下图为EtherNet/IP的头部格式,其中包括指令,长度信息,会话句柄,状态,等
在这里插入图片描述

3. EtherNet/IP 主要指令

设备发现 (ListIdentity Command),该指令通过UDP 广播发送给所有网络中的设备,接收到消息并且支持EtherNet/IP的设备会返回自身的身份信息。
注册会话 (RegisterSession/UnRegisterSession Commands),该指令用于注册或注销会话。会话注册之后,设备才能够进行数据交换,两台设备之间同时存在一组会话。发起请求后,服务器会返回一个Session Handle,后续交流需要使用该Session Handle 的值方可交流。
SendRRData/SendUnitData Commands,SendRRData 用于发送未建立CIP连接的显性数据,SendUnitData用于发送连接了的显性数据。发送RRdata时需要使用Sender Context,发送UnitData时则不需要。

4. EtherNet/IP 封装数据一般格式

一般都是两个Item,一个地址项,一个数据项,随后是具体CIP命令。每个项的前2bytes用于申明该项的类型,后2bytes用于申明该项值的长度。
在这里插入图片描述

5. 封装数据的使用

5.1 显性信息传输 (explicit Messaging)

显性传输分为 已连接与未连接传输。其区别在于,建立了连接之后,设备会保留管理连接所需要的资源,可以提高设备响应效率。隐藏未连接的显性传输通常仅在应用程序要求不规则且不频繁的情况下使用。
下图为WireShark 实例
在这里插入图片描述

在下图中,CIP 协议由服务请求,请求对象类型,对象实例构成,最后是请求的数据,这里Wireshark自动识别出了数据格式符合CIP connection manager的格式。在其它环境下,数据值可能是厂家自行设定的,Wireshark不一定能识别出来,就会显示一串十六进制值。
在这里插入图片描述

5.2 隐性信息传输 (implicit / I/O Messaging)

I/O 信息基于UDP/IP 发送,强调高实时性,该传输方式不需要封装头部,其格式如下所示。
在这里插入图片描述

下图时WireShark 实例,请对照上图。
在这里插入图片描述

其中CIP Sequence Count,在一般情况不影响设备的交流,该项是用于CIP Safety 使用的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EtherNet/IP网络模型 的相关文章

  • ssh免密钥登录失败原因排查

    最近多次遇到不同原因导致ssh免密钥登录的问题 明明都配置好了 但是就是不通 这里记录一下排查问题的思路 作为备忘 具体如何配置 网上文章很多 这里就不再重复 查看debug日志很关键 客户端 参数加 v 比如ssh v xxx com 服
  • 服务器的基本信息,服务器基本信息

    服务器基本信息 内容精选 换一换 华为云提供两种连接方式通过SQL Server客户端连接实例 非SSL连接和SSL连接 其中 SSL连接实现了数据加密功能 具有更高的安全性 准备弹性云服务器通过内网连接华为云关系型数据库实例 您需要购买一
  • northgard如何修改服务器,Northgard八项修改器(Northgard游戏修改助手)V2.3.3.18897 免费版...

    Northgard八项修改器 Northgard游戏修改助手 是一款很好用的针对Northgard游戏制作的修改辅助工具 小编推荐的这款Northgard八项修改器功能强大 使用后可以修改游戏属性 帮助玩家体验到更多精彩的游戏内容 修改器可
  • (力扣23)合并排序链表,采用分治思想

    题目 给定一个链表数组 每个链表都已经按升序排列 请将所有链表合并到一个升序链表中 返回合并后的链表 什么是归并排序 归并排序的时间复杂度仅次于快排 归并排序算法每次将序列折半分组 共需要logn轮 因此归并排序算法的时间复杂度是O nlo
  • Linux下TCP编程

    服务器端在Linux环境下 Server cpp include

随机推荐

  • 从壹开始前后端分离[.netCore 不定期 ] 36 ║解决JWT自定义中间件授权过期问题

    缘起 哈喽 老张的不定期更新的日常又开始了 在咱们的前后端分离的 net core 框架中 虽然已经实现了权限验证 框架之五 Swagger的使用 3 3 JWT权限验证 修改 只不过还是有一些遗留问题 最近有不少的小伙伴发现了这样的一些问
  • flutter 修改iOS app图标 名称

    这里主要讲2点 一是 iOS app的图标尺寸大小 二 是如何修改iOS app图标以及名称 iOS图标尺寸大小 首先我们打开xcode 并打开项目 找到app图标的位置 接下来我们可以看到图标下面有很详细的pt提示 这里的pt跟web的p
  • 对四位数加密

    输入1个四位数 将其加密后输出 方法 1 将该数每一位上的数字加9 然后除以10取余 做为该位上的新数字 2 第1位和第3位上的数字互换 第2位和第4位上的数字互换 组成加密后的新数 例 括号内是说明 输入 1257 输出 The encr
  • IDEA JAVA文档注释和方法注释模板

    IDEA JAVA文档注释和方法注释模板 文档注释 if PACKAGE NAME PACKAGE NAME package PACKAGE NAME end parse File Header java ClassName NAME De
  • 修改mysql数据库的默认编码方式

    修改my ini文件 加上 default character set gb2312 设定数据库字符集 alter database da name default character set charset 1 设置数据库编码 etc m
  • 【ReID】【Skimming】Unity Style Transfer for Person Re-Identification

    ReID Skimming Unity Style Transfer for Person Re Identification 模型 实验 略读了新发布的基于GAN方法的ReID工作 Unity Style Transfer for Per
  • qt 绘制消息框_Qt——消息对话框的设计

    1 消息对话框是什么 消息对话框 MessageBox 提供了一个模态对话框 用来通知用户某些信息 或者用来询问用户一个问题并获得一个答复 先看下面2张图 第一张图是网易云音乐的界面截图 在删除歌单时 防止用户误操作 弹出了一个提示 提醒用
  • 可变参数, printf 实现的原理 ,va_start和va_end

    对于可变参数的函数可以 使用下面的宏来 获取输入的每一个参数 这些宏定义在stdarg h中 typedef char va list va start宏 获取可变参数列表的第一个参数的地址 list是类型为va list的指针 param
  • 大一python考试知识点_Python基础知识点整理

    参考资料 1 廖雪峰 内容整理 函数 函数返回 函数执行时遇到return即执行完毕 返回结果 没有return 执行完毕返回None return None可以简写为return 内建函数 高效快速 e g input ord pow i
  • 等保2.0一级安全要求

    第一级安全保护能力 应能够防护免受来自个人的 拥有很少资源的威胁源发起的恶意攻击 一般的自然灾难 以及其他相当危害程度的威胁所造成的关键资源损害 在自身遭到损害后 能够恢复部分功能 1安全通用要求 1 1安全物理环境 1 1 1物理访问控制
  • 04_Pandas获取和修改任意位置的值(at,iat,loc,iloc)

    04 Pandas获取和修改任意位置的值 at iat loc iloc 要在pandas DataFrame中的任何位置检索或更改数据 可以使用at iat loc iloc 位置的指定方法 at loc 行标签 行名 列标签 列名 ia
  • 一种基于光流的无人机仿生智能避障方法

    转自 https patents google com patent CN106155082A zh 一种基于光流的无人机仿生智能避障方法 技术领域 0001 本发明涉及一种单目视觉的基于光流的无人机智能仿生避障方法 特别是属于人 工智能以
  • android更新ui能在主线程,真的必须要在主线程更新UI吗?

    一般UI更新都会调用requestLayout 或者invalidate 自定义view 也要如此 android view RemotableViewMethod public void setWidth int pixels mMaxW
  • P1790 小胡同学的连通图

    用并查集做 include
  • Unity—“合成大西瓜”小游戏笔记

    期盼已久的合成大西瓜 来喽 这是一款一点也不好玩 但是可以一玩玩三个小时的小游戏 废话不多说 直接上代码 gt 水果脚本 音效脚本 UI分数脚本 玩家操作脚本 using System Collections using System Co
  • 从原理到应用落地,一文读懂推荐系统中的深度学习技术

    作者丨gongyouliu zandy 来源丨大数据与人工智能 ID ai big data 2016年DeepMind开发的AlphaGo在围棋对决中战胜了韩国九段选手李世石 一时成为轰动全球的重大新闻 被全球多家媒体大肆报道 Alpha
  • Linux GCC常用命令

    1简介 2简单编译 2 1预处理 2 2编译为汇编代码 Compilation 2 3汇编 Assembly 2 4连接 Linking 3多个程序文件的编译 4检错 5库文件连接 5 1编译成可执行文件 5 2链接 5 3强制链接时使用静
  • Excel做题记录——整数规划优化模型

    文章目录 题目 一 首先根据题目要求提取信息 并列出数学模型 二 通过Excel里的 规划求解 来解出答案 1 创建数据表格 2 根据数学模型设置数据 3 使用 规划求解 功能求解 i 变量都为整数 ii 约束量 总重量 小于等于50 参考
  • 【大数据】——处理框架

    说起大数据处理啊 一切都起源于Google公司的经典论文 在当时 2000年左右 由于网页数量急剧增加 Google公司内部平时要编写很多的程序来处理大量的原始数据 爬虫爬到的网页 网页请求日志 计算各种类型的派生数据 倒排索引 网页的各种
  • EtherNet/IP网络模型

    一 常识入门 0 为什么需要CIP协议 CIP协议 Common Industrial Protocol 是一种工业通信协议 旨在实现不同设备 控制器和系统之间的数据交换和控制 CIP协议的使用有以下几个原因 统一标准 CIP协议是一个公认