小白自学Labview笔记(七)------注释、错误及调试

前言

  • 清晰的注释跟程序框图降低了后续修改及维护代码的难度
  • 错误提示跟调试技巧可以帮助开发人员寻找程序BUG提高开发速度

一、注释

  1. 提示框说明
    右击某个程序框图,或子VI,选择说明和提示;可以为控件添加说明。
    小白自学Labview笔记(七)------注释、错误及调试
    小白自学Labview笔记(七)------注释、错误及调试
  2. 属性外观
    右击某个控件,选择属性,勾选标签可见跟子程序框图,可以在标签说面或者在子程序框图标签中为模块添加说明。
    小白自学Labview笔记(七)------注释、错误及调试
  3. 命名输入控件跟显示控件
    为了增加代码可读性,需要对输入控件跟显示控件进行命名。
    添加控件后直接点击上面的标签,就能为其命名;或者属性窗口里面的标签属性也能命名输入跟显示控件。
    小白自学Labview笔记(七)------注释、错误及调试
    小白自学Labview笔记(七)------注释、错误及调试
  4. 自由标签

自由标签可以在程序任何地方添加提示说明。
添加自由标签控件方法:结构—>修饰—>自由标签。
小白自学Labview笔记(七)------注释、错误及调试
小白自学Labview笔记(七)------注释、错误及调试

二、错误提示跟调试

(1)错误

即使在非常可靠的VI也可能生成错误。如没有建立错误检查机制,仅能确定VI不能正常工作。通过错误检查可判定VI中错误发生的原因和错误出现的位置。

例如,执行任意类型的输入和输出(I/O)为生成错误的一个常见场景。几乎所有的I/O函数都会返回错误信息。应在VI中包括错误检查,尤其对于文件、串口、仪器测量、数据采集和通讯等I/O操作更应如此,并提供一个恰当的错误处理机制。

  1. 自动错误处理
    默认状态下,LabVIEW将通过挂起执行、高亮显示出现错误的子VI或函数以及显示错误对话框的方式自动处理错误。
    该属性的作用类似于选项对话框中程序框图页的在新VI中启用自动错误处理选项,以及VI属性对话框中执行页的启用自动错误处理选项。

小白自学Labview笔记(七)------注释、错误及调试
小白自学Labview笔记(七)------注释、错误及调试

  1. 手动错误处理
    通过以下方法可以手动处理错误:
  • 通用错误处理器 VI
    所属选板:对话框和用户界面VI和函数
    发生错误时,显示有错误发生。 如发生一个错误,该VI返回错误描述,或选择性地打开一个对话框。
    小白自学Labview笔记(七)------注释、错误及调试
  • 使用错误簇和多数VI及函数的错误输入错误输出参数管理错误。例如函数检查到错误,用户可以编程修复错误,并连接VI函数的错误输出端到“清除错误”VI的错误输入端。
  1. 错误簇
    错误簇常量用于传递错误簇的值至程序框图。 使用操作工具在簇中单击,可修改簇的状态、代码和源。
    错误簇包含以下信息
  • 状态:一个布尔值,为TRUE代表产生错误。
  • 代码:I32整数,数值表示错误类型,为正数时表示警告。
  • 源:一个字符串,识别错误发生的位置。
    状态为TRUE的错误簇,被传递到下一个节点的错误输入,不管代码为多少下面代码都不会被执行。
  1. 警告
    代码被定义为:状态为FALSE,代码值非零的错误簇(多数警告代码值都为正数,但是不代表所有警告都是如此)。
    警告通常被认为没有严重错误的提示,连接了警告的错误输入下面的代码任然会执行。Labview仅会报告警告。

(2)调试

1.断开的VI
当运行按钮为断开的箭头时,表示该VI程序不可被执行,点击断开的箭头可以看到断开的原因。
小白自学Labview笔记(七)------注释、错误及调试

  1. 高亮执行
    使用高亮执行可以看到VI中数据传递的过程,了解程序的运行。
    小白自学Labview笔记(七)------注释、错误及调试
  2. 单步执行
    可以查看程序单步的运行,并停在某个步骤中查看。结合高亮执行使用可以看到某个步骤数据流动的过程。
    小白自学Labview笔记(七)------注释、错误及调试
  3. 探针工具
    VI运行时,实时检查连接线上的值。
    小白自学Labview笔记(七)------注释、错误及调试
  4. 断点
    连接线上右击,选择设置断点,可以让程序运行到该处时暂停执行。
    小白自学Labview笔记(七)------注释、错误及调试
    小白自学Labview笔记(七)------注释、错误及调试

三、总结

本章内容有点水,但这是编程的基础内容,只有掌握了这些,开发过程才能更加有效的进行。