openPOWERLINK组件

使用openPOWERLINK的POWERLINK节点由以下组件组成:

  1. openPOWERLINK协议栈库
  2. openPOWERLINK驱动(仅当需要使用独立驱动!)
  3. 应用

openPOWERLINK协议栈库

openPOWERLINK协议栈被编译成一个静态或者动态的库链接到应用。不同的平台要求不同的openPOWERLINK协议栈库形式。协议栈库有不同的区分:

  • MN和CN库
  • 应用,驱动和完整库
  • 调试和发布库

MN和CN库

任何MN总能够作为一个CN对待。所以任何MN库都可以应用于CN。然而,无论减少代码量还是提高性能,一个CN库只能编译仅为CN所使用。

应用和驱动库

openPOWERLINK协议帧分成用户层(应用部分)和内核层(驱动部分)两部分。用户层包含以应用为中心的代码如对象字典网络管理功能,而内核层包含了时序要求严格的部分(例:数据链路层)。不同部分代码所编译的库区分如下:

  • 完整库:

      完整库包含用户和内核部分,均被链接到POWERLINK节点应用。因而无需驱动,整个库被链接到应用。
    
  • 应用库:

      openPOWERLINK应用库仅包含协议栈的用户层(应用部分)。它被链接到应用并且需要附加的驱动来运行一个POWERLINK节点。
    
  • 驱动库:

      openPOWERLINK驱动库仅包含协议栈的内核层并且被链接到驱动源代码来实现一个openPOWERLINK驱动。它需要一个应用部分以实现一个POWERLINK节点。
    

调试和发布库

协议栈创建为调试版和发布版均可。发布版编译的时候经过了优化并且剔除了调试跟踪代码。调试版未经优化并且包含调试跟踪代码。调试级别可由CMake配置值定义。调试版包含后缀"_d"。

openPOWERLINK驱动

openPOWERLINK协议栈可以为内核层模块使用独立的驱动,以便访问硬件资源(例:Linux内核驱动)或提高性能(例:在单独的处理器上运行内核部分).

可用驱动可在drivers目录下找到。

应用

应用是POWERLINK设备的一部分,执行实际功能。它通过调用openPOWERLINK协议栈API在POWERLINK网络中传输数据。

openPOWERLINK协议栈包含了一个demo应用集来展示怎样使用openPOWERLINK协议栈来执行POWERLINK应用。

可用的应用demo

控制台MN demo

该demo执行一个POWERLINK MN功能,包括配置管理器(CFM)。它被认为是一个控制台应用,并且为无图形接口的机器所准备。

该demo位于: apps/demo_mn_console

控制台CN demo

该demo作为一个POWERLINK CN执行,带有遵守CANopenshebei401协议的虚拟数字I/Os。它是一个控制台应用,因而I/O由键盘输入和屏幕显示来表达.

该demo位于: apps/demo_cn_console

QT MN demo

QT demo应用执行一个POWERLINK MN功能,包括配置管理器(CFM)。它采用用QT框架,因而依赖于带有图形用户接口(GUI)的平台.

该demo位于: apps/demo_mn_qt

嵌入式MN demo

该demo可在嵌入式设备上执行一个带CFM的POWERLINK MN节点功能(例:设备不带屏幕和键盘).

该demo位于: apps/demo_mn_embedded

嵌入式CN demo

该demo作为一个POWERLINK CN执行,带有遵守CANopenshebei401协议的数字I/Os。它是一个嵌入式应用并且能够使用硬件设备上的可用GPIO。

该demo位于: apps/demo_cn_embedded