在整个程序设计中,首先完成了各子功能(子VI)的程序,将其做成单个模块,每个单个模块是由更小的模块组成,每一级的模块均刻以图标形式放置在程序流程图中,这样增加了程序的可维护性和可读性,使流程图更加清晰明了,同时避免了大量重复编程工作。系统的主界面设计中,利用LabVIEW中提供的 EDITMENU菜单,先将要实现的功能作为菜单选项的内容,以便在运行时调用,然后在框图中对各项菜单的调用通过CASE循环进行选择,使各项菜单对应于各项子VI,在各子VI中vi set up的execution options中选定show front panel when called选项,这样在运行中,当选择了菜单中的某些内容时,该子VI就被选中调用。图5为菜单后面板程序设计流程图。菜单中包括文件操作(读取、存储、打印)通道显示和信号分析以及帮助,程序分别调用相应功能的子VI程序,完成相应操作。下面简要介绍本采集程序中采用的几个典型模块。
本设计采用Access数据库对采集的数据进行分析及对历史数据查询回放,其特点表现在:关系数据库的SQL语言是非过程性语言,对数据的查询或操作简单;利用数据库管理数据,数据的独立性好;Access数据库使用方便,操作简单,能够满足数据库管理的需要。利用LV的ActiveX功能,调用 Microsoft ADO控件,既可以利用SQL语言又可以利用ADO提供的各种方法和属性,方便灵活地实现对Access数据库访问。在LV功能模块中含有ActiveX 子模板,子模板中包含用作与ActiveX服务器相连接的自动化节点函数,实现对数据库的操纵。ADO主要有三个主体对象,分别为 Connection,Command和RecordSet对象。访问数据库步骤为:连接到数据源一指定访问数据源的命令一执行命令。本设计建立两个数据源分别用来存放历史数据、报警数据及相对应的时间。