本文是基于LabVIEW虚拟仪器系统开发与实践等原理、技术而设计出的科学计算器,是利用虚拟仪器技术而完成的。可以用来模拟真实计算器而进行简单的加减乘除四则运算、平方、开根号和倒数运算,以及进行三角函数的数值转换。本次设计运用条件结构、顺序结构以及层叠式顺序结构等实现具体的计算器功能,利用子VI进行相关数值的转换。LabVIEW 是美国国家仪器公司推出的一种基于 G 语言的虚拟仪器软件开发工具。本文首先介绍了LabVIEW科学计算器设计的理论支撑,然后使用LabVIEW设计了详细程序框图和程序的前面板,并对设计过程中所遇问题进行总结,最后对科学计算器进一步的设计优化进行了展望。
在确定计算器功能类型和数量的基础上,查阅相关资料对方案进行论证,完成总体设计。绘制出系统总图和计算器界面总框图。计算器设计流程图如图2所示。
图2 计算器设计流程图
- 总体设计
在LabVIEW开发环境下,创建可执行文件必须在“项目”下进行。本程序的项目浏览器窗口如图3所示。
图3项目浏览器
在项目浏览器中,我们可以看到,项目调用了很多子VI,主界面主VI控制着整个程序的逻辑结构和运算过程,主要是对用户界面上的操作输入和运行结果的显示。其他的子VI可以被一些模块调用,即主VI调用子VI。本项目主要使用了七个子VI,如图4所示。
图4 色彩缤纷的子程序图标
本设计的程序框图主要运用了条件结构和事件结构,结合模块化的子VI,可构成我们所需要的功能。多事件结构的程序框图如图5所示。
图5多事件结构的结构框图
三、程序的基本设计
(一)“计算器”程序的前面版
本次设计的计算器共设计40个键码,分别为:0~9 十个数字、小数点、正负号、加、减、乘、除、等号、倒数、开方、平方、 π、sin、cos、tan、角度转换和清零,还有一个数据显示和一个时间显示。具体设计如图6所示。
图6 前面板
(二)“计算器”程序的程序框图
本程序框图通过一个while循环套用一个事件结构和一个条件结构,以及一个调用节点完成对函数的调用,进而完成对计算器的两个输入数据的加、减、乘、除运算和一些特殊运算。整体程序框图如图7所示。
图7 整体程序框图
- 子VI与模块
(一)简单子VI的程序框图
子VI相当于普通编程语言中的子程序,也就是被其他的VI调用的 VI。下图几个框图显示了加减计算、乘除计算、括号、抽离上一元素、和删除多余的零等一些子VI的程序框图。
图8“加减计算”的程序框图
图9“乘除计算”的程序框图
图10“括号”的程序框图
图11“抽离上一元素”的程序框图
图12“删除多余的零”的程序框图
图13“清零”的程序框图
(二)特殊计算子VI的程序框图
特殊计算子VI就是对一些除加减乘除除外的特殊符号的运算,包括角度求值、平方求值、阶乘等。其中正切和余弦函数的程序框图如图14、图15所示。
图14 “正切”的程序框图
图15 “余弦”的程序框图
(三)时间显示和背景控件
主界面调用一些控件和函数进行运算操作,利用分模块编写子VI的方式调用。有利于调试、修改和调用。时间控件给前面版添加了显示时间的功能。背景模块给前面板添加了背景转换的功能,数据显示控件和背景模块的程序框图如图16、图17所示。
图16 时间显示模块的程序框图
图17前面板背景控件的程序框图
(四)弧度,角度,梯度的相互转换
图17 “弧度,角度,梯度的转换”的程序框图
- 验证“计算机”程序
(一)加减乘除验证
(二)一些特殊功能验证
- 总结
- 结论
通过设计,制作出基于LabVIEW虚拟仪器系统开发与实践等原理、技术而设计出的简易计算器,是利用虚拟仪器技术而完成的,可以用来模拟真实计算器而进行简单的四则运算、平方、开根号和倒数运算 ,还可以进行清零和关闭计算器操作。经过对结果的演示,本设计能够达到设计之初所计划的所有功能。不仅对于简单的运算能够顺利的完成,而且具体的操作和功能与最常用的计算器基本一致。
- 展望
该设计还是有很多功能可以加入的。比如可以加入简易/科学计算器的转换按钮,这样可以方便更多场合的应用,还可以加入进制转换的功能,方便电子信息类的学生进行逻辑分析。为了完善此次设计,接下来的时间,我将继续熟悉函数选板中各个函数作用及控件选板中各个控件的作用,以使自己在接下来设计 LabVIEW 程序框图时更加得心应手。
最新评论