基于Android的仪器测控软件设计

项目简介

  • 在本项目中,选用LabVIEW 作为测控软件和测控仪器开发工具,对 GPIB 或 VXI 仪器进行操作、控制,然后将测试结果传送到
    Android 手机上。使用Android Sudio开发上位机, 使用 Java 通过 Android 与测控系统进行数据交互的方法。

项目过程

  • 通过查阅资料可知,LabVIEW软件中通讯方法有蓝牙或者WIFI,由于LabVIEW是图形化编程,在LabVIEW开发环境下,开发者可以利用软件中提供的VI,直接编写目标程序,而不用自己去编写底层的一些代码,从这个角度出发,极大的提高了开发者的工作效率。所以本次实验采用LabVIEW 作为测控软件和测控仪器开发工具。 在LabVIEW后面板中可以发现,LabVIEW封装了许多协议,如下图1所示。

图1.LabVIEW中封装的协议

  • 本次实验采用LabVIEW通过网络采用TCP协议的方式与手机APP进行通讯,LabVIEW上位机作为服务器,手机APP作为客户端。服务器端程序开始运行时,处于等待客户端连接的状态中,一旦有客户端成功连接,则向客户端发送仪器测量信息;客户端程序与服务器成功建立连接后,则读取服务器端发送的信息,并在界面显示出来,以此来实现服务器端与客户端的通信。
    TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。使用LabVIEW基于TCP协议编写通信软件时,一般其整个传输过程如下:
  • (1)服务器通过主机名或者IP地址与端口号,建立侦听,等待客户端连接;
  • (2)客户端根据主机的IP地址和端口号发出连接请求;
    (3)服务器与客户端建立连接后,通过读写函数进行TCP数据通信;
    (4)关闭连接。
  • 首先说明LabVIEW服务器部分。
    在LabVIEW中,提供了专门的相关TCP的操作函数,在后面板程序框图中进入函数数据通信协议中选择TCP可以进入TCP子模板,主要函数如下图2所示。

图2. LabVIEW中TCP操作函数

  • 服务器端前面板如下图所示,其中,“port”设置服务器程序的端口,该值即为客户端程序的要连接的服务器程序的端口标识值;“数据输入”为发送给客户端程序的内容,该处设置为“embtxdy”。
    服务器端程序框图如下:

图3. 服务器端程序框图

  • 在程序框图中,首先利用“TCP侦听”函数创建一个侦听,该函数需要2个关键参数:端口号和超时时间(单位为ms)。该程序超时时间设为-1表示永远不超时,即无限等待下去直到有一个客户端程序连接。该函数运行后返回一个“连接ID”参数,该参数是其它TCP相关操作函数的输入参数接口。利用“写入TCP数据”函数发送数据到客户端程序。最后调用“关闭TCP连接”函数,退出程序。
  • 下面是Android APP部分。
    Socket通常称为“套接字”,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。Internet上的主机一般运行多个服务软件,同时提供几种服务。在APP中TCP通讯需要完成以下步骤。
  • 步骤1:创建一个Socket,连接到服务器端、指定端口号。放在子线程中运行,否则会有问题。
    步骤2:调用Socket类的getInputStream()和getOutputStream()获取输入输出流。
    步骤3:发送、接收数据。 步骤4:关闭Socket

图4. Socket通信模型

  • 完成LabVIEW服务端和APP客户端的编写后,对服务器和客户端进行联调。TCP分为服务器(网络应用程序)和客户端(网络应用程序),TCP通信过程,首先打开服务器,监听自己的网络通信端口(假设为8086),打开客户端,设置好要连接的IP地址和服务器的网络通信端口(8086),这样服务器一旦监听到网络通信端口有连接,二者就建立了连接。
  • 在本项目过程中,我利用自己的手机作为移动热点,电脑和手机都连接该热点,使其处于同一局域网下,在运行LabVIEW的电脑中(服务器)查看自己的IP地址,查看得到服务器IP地址如下图所示。在电脑中输入CMD,在界面中输入ipconfig,即可查看到自己的网络地址。
  • 在LabVIEW中设置该应用的端口号为8086,并将该程序运行,等待客户端连接,调试时发送“embtxdy”.
  • 通过网络调试助手中验证该服务器是否正确运行,调试助手作为客户端,设置对应的端口好进行连接,在接受区接收到了服务器发送的信息,表明正确。

网络调试助手验证服务器

  • 服务器验证成功之后,在设置好的APP中输入服务器的IP地址以及端口号,确保网络正确连接以及在同一局域网下。APP连接界面如下图所示。

APP连接界面

  • 客户端程序与服务器成功建立连接后,则读取服务器端发送的信息,并在界面显示出来,显示结果表明服务器与客户端通信成功。
  • 服务器与客户端完成联调之后,即可对LabVIEW编写程序对 GPIB 或 VXI
    仪器进行操作、控制。在对仪器进行控制后,返回的数据通过TCP协议返回至手机APP中,当仪器新的数据到来时,即通过TCP写函数将数据发送出去,等待手机客户端的接受。**想要完整的LabVIEW完成程序框图请私聊博主

**。
LabVIEW完整程序框图

项目小结

  • 本项目的主要是通过LabVIEW编程环境编程实现远程操作GPIB仪器并将测试结果传送到 Android
    手机上。本项目首先需要编写LabVIEW服务器程序并采用网络调试助手对其进行验证,确保服务器能正常发送数据出去;其次需要编写Android接收程序,该程序作为客户端,服务器端程序开始运行时,处于等待客户端连接的状态中,一旦有客户端成功连接,则向客户端发送仪器测量信息;客户端程序与服务器成功建立连接后,则读取服务器端发送的信息,并在界面显示出来,以此来实现服务器端与客户端的通信。
    服务器和客户端通信验证完成后,在电脑通过网关将所要用到的仪器连上,再通过LabVIEW图形化编程,设计远程操作GPIB仪器程序,将前面板设计整齐,最后测量仪器信号。

如果需要APP源码以及LabVIEW项目源码的朋友请私聊博主噢!喜欢这篇文章的也点个赞吧!欢迎交流!!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值