以太网络技术在工业控制领域的探索与发展——EtherNET/IP

描述

工业以太网控制系统是集散控制系统(DCS)和现场总线控制系统(FCS)之后产生的一种新型的工业控制系统。由于以太网技术具有成本低、通信速率和带宽高、兼容性好、软硬件资源丰富、广泛的技术支持基础和强大的持续发展潜力等诸多优点,在过程控制领域的管理层已被广泛应用。事实证明,通过一些实时通信增强措施及工业应用高可靠性网络的设计和实施,以大网可以满足工业现场环境要求,并可直接向下延伸应用于工业现场设备间的通信。其中EtherNet/IP协议就在此列。

 

01

EtherNET/IP是什么

EtherNet/IP协议从90年代后期开始开发并由国际组织ODVA于 2001年发布并管理。EtherNet/IP使用标准以太网的物理和数据链路层,协议通过TCP/IP数据包传输,是最成熟和最完整的工业以太网解决方案之一,在工业制造业中得到广泛使用。

 

EtherNET/IP是CIP(Commen Idustrial protocal)协议组中的一员。CIP定义了应用层的对象结构,且独立于物理层传输介质,提供了开放网络和开放系统所必需的互操作性和互换性。CIP用户在其统一的通信架构之下,可根据需求选择最适合的网络,DeviceNET是CIP使用CAN网络传输的实现,通过以太网传输的 CIP 协议即为 EtherNet/IP.

 

CIP是严格遵守面向对象方式的上层协议,每个CIP对象具有属性(数据)、服务(命令)、连接、和行为(属性和服务间的关系)。

 

CIP包括一个广泛的对象库(Object Library)来支持通用网络服务如文件传输,和自动化行业常用的模拟和数字IO的输入输出,HMI、运动控制等。为保证互操作性,同一对象在不同设备中实现的行为完全相同。一个设备包括的一组对象即为本设备的对象模型(Object Model)。

 

CIP将标准的对象组定义为Device Profiles。Device Profile指定配置选项和I/O数据格式,属于同一Device Profile的设备将响应所有相同的命令,并拥有相同的网络行为,以此保证网络中不同品牌设备间的互操作性。

 

02

EtherNET/IP 协议架构

以太网以太网

● 通常使用TCP传输的显示消息(explicit messages)和使用UDP传输隐式消息(implicit messages)。基于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介绍

 

一、EtherNet/IP Scanner SDK,是用于开发EtherNet/IP扫描器设备的软件包。Pryramid公司提供的EtherNet/IP Scanner SDK 已经通过ODVA CT18一致性测试,客户购买的Scanner SDK包括如下内容:

 

平台兼容性和可移植性:

• 提供 Win XP,Vista和 Win 7,8,10 (32 and 64 bit)的例程;• 提供以下操作系统的模板:• Fido,Linux,Netburner,VxWorks,WinCE,Windows• 例程中的程序块与平台隔离,方便移植到其它平台• 通用的 API 接口:C, C#和C++ (Microsoft Windows DLL)

 

交付内容:

• EtherNet /IP Scanner 源码(源码版),包括源文件、DLLs 和Windows的运行组件;• Scanner(Client) 例程源码 (Microsoft Visual C++, Visual C#, Visual Basic and .NET)• 用户手册• STC 文件示例 (用于ODVA EtherNet/IP 协议一致性测试软件)

• EDS 文件示例

 

部分API列表:• ScannerStart• ScannerStop• RegisterObjectsForClientProcessin• RegisterRequestsForClientProcessing• OpenConnection• OpenConnectionByteEPATH• CloseConnection• ReconfigureConnection• ResetConnection• AddAssemblyInstance• RemoveAssemblyInstance• RemoveAllAssemblyInstances• AddAssemblyMember• ...

 

 

二、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• StopRequestGroup...• ...

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分