logo资料库

LABVIEW中FPGA开发指南P220.pdf

第1页 / 共228页
第2页 / 共228页
第3页 / 共228页
第4页 / 共228页
第5页 / 共228页
第6页 / 共228页
第7页 / 共228页
第8页 / 共228页
资料共228页,剩余部分请下载后查看
目录 第一章 概述及背景……………………………………………………………………………………………… 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
分享到:
收藏