- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6讲_LabVIEW程序设计进阶
养成良好的编程习惯 程序框图不要太大 尽量在一屏中放下,或者至多只需在一个方向上拖动 程序如果实在太大,应考虑使用子VI (将在后续介绍) 添加必要的注释 清晰直观的子VI风格 * 习惯数据流的编程方式 有些顺序帧结构可以用状态机替换 尽量不要用变量代替连线 利用错误簇 错误解析 可以输入错误代码,查看LabVIEW对错误的解释 错误分支 界面设计原则: 清晰直观 Labels (标签) – 简短说明 (程序框图中也会显示) Captions (标题) – 较长的说明 界面设计原则: 清晰直观 如有必要,可增加说明信息 界面设计原则: 不杂乱 不使用过多的字体、色彩 默认的经典黑白灰方案最保险 界面设计原则: 整洁 如果前面板控件较多,可利用Tab控件整理分类 范例程序展示 访问GSDzone.net代码展览馆可下载更多炫酷LabVIEW程序 更多LabVIEW编程技巧 参考阮奇桢著《我和LabVIEW——一个NI工程师的十年编程经验》 希望同学们能在后续的Project中,有意识利用这些LabVIEW程序设计技巧,活学活用 LabVIEW学生版和试用版不支持生成安装文件,不过可以告诉学生通过Build Specification来生成 * 这两种方法都是不行的: 第一种: 根据数据流,循环一但开始执行,说明数据流已经进入循环,就不会再读取循环外的数据改变 第二种:根据数据流,只有当进入循环的数据准备好时,循环才会开始执行,所以第一个循环执行完,把布尔数据流输出之后,才会开始执行第二个循环 * 建立之后,可以通过属性对话框设置类型 * 由于有可能发生同时写入的竞争状态, 代码执行的结果四种皆有可能 * 教师可以向学生简要介绍时间数据节点和时间过滤器节点的作用 * 问题: 如何在生产者和消费者循环之间有效地传递数据,并保持同步? * * 左右两边分辨是针对VI的调用节点 和 针对控件的调用节点 * 课时有限,所以该课程重点放在与测控和仪器相关的内容上,LabVIEW学习的重点主要放在编程基础及编程架构方面,至于一些纯LabVIEW编程的专题内容则推荐学生有兴趣自学 * 这是一个反面例子,其实完全可以用While循环+移位寄存器的形式来替换 * 利用错误簇除了可以了解错误信息之外,还可以利用错误簇数据流控制程序执行的顺序,这比利用顺序帧结构控制程序执行看上去简洁 * 后者字号太多就显得比较混乱 * * 声明 本课件供《虚拟仪器技术》、《自动测试技术》等相关课程教师授课使用与参考. 教师可根据课程需要和实际情况在此课件基础上增删内容 本课件版权属NI(中国)公司所有,供中国大陆地区高校教师无偿使用或在课程中引用,但使用或引用之前请联系NI(中国)公司高校市场部获得免费使用授权 本课件不得用于公开出版或其他商业用途. 如需在公开出版物中引用其中部分内容, 请与NI(中国)公司高校市场部联系获得授权 第六讲LabVIEW程序设计进阶 复习 通过前面的学习和实验,已掌握 LabVIEW开发环境及基本编程和调试方法 简单的数据采集 在LabVIEW中进行信号处理 进阶 LabVIEW项目 通过变量传递数据 典型程序设计架构 属性节点与调用节点 养成良好的编程习惯 界面设计 LabVIEW项目 借助LabVIEW项目 管理文件 (LabVIEW VI或项目相关的其他文件) 生成可执行文件(exe)或安装包 将LabVIEW程序发布到其他目标上 (如实时控制器、FPGA等) 理解: LabVIEW数据流与并行 问题: 如何同时停止两个循环? 变量 解决方案: 利用LabVIEW中的局部变量 LabVIEW中的变量 局部变量 VI内部 全局变量 同一机器上的VI之间, 不一定建立项目 单进程共享变量 可用于需要在不同机器之间共享变量的情况, 需要建立项目 通过网络传输数据的相关内容可通过参考书自学 在LabVIEW项目中建立共享变量 单进程共享变量的使用 变量使用的注意事项 避免不必要的使用(比如仅仅为了减少连线) 初始化变量(避免出现不确定状态) 避免竞争状态 避免同时写入共享资源 例: 右边程序的执行结果? Value = (Value * 5) +2 Value = (Value + 2) * 5 Value = Value * 5 Value = Value +2 常用的LabVIEW程序设计架构 单循环架构 状态机 事件结构 多循环架构 生产者/消费者结构 基于事件的生产者/消费者结构 单循环架构 如前面提到的简单数据采集(连续模拟输入)程序 前面提到的状态机结构 复习: 状态机结构 事件结构 常用于响应前面板控件操作 自定义事件 (自学内容) 前面板 用户动作 程序框图 执行 事件结构的使用 通常与While循环
文档评论(0)