目录
第一章
概述及背景……………………………………………………………………………………………… 1
开发指南概述……………………………………………………………………………………………. 1
1
常用术语
机器控制构架概述………………………………………………………………………………………. 2
控制系统的配置……………………………………………………………………………………… 2
控制系统构架的结构图…………………………………………………………………………….. 3
Compact RIO简介……………………………………………………………………………………… 4
实时控制器…………………………………………………………………………………………… 5
可重构的FPGA机箱…………………………………………………………………………………. 5
工业级I/O模块 ……………………………………………………………………………………… 5
Compact RIO规格说明…………………………………………………………………………….. 6
第二章
控制的基本架构……………………………………………………………………………………….. 7
基本控制器架构的背景…………………………………………………………………………………. 7
初始化规则………………………………………………………………………………………………… 7
控制规则………………………………………………………………………………………………. 7
关闭规则……………………………………………………………………………………………….. 8
初级控制器架构例程……………………………………………………………………………………… 9
基于状态的程序设计……………………………………………………………………………………… 14
状态机概述……………………………………………………………………………………………….. 14
使用状态机的例程………………………………………………………………………………………. 14
Lab VIEW中的状态机例程…………………………………………………………………………….. 14
状态图表介绍…………………………………………………………………………………………….. 19
状态图 ……………………………………………………………………………………………………. 21
第一步:设计调用 VI…………………………………………………………………………………… 26
第二步:定义输入、输出以及触发……………………………………………………………………… 27
第三步:创建一个状态图……………………………………………………………………………..
28
第四步:将状态图放置到调用VI里……………………………………………………………………… 28
开始执行—修改例子……………………………………………………………………………………… 30
第一步:修改I/O库…………………………………………………………………………………….. 30
第二步:修改关闭程序…………………………………………………………………………………. 31
第三步:修改任务1来影射I/O…………………………………………………………………………… 31
第四步:修改或重新编写状态表………………………………………………………………………… 31
第三章
开发可扩展性系统的软件技巧………………………………………………………………………… 32
重用函数…………………………………………………………………………………………………… 32
创建Lab VIEW里的可重用代码………………………………………………………………………… 32
创建可重用代码例程……………………………………………………………………………………. 33
Lab VIEW里的其他可重用代码………………………………………………………………………… 35
IEC 61131 功能块 ……………………………………………………………………………………… 35
多任务(多循环)……………………………………………………………………………………….. 36
设置任务优先权及同步任务…………………………………………………………………………….. 36
在任务之间传递数据……………………………………………………………………………………. 37
触发任务………………………………………………………………………………………………… 38
多循环系统的基于命令架构…………………………………………………………………………….. 38
用于命令的共享变量……………………………………………………………………………………. 39
数值命令………………………………………………………………………………………………… 40
使用共享变量触发一个并行循环的例子………………………………………………………………… 40
向I/O 扫描里添加数据……………………………………………………………………………………. 42
增加一个定制I/O 扫描任务(驱动循环) …………………………………………………………………… 42
优先权和定时……………………………………………………………………………………………. 43
为定制I/O向内存表里添加入口…………………………………………………………………………… 43
增加定制I/O 扫描逻辑……………………………………………………………………………………. 44
程序式I/O访问…………………………………………………………………………………………….. 44
读写I/O…………………………………………………………………………………………………. 45
配置I/O………………………………………………………………………………………………….. 46
在已配置的系统中发现I/O………………………………………………………………………………. 46
数据记录………………………………………………………………………………………………….. 47
板载实时内存数据记录到TDMS文件中………………………………………………………………… 48
初始化文件……………………………………………………………………………………………... 48
将数据写入到文件里………………………………………………………………………………. 49
读取数值 ……………………………………………………………………………………………… 49
动态创建新文件……………………………………………………………………………………… 50
板载实时内存数据记录到ASC II文件…………………………………………………………………… 50
初始化文件……………………………………………………………………………………………….. 51
将数据写入到文件里……………………………………………………………………………………….51
读取数值……………………………………………………………………………………………………51
动态创建新文件…………………………………………………………………………………………….52
整合数据记录程序与控制结构………………………………………………………………………………53
检索记录的数据………………………………………………………………………………………………53
错误和故障………………………………………………………………………………………………….. 54
故障引擎………………………………………………………………………………………………………54
使用错误处理循环的代码例子……………………………………………………………………………... 55
实时监视器……………………………………………………………………………………………………56
硬件监视计时器……………………………………………………………………………………………..57
第四章
Compact RIO系统通信…………………………………………………………………………………… 58
通信综述……………………………………………………………………………………………………. 58
命令或消息型通信………………………………………………………………………………………… 58
过程数据型通信………………………………………………………………………………………….. 58
数据流/缓冲型通信……………………………………………………………………………………… 59
使用网络发布的共享变量进行通信……………………………………………………………………… 59
网络共享变量背景………………………………………………………………………………………… 59
网络变量端子……………………………………………………………………………………………… 60
共享变量引擎……………………………………………………………………………………………… 60
发布订阅协议……………………………………………………………………………………………….60
网络发布的共享变量特征………………………………………………………………………………….. 61
管理和监视网络发布的共享变量……………………………………………………………………………63
使用网络发布的共享变量来共享进程数据…………………………………………………………… 64
使用网络发布的共享变量来发布命令………………………………………………………………………66
使用网络发布的共享变量的基于命令的构架例子…………………………………………………………. 70
基于命令的高级构架………………………………………………………………………………………. 72
为命令使用网络变量需要考虑的重要事项………………………………………………………………… 77
原始以太网(TCP/UDP)………………………………………………………………………………… 77
创建自定义通讯协议………………………………………………………………………………………. 77
动态创建新文件……………………………………………………………………………………… 50
自定义通讯协议的例子……………………………………………………………………………………….
78
简单的信息协议(STM)—Lab VIEW执行程序…………………………………………………………….. 78
Compact RIO的串行通讯…………………………………………………………………………………….. 80
RS232技术介绍……………………………………………………………………………………………… 81
Lab VIEW的串行通讯 ……………………………………………………………………………… 82
仪器驱动网络………………………………………………………………………………………………….. 84
Lab VIEW中串行通讯的例子………………………………………………………………………………… 84
与PLCs(可编程时逻辑控制器)或其他工业网络设备的通讯 …………………………………………. 86
工业通讯协议…………………………………………………………………………………………………… 86
Mod bus 通讯………………………………………………………………………………………………… 87
Mod bus范例…………………………………………………………………………………………………. 88
Ethernet/IP……………………………………………………………………………………………………. 89
OPC……………………………………………………………………………………………………………. 90
通过OPC从Compact RIO上发布数据…………………………………………………………………………. 90
第5章
添加I/O至Compact RIO系统………………………………………………………………………………… 93
添加I/O至Compact RIO………………………………………………………………………………………… 93
以太网I/O……………………………………………………………………………………………………….. 93
步骤1. 构件扩展系统…………………………………………………………………………………………. 93
步骤2 添加I/O至主控制器的扫描…………………………………………………………………………….. 94
步骤3 拷贝数据至内存……………………………………………………………………………………….. 95
确定性以太网I/O………………………………………………………………………………………………... 97
NI 9144简介-确定性以太网机箱……………………………………………………………………………… 97
步骤1. 安装确定性扩展机箱………………………………………………………………………………….. 97
步骤2 添加确定性I/O至IO扫描……………………………………………………………………………….. 99
步骤3. 添加FPGA Intelligence至确定性扩展机箱……………………………………………………………. 100
机器视觉/检验…………………………………………………………………………………………………..102
机器视觉系统架构…………………………………………………………………………………………… 102
照明和光学………………………………………………………………………………………………….. 103
软件选项…………………………………………………………………………………………………….. 104
机器视觉/控制系统界面……………………………………………………………………………………… 105
使用Lab VIEW Real-Time的机器视觉…………………………………………………………………… 105
步骤1. 添加一个NI Smart Camera至Lab VIEW Project……………………………………………………. 105
步骤2. 使用Lab VIEW对NI Smart Camera编程……………………………………………………………. 106
步骤3 与Compact RIO系统通讯…………………………………………………………………………….. 107
使用Vision Builder AI的机器视觉………………………………………………………………………… 108
步骤1. 使用Vision Builder AI配置NI Smart Camera………………………………………………………… 108
步骤2 配置检测任务…………………………………………………………………………………………. 110
步骤3 与CompactRIO系统通讯……………………………………………………………………………….111
运动控制………………………………………………………………………………………………………. 112
运动控制器…………………………………………………………………………………………………. 112
LabVIEW NI SoftMotion及NI 951x驱动接口模块………………………………………………………….. 113
CompactRIO上的运动入门指南…………………………………………………………………………..
114
确定系统要求并选择组件……………………………………………………………………………………..114
连接硬件………………………………………………………………………………………………………116
由LabVIEW Project配置控制器…………………………………………………………………………….. 117
使用LabVIEW NI SoftMotion API开发自定义运动应用……………………………………………………… 119
LabVIEW示例代码……………………………………………………………………………………………..124
第六章
通过LabVIEW FPGA定制硬件…………………………………………………………………………………126
通过LabVIEW FPGA扩展CompactRIO…………………………………………………………………… 126
使用LabVIEW FPGA的应用场合………………………………………………………………………………. 126
FPGA概述………………………………………………………………………………………………………. 127
FPGA的优点………………………………………………………………………………………………… 128
用LabVIEW FPGA编程………………………………………………………………………………………. 129
CompactRIO上的混合模式……………………………………………………………………………………130
例子—使用主机接口进行单点 FPGA/Real-time通信…………………………………………………….. 131
FPGA编程基础………………………………………………………………………………………………..131
在实时程序中的主机接口与LabVIEW FPGA通信…………………………………………………………… 133
例子-同步单点FPGA实时通信………………………………………………………………………………. 135
例子-进行简单的单点FPGA实时通信………………………………………………………………………. 135
使用自定义I/O变量……………………………………………………………………………………………. 135
自定义I/O变量……………………………………………………………………………………………….. 135
创建自定义I/O变量……………………………………………………………………………………………136
例子—利用自定义I/O变量实现同步FPGA/实时通信………………………………………………………. 137
使用自定义I/O变量…………………………………………………………………………………………… 137
Scan Clock I/O 项目…………………………………………………………………………………………. 137
例子—利用DMA FIFO采集波形……………………………………………………………………………..137
配置FPGA与实时硬件之间的通信………………………………………………………………………….. 137
模块下溢与不同采样模式的支持………………………………………………………………………….. 138
主机同步与自动重启………………………………………………………………………………………… 139
板载标定与通道总数确认…………………………………………………………………………………….139
使用实时应用程序读取DMA FIFO…………………………………………………………………………. 140
使用Delta-Sigma-Based C系列模块采集波形数据……………………………………………………… 141
不含扫描模式的C系列模块……………………………………………………………………………………142
LabVIEW FPGA开发的最佳技巧………………………………………………………………………… . 142
技巧1. 使用单周期的定时循环(SCTL)………………………………………………………………… 142
技巧2. 使用模块化、可重用的子VI来编写FPGA程序代码…………………………………………………146
实时更新查询表(LUT)……………………………………………………………………………………. 149
技巧3:编译前使用仿真技术………………………………………………………………………………… 151
技巧4 同步循环……………………………………………………………………………………………….. 155
同步触发和锁存……………………………………………………………………………………………… 156
技巧5: 避免“Gate Hogs” ………………………………………………………………………………. 157
第7章
为CompactRIO创建网络用户界面………………………………………………………………………… 162
使用LabVIEW建立用户界面及HMI………………………………………………………………………… 162
基本HMI架构背景……………………………………………………………………………………………. 162
初始化及停止……………………………………………………………………………………………….. 162
I/O扫描循环…………………………………………………………………………………………………. 162
导航循环…………………………………………………………………………………………………..
163
Windows XP, XP Embedded及CE Operating 系统的基本HMI架构………………………………………165
I/O表格………………………………………………………………………………………………………. 165
初始化任务…………………………………………………………………………………………………. 165
I/O扫描循环………………………………………………………………………………………………… 166
导航循环…………………………………………………………………………………………………… 167
入门指南-修改实例………………………………………………………………………………………….. 173
步骤1.修改记忆表…………………………………………………………………………………………… 173
步骤2. 修改命令类型定义…………………………………………………………………………………… 174
步骤3. 编辑I/O扫描循环……………………………………………………………………………………… 174
步骤4.编辑导航循环………………………………………………………………………………………… 174
第八章
系统的配置与复制………………………………………………………………………………………… 175
系统的配置…………………………………………………………………………………………………..
175
将系统配置在CompactRIO上…………………………………………………………………………………175
将LabVIEW程序配置在易失性存储器上……………………………………………………………………. 175
将LabVIEW程序配置在非易失性存储器上…………………………………………………………………. 176
在触模板中配置应用程序……………………………………………………………………………………...178
配置到触摸板的链接………………………………………………………………………………………… 178
将LabVIEW VI配置在易失性或者非易失性储存器中………………………………………………………….179
向嵌入Windows CE 式或者 XP式的目标配置可执行触摸板应用程序……………………………………….. 182
使用网络发布的共享变量来配置应用程序………………………………………………………………… 182
网络共享变量背景………………………………………………………………………………………….. 182
向拥有变量的目标上配置共享变量库……………………………………………………………………….. 183
卸载网络共享数据库…………………………………………………………………………………………. 184
配置共享数据库客户的应用程序…………………………………………………………………………..
184
推荐使用的CompactRIO软件包…………………………………………………………………………….. 185
系统复制……………………………………………………………………………………………………….. 186
具有实时复制功能的VI……………………………………………………………………………………….. 186
创建复制功能………………………………………………………………………………………………….. 187
NI-RIO系统复制工具……………………………………………………………………………………….. 188
知识产权保护…………………………………………………………………………………………………..,188
锁定算法或者程序防止被复制或修改……………………………………………………………………….. 189
保护已配置的程序…………………………………………………………………………………………… 189
保护特殊的VI………………………………………………………………………………………………… 189
将程序代码锁定在硬件上以防止知识产权被复制……………………………………………………………. 190
得到CompactRIO系统的MAC地址……………………………………………………………………………191
CompactRIO信息检索工具……………………………………………………………………………………192
连接其他平台…………………………………………………………………………………………………. 192
LabVIEW程序代码的可移植性……………………………………………………………………………… 193
NI Single-Board RIO(嵌入式单板平台) ……………………………………………………………………... 193
将CompactRIO应用程序连接到NI Single-Board RIO或者R系列设备………………………………………. 194
附录 A
CompactRIO 入门指南……………………………………………………………………………………. 198
CompactRIO 入门教程………………………………………………………………………………………..198