论坛账号至少一个月登录一次,否则会被自动冻结!论坛全站广告位出租300元一年,有需要联系QQ:154000559。下载资料E币不足?可以每日签到可获取E币,土豪则可以充值即可。
搜索
广告位出租:ML01 有需要联系QQ:2322712906。
广告位出租:ML02 有需要联系QQ:2322712906。
欢迎大家来EDA1024硬件设计开发论坛学习交流!【eda1024.com】
广告位出租:ML04 有需要联系QQ:2322712906。
广告位出租:ML05 有需要联系QQ:2322712906。

[转帖] 地磁监测系统控制中心平台-Labview课程设计报告

[复制链接]
查看: 780|回复: 2

19

主题

21

帖子

42

E币

助理工程师

Rank: 3Rank: 3

积分
20
发表于 2016-12-29 14:16:50 | 显示全部楼层 |阅读模式
题目:       地磁监测系统控制中心平台         
姓    名:    孙鹏     学号:  20121003920   
院(系):  自动化学院    专业:  测控技术与仪器
指导教师:     葛健   
2015 年7月
摘  要
Labview是一款程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是Labview与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而Labview使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。Labview是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而Labview采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是Labview的程序模块。Labview提供很多外观与传统仪器类似的控件,可用来方便地创建用户界面。用户界面在Labview中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。Labview的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
关键词:虚拟仪器,Labview,VI
目  录
第一章 课程设计目的与任务       4
第二章 课程要求       4
第三章 设计分析       4
第四章 设计流程       5
4.1 下位机程序代码       5
4.2 上位机程序框图       6
4.2.1串口配置       6
4.2.2数据采集       6
4.2.3启动开关       7
4.2.4 包头包尾判断       7
4.2.5 提取串口信息       7
4.2.6 数据处理       8
4.2.7 数据显示       9
4.2.8 数据存储       9
4.3 前面板及效果图       9
4.3.1 ardunio芯片发送数据       9
4.3.2 前面板初始状态       10
4.3.3 前面板数据开始采集       10
4.3.4前面板数据连续采集       11
第五章 问题分析       12
第六章 小组分工       12
第七章 心得体会       12
致   谢       13
参考文献       14
第一章 课程设计目的与任务
掌握虚拟仪器的概念和系统组成,虚拟仪器系统的基本设计思想;认识虚拟仪器的软件开发工具LabVIEW及图形化编程语言;掌握虚拟仪器软件的设计方法,能够运用LabVIEW进行数据操作、结构控制、文件读写、信号处理、数学分析、波形分析等。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。虚拟仪器以通用的计算机硬件及操作系统为依托,实现各种仪器功能。通过本课程设计,使学生了解智能仪器的分类、组成、特点以及智能仪器的发展方向及新技术;掌握虚拟仪器的数据采集技术、人机对话接口技术以及典型数据处理算法。能够熟练运用所学知识进行智能仪器的设计和开发。
第二章 课程要求
1、利用Labview控制前端地磁监测仪(利用单片机模拟)进行地磁总场F,分量(X、Y、Z)的采集与串口传输。
2、根据采集数据计算地磁场磁偏角和磁倾角、分量的校正(总场数据校正分量数据)。
3、能够实时显示当前地磁要素(总场、分量、磁偏角和磁倾角)曲线,并能进行数据的本地txt文件存储。
4、上位机控制下位机功能,就是上位机发送一个信息给下位机,下位机点亮一个灯,开始传输数据,同时停止传输数据是一样的,也要有标志。
5、磁场总场值f应围绕49600进行微调。
6、波特率必须达到115200。
7、存储的文件数据要附上采集的时间,并且注意存储的格式(如空格,各数据之间的区分等)。
第三章 设计分析
1、利用ardunio串口发送功能向电脑发送地磁总场F,分量(X、Y、Z)数据,并可以接受上位机控制,每发送一组数据,ardunio开发板上led灯闪亮一次。
2、写LabVIEW上位机程序,上位机既可以发送命令,又可以接受ardunio上传的数据。根据采集数据计算地磁场磁偏角和磁倾角、分量的校正(总场数据校正分量数据)。并用示波器显示出来。
3、将当前地磁要素(总场、分量、磁偏角和磁倾角)和当前时间存储在txt文件中。
第四章 设计流程
4.1 下位机程序代码
因为ardunio集成串口发送功能,故可以用简单程序完成串口接受发的功能。
程序如下所示:
char led = 13;    //定义LED灯为引脚13
uint8_t i=0;
static uint16_t cichang[10][4]=    //定义十组数据
{48107,27903,28103,27905,
48018,25120,30502,28126,
47980,28146,25167,29846,
48048,27103,26480,29892,
48012,25109,28045,31023,
48023,27203,29892,27735,
48045,28103,26309,30204,
48092,28023,27012,29103,
48108,27974,28123,28133,
47977,28034,27988,2789,
};
void setup()
{
  Serial.begin(9600);          //打开串口
  pinMode(led, OUTPUT);    //LED引脚定义为输出
}
void loop()
{
  if(Serial.read()=='#')     //当单片机接收到“#”后,开始发送一组数据
  {
   digitalWrite(led, HIGH);   //LED闪亮一次表示一组数据发送完成
  for(uint8_t j=0;j<4;j++)
  Serial.print(cichang[j]);
  digitalWrite(led, LOW);
  ++i;
  if(i>=10)                //依次发送十组数据
  i=0;
}
}
4.2 上位机程序框图
4.2.1串口配置
配置串口文件写入区域和波特率。
63301550222565.jpg
图4-1 配置串口程序图
4.2.2数据采集
用一个条件语句表示是否启动串口发送程序,既数据采集是否开始。
633015502239907.jpg
图4-2 数据开始采集程序
4.2.3启动开关
启动是否接受串口的数据。
633015502248136.jpg
图4-3数据开始采集程序
4.2.4包头包尾判断
只有LabVIEW检测到包头包尾才处理数据,否则丢失数据。
633015512230281.jpg
图4-4包头包尾判断程序
4.2.5 提取串口信息
将下位机发送的数据经过处理得到地磁总场F,分量(X、Y、Z)数据。
633015512253254.jpg
图4-5提取串口信息程序
4.2.6数据处理
将处理后的数据格式化后放入虚拟式示波器显示。
63301551226869.jpg
图4-6数据处理程序
4.2.7数据显示
将处理后的数据格式化后放入虚拟式示波器显示。
633015512282619.jpg
图4-7数据显示程序
4.2.8数据存储
将得到的地磁要素(总场、分量、磁偏角和磁倾角)和当前时间储存在txt文件中。
633015512287244.jpg
图4-8数据存储程序
4.3前面板及效果图
4.3.1 ardunio芯片发送数据
633015512277169.jpg
图4-9ardunio实物图
4.3.2 前面板初始状态
63301552224383.jpg
图4-10前面板效果图
4.3.3前面板数据开始采集
633015522288054.jpg
图4-11 开始采集效果图
4.3.3 前面板数据连续采集
63301552224923.jpg
图4-12 连续采集效果图
第五章 问题分析
1、开始时没有注意包头包围问题,导致labview收集的数据移位,收集的数据完全没有任何意义。
2、在葛老师的指点下,我们将数据的采集模式改为当ardunio接收到labview 的命令后不停的向上位机发送数据。
3、为解决数据掉包的问题,我们选择将采集的数据连续发送两次,而VISA读入的缓冲区为数据区的两倍,这样可以解决数据掉包问题。
4、为了将采集的数据无间隔的接收,ardunio每隔50ms发送数据一次,这样可以避免第一次数据无缘无故突变为0.
5、采用条件结构,可以实现波形图表和文本格式显示,即可实现暂停的功能。
6、文本写入的方式与格式会影响最后数据的储存,这点需要注意。
第六章 小组分工
由李文柏负责上位机的程序,吴斌负责下位机的程序编写,孙鹏负责程序的整合调理、布局,大家一起进行程序的调试,问题分析及解决问题,进行优化。最后大家一起商量、讨论绘制PPT,撰写报告。
第七章 心得体会
    通过一周的labview学习,让我掌握了LabVIEW的VISA接口程序,让我从不懂到略微懂在到熟悉的过程。其中遇到很大问题,也有想放弃的想法,很感谢团队的吴斌和李文伯给予我物质和精神上的资助,让我有毅力坚持下去,努力解决我所遇到的问题。
    在这里我还是很感谢曹炳与徐姝同学给予的帮助,让我们走出困境,虽然花费很长时间,但我觉得我从中学到了知识,这是值得的。
致  谢
课程设计终于顺利完成,首先在此感谢我们的指导老师葛健老师给予我们的帮助,对我们提起的要求,引导我们分析问题与解决问题;还有在做设计的过程中,也遇到了很多新的问题,解决这些问题得益于徐姝团队和曹炳团队对我们的慷慨帮助,此次课程设计才能够顺利完成;最后感谢我的团队,与我的队友们团结协作,并肩作战,给与我莫大的帮助和无限的能量,问题才能得以解决,取得课程设计的圆满成功。
参考文献
[1]牛群峰,王莉,胡红生,吴才章.Labview虚拟仪器系统开发与实践[M].北京:中国电力出版社.
[2]张凯,郭栋.labview虚拟仪器工程设计与开发[M].北京:国防工业出版社
[3]杨高科.labview虚拟仪器项目开发与管理[M].北京:机械工业出版社   
[4]李江全,任玲,廖结安,温宝琴.labview虚拟仪器从入门到测控应用130例[M].北京:电子工业出版社
回复

使用道具 举报

19

主题

21

帖子

42

E币

助理工程师

Rank: 3Rank: 3

积分
20
 楼主| 发表于 2016-12-29 14:18:23 | 显示全部楼层
部分资料!!!!

FFT结果的物理意义.doc

183.5 KB, 下载次数: 1, 下载积分: E币 -2 元

labview2010经典基础教程完整.doc

2.34 MB, 下载次数: 1, 下载积分: E币 -2 元

LabVIEW入门教程.pdf

1.29 MB, 下载次数: 4, 下载积分: E币 -2 元

LabVIEW数据采集编程指南.pdf

4.72 MB, 下载次数: 4, 下载积分: E币 -2 元

地磁监测系统控制中心平台 孙鹏.doc

604.2 KB, 下载次数: 1, 下载积分: E币 -2 元

基于LabVIEW的数据采集高级编程.pdf

2.06 MB, 下载次数: 4, 下载积分: E币 -2 元

实习经验总结.doc

11 KB, 下载次数: 1, 下载积分: E币 -2 元

回复

使用道具 举报

0

主题

3

帖子

7

E币

实习生

Rank: 1

积分
3
发表于 2021-9-28 17:32:26 | 显示全部楼层

-


Completely I share your opinion. It is good idea. I support you.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 入住EDA1024

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|EDA1024硬件论坛 ( 苏ICP备15024581号 )

GMT+8, 2021-10-16 17:29 , Processed in 0.086643 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表