通信网络
工业以太网控制系统是集散控制系统(DCS)和现场总线控制系统(FCS)之后产生的一种新型的工业控制系统。由于以太网技术具有成本低、通信速率和带宽高、兼容性好、软硬件资源丰富、广泛的技术支持基础和强大的持续发展潜力等诸多优点,在过程控制领域的管理层已被广泛应用。事实证明,通过一些实时通信增强措施及工业应用高可靠性网络的设计和实施,以大网可以满足工业现场环境要求,并可直接向下延伸应用干工业现场设备间的通信。其中EtherNet/IP协议就在此列。
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,如图1所示。
图1:CIP 协议组
CIP是严格遵守面向对象方式的上层协议,每个CIP对象具有属性(数据)、服务(命令)、连接、和行为(属性和服务间的关系)。CIP包括一个广泛的对象库(Object Library)来支持通用网络服务如文件传输,和自动化行业常用的模拟和数字IO的输入输出,HMI、运动控制等。为保证互操作性,同一对象在不同设备中实现的行为完全相同。一个设备包括的一组对象即为本设备的对象模型(Object Model)。CIP将标准的对象组定义为Device Profiles。Device Profile指定配置选项和I/O数据格式,属于同一Device Profile的设备将响应所有相同的命令,并拥有相同的网络行为,以此保证网络中不同品牌设备间的互操作性。
EtherNET/IP 协议架构
如图2所示,EtherNet/IP在网络和传输层使用标准的TCP/IP和UPD/IP协议在设备间发送CIP消息。
图2 EtherNet/IP传输框架
通常使用TCP传输的显示消息(explicit messages)和使用UDP传输隐式消息(implicit messages)。基于TCP面向连接的传输特性,显示消息通常是低实时性数据,但要求高准确性,例如配置设备信息,上传或下载程序等。而无需建立连接和可点对多点的UDP更加高效,被用于如实时数据、运动控制数据等隐式消息的传输。
图3 以太网封装
EtherNet/IP在全球制造业中被广泛采用。通常,制造业厂商直接采购商用EtherNet/IP SDK,而美国Pryramid公司作为最知名的EtherNet/IP SDK提供商在行业内享有盛誉。美国Pryramid 公司成立于1990年,总部位于密歇根州。Pryramid公司的EtherNet/IP SDK是经过市场和产品验证的商用协议栈产品,保证协议的稳定和可靠性。
图4 Pryramid公司
如所有通信协议的形式,EtherNet/IP SDK同样分为Adapter和Scanner两端。协议栈SDK可以软件源代码的形式提供给客户,为使用多个不同软硬件平台的客户提供自主移植的便利条件。同时,客户也可以选择编译好的DLL形式的SDK。
EtherNet/IP SDK介绍 NO.3 01 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 • ... 02 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... • ...
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !