光谱仪AQ6370与电脑进行232串行通信,并用Labview编写上位机程序

这篇具有很好参考价值的文章主要介绍了光谱仪AQ6370与电脑进行232串行通信,并用Labview编写上位机程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

光谱仪232通信程序说明

  • 光谱仪串口通讯概述

AQ6370光谱分析仪是一种可以高速测量LD和LED光源、光放大和其他设备的光学性能,通过仪器测量得到的数据可以被存储到本地文件夹中并通过U盘等设备提取;同时,该仪器还配备了GPIB、串口232、以太网等通讯功能接口,允许使用者通过上位机对仪器进行操控,为仪器的使用提供了更多的可能性。本文旨在实现光谱仪与电脑的232串口通讯,先需要在光谱仪端进行基本的串口通讯设置,其次通过一对公母串口线将光谱仪与电脑相连,并通过LabView编写上位机控制驱动程序,向光谱仪输送控制命令字符,并将得到的实验数据自动保存至文件中,完成一次采集过程。

  • 现有通讯程序

实验室现有程序是实现光谱仪与电脑之间的GPIB通讯。

上位机通过程序对光谱仪写入控制命令,包括扫描采集,同时将数据传送至电脑处。此处考虑到横河公司提供了该仪器的LabView驱动程序,且此驱动程序可较方便的实现功能,所以利用仪器驱动来完成上位机对仪器的控制命令程序。其次,传送回电脑的实验数据通过编写程序可直接以文本文档的形式保存到文件夹中。

  1. 仪器驱动程序介绍

横河公司提供的AQ6370 LabView驱动程序如下所示:

  1. AQ6370初始化函数:此驱动函数是程序的核心函数,设置在程序的开始处,负责对仪器进行初始化。图1显示了该函数具有的功能:可以通过设置仪器ID对不同的仪器进行绑定;决定是否需要在每次操作前进行重置功能;可以设置用户名和密码进行登录和锁定。

1  AQ6370初始化函数图

      1. VISA resource name:此处需要输入串口名称,即串口线接入电脑的接口(如COM1;COM2),需要在电脑的设备管理器中查找;此处设置为数据传输找到正确的路径。不同的路径对应不同的通讯方式。当选择串口通讯时,可以在仪器驱动中更改通讯设置,如波特率,起始位终止位等,如图2所示。这部分是仪器驱动程序可以进行232通讯的基础。

2  AQ6370初始化函数内通讯图

      1. ID Query? 用来查询仪器的ID,这样可以将电脑连接到我们所需要通讯的仪器上,这里需要设置为真;当设置为真时,程序向仪器发送命令字符“*IDN”可以得到仪器ID并成功与相应仪器对接。
      2. Reset? 规定是否在每次操作前对仪器进行重置。如果不需要每次都对仪器进行重复设置,这里需要设置为假,仪器就会具有记忆功能,关闭程序后设置也不会改变。
      3. Timeout:通过设置超时时间,可以在程序发生错误没有反应时及时返回并退出程序,防止程序一直在错误位置死机。
      4. 该仪器驱动还具有用户名与密码登录功能,需要正确输入才能使用该仪器,有效地防止隐私及数据泄露。

该驱动程序流程图如图()所示。

AQ6370初始化程序流程图

  1. AQ6370波长配置函数:该函数用于对光谱仪的波长测量进行配置,如图3所示。通过此函数上位机可以从设置中心波长或者设置起始终止波长两种方式来规定待测波长的范围。“Range Sw”引脚用来选择采用哪种方式:如果选择通过设置中心波长,则可以依次输入中心波长值和带宽值决定波长测量范围;如果选择起始终止波长方式,则只需输入期望测量的开始波长和终止波长即可。

3  AQ6370波长配置函数图

AQ6370波长配置程序流程图

  1. AQ6370设置扫描模式函数:此函数可以设置光谱仪扫描模式,通过下拉列表可以选择单次扫描、重复扫描、自动等模式,如图4所示。单次扫描模式是指当上位机发送“Single”字符时,光谱仪进行一次扫描;重复扫描则是指光谱仪对波形进行不间断地扫描。该函数的底层逻辑是通过选择不同的模式,驱动程序会向光谱仪发送不同的控制命令来实现对应的功能。

4  AQ6370设置扫描模式函数图

  1. RMS配置函数:光谱宽度设置函数。图5显示了该函数的逻辑功能。RMS就是均方根, 对光谱拟合高斯曲线,定义积分边界。在此处可以设置阈值和K值。

5  AQ6370 RMS配置函数图

  1. Query Analysis RMS:该函数是谱分析函数,通过对光谱仪输送来的数据及进行计算,可以得到光谱的中心波长和谱宽,并显示在前面板中。
  1. 现有通讯程序介绍

通过以上的仪器驱动函数,可以实现上位机对仪器的控制。程序流程图如图6所示:

6 上位机程序接收流程图

  1. 控制测量程序

首先利用AQ6370配置函数对仪器进行简单配置,并确定光谱仪与电脑进行的通讯方式。接着利用AQ6370波长配置函数和AQ6370设置扫描模式函数对测量参数进行配置。定义好这些参数后,就可以进行扫描测量。扫描测量采用While循环模式,可以让程序自动按照一定周期进行扫描。

程序每发送一个Single指令,光谱仪就扫描一次得到波形,同时波形数据会以二进制形式通过串口线传到电脑上。底层LabView软件会将这些二进制数据自动转换为ASC码形式,在波形图中显示。

仪器的采样时间即为程序循环的等待时间。通过设置while循环的等待时间就可以得到不同的测量采样时间。

  1. 文件自动写入程序

为减轻工作量,每次扫描得到的光谱数据会自动在程序所在的文件夹中以txt文件的形式存储。在LabView程序中,可以通过表格写入函数来实现。由于波形数据是很多点组成的数据集,在写入表格之前,还需要用到数组拼接函数将数据变成一个整体写入。写入光谱数据后,需要设置文件的位置,这里用到了“Current VI’s Path”函数,该函数可以返回当前VI访问的文件路径(即测量程序所在的文件位置),将数据保存在测量程序所在的文件夹中,方便使用者查找。最后,文件的命名格式为“日期时间-光谱”在这里需要使用“Get Data/Time String”函数,返回当前日期和时间。这里需要注意,由于文件命名中不能存在“\”和“:”字符,所以需要利用字符串替换函数将这两个符号替换成“-”。文件自动写入程序的流程如图7所示。

7 文件写入程序流程图

综上所述,上位机驱动程序框图如图8所示。

8 上位机程序框图

上位机前面板如图9所示。通过选择连接的串口,设置采样时间,并输入开始波长和结束波长,最后点击运行进行测量。

9 前面板示意图

  • 基于串口的设计
  1. 硬件接口及连接情况

要实现光谱仪与电脑的232通讯,需要一根232串口线;由于电脑上没有能直接连接232串口的端口,故还需要一根232转USB线,如图10所示。使用上述两根线,将仪器与电脑相连接。

10 硬件连接示意图

  1. 程序设计及改进思路

由于AQ6370驱动程序也包括232通讯功能,如图2所示,所以当在光谱仪中设置232通讯时,仪器会自动向电脑中发送一个信息,将仪器驱动更改为串口通讯模式。程序其余模块,包括控制测量程序和文件自动写入程序与GPIB通讯保持一致。但原程序也存在一些问题,需要进行改进与提高。

  1. 原程序框图中,在测量前进行设置的函数被设置在了循环中。为了增加函数的逻辑性,可以将这部分设置在循环之前,即:在测量循环之前就将仪器设置好,再进入循环进行测量。
  2. 增加波特率设置功能。由于232串口速度比GPIB速度慢,所以有时需要较高波特率才能满足一些测量要求,故在前面板提供更改波特率的功能是很必要的。在AQ6370仪器配置函数中,存在串口通讯的基本设置。所以需要在这个子VI中引出一个引脚来输入波特率。

进入前面板后,右上角有一个格子状的图标,这个图标就是用来向外界声明输入参数和输出返回值的,如图11。将格子绑定输入输出的操作为:鼠标移动到图标里面的一个小格后点击一下,再移动到前面板的控件上点击一个对应的控件,这样格子就和控件绑定在一起,在主程序的VI控件中多出一个可输入引脚。

11 引脚配置示意图

  1. 为了扩大程序的使用范围,增加一些可供使用者进行选择的功能,以满足更多的测量要求。在程序框图中利用选择按钮和条件结构来实现波长设置中“中心波长/带宽”和“开始结束波长”两种确定波长范围的方法。程序框图如图12所示。确定好一种模式后,在后面的数值输入控件中输入相应的参数即可实现波长选定。同样的,分辨率与阈值也可以在前面板中输入。

12 程序框图

  1. 增加程序的记忆性。对于程序记忆设置,考虑采用如下思路:每次结束程序之前的最后一步,将输入的参数保存到程序目录中的一个文件夹中;下一次打开程序并运行时,首先将读取此文件夹,将文件中保存的参数设置到前面板中,以此来实现历史记录功能,即参数存储功能。此功能用到的函数位于“文件I/O”处,名为读、写配置函数。

记忆参数功能程序框图如图13所示。此处设置了事件结构,即每次有输入控件的值发生改变,执行保存当前数值到文件中的操作;若未有控件数值发生变化,则证明参数没有更改,参数不动。

13 记忆参数功能程序框图

读参数功能的程序框图如图14所示。在参数配置环节,程序自动搜索保存的文件,从中读出上一次测量所用到的各种参数值。

14 读参数功能程序框图

配置文件按照如图15所示的格式记载数据,方便读参数配置程序以数组形式读取并记录。(注:有些输入控件是下拉菜单形式,在此处记载的是该数据的位次,如分辨率选项的7代表分辨率下拉菜单中的第七个数“2.00nm”)

15 配置文件格式示意图

配置文件命名为“配置.ini”,是一种文本文档的变体。该文件被放置在与主程序同位置的文件夹中,如图16所示。

16 配置文件位置示意图

  1. 将杂乱无章的前面板规划整齐美观,提高可观赏程度。将测量所用到的驱动程序全部集成到一个子VI中,方便查看程序框图。
  1. 串口程序及前面板展示

将前面提到的改进措施进行完成后,程序设计流程图如图17所示。基于串口设计的程序框图如图18所示。前面板示意图如图19所示。(完整版程序请见附件)

17 程序设计流程图

18 基于串口设计的程序框

19 基于串口设计的前面板

设置好测量参数后,点击运行即可进行测量。测量展示图如图20所示。可以在图像中看到光谱,同时在显示页面看到中心波长和带宽。

20 光谱仪232通讯测试展示

数据存储功能与GPIB设置一样,均在与运行程序相同位置处名为“Data”文件夹中,命名为“时间-光谱”,以txt文件的形式保存。

使用完程序后,关闭程序即可。下次再打开程序时,上一次设置的参数不会改变,如图21所示。

21 光谱仪232通讯测试展示

若更改参数,如将开始波长改为1500,结束波长改为1600,如图22所示,并进行光谱测量。关闭程序后,当下一次再打开程序运行时,开始和结束波长会保持本次修改后的参数,如图23。这是因为更改的参数已经保存至配置文件中,如图24所示。

22 程序记忆功能测试展示

23 程序记忆功能测试展示

24 配置文件示意

  • 使用指南

光谱仪AQ6370的232通讯测试流程共有三步:连接仪器与电脑、在仪器中设置通讯方式、运行上位机驱动程序。测试流程图如图25所示。

25 光谱仪232通讯测试流程

  1. 串口线连接仪器和电脑

光谱仪与电脑之间通过用一根232母对母线和一根232转USB线相连接。图26显示了光谱仪与电脑之间的硬件连接情况。在这里注意需要将电脑设备管理器中的波特率和仪器上设置的波特率保持一致,否则无法进行通信。

26 硬件连接情况

  1. 光谱仪串口通讯设置

根据光谱仪AQ6370说明手册中通信模块设置,将光谱仪通讯方式从GPIB改为RS232通讯。首先按下仪器上的“System”按钮,接着按照图27显示的步骤对光谱仪AQ6370的通讯进行设置。

27光谱仪232通讯设置步骤图

同时在第二个页面可以更改通讯的波特率,保持波特率与电脑的波特率一致;同时也可以修改数据校验位和流控制方式等,操作流程如图28所示。

28 光谱仪232通讯参数设置图

  1. 上位机程序运行操作

电脑上需安装LabView软件。如图29所示,点击文件夹中名为“主程序”的文件夹,在其中找到“光谱仪232通讯(主程序)”,运行该程序,前面板如图30所示。区域1处是参数输入窗口,可以通过选择不同的选项卡修改测量参数,其中“通讯设置”是每次进行测量前都要进行输入的窗口,可在电脑的设备管理器中查看所连接的串口,并在输入窗口中“光谱仪串口”处选择相应的串口;测量参数部分可以规定测量波长范围,并对采样时间、分辨率、模式和阈值等进行设置。这部分参数具有记忆功能,在初次设置后即可保存,下一次运行时无需再次设置;最后点击运行,即可在图像中看到光谱图,并在显示区域3处看到数据信息,包括计算出的中心波长、带宽值、所用到的阈值和K值以及记录文件写入完成时间。同时,波形图中添加了游标功能,可以用鼠标随着波形进行移动,并在区域3处实时看到坐标信息。

29 光谱仪232程序运行示意图

30 前面板操作示意图

  1. 自动保存文件

每次测量完成时,程序会自动将数据存储在txt文件中,并保存在一个名为“Data”的文件夹中,该文件夹与程序运行文件处于同一位置,如图31所示。文件夹的命名格式为“时间-光谱”,如图32所示,其中时间精确到秒。使用者可以通过名称中的不同时间确定不同的测量。

31 保存文件位置示意

32 保存文件样例

在生成的txt文件中,包含了光谱的中心波长值、带宽值以及光谱的各点数据,如图33所示。其中,文件中第一行分别为中心波长值和带宽值,第二行开始是光谱数据值,左侧为光波长,右侧则是光功率,光谱数据显示了光波信息。

Center WL、Spec Width

33 保存的光谱数据示意图

  1. 注意事项

由于串口232通讯与原GPIB通讯相比,传输速度从并行传输变为了串行输出,所以数据传输速度有所下降。由于仪器默认传输波特率为9600,在这种情况下,原有的光谱采集设置(分辨率0.02,采样时间1s)需要更改,可以降低分辨率或提高采样时间。否则,极容易造成程序的卡死。

34 前面板波特率更改示意

如想保持较高分辨率和较短采样时间,也可提高通讯的波特率来提升传输速度。提高波特率需要在仪器与面板上同步修改:仪器的波特率更改请见步骤2;面板上更改波特率如示意图34所示,需在波特率端口进行选择。文章来源地址https://www.toymoban.com/news/detail-856644.html

到了这里,关于光谱仪AQ6370与电脑进行232串行通信,并用Labview编写上位机程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【高光谱图像的去噪算法】通过全变异最小化对受激拉曼光谱图像进行去噪研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、数据、文章

    2024年02月14日
    浏览(27)
  • 使用频谱仪测试信号抗干扰实验

    本例程测试测试在输入设备中心频率在2.9G~3.4G时候,接收设备信号强度为-80db时候,干信比为-20db时候,传输链路的通信质量,和测试的方法步骤,测试原理如图所示。 一,频谱仪最常用按钮的功能解释 1,freq:设置频谱仪显示要采集的中心频率范围,先观察明白要测的是哪

    2024年02月07日
    浏览(31)
  • Python 控制 Keysight N9010B 频谱仪

    目录 前言  频谱仪简介 硬件接线图 实现原理 代码详解  步骤1: 建立连接 步骤2: 发送SCPI指令

    2024年02月09日
    浏览(37)
  • Q&A | 关于手持式频谱仪,您想了解的那些技术问题(二)

    Q1:手持式频谱仪的灵敏度多高?底噪多少? 0.01-3GHz手持频谱仪的底噪/灵敏度为-128dBm @ RBW=10kHz(即归一化到Hz为-168dBm/Hz); 2-8GHz手持频谱仪的底噪/灵敏度为-119dBm @ RBW=30kHz(即归一化到Hz为-158dBm/Hz); 下图是0.01-3GHz手持频谱仪在RBW=30kHz情况下的底噪情况:底噪最大值-121dB

    2024年02月14日
    浏览(32)
  • STM32F103单片机通过SPI全双工通信协议与W25Q64(FLASH)进行通信【串行同步通信(数据线与时钟线配合),(一主多从模式)】附相关驱动代码详解

    1.W25Qxx系列是一种低成本、小型化、使用简单的 非易失性存储器 ,常应用于数据存储、字库存储、固件程序存储等场景 2.存储介质: Nor Flash(闪存) 3.时钟频率:80MHz / 160MHz (Dual SPI) / 320MHz (Quad SPI) 4.存储容量(24位地址): W25Q40: 4Mbit / 512KByte W25Q80: 8Mbit / 1MByte W25Q16: 16

    2024年04月13日
    浏览(49)
  • 光谱、多光谱技术、高光谱技术以及遥感中的应用

    遥感(Remote Sensing),可以理解为遥远的感知。遥感技术利用搭载在遥感平台上面的传感器对目标地物发射或反射的电磁波信息记录下来而形成遥感影像。 其中 分辨率 作为传感器成像系统对输出影像细节辨别能力的一种度量,是遥感影像应用价值的重要技术指标,而对“影

    2024年02月05日
    浏览(33)
  • 结合ENVI和PIE Hyp讲述高光谱遥感信息处理技术,包括光谱恢复、光谱库建立、光谱特征提取、混合像元分解、图像分类及精度检验

     大气温室气体浓度不断增加,导致气候变暖加剧,随之会引发一系列气象、生态和环境灾害。如何降低温室气体浓度和应对气候变化已成为全球关注的焦点。海洋是地球上最大的“碳库”,“蓝碳”即海洋活动以及海洋生物(特别是红树林、盐沼和海草)能够吸收大气中的二

    2024年02月08日
    浏览(32)
  • 如何进行远程控制电脑

    电脑在我们日常生活中的作用是非常大的,尤其是在信息时代地位非常高。 其中,最常见、最具代表性的功能是实现远程控制功能。它可以直接解决一些问题,而不需要去现场,在一定程度上提高了工作效率。但是有很多朋友不知道如何实现远程控制。那么小编就和大家分享

    2024年02月05日
    浏览(38)
  • 典型光谱指数

    植被指数概念 植被指数(VI)是两个或多个波长范围内的地物反射率组合运算,以增强植被某一特性或者细节。所有的植被指数要求从高精度的多光谱或者高光谱反射率数据中计算。未经过大气校正的辐射亮度或者无量纲的DN值数据不适合计算植被指数。 目前,在科学文献中

    2024年02月03日
    浏览(22)
  • 光谱异常样本检测分析

           以近红外光谱为例,大部分光谱数据在不考虑分类问题时,在构建模型前需要对采集数据进行样本分析,以降低因生产过程异常、人为误操作和其他原因对软测量模型的影响,即异常样本检测分析。        按照定义,异常样本检测任务指的是检测偏离期望行为

    2023年04月08日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包