赞
踩
目录
通过Labview和Arduino相互配合完成上位机对实验机实验数据进行检测,采集并通过Arduino传输至电脑由Labview进行数据处理,并生成对应数据以及相应的图像。最终实现基于Labview的齿轮传动测控系统设计与研究。
LabVIEW是一种程序开发环境,与 C 和BASIC 一样,LabVIEW 也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW 的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW 也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。
LabVIEW (Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是 LabVIEW 的程序模块。
LabVIEW 提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在 LabVIEW中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
LABVIEW最初就是为测试测量而设计的,因而测试测量也就是现在LABVIEW最广泛的应用领域。经过多年的发展,LABVIEW在测试测量领域获得了广泛的承认。至今,大多数主流的测试仪器、数据采集设备都拥有专门的LabVIEW驱动程序,使用LabVIEW可以非常便捷的控制这些硬件设备。同时,用户也可以十分方便地找到各种适用于测试测量领域的LabVIEW工具包。这些工具包几乎覆盖了用户所需的所有功能,用户在这些工具包的基础上再开发程序就容易多了。有时甚至于只需简单地调用几个工具包中的函数,就可以组成一个完整的测试测量应用程序。
控制与测试是两个相关度非常高的领域,从测试领域起家的LabVIEW自然而然地首先拓展至控制领域。LabVIEW拥有专门用于控制领域的模块----LabVIEWDSC。除此之外,工业控制领域常用的设备、数据线等通常也都带有相应的LabVIEW驱动程序。使用LabVIEW可以非常方便的编制各种控制程序。
而Arduino是一款便捷灵活、方便上手的开源电子原型平台。能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是通过 Arduino编程语言 (基于 Wiring)和Arduino开发环境(基于 Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,它们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。
本项目通过运用Labview和Arduino相互配合以完成上位机对实验机实验数据进行检测,采集处理并通过Arduino传输至电脑,再由Labview进行数据处理,并生成对应数据以及相应的图像。此过程灵活运用Labview和Arduine相互配合,不仅节约成本,而且大大降低了工作量,具有较高的运用价值。
本项目目的在于对我校部分老旧实验仪器设备的更新与替换,为学校减少设备更新及维护成本,提高学校部分实验设备的利用率及实验效果,使学生更好的领悟实验的目的与意义。
本项目对于小组成员而言,不仅锻炼我们对Labview和Arduino的运用能力,也培养了我们对产品数字化建模及实物模型制作能力,提高了我们对二维,三维建模软件的运用能力和动手能力,更培养我们的社会责任意识,也是对大学期间所学知识的反馈与实践运用。
使用LabVIEW作为上位机,需要实现实时数据和历史数据的交互。
实时数据交互
LabVIEW支持Modbus、TCP/IP等多种数据传输的通信协议,而低代码控制器也支持Modbus、MQTT等通信协议,因此可以用双方均满足的数据通信协议来实现实时数据交互。本节中以Modbus-TCP为例来实现实时数据交互。
首先LabVIEW需要安装Modbus组件,包含下图中所示的函数:
然后创建一个Modbus-TCP实例,如下图:
最后根据需求添加读取、写入线圈和寄存器的模块,完成连接后输入IP地址即端口号就可以进行数据通信。
历史数据交互
LabVIEW可以通过HTTP客户端软件包编程来访问服务器对外开放的Web API服务,而低代码控制器也提供自己的Web服务器,因此LabVIEW可以通过HTTP协议来远程访问低代码控制器的Web应用服务器以获取历史数据。
LabVIEW与低代码控制器间通过HTTP交互数据首先需要明确数据格式,一般会采用json格式。
然后LabVIEW侧建立相关访问程:LabVIEW有自带的HTTP协议函数(在数据通信--协议--http客户端,要实现post方法一般要用到打开句柄、POST、添加头、关闭句柄),在添加头函数的文件头处要留意头文件格式。相关程序可以参考下图:
最后双方统一URL,在POST函数中写入要上报的信息或文件到缓存区和获取返回消息的头部和体部了。此外,LabVIEW还有json格式的实现,可以直接使用字符串--平化还原字符串--平化至json,具体使用方法可以查看LabVIEW的帮助文档。
1.对上位机代码进行编写使用Labview对Arduino发送指令完成对下位机的控制
2.通过Arduino结合各类模块(如:应变片等)采集仪器的各项参数,发送至上位机。
3.通过Labview读取Arduino发送的信息反应在上位机的前面板对应数据显示区,计算统计数据绘制波形图
项目主要成果为基于Labview和Arduino的齿轮传动测控系统设计方案。即:通过Labview和Arduino相互配合完成上位机对实验机实验数据进行检测,采集并通过Arduino传输至电脑由Labview进行数据处理,并生成对应数据以及相应的图像。便于学生对实验数据的观察与记录。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。