openPOWERLINK组件
使用openPOWERLINK的POWERLINK节点由以下组件组成:
- openPOWERLINK协议栈库
- openPOWERLINK驱动(仅当需要使用独立驱动!)
- 应用
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