王谨秋
POWERLINK
实时以太网教程
王谨秋
2012.8
1
王谨秋
本教程为初稿,如有纰漏,敬请谅解。
我们专注于 POWERLINK 的维护、升级和推广,为客户提供 POWERLINK
技术培训,技术支持,与 POWERLINK 相关的硬件设计,POWERLINK 的开发
板等。如果您有任何关于 POWERLINK 的疑问,不要犹豫,请立即联系我们。
如 果 您 需 要 推 广 或 者 购 买 POWERLINK 产 品 , 请 与 我 们 联 系 或 登 陆
POWERLINK 网上商城:http://openpowerlink.taobao.com
如果您有 POWERLINK 的技术问题,可加入 POWERLINK 技术交流
QQ 群:151181908
我们的联系信息:
公司名称:贝加莱工业自动化有限公司
公司地址:上海市田林路 487 号 21 号楼
联系人:王谨秋
固定电话:021-54644800-819
手机:13917489045
邮箱:jinqiu.wang@br-automation.com 或 openpowerlink@163.com
2
王谨秋
目 录
第一章 现有的实时以太网的比较 ............................................................................................... 12
1.1 总线概述 ........................................................................................................................ 12
1.2 几种典型总线的原理 ...................................................................................................... 13
1.3 POWERLINK 和 EtherCAT 的比较 ............................................................................ 17
第二章 POWERLINK 的原理 ...................................................................................................... 27
2.1 POWERLINK 是 IEC 国际标准 .......................................................................................... 27
2.2 OSI 模型 .......................................................................................................................... 27
2.3 POWERLINK 的物理层 ...................................................................................................... 29
2.4 POWERLINK 的数据链路层 .............................................................................................. 29
2.4.1 概述 ................................................................................................................... 29
2.4.2 POWERLINK 管理节点 ......................................................................................... 30
2.4.3 POWERLINK 受控节点 .......................................................................................... 30
2.4.4 服务 ..................................................................................................................... 30
2.4.5 POWERLINK 周期 .................................................................................................. 30
PollResponse Chaining 模式(PRC) ........................................................................ 33
2.4.6 空闲阶段 .............................................................................................................. 39
2.4.7POWERLINK 短周期(Reduced POWERLINK Cycle) .......................................... 39
2.5 POWERLINK 的同步机制 .................................................................................................. 40
2.6 POWERLINK 数据帧的格式 .............................................................................................. 44
2.6.1 SoC 数据帧格式 .................................................................................................. 45
2.6.2 Preq 数据帧格式 ................................................................................................ 45
2.6.3 Pres 数据帧格式 ................................................................................................ 46
2.6.4 SoA 数据帧格式 .................................................................................................. 47
2.6.5 Asynd 数据帧格式 .............................................................................................. 48
2.7 DLL 状态机 ..................................................................................................................... 48
2.7.1 从站 DLL 状态机 ................................................................................................. 48
2.8 主站网络管理(NMT)状态机 ........................................................................................ 59
2.8.1 通用初始化 NMT 状态机 ...................................................................................... 59
2.8.2 主站 MN NMT 状态机 ......................................................................................... 63
2.8.3 从站 CN NMT 状态机 ........................................................................................... 67
NMT 对象字典条目 ......................................................................................................... 74
2.9 CANopen 简介 .................................................................................................................. 74
2.9.1 针对不同种类设备的 CANopen 对象字典的规定 ............................................. 75
第四章 POWERLINK 应用层概述 ................................................................................................... 79
4.1 对象字典 OD .................................................................................................................... 79
4.2 XDD 文件介绍 .................................................................................................................. 79
4.3 CANopen 的通信模型 ..................................................................................................... 81
4.4 POWERLINK 网络配置---PDO 配置 ............................................................................... 82
4.5 用户应用程序对 object 的访问 ................................................................................... 84
第五章 一个简单的例子 ............................................................................................................... 88
5.1 硬件和软件环境的搭建 ................................................................................................. 88
5.2 主站程序的修改 ..................................................................................................... 89
3
王谨秋
5.3 从站程序的修改 ................................................................................................... 93
5.4 DEMO 的运行 ........................................................................................................... 96
第六章 POWERLINK 应用详细解析 ............................................................................................. 101
6.1 通信过程 ....................................................................................................................... 101
6.2 对象字典(OD) ......................................................................................................... 103
6.3 应用程序对 object 的访问 ........................................................................................ 108
6.4 PDO – 过程数据对象 ............................................................................................. 111
6.4.1 数据桢与 object 的映射 ................................................................................. 112
6.4.2 从站发送配置之通信参数配置(0x18XX) .................................................... 113
6.4.3 从站发送配置之映射参数配置(0x1A00) .................................................... 113
6.4.4 从站接收配置之通信参数配置(0x14XX) .................................................... 115
6.4.5 从站接收配置之映射参数配置(0x1600) .................................................... 115
6.4.6 主站发送参数的配置过程 ........................................................................................ 117
6.5 SDO – 服务数据对象 ........................................................................................... 118
6.6. 同步回调函数 ........................................................................................................... 122
6.7.事件回调函数 ........................................................................................................... 122
6.8 EplApiExecNmtCommand() ....................................................................................... 123
6.9 协议栈初始化 ............................................................................................................. 124
6.10 运行协议栈的应用程序 .............................................................................................. 125
第七章 XDD 文件介绍 ................................................................................................................... 130
7.1 设备描述 — Device Profile .................................................................................. 130
7.2 网络通信描述(Communication network profile) ........................................... 132
7.2.1 Application layers: ............................................................................... 132
第八章 openCONFIGURATOR 应用 ....................................................................................... 140
8.1 openCONFIGURATOR 介绍 ............................................................................................ 140
8.1.1 openCONFIGURATOR 的安装 .............................................................................. 143
8.2.openCONFIGURATOR 的使用 ...................................................................................... 144
8.2.1 创建新的 openCONFIGURATOR 工程 ................................................................. 144
8.2.2 openCONFIGURATOR 配置 preq-pres 模式通信 ............................................. 155
8.2.3 openCONFIGURATOR 配置 PRC 模式通信 ......................................................... 158
8.2.4 openCONFIGURATOR 配置交叉通信 .................................................................. 159
8.3 Mnobd 文件解析 ......................................................................................................... 164
第九章 基于 Linux 的 POWERLINK 的实现 ................................................................................. 170
9.1 基于 Linux 的 openPOWERLINK 的编译 ....................................................................... 171
9.2 运行于用户空间的例子 ............................................................................................... 176
9.3 运行于内核空间的例子 ............................................................................................... 179
第十章基于 FPGA 的实现 ............................................................................................................. 186
10.1 基于 FPGA 的 POWERLINK 的硬件架构 ....................................................................... 186
10.2 FPGA 只作为 POWERLINK 通信使用 ............................................................................ 187
10.3 POWERLINK 和用户的应用在同一个 FPGA 上 ............................................................ 188
10.4 基于 FPGA 的系统架构 ............................................................................................... 189
10.5 基于 FPGA 解决方案的优点 ................................................................................ 190
10.6 基于 FPGA 解决方案的工程介绍(openPOWERLINK) .............................................. 192
第十一章 基于 FPGA 的 openPOWERLINK 的 API 介绍 ............................................................... 198
4
王谨秋
11.1 AP 与 PCP 之间的总线接口 ....................................................................................... 199
11.1.1 SPI 总线接口 .................................................................................................. 199
11.1.2 并行总线接口 ................................................................................................. 200
11.2 DPRAM 中控制/状态寄存器描述 ................................................................................ 202
11.3 同步机制&中断 ........................................................................................................... 209
11.3.1 同步机制 ......................................................................................................... 209
11.3.2 同步中断 ......................................................................................................... 211
11.4 AP 对 PCP 的初始化流程 .......................................................................................... 211
11.4.1 初始化命令 ..................................................................................................... 215
11.4.2 启动 POWERLINK 协议栈命令: ...................................................................... 216
11.4.3 请求 PCP 返回 PDO 的描述信息 ...................................................................... 218
11.4.4 AP 发送使能同步中断命令 .......................................................................... 221
11.4.5 AP 与 PCP 交互同步数据 .............................................................................. 222
11.4.5 shut down 命令: ........................................................................................ 224
11.4.6 Reset 命令: ................................................................................................ 225
11.5 AP 对接收到的 SDO 命令的处理 .............................................................................. 225
11.6 AP 发送 SDO 命令给其他节点 .................................................................................. 226
11.7 主站 API 接口 .............................................................................................................. 226
11.7.1 主站 CDC 的配置 .............................................................................................. 226
11.7.2 对同步数据的解析 .......................................................................................... 227
11.7.3 步数据交换 ...................................................................................................... 227
11.7.4 异步数据交换 .................................................................................................. 227
11.7.5 同步信号 .......................................................................................................... 227
第十四章 POWERLINK 远程更新程序 .................................................................................. 230
第十五章 冗余设计 ..................................................................................................................... 236
15.1 双网冗余 ...................................................................................................................... 236
15.1.1 双网冗余的机制: ......................................................................................... 236
15.1.2 线路状态 .......................................................................................................... 237
15.1.3 选择器的设计 .................................................................................................. 238
15.1.4 双网冗余的 FPGA 解决方案 ............................................................................ 240
15.2 环形冗余 ................................................................................................................... 241
15.2.1 环形冗余的拓扑 .............................................................................................. 241
15.2.2 环形冗余的机制 ............................................................................................. 243
15.2.3 网络状态检测 .................................................................................................. 246
15.2.4 冗余模块状态检测 .......................................................................................... 247
15.2.5 链路状态检测 .................................................................................................. 248
15.2.6 环形冗余的无缝切换 ...................................................................................... 249
15.2.7 环网冗余的 FPGA 解决方案 ........................................................................... 252
15.3 多主冗余 ..................................................................................................................... 252
15.3.1 节点号 NODE ID 的分配 ................................................................................. 253
15.3.2 配置管理 ......................................................................................................... 254
15.3.3 接管仲裁 ......................................................................................................... 255
15.3.4 状态切换 ......................................................................................................... 260
15.4 冗余系统的典型拓扑结构 ......................................................................................... 264
5
王谨秋
15.4.1 多主环网 ................................................................................................................. 264
15.4.2 多主双网 .................................................................................................................. 265
15.4.3 多主双环网 .............................................................................................................. 265
第十六章 POWERLINK 通信诊断 ............................................................................................ 270
16.1 wireshark 简介 .......................................................................................................... 270
16.2 wireshark 使用方法 .................................................................................................. 270
16.2.1 下载及安装 ..................................................................................................... 270
16.2.2 网络连接 ......................................................................................................... 270
16.2.3 运行 wireshark .............................................................................................. 271
16.2.4 wireshark 数据分析 ...................................................................................... 272
16.2.5 对各个从节点状态的诊断 ............................................................................. 274
16.2.6 wireshark 过滤功能 ...................................................................................... 276
16.2.7 配置过程中,对错误的诊断 .......................................................................... 277
16.3 Omnipeek 简介 .......................................................................................................... 278
16.3.1 Omnipeek 安装 ................................................................................................ 279
16.3.2 EthernetAnalyzer 安装 .............................................................................. 279
16.3.3 PC 网卡的配置 ................................................................................................ 280
16.3.4 X20_ET8819 的设置 ...................................................................................... 281
16.3.5 启动 Omnipeek ................................................................................................. 282
16.3.6 对 X20_ET8819 的配置 .................................................................................... 282
16.3.7 关闭防火墙 ...................................................................................................... 283
16.3.8 线缆连接: ........................................................................................................ 285
13.3.9 开始分析 ......................................................................................................... 286
16.3.10 对 X20_ET8819 的高级设置 ......................................................................... 287
第十七章 POWERLINK 通信错误处理 .......................................................................................... 294
17.1 错误处理机制 ............................................................................................................. 294
17.2 POWERLINK 可能出现的错误 ...................................................................................... 294
17.3 各种错误对应的对象字典中的对象 ......................................................................... 295
17.4 源码中经常出现的错误 .............................................................................................. 296
第十八章 关键参数的设置 ......................................................................................................... 300
18.1 POWERLINK 主要的参数设置 ...................................................................................... 300
18.2 修改 POWERLINK 节点的最大通信数据 ..................................................................... 302
18.2.1 从站配置 .......................................................................................................... 303
18.2.2 主站配置 .......................................................................................................... 305
18.2.3 FPGA 解决方案 .............................................................................................. 305
第十九章 基于 POWERLINK 的伺服 ............................................................................................. 307
19.1 迈信公司介绍 ............................................................................................................. 307
19.2 POWERLINK 伺服的功能和性能 ................................................................................. 307
19.2.1 速度模式 ......................................................................................................... 307
19.2.2 位置模式 ......................................................................................................... 307
19.2.3 同步性 ............................................................................................................. 307
19.3 POWERLINK 伺服的使用方法 ..................................................................................... 307
19.3.1 与贝加莱 PLC 通信 ......................................................................................... 307
19.3.2 与华兴数控系统通信 ..................................................................................... 307
6
王谨秋
19.3.3 使用 Windows 控制 POWERLINK 伺服(点位控制) .................................... 307
第二十章 贝加莱产品与第三方设备通信 ................................................................................. 310
20.1 贝加莱主站 (PLC) .................................................................................................. 310
20.2 贝加莱 POWERLINK 从站 (BC0083) ....................................................................... 332
附录一:POWERLINK 开发板和板卡介绍 .............................................................................. 356
附 1.1 Altera 开发板 ......................................................................................................... 356
附 1.2 Altera 通信模块 ..................................................................................................... 357
附 1.3 POWERLINK PCI 通信卡 .......................................................................................... 358
附 1.4 POWERLINK PCI-E 通信卡 ...................................................................................... 359
附 1.5 POWERLINK 的 XILINX 通信模块 ........................................................................... 360
附 1.6 基于 ARM 的 POWERLINK 主从站解决方案--- ........................................................ 361
Freescale M4 上的 Powerlink 实现 .................................................................................. 361
一、硬件平台 ............................................................................................................... 361
二、移植测试 ............................................................................................................... 361
三、基于 MCU 的优势 ................................................................................................... 365
四.咨询与服务 ........................................................................................................... 365
附 1.7 基于 ZYNQ 的 POWERLINK 主从站解决方案 ............................................................ 366
一.硬件平台 ............................................................................................................... 366
二、移植测试 ............................................................................................................... 367
三、基于 Zynq 的优势 ................................................................................................. 369
四、咨询与服务 ........................................................................................................... 369
附录二 1.0 用户手册-Xilinx .................................................................................................... 375
1.基础篇........................................................................................................................................ 375
1.1 评估板硬件介绍 ............................................................................................................. 375
1.2 源代码文件夹介绍 ......................................................................................................... 377
1.3 基于 FPGA 的 POWERLINK 方案 ............................................................................... 378
1.4 编译 FPGA 硬件工程 .................................................................................................... 379
1.5 编译软件工程 ................................................................................................................. 383
1.5.1 设置编译环境 ...................................................................................................... 384
1.5.2 生成 BSP .............................................................................................................. 385
1.5.3 导入软件工程 ...................................................................................................... 389
1.6 调试及下载 ..................................................................................................................... 391
1.6.1 编译软件工程 ...................................................................................................... 391
1.6.2 软件的调试 .......................................................................................................... 394
1.6.3 测试从站 .............................................................................................................. 396
1.6.4 下载到 Flash ........................................................................................................ 397
2.中级篇........................................................................................................................................ 397
2.1DirectIO 的应用 .............................................................................................................. 397
2.1.1FPGA 工程介绍及应用........................................................................................ 398
2.1.2 软件工程介绍及应用 .......................................................................................... 399
2.1.3Windows 做主站进行测试 ................................................................................... 400
2.2 PCP 的应用..................................................................................................................... 409
2.2.1 硬件的介绍及应用 .............................................................................................. 409
2.2.2 软件的介绍及应用 .............................................................................................. 416
7
王谨秋
2.3 AP-PCP 的应用 .............................................................................................................. 417
2.3.1 硬件介绍及应用 .................................................................................................. 417
2.3.2 软件介绍及应用 .................................................................................................. 418
3.高级篇........................................................................................................................................ 419
3.1 建立基本系统 ................................................................................................................. 420
3.2 FPGA 硬件工程移植 ..................................................................................................... 425
POWERLINK IP Core 设置 ......................................................................................... 425
依赖的其他外设 ........................................................................................................... 435
AP-PCP 双核 ................................................................................................................ 441
软件移植 ............................................................................................................................... 445
Makefile 的修改 ........................................................................................................... 445
Linker Script 文件 ........................................................................................................ 446
下载脚本 ....................................................................................................................... 447
AP 的移植..................................................................................................................... 448
附录三 CNDK1.0 用户手册-Altera ............................................................................................. 452
1 基础篇........................................................................................................................................ 452
1.1 评估板硬件介绍 ............................................................................................................. 452
1.2 源代码文件夹介绍 ......................................................................................................... 453
1.3 基于 FPGA 的 POWERLINK 方案 ............................................................................... 454
1.4 编译 FPGA 硬件工程 .................................................................................................... 455
1.5 编译软件工程 ................................................................................................................. 458
生成 BSP ...................................................................................................................... 459
导入软件工程 ............................................................................................................... 461
1.6 调试及下载 ..................................................................................................................... 465
编译软件工程 ............................................................................................................... 465
软件的调试 ................................................................................................................... 465
测试从站 ....................................................................................................................... 470
下载到 Flash ................................................................................................................. 470
2 中级篇........................................................................................................................................ 472
2.1 DirectIO 的应用 ............................................................................................................. 472
2.1.1 FPGA 工程介绍及应用....................................................................................... 472
2.1.2 软件工程介绍及应用 .......................................................................................... 474
2.1.3Windows 做主站进行测试 ................................................................................... 474
2.2 PCP 的应用..................................................................................................................... 484
2.2.1 硬件的介绍及应用 .............................................................................................. 484
2.2.2 软件的介绍及应用 .............................................................................................. 490
3.高级篇........................................................................................................................................ 491
3.1 FPGA 硬件工程 ............................................................................................................. 492
3.1.1 POWERLINK IP Core 设置 ................................................................................ 492
3.1.2 依赖的其他外设 ................................................................................................. 497
3.2 软件移植 ......................................................................................................................... 498
附录四 如何实现一个 AP ............................................................................................................ 503
0.准备知识.................................................................................................................................... 503
0.1 DPRAM 的结构 ............................................................................................................. 503
8