虚拟仪器作业报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

虚拟仪器作业报告

题目一及要求

水仙花

编程求1000以内的所有水仙花数,"水仙花数"指一个三位数,它的各位数字的立方和等于她本身.例如:371=3*3*3+7*7*7+1*1*1

程序前面板

程序框图

原理

由于是一到1000的的数我们用一个for循环执行1000次,用i表示0到1000的数。首先用取余的方法得到个位、十位、百位然后计算是否满足水仙花数的要求。如果满足要求就将这个数插入到数组中,否则进行下一次循环。执行1000次就将0-1000以内的数进行了判断。

题目二级要求

信号测量与保存

有一个测量程序,采集两路信号,每1s采集一次,要求每采集一次,就将采集结果写入文本文件尾部,即使重新运行程序,仍能保证数据添加到文件尾部,而不会覆盖原有数据。格式为a保留4位小数,b为整数,如下图所示。

程序前面板

程序框图

程序原理及思路

首先用打开/创建/替换文件VI打开文件,然后通过设置文件位置设置写入文件位置为END(结尾),最后通过格式化写入文件将文件设置为a=(随机数a),b=(随机数b),换行的格式输入。输入字符串的类型为%s(字符型)、%.4f(四位有效数字的float型)、%s、%s、%d(整型)、%s、%s。

题目三及要求

电梯

某栋楼房共有8层,需要安装一部电梯,其终端控制过程如下描述。

(1)每个楼层都设置了两个按钮,供当前层的用户选择上楼或下楼(顶层和底层

仅设置一个按钮)。

(2)以某个处于3楼的用户为例,假定他按了“上”的按钮,如果电梯处于下降

状态并且最后状态小于3层,或者处于上升状态且当前位置已经大于3,则不予理睬,直至完成当前传输后再响应;否则电梯运行到3层,并处于上升状态,如果该用户进入后没有按需要到达的楼层则电梯处于等待状态,一定时间后超时则开始响应其他动作。如果该用户按下的目的地小于3层,则不响应。

试利用LabVIEW设计并模拟以上单部电梯的运行过程。

程序前面板

程序框图

A:下降程序框图

B:停止程序框图

C:上升程序框图

D:初始化程序框图

程序原理及思路

此程序采用状态机的典型结构,总共设置为四个状态,分别是初始化、停止、上升、下降。他们分别表示电梯从新上电、电梯停止、电梯上升和下降的状态。在每个状态中检测目标层、上按钮层、下按钮层、当前楼层的大小,通过对这些变量进行比较得到下一个需要执行的状态。前面板输入不同会改变目标层、上按钮层、下按钮层的变化,电梯的位置有坐标来确定,到了指定的目标层后相应的前面板指示灯会灭掉,各个变量又发生变化,所以下一个状态也会跟着变化。

状态转换条件

A:停止状态-----→上升状态

①:目标层 > 当前层

②:上按钮目标层 > 当前层

③:目标层无效、上按钮目标层无效、(下目标层>当前层)

B:上升状态-----→停止状态

①:目标层 = 当前层

②:上按钮目标层 = 当前层

③:目标层无效、上按钮目标层无效、(下目标层=当前层)

C:停止状态-----→下降状态

①:目标层 < 当前层

②:下按钮目标层 < 当前层

③:目标层无效、下按钮目标层无效、(上目标层<当前层)

D:停止状态-----→上升状态

①:目标层 = 当前层

②:下按钮目标层 = 当前层

③:目标层无效、下按钮目标层无效、(上目标层=当前层)

具体流程框图

goal表示目标层、up表示上按钮层、down表示下按钮层、now表示当前层min()表示取小值、max()表示取大值、upgoal表示上升目标层、downgoal 表示下降目标层。

上升状态

下降状态

停止状态

相关文档
最新文档