cip、ethernet/ip开源协议栈:开发源代码

EtherNet/IP是一个工业以太网协议,它结合标准协议TCP和UDP,在以太网上基础上的通用工业协议(CIP)。

该协议由ODVA维护。ODVA还管理其他CIP实现,如DeviceNet。

协议栈和源代码下载 www.jngbus.com

在开发Ethernet/Ip,我们只需要懂得socket通讯即可。

只要是PC平台没问题,移植到arm(如STM32F407)和linux那都是小意思。因为这里面就是对char* 二进制的操作,跟编程语言无关。

把协议结构体处理。

读取欧姆龙PLC数据

欧姆龙PLC

把数据写入char*当中

按照标准一点一点完善,我们将会支持功能:

  • Class 3类服务器(连接的显式消息)
  • Class 1 类 I/O(已连接)服务器(隐式消息)
  • UCMM(未连接)服务器(未连接的显式消息)
  • 可扩展用于应用程序和配置文件对象
  • 显式连接数量:可配置(受 RAM 限制)
  • 隐式连接数量:可配置(受 RAM 限制)
  • 支持的连接类型:Exclusive Owner, Input Only, Listen Only
  • 通过 DHCP 或静态 IP 地址进行 IP 分配
  • 支持单端口设备或多端口设备
  • 支持的链路速度 :10 Mbit/s、100 Mbit/s、1000 Mbit/s
  • 支持LargeForwardOpen服务(数据大小>511字节的连接)
  • 支持 DLR 信标(DLR Beacon-based)的环形节点,但需要特殊硬件和额外的 DLR 协议栈
  • 具有至少具有两个外部端口的以太网交换机的设备支持基于 DLR 通知(DLR Announce-based)的环网节点
  • 单端口和多端口设备支持地址冲突检测 (ACD)

CIP提供了一系列标准的服务,提供"隐式"和"显示"方式对网络设备中的数据进行访问和控制。 CIP数据包必须在通过以太网发送前经过封装,并根据请求服务类型而赋予一个报文头。这个报文头指示了发送数据到响应服务的重要性。通过以太网传输的CIP数据包具有特殊的以太网报文头,一个IP头、一个TCP头和封装头。封装头包括了控制命令、格式和状态信息、同步信息等。这允许CIP数据包通过TCP或UDP传输并能够由接收方解包。相对于DeviceNet或ControlNet,这种封装的缺点是协议的效率比较低。以太网的报文头可能比数据本身还要长,从而造成网络负担过重。因此,EtherNet/IP更适用于发送大块的数据 ( 如程序 ) ,而不是DeviceNet和ControlNet更擅长的模拟或数字的I/O数据。

在传输协议之上有加密协议,经过它,通用工业协议(CIP)可以在TCP/IP和UDP/IP上变换。CIP作为大型的独立于网络的标准,已经与ControlNet和DeviceNet一起使用了很多年。 所以ControlNet, DeviceNet和EtherNet/IP具有相同的应用协议,因而使用通用的设备规范和目标库。这就使得不同厂商的复杂设备间能够即插即用地进行操作。EtherNet/IP倾向用于网络实时控制应用。借助CIP,以太网可以集成到设备级,能给用户提供诸多优势。通用配置、跨越几个网络及收集和控制数据、TCP/IP 连到全球互联网或公司内部网,在所有工作级上提供连续的信息流。

相关推荐
幽兰的天空1 小时前
介绍 HTTP 请求如何实现跨域
网络·网络协议·http
lisenustc1 小时前
HTTP post请求工具类
网络·网络协议·http
心平气和️1 小时前
HTTP 配置与应用(不同网段)
网络·网络协议·计算机网络·http
心平气和️1 小时前
HTTP 配置与应用(局域网)
网络·计算机网络·http·智能路由器
Gworg2 小时前
网站HTTP改成HTTPS
网络协议·http·https
Mbblovey2 小时前
Picsart美易照片编辑器和视频编辑器
网络·windows·软件构建·需求分析·软件需求
北顾南栀倾寒3 小时前
[Qt]系统相关-网络编程-TCP、UDP、HTTP协议
开发语言·网络·c++·qt·tcp/ip·http·udp
GZ_TOGOGO3 小时前
PIM原理与配置
网络·华为·智能路由器
7ACE4 小时前
Wireshark TS | 虚假的 TCP Spurious Retransmission
网络·网络协议·tcp/ip·wireshark·tcpdump
大丈夫立于天地间4 小时前
ISIS基础知识
网络·网络协议·学习·智能路由器·信息与通信