基于赫优讯netX芯片PROFINET IO设备的开发

摘要PROFINET以其灵活性、鲁棒性、快速性等优点,其应用可以覆盖整个自动化领域,能够满足所有的自动化需求,并且已经成为接下去十年最重要的实时工业以太网之一。本文介绍了一种基于赫优讯netX多协议网络控制器的PROFINET IO接口设计方案,该方案也在众多的项目中成功应用,取得很好的实效。 
关键字:PROFINET IO;实时工业以太网;netX;双端口内存DPM;

 

The design of PROFINET IO Device based on Hilscher netX Controller

 

Abstract:As a flexibile, robust and rapidly advancing Technology, PROFINET covers all areas of automation.This paper introduces one solution about PROFINET IO Device design based on Hilscher netX Controller, which is applied in many projects successfully and gets good feedback from customers. 
Key words: PROFINET IO, Real-Time Ethernet, netX, Dual-Port Memory

 

0引言 
随着实时工业以太网通讯系统在自动化领域的应用越来越广泛,受益的行业也越来越多。实时工业以太网通讯最大的亮点就在于,能够为现场提供大规模的数据量传输、垂直的透明数据通讯,以及可以与标准的以太网系统互访、共存。 
PROFINET以其灵活性、鲁棒性、快速性等优点,其应用可以覆盖整个自动化领域,能够满足所有的自动化需求。PROFINET与其它实时以太网系统相比,具有更好的特性,如:能够更灵活地替代传统的现场总线系统,更能适应新的挑战。基于20多年成功经验的KNOW-HOW,PROFINET技术迅速发展,并且已经成为接下去十年最重要的实时工业以太网之一。 
目前,越来越多的国内自动化设备制造商都开始投入研发资金开发带有PROFINETIO接口的设备和控制系统,并快速投入市场,尽早的占有市场份额。本文介绍了基于netX芯片快速实现PROFINET IO接口开发的方法,包含:硬件构成、软件实现、通讯测试等。 
1 PROFINET通讯协议 
1.1 PROFINET基本介绍 
PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技术的自动化总线标准。作为一项战略性的技术创新,PROFINET为自动化通信领域提供了一个完整的网络解决方案,囊括了诸如实时以太网、运动控制、分布式自动化、故障安全以及网络安全等当前自动化领域的热点话题,并且可以完全兼容工业以太网和现有的现场总线(如PROFIBUS)技术,保护现有投资。 
PROFINET是适用于不同需求的完整解决方案,其功能包括8个主要的模块,依次为实时通信、分布式现场设备、运动控制、分布式自动化、网络安装、IT标准和信息安全、故障安全和过程自动化。 
1.2 PROFINET实时通讯 
根据响应时间的不同,PROFINET支持下列三种通讯方式: 
非实时(NRT)通讯:PROFINET基于工业以太网技术,使用TCP/IP和IT标准。TCP/IP 是IT 领域关于通信协议方面事实上的标准,尽管其响应时间大概在100 ms的量级。 
实时(RT)通讯:对于传感器和执行器设备之间的数据交换,系统对响应时间的要求更为严格,大概需要5~10ms的响应时间。对基于TCP/IP的工业以太网技术来说,使用标准通信栈来处理过程数据包,需要很可观的时间,因此,PROFINET提供了一个优化的、基于以太网第二层(Layer 2)的实时通讯通道,通过该实时通道,极大地减少了数据在通讯栈中的处理时间,因此,PROFINET获得了等同、甚至超过传统现场总线系统的实时性能。 
等时同步实时(IRT)通讯:在现场级通讯中,对通讯实时性要求最高的是运动控制(Motion Control),PROFINET的同步实时(Isochronous Real-Time, IRT)技术可以满足运动控制的高速通讯需求,在100个节点下,其响应时间要小于1ms,抖动误差要小于1μs,以此来保证及时的、确定的响应。

 

2 netX与PROFINET 
2.1 netX基本架构 
netX网络控制器是赫优讯(Hilscher)公司推出的新一代工业网络控制芯片,目前推出了netX500、netX100、netX50、netX51、netX52等型号,是一种高度集成的网络控制器,它具有全新的系统优化结构,适合工业通讯和大规模的数据吞吐。 
netX 100网络控制器内部集成ARM 926的CPU核,因此可以做为一个单片系统,所有的应用都可以在netX上实现。其次,netX具有双端口内存DPM接口,也可以再外接一个CPU,实现双核系统:CPU负责处理应用程序,netX专门实现网络通讯。 
netX100最大的特点就是具有可配置的3个通信通道,其中,前两个通道集成PHY,可直接用于以太网的连接。并且内部已经集成了各种实时以太网协议所需的ASIC硬件资源,如Hub、Switch、IEEE1588等。因此,在netX芯片上可以实现各种不同的通讯协议,可以是现场总线协议,也可以是各种实时以太网协议,并且可以自由组合。而且,同步过程不受CPU响应时间的限制。 
2.2 PROFINET协议栈 
基于netX芯片,赫优讯所提供全面的PROFINET IO协议栈,不仅通过国际组织的认证,并且已经支持最新的PROFINET协议规范版本V2.3,用户不用过多的关心协议栈的实现,就能实现PROFINET IO通讯接口的开发,对于刚开始接触实时以太网协议的用户来说,非常有帮助。 
赫优讯PROFINET IO协议栈支持的协议:RTC(Class1,Class2和Class3),RTA,DCP,CL-RPC,LLDP,SNMP和MRP协议。 
赫优讯PROFINET IO从站协议栈技术参数如下:

  1. 输入输出IO数据:最大2880个字节
  2. SubModules:最大1000个
  3. 非周期通讯:最大每个报文可支持32KB
  4. 报警类型:Process Alarm,Diagnostic Alarm, Return of Submodule Alarm, Plug Alarm, Pull Alarm, Redundancy Alarm
  5. 最小循环周期:1ms(RTC1& RTC2),250μs(RTC3)
  6. 支持IRT:协议规范版本V2.3

 

3 基于netX芯片的PROFINET IO设备的开发 
3.1 硬件设计 
PROFINET IO设备基于netX100目标板实现,如图1所示:目标板基于netX100芯片实现,集成了开关、LED、串口、网络RJ45以及GPIO接口。netX100支持rcX实时操作系统,基于rcX实时操作系统上的板级支持包BSP和PROFINET IO协议栈开发应用任务。 

基于赫优讯netX芯片PROFINET IO设备的开发_第1张图片 
图1 PROFINET IO设备的硬件系统构成

3.2 软件设计 
在netX的rcX嵌入式实时操作系统上,建立6个任务实现时钟处理、网络参数的设置和建立连接、PROFINET IO数据通讯、串口的调试信息和诊断信息输出显示、硬件的控制和状态监控,控制任务之间的调用关系如图2所示。 

基于赫优讯netX芯片PROFINET IO设备的开发_第2张图片 
图2 控制任务之间的调用关系

PROFINET IO通讯的实现:PROFINET IO通讯分两个任务PNS_IF和PNS_TASK实现。PNS_IF是协议栈任务,负责完成PROFINET IO连接的建立和数据的上、下传。PNS_TASK是自开发的任务,负责完成PROFINET IO协议的加载、完成与TLR_TIMER任务的数据交换、完成与rcX_UART任务的数据交换、完成与PROFINET IO底层通讯任务的数据交换。 
PROFINET IO控制任务的实现:根据开关的状态设置Led灯的状态,读取Led灯的状态信息并分别传到rcX_UART任务和PNS_TASK任务,执行rcX_UART任务和PNS_TASK任务传来的控制命令,从而实现Led灯的控制和电机的控制。 
任务通讯的实现:rcX实时操作系统中任务间的数据通讯是通过队列实现的。每个任务都建立自己的队列和队列使用的缓冲池。 
4基于CIFX 50-RE计算机板卡的PROFINET IO控制器的应用实现 
CIFX 50-RE计算机板卡是赫优讯基于netX100芯片开发出来的实时以太网板卡,PCI计算机内部总线接口,可直接插在PC平台的工控机上使用。其主机接口是双端口内存DPM,用户应用程序通过DPM接口来访问该模块。因此,在进行软件设计时,主要完成驱动程序以及应用程序的编写。 
4.1 双端口内存DPM结构 
用户应用程序通过双端口内存DPM来访问实时以太网计算机板卡CIFX 50-RE,其双端口内存DPM接口是16 KByte的地址空间,其具体结构如图3所示。 

基于赫优讯netX芯片PROFINET IO设备的开发_第3张图片
图3 双端口内存地址空间

netX提供的双端口内存最大地址空间是64KByte,分为系统通道、握手通道、通讯通道0~3、应用通道0~1。对于计算机板卡CIFX,只使用了默认的系统通道、握手通道和通讯通道0,16KByte的地址空间。 
4.2 驱动程序的设计 
赫优讯提供计算机板卡CIFX 50-RE的驱动源码Toolkit,用户可以根据实际的需求,在不同的目标系统中集成该Toolkit提供的驱动接口,这样用户应用程序就能很方便的访问计算机板卡CIFX 50-RE的双端口内存。Toolkit提供的驱动接口与实时以太网协议无关,只与双端口内存DPM相关,因此,如果基于CIFX板卡开发多种现场总线或实时以太网协议的设备,其驱动程序也都是通用的。 
在本系统中,设备驱动主要完成对计算机板卡CIFX 50-RE双端口内存DPM的访问,用户程序通过调用Toolkit提供的接口函数来访问实时以太网计算机板卡CIFX 50-RE,获取网络上的数据。应用软件框架如图4所示。 

基于赫优讯netX芯片PROFINET IO设备的开发_第4张图片 
图4 应用软件框架

4.3 应用程序的设计 
应用程序主要实现的功能:配置文件的下载,与远程监控系统网络数据的收发,网络监控等等。 
部分API函数如下: 
CIFXDriverOpen();//CIFX卡启用 
CIFXChannelOpen(string szBoard, UInt32 ulChannel);//Channel通道启用 
CIFXGetChannelInfo();//获取通道信息 
CIFXChannelPutPacket(Byte[] abSend,UInt32 ulTimeout);//通道发包设置 
CIFXChannelGetPacket([MarshalAs(UnmanagedType.LPArray)]);//通道接收包设置 
CIFXChannelHostState(UInt32 ulCmd);//主站状态设置 
CIFXChannelBusState(UInt32 ulCmd);//PROFINET总线状态设置 
CIFXChannelIOWrite(Byte[] abSend);//发送数据 
CIFXChannelIORead([MarshalAs(UnmanagedType.LPArray)] );//接收数据 
CIFXChannelClose();//Channel通道关闭 
CIFXDriverClose();//CIFX卡关闭 

基于赫优讯netX芯片PROFINET IO设备的开发_第5张图片 
图5 PROFINET IO系统访问控制界面

5 结束语 
目前,国内厂家多限于对现场总线产品的开发,对实时以太网产品的的研究开发甚少,本文介绍了多协议网络控制器netX和所支持的PROFINET IO协议栈,并详细讨论了其关键的开发步骤,对实时以太网产品的开发具有借鉴作用。从实时工业以太网技术发展形势看,实时工业以太网PROFINET在工业控制系统中的应用必将越来越广。

你可能感兴趣的:(netX通讯芯片,netX,profinet,IO,协议规范,嵌入式,片上系统SOC)