适用场景:实验室操作流程记录、课程实践报告撰写
本文要点:设置容积显示对象、配置温度计参数、生成并运行vi程序
行文逻辑:创建前面板窗口→配置控件属性→连接程序框图→运行并保存vi
一.实验目的
熟悉LabVIEW软件的基本编程环境。
二.实验内容
创建并保存一个VI程序。此VI要实现的功能是:随机生成一个数值,经过一定的运算过程,输出显示成为容积和温度值。
三.实验步骤
1、选择 FileNew,打开一个新的前面板窗口。
2、从 ControlsNumeric 中选择 Tank放到前面板中。
3、在标签文本框中输入“容积”,然后在前面板中的其他任何位置单击一下。字体改为“华文行楷”,字号:36。
4、把容器显示对象的显示范围设置为0.0到1000.0。
使用文本编辑工具(Text Edit Tool),双击容器坐标的10.0 标度,使它高亮显示。
在坐标中输入 1000,再在前面板中的其他任何地方单击一下。 这时0.0到1000.0之间的增量将被自动显示。
在容器旁配数据显示。
将鼠标移到容器上,点右键,在出现的快速菜单中选Visible ItermsDigital Display即可。
5、从ControlsNumeric 中选择一个温度计,将它放到前面板中。设置其标签为“温度”,字体改为“华文行楷”,字号:36。温度计的显示范围为0到100,同时配数字显示。可得到如下的前面板图。
6、WindowsShow Block Diagram 打开程序框图窗口。从功能模板中选择对象,将它们放到程序框图上,组成下图(其中的标注是后加的)。
7、该流程图中新增的对象有两个乘法器、两个数值常数、一个随机数发生器、一个进程监视器,温度和容积对象是由前棉板的设置自动带出来的。
8、乘法器和随机数发生器由FunctionsNumeric中拖出,数值常数也可以这样得到。
9、用连线工具将各对象按规定连接。
创建数值常数对象的另一种方法是在连线时一起完成。具体方法是:用连线工具在某个功能函数或VI的连线端子上单击鼠标右键,再从弹出的菜单中选择 Create Constant,就可以创建一个具有正确的数据格式的"数值常数对象。
10、WindowsShow Front Panel 打开前面板窗口,双击空白处,写入设计人个人信息。
11、选择 FileSave,把该VI 保存为 D:LabVIEW-姓名 目录中的 Temp & Vol.vi。
在前面板中,单击Run(运行)按钮,运行该 VI。注意电压和温度的数值都显示在前面板中。
12、拷贝前面板和程序框图到Word文件中,作为本次实验报告的素材。
13、选择FileClose,关闭该 VI 。
四.实验结果
五.实验体会
Labview是一种图形编程软件,上手很快,但达到一定程度后,发现很难取得进步。个人觉得是,labview最重要的是对编程结构的深入体会和各函数控件功能的充分掌握。前者可以通过看范例理解加深。但后者只看范例是行不通的。每个控件都有不同的功能和使用要求,如果不知道,很难使用和掌握。它的图形语言和MATLAB软件中的simulink语言形同,区别在控件上的不同,有些使用方式很类似。
适用场景:实验室项目验收、课程设计答辩
本文要点:模块化编程实现、数值输入与显示控制、高级运算功能开发
行文逻辑:设计目的→设计思想→实现过程→总结
课题:计算器设计
学院:工学院 专业:自动化 班级:自动化101 学号:1xxx5
姓名:宋浩财 陈宇豪时间:20xx年6月5日 杨波
摘要:
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司
研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。利用labview设计一些小项目不仅
可以更好的学习虚拟仪器知识,还能方便生活!应用所学知识,实现计算器实现步骤的设计框架,设计计算器! 关键字:labview 计算器实现步骤 目录
(1)设计目的 (2)设计思想 (3)实现过程 (4)总结 (5)参考文献
(1)设计目的
利用所学虚拟仪器知识,应用labview软件设计一个能实现加减乘除以及开方、取倒、取反功能的计算器。提高使用labview设计项目的能力! (2)设计思路
该设计采用模块化编程思想,从而使整个项目更加的简洁明了,直观大方,利于阅读。总体
上可分为以下几个模块: (1)数值输入模块:主要实现的功能就是数值的键入,主要是数字键以及表示进制转换时的进制数的键入。(2)按键模块:这个模块包括3个部分,输入数按键,运算符按键以及特殊功能按键。
(3)菜单选择模块:该模块主要实现的功能有,进制转换功能,弧度角度转换功能,以及标准型计算器和科学计算器之间的切换。
(4)进制选择模块:可以转换二、八、十、十六进制的数。 (5)单位选择模块:该功能可以实现将输出的数转换成你想要的单位,包括角度、弧度以及各种进制数。
(6)数值显示模块:该模块主要功能就是数值的键入显示以及数值的输出显示。
(7)清除返回模块:该模块主要的功能就是当用户发现输入错误数据时,使用该功能就能改正错误,从而节约了时间
以及提高了计算效率。
(8)三角函数等高级运算模块:该模块主要就是一些三角函数等一些高级运算,是为科学计算器而设计的,功能非常强大,实时操作性很好。
(3)、实现过程
1、
面板按键的设计及感应
首先,在前面板上建立一个簇
然后在簇中再建立布尔量,复制20个以满足键的需求(0--9十个数字键,一个小数点键,一个等号键,四则运算键,一个开方键,一个倒数键,一个反号键,一个清零键及一个退出键并注意按键的`顺序)。 将按键给值并作适当的美化处理
在后面板中通过
将簇中元素按产生的顺序组成一个一维
数组,这样就实现了每个键与数字(0--20)之间的对应。每次按下一
个键时,通过
查找出对应的键并把结果(对应的数字)连接
到一个case结构,然后执行对应case结构中的程序,至此就完成了对一个键的感应过程。
2、
数字的键入(0~F键入1~F数字)
这个模块主要的功能就是数值的键入
数值按键的布尔按键。
以下面板主要是为了当前显示为0时再输入数字只显示所输入的数字,用于防止显示00的情况
当输入非0值时控件面板:
适用场景:课程设计任务执行、实验操作流程规范
本文要点:二维数组元素输入处理、随机数生成算法实现、电子表格数据读写操作
行文逻辑:建立数组结构→处理数组元素→生成随机数→读写文件数据
一、课程设计目的
掌握虚拟仪器的概念和系统组成,虚拟仪器系统的基本设计思想;认识虚拟仪器的软件开发工具LabVIEW及图形化编程语言;掌握虚拟仪器软件的设计方法,能够运用LabVIEW进行数据操作、结构控制、文件读写、信号处理、数学分析、波形分析等。
二、第一阶段设计
1、第一题
第一题要求建立一个二维数组,由于没有指定数组的具体数值,所以设计为让用户
自行输入数组的元素,并生成一个新的数组,再进行后续的操作。数组长度是使用数组大小函数来获得,经过数组大小函数后,通过索引数组来的到二维数组的行数与列数,想乘后的到数组的长度,查找元素和替换元素则是直接用已有的"函数即可实现。
2、第二题
任意创建一个二维数组常量,并定义数组元素后用第一题的方法得到数组的长度,把数组和数组长度输入到重排数组维数函数中,即可得到重新排列后的一维数组。而后让用户自己设计把最后多少个元素放置到数组前面,经过一维数组循环移位后即可实现功能。
3、第三题
首先是创建了个数组输入控件,让用户自己输入一维数组的元素,利用一维数组排序函数即可实现升序排列,然后把升序排列的结果利用反转一维数组函数进行反转,即可得到降序排列的数组。
4、第四题
首先建立了一个二维的数组常量,定义数组的元素后显示出来。利用数组的最大值最小值函数得到数组的最大值最小值以及位置,由于位置是以数组形式表示的,则用数组索引把行数列数提取出来并显示。但这个方法的问题在于,数组的最大值最小值函数并不能把数组中所有的最值的位置都输出出来,它只输出第一个找到的最值的位置。
5、第五题
建立一个簇然后在簇里添加题目要求的内容后,把顺序设置好,接着按顺序把相应的输入控件捆绑到簇中。
6、第六题
首先求阶乘要分为3种情况,一是等于零,而是大于零,还有就是小于零。让用户输入n的值后,马上进行判断,如果等于零,则直接输出1,如果小于零则输出0(表示出错),如果大于零则进入循环进行运算。For循环中,以n为总循环次数,建立反馈节点(初值为1),i加1后再与自身相乘,得到结果;while循环中,以i加1后的值是否大于n为循环结束条件,其余与for循环相似。
7、第七题
利用随机数(0-1)函数,生成一个0-1(不等于1)的随机数,在for循环结构中,让其循环5次,第一次乘以10,作为5位随机数的第一位,第二次乘以100作为5位随机数的第二位,以此类推。但这样会出现6位数的随机数,所以在生成随机数的时候就进行判断,限定随机数不能大于0.9。
8、第八题
建立数组输入控件,把输入后的数组通过数组大小函数计算出数组的长度作为for循环的总循环次数,在for循环中把数组的每个元素提取出来,通过累加得到结果。
9、第九题
用for循环,循环20xx次,每次生成一个随机数,然后输入波形图中得到波形。建立顺序结构,使用两个定时器,先读出第一个定时器的值,然后波形生成完成后进入顺序结构把两个定时器的值相减得到时间。
10、第十题
一开始想法是直接使用打开文本文件函数,打开文件后读取完毕再关闭文件,设置2个按钮。后来发现三个问题,一是如果还没打开文件就点关闭文件按钮的话程序就会死掉,二是在文件对话框中选择取消后会报错,三是打开文件后不关闭文件再次打开时是程序会死掉。后来经修改,程序改为,一开始关闭文件按钮是不可见的,只有点击了打开文件按钮后才显示,而点击了打开文件按钮后该按钮也将隐藏,点击了关闭文件按钮后才显示。如果在对话框中选择取消,则重置按钮状态,然后退出程序(在对labview的不断熟悉中,意识到其实不需要使用如此复杂的逻辑关系。)
11、第十一题
一开始只使用了条件结构,判断输入的值是否大于等于0,如果是,则直接开平方后输出,如果不是则弹出提示对话框并输出-99999.0。后来发现如果这样的话输入负数的时候对话框将不断弹出,所以后来加入了事件结构,但数值改变时才执行程序,解决了问题。
12、第十二题
建立事件结构,以两个按钮作为事件结构的触发条件,分别将一维数组和二维数组写入电子表格文档。和第10题一样出现问题,即选择取消后报错,进入写入电子表格文档的子vi程序,把错误处理那改成no dialog则不再报错。
13、第十三题
使用读取电子表格文件函数读取文件,然后显示到数组中。遇到与12题一样的问题,但这次打开函数的子vi找不到错误处理,所以在调用函数前加入了文件对话框,判断是够有错误,没有错误才执行读取。使用通用错误处理函数,使其不弹出对话框。
14、第十四题
矩阵计算行列式以及矩阵相乘都有现成的函数可以调用,在计算之前要考虑两个问题,一是计算行列式时,矩阵必须为方阵,二是计算矩阵相乘时,A矩阵的列数要和B矩阵的行数相等,所以在计算之前使用条件结构进行判断,如果不满足条件则弹出对话框提示,并使用条件结构防止对话框不停地弹出。
15、第十五题
使用公式求积分函数,通过字符串常量把公司输入,再设定上下限,得到结果。