虚拟仪器课程总结报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虚
拟
仪
器
课
程
总
结
报
告
题目:温度监测器系统设计
指导教师:吕富勇
报告人:王郸
学号:20131341003
专业班级:测控1班
日期:2016.1.11一、系统总览
前面板:
后面板:
二、系统方案设计及原理说明(添加功能框图)该温度监测器系统分为三大部分:
1、发送数据部分
2、接收数据部分
3、输出数据部分
1、发送数据部分
该部分实现的功能为:
温度采集开关打开时,通过随机数产生频率为1Hz的温度,由温度计输出。报警功能打开时,与报警上限比较,若超过上限则进行报警,程序暂停。将运行结果变为字符串格式输出,进入串口。
2、接收数据部分
该部分实现的功能为:
由发送端输出的数据进入写入缓冲区与串口,设置串口参数,处理数据,由VISA读取端口输出数据,进行数据的输出处理。
3、输出数
据部分
该部分实现的功能为:
将数据接收的数据通过波形图实时监控显示,同时将字符串数据存储到D:/串口.txt文件中。
三、各功能单元的编程实现
(1)
温度采集开关控制是否采集。若开关打开,则通过随机数与延迟产生一个频率为1Hz的温度,由温度计采集该温度。
(2)
温度报警输入与温度进行比较,当超出报警上限且报警开关打开时,进行报警并暂停程序。
(3)
通过连接字符串输出温度报警字符串。
(4)
发送的数据先写入缓冲区输出。然后经过一系列串口设置与处理,准备进行数据的输出。
(5)
此时串口接受的数据为字符串形式。若想将“当前温度×××°C”作为波形图输出,必须设置+8与-4的偏移量,将数据中的数字提取出来进行输出。
(6)
由记录数据开关进行控制。若开关断开,将空字符串输出到读取缓冲区,并且不写入txt文件。若开关闭合,输出将被写入d:\串口.txt以及读取缓冲区在面板上显示。
四、单元的仿真调试
首先保持总开关打开状态。
1、仅开启温度采集开关
此时报警灯不亮,波形图正常显示,写入缓冲区显示,读取缓冲区不显示,txt文件中为空。
2、开启温度采集开关与报警功能
此时进行温度报警,报警灯亮,程序暂停。读取缓冲区依旧没有数据显示,txt仍为空。
3、开启温度采集开关与数据记录开关
此时不进行温度报警,读取缓冲区输出数据显示,txt内数据换行输出。
五、设计、调试中的体会、心得
这个实验是分两次完成的。在期末考试前,我将该程序的发送数据部分(第一部分)完成,但是在延时等方面仍有不少瑕疵。而串口部分是一知半解按照同学的程序图进行连接的。
在考试结束后,将这几个程序又从头开始学起,理解了串口与延时的工作原理,这次的实验做出了另自己满意的程序。不愿意去学就永远搞不明白,花上时间之后会发现你学得越多,就会知道自己不知道的东西越多,学无止境。
这次的程序遇到了好几个难点与疑问点。
1、在设置读取缓冲器输出时,一直无法输出。再检查了许多地方后,终于发现在VISA读取设置的字节总数每次重启程序会自己刷新。于是将输出控件改为常量100,解决了该问题。
2、在设置记录数据开关时,总无法做到自己想要的:开关同时控制读取缓冲区输出与txt文件输出。在进行了多次尝试后,将读取缓冲区设置在条件结构之外,在“假”界面添加一个空字符串输出到读取缓冲区,从而解决了这个问题。
3、遇到最大的障碍是输出波形无法正常显示。经过高亮运行与检查,终于意识到串口接收的数据格式是字符串,如果想作为波形输出,必须去掉“当前温度”和“°C”。于是经过了多次试验,发现了设置偏移量的方法。偏移量的单位是字节,所以+8偏移很容易得出。又想了好多种方法,终于找到了设置负偏移-4来进行左移的操作,得到了输出。
这么多软件实验课上完之后,感触就是在软件的学习上,实践才能出真知。只有自己去一个个功能去尝试,一个个代码亲自去敲,才能真正很好得掌握这门
软件或者语言。同时,与同学的交流能更快速地共同进步,而直接抄袭那么啥也学不到。在今后的学习工作中,我也会发扬实践的精神,真正用自己的努力学到一些有价值的东西。
六、附录:典型程序截图