临近期末考试,上了三十二个学时的虚拟仪器项目实战课程,最后做了一个大作业,题目自定。感觉我做的还有点意思,分享一下,可以到https://download.csdn.net/download/zugexiaodui/10913820下载源文件。我使用的Labview2013。

这是一个使用Labview做的水位水温控制模拟系统,我Labview学的也不深,除了用一些基本的模块就没接触过其他的了。Labview里边的现实仪器也不算很多,最有特点的两个就是温度计和液罐了,看到这两个东西,第一反应就是做自动化控制,本自动化专业的根本嘛。所以思来想去做了一个模拟澡堂用水和收益的系统,当然也不只可以模拟澡堂,类似的用水单位都可以。不过我们学校澡堂是不是这么个用水模式我也不是很清楚喽。

下边是这个项目的介绍,摘自我的设计报告:

摘要:

本项目实现了一个由一定温度冷水和一定温度热水混合成为温水的系统,主要实现对冷水出水量和热水出水量的自动化控制,使得到的温水达到设定的目标水位和水温。该系统可以模拟学校澡堂等用水单位的用水控制,并计算相应的水费和收益,是一个对真实场景的模拟仿真。

项目背景:

自动化控制在生产生活的方方面面都有广泛的应用,控制水位和水温是其中的一个典型。本项目根据常见的水位水温控制系统将其进行一定改造,模拟一个用水单位(此处为学校澡堂)将一定温度热水和冷水混合使用情况下的水位水温控制系统,并根据水的成本和收益计算出所获利润。

设计目标:

根据以下需求,设计一个水位水温控制系统。假设学校澡堂提供的洗澡用的温水来自两部分——4摄氏度的地下冷水和烧热的95摄氏度的热水,其中地下冷水可认为无限量,热水存放在为5000单位的热水罐中并且一开始是满量的,在非满量的情况下单位时间内允许有固定量的热水补充;另外有一8000单位的温水罐,初始是空的,允许从热水罐和冷水管向其中加入水混合,热水罐和冷水管的最大出水速度一定;忽略水罐中的水与外界的热量交换或认为水罐保温效果较好,忽略传输过程中的热交换;温水罐的水直接供澡堂使用,单位时间的用水量是平均随机的,且单位时间内的最大允许出水量是一定的;向温水罐内加入的单位热水和冷水的成本一定,热水成本高、冷水成本低,学生使用单位温水的费用也是一定的,在热水成本和冷水成本之间。

设计要求:

现设计一个水位水温控制系统,要求可以手动设定温水罐的目标水位和水温,且目标水温设定后不能再改变;设计控制算法自动控制向温水罐中加入热水和冷水,使其达到目标水位和水温,保证洗澡用水有足够的水压和合适的水温,并显示水位变化曲线;设计三个开关分别控制是否允许向热水罐内补充热水、向温水罐内加入热水、向温水罐内加入冷水;设计一个阀门控制单位时间内的最大允许用温水量;设计显示部分显示累计用温水量、学校加水成本、学生用水所缴水费、学校所获利润;为了更好地记录用水情况,每个时刻的用水量记录在文件中。

设计思想:

使用反馈节点分别计算加水和用水的总量;利用能量守能定律计算应向混合温水罐中加入热水和冷水的比例和体积以及热水冷水混合之后的温度,然后使用位置型数字P或PI算法设计控制器分别控制每次加入热水和冷水的量,并对最大加水量进行限制;出水量设置为范围可调的随机数,对于水位控制来说,出水量是一个扰动,设计的控制器应尽可能使温度保持在设定温度,水位保持在设定水位上下,以满足水压要求,所以最好选择PI控制器,减小扰动带来的影响,提高跟踪能力,在这里不用考虑累计误差的影响,所以可以使用位置型数字PI控制器。

系统功能设计:

本系统主要实现的是对水温和水位控制系统的模拟,本系统能实现以下功能:

1、自由设定目标水温和目标水位;

2、显示混合温水罐的水位和温度以及热水罐的水位;

3、对混合温水罐的温度、水位以及热水罐的水位有报警提示功能;

4、可以自由设置允许最大使用温水的速度;

5、有开关分别控制向热水罐内补充热水、向温水罐内加入热水或冷水;

6、可显示累计使用温水量以及加水成本、用水收益以及所获利润;

7、可显示温水罐、热水罐以及设定水位的水位变化曲线;

8、可保存每次用温水的量到csv文件中。

系统软件组成:

系统软件由LabVIEW软件开发环境、用LabVIEW开发的虚拟仪器应用软件两部分组成。

由于是对控制系统的模拟,未用到数据采集卡等其他硬件设备,系统硬件只用到了计算机。

虚拟仪器应用软件为“水位水温控制模拟系统.vi”,还包括“计算加热水比例系数.vi”、“计算加热水累计.vi”、“计算水温.vi”、“计算用水累计.vi”子程序,可以实现预期的所有设计功能。

软件框架和结构(VI层次结构图):

主VI为“水位水温控制模拟系统.vi”,提供了所有的显示和控制部件,实现主要逻辑功能,其他各个子VI功能简介如下。

1)计算加热水累计.vi:计算总共向温水罐中加入的热水。

2)计算加热水比例系数.vi:计算每次应向温水罐中加入的热水的比例。

3)计算用水累计.vi:计算使用温水的总量,同时也得到每次使用温水的量。

4)计算水温.vi:计算加入的热水和冷水混合后的水温。

5)时间延迟:控制程序运行速度,系统自带的VI。

6)其他:写文件用,系统自带的VI。

具体接口说明和功能实现可在下一部分了解。

界面设计:

前面板分为两个窗口,左边窗口表示控制室,右边窗口表示室外的水罐。

控制室分为五个部分:一个部分是示波器,用来显示设定的目标温水水位、实际的温水水位、实际的热水水位;一个部分用来设定温水罐目标水位和目标水温;一个部分用来观察温水罐温度、液位和热水罐的液位,同时有三个警示灯分别对超出温度上下限、温水罐水位低于下限、热水罐液位低于下限报警;一部分控制三个加水开关,分别是允许像热水管补充热水的开关、向温水罐加热水开关和加冷水开关,以及一个控制最大出温水速度的滑动杆;还有一个部分是显示学生累计用的温水、学校加热水和冷水的成本、学生用温水的给学校带来的收益和利润,以及程序结束要保存的用水量文件的提示。

室外的水罐只有两个:95度热水罐和混合温水罐,冷水是无限的,可以当做直接从地下抽取使用,省略冷水罐。

前面板截图如下:

左边窗口:

右边窗口:

程序框图设计:

1)水位水温控制模拟系统.vi

本程序框图由两个平铺式顺序结构组成,第一个部分是用来进行用户设定提示和固定设定目标温度的,第二部分是用来执行主要的控制程序的。

截图如下(两张截图有重合部分):

该程序框图为主要的程序框图,配合其他字VI实现了全部功能。由于Labview不像其它编程语言一样有可以存储数据的“变量”,因此不得不使用大量反馈节点计算累计值。

控制出水量的部分是本项目的核心部分,以控制热水的程序为例,该控制部分如左图所示,a为输入信号,控制是否允许加入热水,x为本次现有热水量与目标加入热水量的误差,xx为每次误差的累计,即该误差的积分。如果本次计算应加入的的热水量大于加热水上限100单位,就按照最大加热水量100输出。

另外在计算用水成本及利润等时,只需要分别将几个总用水量分别乘以设定的价钱即可。在本程序中,热水成本为0.11元每单位,冷水成本为0.02元每单位,学生没每用1单位温水可获利0.2元。

程序框图其他部分的解释不在此处给出。

以下部分介绍自己做的子VI,系统自带VI不再介绍。

2)计算加热水累计.vi

 
   

该子vi有两个输入和三个输出,输入单次出热水量和补充热水允许开关,此开关控制本次向热水罐中加入的热水量是否为0,输出热水罐得到本次热水补充后的水量(热水罐)以及向温水罐中累计加入的热水量(总出热水量),另外还有一个水位下限指示灯,若不能满足下次的出热水量,则本次不再出热水,并且指示灯会亮起。

可以在程序框图的公式节点中更改在热水罐未满量时每次向热水罐内补充的热水量(此处为20),也可以改变使指示灯亮起的热水罐水位下限(此处为50)。

3)计算水温.vi

该子vi实现的功能很简单,输入四个数字量,输出一个结果,输入的四个量分别是冷水的温度和体积、热水的温度和体积,输出的是冷水和热水混合之后的温度。

在实际运行时,会出现初始体积为0 的情况,这时除数就为0,程序计算结果为Nan,因此在两部分体积和的基础上增加一个极小的正数1E-7,避免出现除数为0 的情况,解决了以上问题。

4)计算用水累计.vi

该子vi有两个输入和三个输出,输入最大出水速度(看做一个阀门)和混合温水罐目前的液位,最大出水速度阀门可以控制本次的最大出量,每次的出水量是一个在0到最大出水速度之间均匀分布的随机量,输出本次用的温水量和累计用的温水量,另外还有温水水位下限指示灯,当温水量小于一定值(此处为200)时不再输出温水,并且指示灯亮起。

5)计算加热水比例系数.vi

该子vi用于计算应该加入95度热水的比例系数,输入目标水量和水温、当前温水罐的水量和水温,输出为应当加入热水的比例系数。

由于目标水温是固定的(设置后不可更改),因此加入为达到目标水温应加入的热水和冷水的比例是固定的。设应该加入95度热水的比例系数为n,则应加入4度冷水的比例就是(1-n)。由于都是水,比热容是一样的,所以水的能量跟体积成正比,在计算水的能量时忽略比热容这一项,根据要求也忽略其他热量交换,为方便计算使用摄氏度而不是开尔文温度。根据能量守恒定律,加入的热水和冷水的能量与温水罐中温水的能量和应当等于目标水位水温时的能量,因此可以得出等式

其中C2为目标水量,t2为目标水温,C1为当前水量,t1为当前水温,td为接下来应该加入的混合水的温度,解得

为了防止分母为0,在程序中加入了一个极小的数1E-7。可以根据td,计算出接下来要加入热水和冷水的比例。设应加入的95度的热水与4度的冷水的比例为n:(1-n),再次根据能量守恒定律得

解得

根据以上公式即可得出应加入热水的系数,从而得出程序框图。

结束:

由于时间比较较紧,写的很匆忙,没有认真排版,这篇博客涉及到了本项目大多数内容,项目放在了我的资源页,地址https://download.csdn.net/download/zugexiaodui/10913820

虚拟仪器项目实战——一个用Labview做的水位水温控制模拟系统相关推荐

  1. labview高级编程与虚拟仪器工程应用 代码_用labview自己编程控制专用的声发射仪器...

    有些同学有时会问,能不能用labview编程直接控制专用的声发射设备进行数据采集,然后按自己的分析算法编写程序? 现在可以实现了--^_^ 专用的声发射采集卡和通用的数据采集卡有什么区别?1.硬件实时 ...

  2. C#项目实战练习:SunTalk——做你自己的QQ

    文章目录 一.前言 二.项目介绍 三.开发技术 四.程序缺陷 五.前车之鉴 六.正式开始 七.数据库设计 1.创建数据库 2.数据表设计 2.1 tb_User(用户信息表) 2.2 tb_Frien ...

  3. Android项目实战——一个简单的记事本程序

    因为自己刚看完第一行代码,就想做一个小小的项目来巩固一下自己的知识,顺便检验一下自己的学习成果. 运行界面如图: 相信大家都已经看出来了,这个app分为两个activity,MainActivity中 ...

  4. 项目实战-----产品经理要做什么?

    文章目录 写在前面: 兴奋地开始干我在AR的第一个彻头彻尾的需求,发现原来产品经理脑袋竟然要转这么多圈,果然是术业有专攻啊~,但是既然要成为一个全栈工程师,我也来挑战一下吧~ 第一版 显示我学的课还有 ...

  5. 《树莓派项目实战》第十二节 使用PCA9685驱动板控制多个舵机

    目录 11.1 引脚介绍 11.2 打开I2C接口 11.3 连接到树莓派 11.4 编写代码获取温度 因为树莓派无法同时生成多个稳定的PWM信号,所以也就无法控制多个舵机,我们需要借助PCA9685 ...

  6. 基于Labview的水位水温控制系统——虚拟仪器实验设计报告

    基于LabVIEW的水位水温控制系统 摘要:本项目基于LabVIEW实现了一个由一定温度冷水和一定温度热水混合成为温水的系统,主要实现对冷水出水量和热水出水量的自动化控制,使得到的温水达到设定的目标水 ...

  7. 用html制作一个华为页面,Web前端项目实战——华为荣耀商城(学完html+css就可以做)...

    复习: 1.1到目前所学的布局方式 table布局: div+css布局: 固定布局 百分比布局 1.2 盒子模型 Margin  border padding  content 1.3 布局模型 流 ...

  8. python和labview的区别_测量仪器科普:LabVIEW与虚拟仪器那点事

    说起LabVIEW编程软件,大家接触的时候大多是与虚拟仪器分不开的,这儿理一下什么是虚拟仪器,什么是LabVIEW,它们之间关系是怎样的,下面作个简单的说明,以便记录及理解. 1.何谓虚拟仪器 &qu ...

  9. 拳王虚拟项目公社:一个持续收益的虚拟资源平台三种虚拟资源项目

    虚拟资源项目算是一个能持续获取收益的老项目,在之前的众多推文中,我也零散地跟大家分享了各种操作方法.例如我们以前比较常用的,将精准用户引导进入我们网盘下载资源,然后在资源里设置解压密码,并利用图片密码 ...

最新文章

  1. hbase RPCServer源码分析
  2. Java-Maven(四):Eclipse集成Maven环境配置
  3. js获取已知scripts中是否存在某变量_JS全局变量是如何工作的?
  4. 以太坊区块和交易存储
  5. python真的超过java了吗-java会被python淘汰吗?
  6. 计算机体系结构--第一章1----体系结构的分类
  7. react多个网络请求_react中网络请求的优化!
  8. 【mysql】扩展-变量_存储过程_函数
  9. 模拟--滑动窗口最大值
  10. Qimage QBuffer
  11. 最新鲸发卡企业发卡网系统源码+免授权
  12. python将字母全部变为小写_将一个Python列表全部转换为小写或大写
  13. Source Insight设置黑色背景
  14. Python中的any函数
  15. 荣耀7升级android8,华为+荣耀7款老爷机齐升安卓8.0:最近两年全覆盖
  16. 国产深度deepin操作系统20.2.4发布
  17. 工作中的Linux防火墙心得
  18. 什么是pptp,什么是vps?两者有何区别?
  19. 支付宝支付,当面付二维码支付
  20. 紫外功率测试软件,紫外灯253.7nm紫外线辐射功率、电气特性的测量方法

热门文章

  1. android 判断是否是数字,是否在数字范围内,是否是字母,下一个字母,小写转大写,大写转小写;
  2. 快速检查局域网内网络延迟
  3. Twitter Inc.(TWTR)2020年第三季度收益电话会议记录
  4. 在设备管理器中找不到笔记本电脑内置摄像头的解决方法
  5. 上架一款APP,用户量高于1万的概率有多少?
  6. 在macOS上用supervisor构建稳定的SSH转发
  7. 基于Android9的非root环境下frida-gadget持久化
  8. 局域网聊天软件源代码(包括语音聊天)
  9. Docker提交天池比赛代码流程(windows10环境下)
  10. 网页中漂浮的图片代码