中文摘要
LabVIEW是一种图形化的编程语言和开发环境,它广泛的被工业界,学术界,和研究实验室所接受,被公认为标准的数据采集和仪器控制软件。LabVIEW不仅提供了与遵从GPIB,VXI,RS------232和RS---485协议的硬件及数据采集卡通信的全部功能,还内置了TCP/IP,ActiveX等软件标准的函数,而且其图形化的编程界面使办成变的生动有趣,LabVIEW是一个功能强大且灵活的软件,利用它可以方便的建立自己的虚拟仪器。
LabVIEW广泛应用于数据采集与控制、信号处理以及数据表达等方面,它提供了一种全新的编程方法,即对软件对象"虚拟仪器(VI)"进行图形化的组合操作。LabVIEW程序的执行顺序是按数据流的方式确定的,可以实现多任务的并行。
LabVIEW的程序由前面板和流程图两部分组成,整个程序是基于多线程的设计,前面板和流程图各占用一个线程。前面板是LabVIEW程序的图形用户接口,此接口集成了用户输入,并显示程序的输出,相当于传统仪器的面板。流程图包含虚拟仪器程序的图形化源代码,编程控制和定义在前面板上的输入和输出功能。在虚拟仪器设计中,从控制模板中选取所需的控制及显示对象构建出仪器的操作面板;在功能面板中选取适当的功能模块并进行必要的连接与设置,制作控制流程图,完成所设计仪器应具有的功能,程序的模块化与层次化更为直观。
1 设计任务描述
设计题目:基于LabVIEW模拟出租车计价器的设计
一、设计内容
设计一个出租车计价器实现计费功能,计费标准为:按行驶里程计费,起步价为7元,车行3Km后按2元/Km计费,当计费器达到或超过20元时,每公里加收50%的车费,车停止不计费。
要求能够显示仿真出出租车行驶地转速、里程、实时速度、金额。
二、设计目的
1、巩固《虚拟仪器技术》课程相关内容;
2、锻炼综合考虑设计题目中要求的各项因素,设计出合理可靠的方案的能力;
3、锻炼使用仿真软件对设计方案进行方案验证的能力。
三、主要仪器设备/现代工具
1、计算机;
2、Labview软件开发环境;
2 设计思路
3km起价,起步价7元,每千米2元,也就是说0-3km时需要支付7元,之后每增加1km需要多支付2元,故起步时金额显示为7.00;之后每行驶1km里程便会在7元的基础上加2元,若超过20元额外还需多加超出20元对应公里车费的50%,同时将费用以计数的方式添加到总费用当中。在行驶过程中按此方法进行循环计数。
通过LabVIEW编写出租车计价逻辑程序,模拟出租车的运行状态,对所得的转速信息来得到出租车的行驶状态速度、里程、价格等信息实现出租车计价。
3 主程序设计图
图1 主程序设计图
4 各部分程序框图及前面板的设计
4.1 前面板的设计
图2测试界面
出租车计价器的前面板是应该根据实际中的仪器面板以及该仪器所要实现的各种功能进行设计的程序交互式图形化用户界面。根据计价器的实际特性,将设置有行驶里程、计价金额、车速等。本设计根据实际显示需要,设计的显示前面板如图2所示,并增设了一个车速曲线,方便更直观的看到出租车行驶过程中的状态。
4.2 车速模拟设计
图3模拟车速程序设计
起初添加一个速度模拟滑杆,当滑杆推至大速度时,则进行速度相加,若推至小速度时,则进行速度相减,最后每一次操作后都需对两者结果相加得到瞬时的速度模拟值,这只是为了模拟设定的速度,随后再添加一个随机数进行加乘最终得到定值速度附近的的随机速度。
4.3 出租车计价设计
我通过此前的分析得出,0-3千米内,计价器需始终显示为起步价7元,程序如图4;超过3千米,每千米增加2元,所以程序中需体现超出3Km的部分按每千米2元进行累加程序如图5;若超过20元额外还需多加超出20元部分车费的50%,最后加和得到最终的计价表金额,程序如图6所示。其中,所有计价显示选用格式字符串,设置两位小数进行显示。
通过反复运用函数选板中的数学元件、比较元件和条件结构构建程序逻辑,图7为该设计的总程序。
图4 里程未超过3Km时计价程序
图5 里程超出3Km但金额未超出20元时计价程序
图6 金额超出20元时计价程序
(注:9.5为计价金额恰好为20元时的里程数,3为算入额外增加50%的车费的计费单价;移位寄存器是里程的累加计算,目前已经行驶的里程将存入移位寄存器)
图7 出租车设计总程序
4.4 程序运行结果
①3Km以内,验证计价器显示确为7元。
②超过3Km,但金额未超过20元时,超出3Km的部分按每公里增收2元成功实现,如下图,3.42Km时,金额为:7+0.42*2=7.84元。
③金额超过20元时,实现还需多加超出20元部分的50%,如下图,7+(10.3-3)*2=21.6>20,又因20元所对应的里程为9.5Km,故最终的计价金额为:(10.3-9.5)2 (1+50%)+20=22.4元。
若需要源程序,可联系我获取