找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6235|回复: 7
收起左侧

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

[复制链接]
ID:111475 发表于 2016-3-30 23:24 | 显示全部楼层 |阅读模式

题目:       地磁监测系统控制中心平台          

 

    名:    孙鹏     学号:  20121003920   

院(系)  自动化学院    专业:  测控技术与仪器

指导教师:     葛健    

 

 

2019 7

 

Labview是一款程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于CBASIC开发环境,但是Labview与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而Labview使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。Labview是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而Labview采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是Labview的程序模块。Labview提供很多外观与传统仪器类似的控件,可用来方便地创建用户界面。用户界面在Labview中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。Labview的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。

关键词:虚拟仪器LabviewVI

 

 

 

 

 

 

 

 

一章 课程设计目的与任务       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[i][j]); 

  digitalWrite(led, LOW);

  ++i;

  if(i>=10)                //依次发送十组数据

  i=0;

}

}

4.2 上位机程序框图

4.2.1串口配置

配置串口文件写入区域和波特率。

4-1 配置串口程序图

4.2.2数据采集

用一个条件语句表示是否启动串口发送程序,既数据采集是否开始。

4-2 数据开始采集程序

4.2.3启动开关

启动是否接受串口的数据。

4-3数据开始采集程序

4.2.4包头包尾判断

只有LabVIEW检测到包头包尾才处理数据,否则丢失数据。

4-4包头包尾判断程序

4.2.5 提取串口信息

将下位机发送的数据经过处理得到地磁总场F,分量(X、Y、Z)数据。

4-5提取串口信息程序

4.2.6数据处理

将处理后的数据格式化后放入虚拟式示波器显示。

4-6数据处理程序

4.2.7数据显示

将处理后的数据格式化后放入虚拟式示波器显示。

4-7数据显示程序

4.2.8数据存储

将得到的地磁要素(总场、分量、磁偏角和磁倾角)和当前时间储存在txt文件中。

4-8数据存储程序

4.3前面板及效果图

4.3.1 ardunio芯片发送数据

4-9ardunio实物图

4.3.2 前面板初始状态

4-10前面板效果图

4.3.3前面板数据开始采集

4-11 开始采集效果图

4.3.3 前面板数据连续采集

 

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].北京:电子工业出版社

 

 
回复

使用道具 举报

ID:117823 发表于 2016-5-1 15:45 | 显示全部楼层
兄弟,这个是我做的。我会发下资料给大家参考下。
回复

使用道具 举报

ID:117823 发表于 2016-5-1 15:48 | 显示全部楼层
这个是labview程序,很简单的喔。
回复

使用道具 举报

ID:117823 发表于 2016-5-1 15:59 | 显示全部楼层
这个是文献
回复

使用道具 举报

ID:117823 发表于 2016-5-1 16:04 | 显示全部楼层
这是部分资料。

实习经验总结.doc

11 KB, 下载次数: 11, 下载积分: 黑币 -5

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

604.2 KB, 下载次数: 13, 下载积分: 黑币 -5

回复

使用道具 举报

ID:117823 发表于 2016-5-1 16:25 | 显示全部楼层
这是一部分资料,上传有点慢。

LabVIEW数据采集编程指南.pdf

4.72 MB, 下载次数: 10, 下载积分: 黑币 -5

LabVIEW数据采集编程指南

LabVIEW入门教程.pdf

1.29 MB, 下载次数: 8, 下载积分: 黑币 -5

LabVIEW入门教程

labview2010经典基础教程完整.doc

2.34 MB, 下载次数: 12, 下载积分: 黑币 -5

labview2010经典基础教程完整

FFT结果的物理意义.doc

183.5 KB, 下载次数: 7, 下载积分: 黑币 -5

FFT结果的物理意义

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

2.06 MB, 下载次数: 10, 下载积分: 黑币 -5

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

回复

使用道具 举报

ID:117823 发表于 2016-6-4 02:27 来自手机 | 显示全部楼层
你吧我的时间标错了,2015年,不是2019年。
回复

使用道具 举报

ID:178680 发表于 2017-3-22 02:50 | 显示全部楼层

用labview读取地磁真是大开眼界
感谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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