工业以太网控制系统是继分布式控制系统(DCS)和现场总线控制系统(FCS)之后产生的新型工业控制系统。由于以太网技术具有成本低、通信速度和带宽高、兼容性好、软硬件资源丰富、技术支持基础广泛、可持续发展潜力强等诸多优点,在过程控制领域的管理中得到了广泛的应用。事实证明,通过一些实时通信增强措施以及针对工业应用的高可靠性网络的设计和实现,大型网络可以满足工业现场环境的要求,并且可以直接向下扩展用于工业现场设备之间的通信。其中,EtherNet/IP协议就包含在此列表中。
01
什么是以太网/IP
EtherNet/IP协议开发于20世纪90年代末,并于2001年由国际组织ODVA发布并管理。EtherNet/IP使用标准以太网的物理层和数据链路层,协议通过TCP/IP数据包进行传输。它是目前最成熟、最完善的工业以太网解决方案之一,广泛应用于工业制造领域。
EtherNET/IP 是CIP(通用工业协议)协议组的成员。 CIP定义了应用层的对象结构,独立于物理层传输介质,提供了开放网络和开放系统所必需的互操作性和互换性。在其统一的通信架构下,CIP用户可以根据自己的需求选择最合适的网络。 DeviceNET是利用CAN网络传输实现CIP。通过以太网传输的CIP协议是EtherNet/IP。
CIP是严格遵循面向对象方法的上层协议。每个CIP对象都有属性(数据)、服务(命令)、连接和行为(属性和服务之间的关系)。
CIP 包括一个广泛的对象库,支持常见的网络服务,例如自动化行业中常用的文件传输、模拟和数字IO 的输入和输出、HMI、运动控制等。为了确保互操作性,同一对象在不同设备上的实现行为完全一样。设备中包含的一组对象是设备的对象模型。
CIP 将标准对象组定义为设备配置文件。设备配置文件指定配置选项和I/O 数据格式。属于同一设备配置文件的设备将响应所有相同的命令并具有相同的网络行为,从而确保网络中不同品牌的设备之间的互操作性。
02
EtherNET/IP协议架构
通常使用TCP 传输显式消息,使用UDP 传输隐式消息。基于TCP面向连接的传输特性,显示消息通常是实时性低但精度要求较高的数据,例如配置设备信息、上传或下载程序等。UDP不需要建立连接,可以传输从一点到多点。这意味着UDP比TCP更高效,因此常用于实时数据、运动控制数据等隐式消息的传输。
EtherNet/IP在全球制造业中得到广泛采用。通常,制造厂商直接购买商业化的EtherNet/IP SDK,而美国公司Pryramid在业界享有很高的声誉,是最知名的EtherNet/IP SDK提供商。美国公司Pryramid成立于1990年,总部位于密歇根州。 Pryramid的EtherNet/IP SDK是一款商业协议栈产品,经过市场和产品的验证,保证了协议的稳定性和可靠性。
与所有通讯协议一样,EtherNet/IP SDK 也分为Adapter 端和Scanner 端。协议栈SDK可以以软件源代码的形式提供给客户,为客户提供多种不同软硬件平台独立移植的便利条件。同时,客户也可以选择编译成DLL形式的SDK。
03
EtherNet/IP SDK简介
1. EtherNet/IP Scanner SDK是用于开发EtherNet/IP扫描仪设备的软件包。 Pryramid 提供的EtherNet/IP Scanner SDK 已通过ODVA CT18 一致性测试。客户购买的扫描仪SDK包含以下内容:
平台兼容性和可移植性:
? 提供Win XP、Vista 和Win 7、8、10(32 和64 位)的例程; ? 提供适用于以下操作系统的模板: ? Fido、Linux、Netburner、VxWorks、WinCE、Windows ? 例程中的程序块与平台隔离,易于移植到其他平台? 通用API 接口:C、C# 和C++ (Microsoft Windows动态链接库)
交付内容:
? EtherNet /IP Scanner 源代码(源版本),包括源文件、DLL 和Windows 运行时组件; ? 扫描仪(客户端)例程源代码(Microsoft Visual C++、Visual C#、Visual Basic 和.NET) ? 用户手册? STC 文件示例(适用于ODVA EtherNet/IP 协议一致性测试软件)
? EDS 文件示例
部分API 列表: ? ScannerStart ? ScannerStop ? RegisterObjectsForClientProcessin ? RegisterRequestsForClientProcessing ? OpenConnection ? OpenConnectionByteEPATH ? CloseConnection ? ReconfigureConnection ? ResetConnection ? AddAssemblyInstance ? RemoveAssemblyInstance ? RemoveAllAssemblyInstances ? AddAssemblyMember ? .
2. EtherNet/IP Adapter SDK 是用于开发EtherNet/IP 适配器设备的软件包。 Pryramid 提供的EtherNet/IP Adapter SDK 在兼容性和交付内容方面与Scanner SDK 相同。 Adapter提供的功能请参考以下功能列表:
部分API 列表: ? RegisterEventCallBack ? LogEventCallbackType ? RegisterMessageCallBack ? LogMessageCallbackType ? AdapterStartAdapterStop ? GetNumConnections ? GetConnectionInstances ? GetConnectionState ? GetConnectionRunIdleFlag ? GetConnectionInternalCfg ? GetConnectionStats ? SendUnconnectedRequest ? ReturnValue ? GetUnconnectedResponse ? GetClientRequest ? StartRequestGroup ? StopRequest Group.? .