LabView串口仪器控制
- 格式:docx
- 大小:434.78 KB
- 文档页数:12
基于LabVIEW的实验室仪器远程控制管理系统在当今科技迅速发展的时代,实验室仪器的管理和控制方式也在不断地革新。
基于 LabVIEW 的实验室仪器远程控制管理系统应运而生,为实验室的高效运作和科学研究提供了有力的支持。
LabVIEW 是一种图形化编程环境,它具有强大的数据采集、分析和控制功能。
利用 LabVIEW 开发实验室仪器远程控制管理系统,能够实现对仪器的远程操作、实时监测、数据记录和分析等一系列功能,极大地提高了实验效率和数据准确性。
一、系统的需求分析首先,实验室仪器远程控制管理系统需要满足不同类型仪器的接入需求。
实验室中的仪器种类繁多,包括电子测量仪器、分析仪器、物理实验仪器等,每种仪器都有其独特的通信协议和控制方式。
因此,系统需要具备良好的兼容性,能够与各种仪器进行通信和交互。
其次,系统应具备可靠的远程控制功能。
操作人员可以通过网络在异地对实验室仪器进行启动、停止、参数设置等操作,并且能够实时获取仪器的工作状态和反馈信息。
这不仅方便了实验人员的工作,还能够在紧急情况下及时停止实验,保障人员和设备的安全。
此外,数据采集和处理也是系统的重要需求之一。
系统需要能够准确地采集仪器产生的数据,并进行实时处理和分析,为实验研究提供有价值的信息。
同时,数据的存储和管理也至关重要,以便后续的查询和回溯。
二、系统的总体架构基于 LabVIEW 的实验室仪器远程控制管理系统通常由仪器端、服务器端和客户端三部分组成。
仪器端负责与实际的实验室仪器进行连接和通信,采集仪器的工作数据和状态信息,并将其上传至服务器端。
为了实现与不同仪器的通信,通常需要使用各种通信接口和协议转换模块。
服务器端是系统的核心部分,负责接收和处理来自仪器端的数据,同时响应客户端的请求。
服务器端需要具备强大的数据处理能力和存储能力,以保证系统的稳定运行和数据的安全性。
客户端则是提供给用户的操作界面,用户可以通过客户端远程访问服务器,实现对实验室仪器的控制和管理。
利用LabVIEW进行仪器控制与测量LabVIEW是一款强大的图形化编程软件,广泛应用于仪器控制与测量领域。
它提供了丰富的工具和函数库,帮助工程师们实现高效可靠的仪器控制和测量任务。
本文将介绍如何利用LabVIEW进行仪器控制与测量,并分享一些实用的技巧和经验。
一、LabVIEW简介LabVIEW是由美国国家仪器公司(National Instruments,简称NI)开发的一款虚拟仪器编程环境。
它基于图形化编程思想,通过将各种仪器的控制命令和测量数据进行图像化的表示和连接,实现仪器的自动化控制和数据处理。
二、仪器连接与配置在使用LabVIEW进行仪器控制之前,首先需要确保仪器与计算机正确连接,并进行相应的配置。
LabVIEW支持各种通信接口,如GPIB、USB、以太网等,根据所使用的仪器接口,选择相应的硬件适配器并进行驱动程序的安装。
在LabVIEW开发环境中,选择适当的仪器控制器件和相应的驱动程序,并进行配置。
LabVIEW提供了一系列的仪器驱动程序,可以根据具体的仪器型号进行选择和安装,以确保与仪器的正常通信。
三、仪器控制程序设计1. 创建仪器控制 VI在LabVIEW中,一个程序被称为虚拟仪器(VI,Virtual Instrument)。
要创建一个仪器控制程序,首先打开LabVIEW开发环境,点击“新建”按钮,选择“空VI”创建一个新的虚拟仪器。
2. 编写程序代码在LabVIEW的开发环境中,程序代码被称为控件和功能块,通过将这些控件和功能块进行图形化的连接,实现仪器的控制和测量。
可以根据需要在界面上拖拽控件,如按钮、滑块、图表等,并通过功能块的参数设置来实现具体的仪器控制和测量任务。
3. 数据采集与处理LabVIEW提供了丰富的数据采集和处理函数库,可以方便地进行数据采集、数据存储、数据处理和数据分析等操作。
可以根据需求选择合适的函数,并将其与仪器控制程序进行连接,实现数据的自动采集和处理。
利用LabVIEW进行仪器控制和自动化测试在现代科学和工程领域,仪器控制和自动化测试已成为一种常见的需求。
LabVIEW是一种流行的工程软件平台,它提供了强大的功能来实现仪器控制和自动化测试。
本文将介绍如何利用LabVIEW进行仪器控制和自动化测试,并探讨其在实际应用中的优势。
一、LabVIEW简介LabVIEW是由美国国家仪器公司(National Instruments)开发的一种图形化编程语言。
它以图形化的方式实现程序编写,使得开发者能够快速、高效地构建各种测试和测量系统。
LabVIEW的特点包括直观的用户界面,丰富的函数库和模块化的设计理念。
二、仪器控制LabVIEW提供了强大的仪器控制功能,可以与各种仪器设备进行通信和控制。
通过与仪器的连线和配置,LabVIEW可以实现对仪器的各种操作,如输入参数、修改配置、读取数据等。
同时,LabVIEW还支持多种通信协议,如GPIB、USB、以太网等,与各种仪器设备实现无缝连接。
三、自动化测试自动化测试是指利用计算机和相关软件代替人工进行测试的过程。
LabVIEW可以实现自动化测试的所有环节,包括测试计划的编写、测试仪器的配置、数据采集与处理等。
LabVIEW提供了丰富的测试工具和模块,可以方便地构建测试任务流程,并实时监控测试过程和结果。
四、LabVIEW在仪器控制和自动化测试中的优势1.图形化编程:LabVIEW采用图形化编程语言,使得程序开发变得直观和易于理解。
通过拖拽和连接图标,开发者可以快速组合和调试各种功能模块,提高了开发效率。
2.开放性和扩展性:LabVIEW具有丰富的函数库和工具包,使得开发者可以轻松地扩展其功能。
同时,LabVIEW支持与其他编程语言的集成,如C、C++、Python等,方便与其他软件和硬件配合使用。
3.丰富的可视化界面:LabVIEW提供了丰富的用户界面控件和图表绘制工具,可以实现直观和美观的界面设计。
用户可以根据需要自定义界面,使得操作和监控更加方便和直观。
LabVIEW在仪器控制中的作用LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一款用于测量和控制系统的软件开发环境。
它通过图形化编程方式,提供了一种简单易用的方法来实现仪器的控制和数据采集。
在仪器控制领域,LabVIEW发挥着至关重要的作用。
一、LabVIEW的基本原理和特点LabVIEW以图形化编程的方式进行,用户可以通过拖拽和连接图形化的功能模块,来构建仪器控制系统。
该系统适用于各种仪器设备,包括传感器、仪表、运动控制器等等。
LabVIEW的基本原理包括数据流和事件驱动,使得控制系统响应更加灵活和高效。
LabVIEW的特点之一是可扩展性。
用户可以根据需要自定义功能模块,并与现有的库进行集成。
这种灵活性使得LabVIEW适用于各种不同的仪器控制场景,并可以满足不同应用需求。
二、LabVIEW在仪器控制中的应用1. 仪器控制与数据采集:LabVIEW提供了丰富的仪器控制和数据采集功能,可以实时读取各种仪器的测量数据,并对仪器进行控制和设置。
通过LabVIEW,用户可以方便地操作仪器,调整参数,实现精确的测量和控制。
2. 自动化测试:LabVIEW可以用于自动化测试系统的开发。
用户可以通过编写测试脚本和连接测试设备,来实现自动化测试流程。
这种方式大大提高了测试的效率和准确性。
3. 实时监控和远程控制:LabVIEW提供了实时监控和远程控制的功能。
用户可以通过网络连接将仪器控制系统远程访问,实时监控参数和状态,并进行远程操作。
这种方式方便了用户对仪器的监控和控制,提高了工作的灵活性和效率。
4. 数据分析与可视化:LabVIEW具备强大的数据分析和可视化功能。
用户可以通过LabVIEW对采集到的数据进行处理、分析和展示,生成图表和报告。
这使得用户可以更加直观地理解数据,并从中获取有价值的信息。
三、案例分析与总结以实验室中的温湿度控制为例,应用LabVIEW可以实现温湿度仪器的控制和数据采集。
边干边学仪器控制序言在自动化测试领域,仪器控制是每一个自动化程序开发工程师的基本功。
好多刚刚迚入自动化测试领域的工程师都会问我同一个问题:“仪器控制到底难不难,有没有什么书可以推荐啊?”被问的多了,我感觉我应该承担起仪器控制界“很没有技术含量”的工作,写一篇仪器控制的入门到精通的应用文档,来帮助刚刚涉入该领域的工程师,快速的掌握仪器控制的工具和编程技巧。
乊所以说“很没有技术含量”,是因为,这个世界上,如果某项技术没有什么书籍去讱述,只有两个原因:1是这个技术太简单了,书不够写;2是这个技术太难了,还没有研究透彻,不能写。
基于LabVIEW的仪器控制,就是属于“技术太简单了,书不够写”。
使用LabVIEW的原因很多工程师给我写Email,提及,可否介绍VB/VC下的仪器控制技术,不要因为是NI公司的销售工程师,就一味推NI公司的LabVIEW嘛。
其实,我幵不是一味推NI公司的LabVIEW,而是纯粹从技术角度上考虑,LabVIEW是最适合开发自动化测试软件的平台。
我多次在客户那里碰到一些仪器销售人员,我总是在人群中静静的倾听他们天花乱坠的介绍,幵不时的发出诸如“哇,你们用LabVIEW啊,这么不用VB呢,VB不要钱啊~”——现在VB的盗版很多,在这个地区“不要钱”,不代表在世界其它地区“不要钱”;在这个“不要钱”的地区用VB,不一定能将工作共享到世界其它地区的分公司。
另外,当提起仪器是否可以程控时,销售人员拍着胸脯说:“我用VB写过全部控制代码,当然可以啊。
”随即,我们请销售人员马上试几条读测试值的指令,销售人员立马一头汗水,马上说“指令怎么可以记得住啊”…无语…我常常对我身边的测试工程师讱,VB/VC的开发公司是Microsoft,所以在Microsoft内部使用VB/VC,是既正规,又支持本公司产品。
但Microsoft在开发自己产品Xbox的测试程序时,选用了LabVIEW,而不是VB/VC,为什么呢?——真正的智慧,不被所谓的盗版和“不要钱”蒙蔽了双眼,把精力集中于如何提高工作效率和质量,创造更多的价值。
串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。
论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友方便使用。
首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。
1.串口扩展的问题:先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。
PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。
PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。
转接线和扩展卡一般是要装驱动的。
2.串口功能的确认:在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。
检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。
电脑上的串口软件一般是用串口调试助手,很出名的,也好用。
如下图所示:图1串口调试助手打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。
稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。
LabVIEW与自动化仪器控制实现自动化测试和测量自动化测试和测量是现代科学研究和工业生产中不可或缺的重要环节。
而实现自动化测试和测量的关键则是借助于LabVIEW和自动化仪器控制技术。
本文将介绍LabVIEW与自动化仪器控制结合的原理及应用,并探讨其在自动化测试和测量领域的优势。
一、LabVIEW与自动化仪器控制的原理LabVIEW是美国国家仪器公司(National Instruments)开发的一款基于图形化编程的软件平台。
它提供了一种直观、易用的编程环境,允许用户通过拖拽和连接图标来编写程序。
而自动化仪器控制则是指利用仪器设备和计算机控制软件实现对仪器的远程控制和自动化操作。
LabVIEW与自动化仪器控制的结合是通过使用LabVIEW的仪器控制模块来实现的。
通过该模块,LabVIEW可以与各种类型的自动化仪器设备进行通信,并通过指令控制这些设备的运行和测量。
用户只需在LabVIEW的编程界面中添加相应的模块和函数,并进行参数配置,就可以实现对自动化仪器的控制和数据采集。
二、LabVIEW与自动化仪器控制的应用1. 实验室测试与测量LabVIEW与自动化仪器控制广泛应用于各个领域的实验室测试与测量中。
例如,对材料的物理性质进行测试、对电子产品进行功能测试、对环境参数进行监测等。
借助LabVIEW的图形化编程界面,用户可以快速搭建测试系统,实现数据采集、仪器控制、结果分析等功能,提高测试效率和精度。
2. 工业自动化生产LabVIEW与自动化仪器控制技术在工业生产中也发挥着重要的作用。
通过LabVIEW与自动化设备进行接口连接,可以实现对生产过程的自动监控和控制。
例如,对生产线上的产品进行自动化测试、对生产工艺参数进行实时监测和调整等。
这不仅提高了生产效率,还提高了产品质量和生产线的稳定性。
三、LabVIEW与自动化仪器控制的优势1. 易用性:LabVIEW采用图形化编程的方式,尤其适合非专业编程人员快速上手。
利用LabVIEW进行仪器控制及数据采集LabVIEW作为一种强大的可视化编程语言和开发环境,被广泛应用于仪器控制和数据采集领域。
本文将介绍如何使用LabVIEW进行仪器控制和数据采集,以及一些常见的应用案例。
一、LabVIEW简介LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种由美国国家仪器公司(National Instruments)开发的工程软件,旨在为工程师和科学家提供一种直观、快速的开发环境。
LabVIEW通过图形化的编程语言G语言(G Programming Language)和丰富的函数库,使用户能够轻松地进行仪器控制、信号处理、数据采集和分析等操作。
二、LabVIEW在仪器控制中的应用1. 仪器接口控制LabVIEW可通过各种不同的接口实现与仪器的连接,如GPIB (General Purpose Interface Bus)、USB(Universal Serial Bus)、以太网等。
通过编写相应的驱动程序,LabVIEW可以对连接的仪器进行控制,并获取所需的数据。
2. 信号发生器控制信号发生器是实验室中常用的仪器之一,用于生成各种类型的电信号,如正弦波、方波、脉冲等。
通过LabVIEW的控制,可以灵活地设置信号的频率、幅度、相位等参数,并实时观测输出信号的波形。
3. 示波器控制示波器是用于显示电信号波形的仪器,它可以帮助我们分析信号的特性和变化趋势。
使用LabVIEW,可以通过命令和查询来操控示波器的各个功能,如触发模式、扫描速度、垂直灵敏度等,从而实现对信号波形的准确观测和分析。
三、LabVIEW在数据采集中的应用1. 数据采集卡的配置与读取数据采集卡是用于将模拟信号转换成数字信号并输入计算机的设备。
LabVIEW提供了丰富的函数库和工具,可以帮助用户轻松地配置数据采集卡的参数,并实时读取采集的数据。
LabVIEW中的串口通信和数据解析一、引言在LabVIEW中,串口通信是一种常见的用于与外部设备进行数据交互的方式。
通过串口通信,我们可以与各类传感器、仪器、控制器等设备进行数据的传输与控制。
本文将介绍LabVIEW中如何进行串口通信和数据解析的方法和技巧。
二、LabVIEW中的串口通信1. 准备工作在进行串口通信之前,首先需要准备好相应的硬件设备和驱动程序。
一般来说,我们需要一台计算机、一个串口转USB转接器以及相关的串口设备。
另外,还需要安装相应的串口驱动程序,以便在LabVIEW中进行串口通信。
2. 配置串口通信在LabVIEW中,配置串口通信需要使用到“VISA”(Virtual Instrument Software Architecture)工具。
通过VISA,我们可以对串口进行打开、设置波特率、校验位、数据位等参数,并进行数据的发送和接收。
3. 打开串口在LabVIEW的程序中,使用“VISA Open”函数来打开串口。
我们需要指定对应的串口号以及串口的配置参数。
通过这一步,LabVIEW就可以与串口建立通信连接。
4. 配置串口参数在串口打开之后,需要进行串口参数的配置,包括波特率、校验位、数据位等。
这些参数需要与外部设备的参数保持一致,才能正确地进行数据的传输和解析。
5. 读取和发送数据在LabVIEW中,可以使用“VISA Read”和“VISA Write”函数来进行数据的读取和发送。
通过这两个函数,我们可以实现与外部设备的数据交互。
读取到的数据可以在LabVIEW中进行进一步处理和解析。
三、LabVIEW中的数据解析1. 数据格式在进行数据解析之前,首先需要了解数据的格式。
不同的外部设备会使用不同的数据格式进行数据的传输。
常见的数据格式包括二进制、十六进制、ASCII等。
根据实际情况,选择合适的数据格式进行解析。
2. 数据解析方法在LabVIEW中,可以使用字符串相关的函数来进行数据的解析。
标签:虚拟仪器labview中的串口通信协议示例与分析变频器与个人电脑使用RS-232/RS-485 串行总线连接,如下所示:在通讯操作中,通过个人电脑以命令方式控制仪器。
通讯数据格式:l 起始位: 1 位l 数据位: 8 位l 奇偶位:无l 停止位: 1 位应答及命令格式:l 命令模式::-数据头,只有以::开头的数据包才认为有效。
AD -设备号,当前通讯的设备ID。
?-指明该数据是PC发出的指令。
RI -响应时间,从PC发出命令到仪器应答的时间。
SC -和检验码,等于图中“和校验范围”所示各位相加。
l 应答模式# -指明该数据是仪器发回的应答数据。
其它同上。
l 故障模式% -指明该数据是仪器发回的故障数据。
其它同上。
协议说明:无论是控制仪器还是查看仪器数据都需要PC发出相应的命令;只要PC发出命令(前提是与仪器正常通讯),仪器都会返回数据(应答或故障)。
使用LabVIEW编写通信模块:1. 主要节点:Functions->Instrument I/O->VISA Resource Name Constant, Functions->Instrument I/O->Serial->VISA Config Serail Port, VISA Read, VISA Write, VISA Close2. 串口设置:根据仪器说明设置如波特率等等串口参数。
超时设置根据上述RI。
3. 写串口指令:根据上述“命令模式”的格式包装命令数据,和校验由“和校验范围”中数位相加而得,所以之前应该写一子VI用来计算和校验。
建议使用以下变量来包装数据:l prefix:前缀,这里是::l devID:设备号l type:通讯类型(这里是?),可以与RI合并l cmdNum:命令号l cmdValue:命令号对应的命令值l sumVerify:和校验码l end:结束字符注意:一般协议要求“命令内容”满足一定的位数,所以应该做一个子VI,专门在那些数位不够的命令前补足空格或0。
[Labview经验] 小草手把手教你 LabVIEW 串口仪器控制——VISA 串口配置 [复制链接]
2228 查看 7 回复 | 发表于 2015-1-26 13:39:01 只看该作者倒序浏览
建议大家按我发帖子的顺序来看,方便大家理解。
请不要跳跃式的阅读。
很多人现在看书,都跳跃式的看,选择性的看,导致有些细节的部分没有掌握到,然后又因为某个细节耽误很多时间。
以上只是个人建议,高手可以略过本帖。
从手把手系列第 1 贴我就写了,用 LabVIEW 来写串口驱动控制仪器,只需要下图的几个函数即可。
事实上,真的只需要下面几个函数。
所以,LabVIEW 写个串口程序,其实很简单的。
问题是,有很大部分的人,问的就是串口,这个问题,那个问题。
没写过串口的人可能会问:你都说了串口很简单啊,就那么几个函数,为什么还有这么多人在问?
我只能回答:不注重细节和自己的程序思维。
一般的串口控制结构是:
①配置(打开)串口
②读写串口
③关闭串口
我觉得这几个之间,配置 VISA 串口,是个很需要斟酌的部分。
配置串口是进入串口通讯的钥匙。
首先你配置成功了,才能进行正确的通讯。
下面开始进入正题,先看下 VISA 配置串口函数。
配置串口时候,最好是在对应的参数端口那里,右键,新建常量或者输入控件,然后再在新建出来的上面修改。
因为,新建出来的数据类型,肯定是对的。
需要注意的是:①停止位那里,不是常数 1 1.5 2 等,实际是 10,15,20 数值。
这里最好右键新建常量然后选择对应的枚举类型,如上图所示。
更需要注意的是:②配置串口,顶端有个启用终止符,一般默认是真,终止符一般默认是 OA,即换行符。
有些人接受的字符串,里面含有十六进制的 OA,然后每次数据接收到 OA 就停止了,然后就以为程序有什么问题,其实就是没有配置好 VISA,终止符没有设定为假。
那为什么配置 VISA 要搞个终止符呢?
(注意:这个函数的终止符,只是接受的终止符,只是对 LabVIEW 接收而言,后面会具体讲。
)
终止符,是个条件,很多仪器上,也有终止符,而且终止符的优先级高。
比如你要用”VISA 读取“接收 1000 个字符,而还没接受完毕,收到了终止符 OA,那么程序就当一个命令结束了。
后面的字符串,放入下一个命令里面去。
对编程很方便的,如果你传输的字符不可能出现 OA 或者自己设定的终止符,我建议用终止符来做终止条件,这样,比你在 VISA 读去里读取固定的字节好很多。
首先看下 VISA 读取帮助。
左边输入有个必填参数,叫 VISA 字节总数,你必须指定你要读的字节数。
好了,说到了 VISA 读取,我们顺带看下 VISA 读取。
问题来了,这个字节数怎么确定呢?
一般的组合,如上图所示。
组合的前面,是 VISA 串口字节数,函数路径见上图,其实就是一个属性节点,看那个bytes at port 英文就应该明白了。
它利用一个读取缓冲区字节数,读到字节数,就确定了 VISA 读取里面那个字节数,然后用读取 VISA 读出来。
意思就是,前面的先侦测下串口缓冲区有多少数据,侦测完了就告诉 VISA 读,VISA
就全读出来,。
这个组合的功能是,读取 VISA 串口已有的全部数据。
很多人,也不明白什么意思,看到很多地方这么用,然后自己也这么用。
还有的时候,如果是用 MODBUS 协议,你发送一个命令,会回复固定的字节数,这样 VISA 读取那个参数就确定了。
注明一点:串口有个缓冲区,存在计算机内存里,VISA 读取,就是从缓冲区读取数据,读完之后,读取的就不存在缓冲区里了。
如果你没读取,那就一直在缓冲区里,直到
缓冲区溢出。
其实就好比一个水桶,写 VISA 是往水桶进水,读 VISA 是出水。
你也可以想想队列的原理,差不多的。
现在看下图。
我用借助串口调试助手和虚拟串口,向 LabVIEW 编写的一个最简单的例子发送字符串。
发送的字符串是 010203 0A 050607(十六进制显示)。
VISA 串口配置我没都默认,
结果我收到的字符串接收到 0A,就终止了。
后面的 050607,到了下一次接收了。
这个例子很形象吧。
说明了终止符的厉害,默认不配置就是启用终止符,终止符是OA。
以上程序,先配置串口,然后循环不停的读串口,用了读取串口字节判断该不该读,
当串口有数据,即字节数不位零时,读取串口。
关键词:VISA 配置,停止位,终止符。
深入篇:
以上我们已经讲了 VISA 配置串口函数,熟悉串口通讯的,都应该熟悉这些参数的配置。
然后需要注意的:停止位,跟终止符,我也给大家特别说明了。
其实,这个函数,也
不是最底层的 vi,你可以双击这个 vi,打开子 vi。
程序面板如下:
其实就是属性节点了,只是给出了常用的几个而已。
事实上,有些仪器,我们要配置的可能多一点。
这个“VISA 配置串口”函数满足不了要求。
具体配置,看你的仪器说明书,有些可能需要发送终止符,有些需要握手协议。
至于为什么要那些,都是仪器配置问题。
自己通讯配置跟仪器一样的就行了。
=================================================== 下面我们以 Keithley 2400 仪器来讲解。
这个驱动来源于 NI 官网的仪器驱动。
我们打开一个例子:Read Single,就是读取单个点的值。
例子无所谓,我们今天主要讲的核心是 VISA 串口配置。
然后我们点击最开始的 Initialize.vi,就是这个仪器驱动的串口初始化程序。
点击去后,如下图所示:
我们分两部分讲,我画了两个圈。
====================
第一个圈:首先打开串口,然后清除串口的缓冲,然后,看到了一个属性节点。
我们来放大它,看到第一行:timeout.这个是个超时,然后下面有个用户数据,再下面是个串口类型。
首先,超时是个什么意思呢?
LabVIEW 很多地方都有超时,特别是涉及到通信的,TCP 有,串口有,蓝牙有,队列有,通知有。
超时,其实是个约定。
打个比方:男女朋友约会几点见面,然后如果没有加超时,如果一方没来,另一方要一直等一直等,等到天荒地老…
但是,你们可以约定好,如果超过半小时,就不要等我了,说明我不来了。
那你过了半小时,就可以走了,说明约会取消。
这个超过半小时,就取消约会。
其实就是一个超时设置为半小时。
你也可以想象成打电话,拨对方电话,一分钟过去还没人接,就不再拨打。
你不设置超时,或者超时无限大,如果你读取 VISA,程序就一直在等 VISA 读取,一直等啊等啊,这时候你程序基本属于假死状态了,没救了。
其他的操作也一样,可能一直等操作完成。
如果你设置了超时,等待超时时间到了,程序就不执行了,错误输出会输出错误。
其次,用户数据是什么意思呢?
其实就是一个变量,存在串口相关的内存里。
自己以后变成会用到读取出来进行数据判断。
具体怎么用看自己了。
你这里设置了用户数据,可以在后面利用属性节点读取出来。
有人肯定要问,我自己设置一个全局变量,其他地方调用,不一样么?回答,不一样,你用这个不更简单么?不需要重新建立变量,而且数据是跟着连线走的。
第三,串口类型是什么?
这个,有些仪器是有 GPIB 接口和 232 接口的,GPIB 接口的需要买 GPIB 卡,使用的方式不一样,但是指令是可以一样的,为了驱动的通用性,就只能用程序判断了,不用人来判断。
统自动检测串口类型,执行对应的程序,很智能化吧。
================================================== 好了,下面是第二个圈的内容。
这里都是属性节点。
会用属性节点的,应该可以找到他们的配置,现在细讲。
①ASRL End In。
这个容易懂,串口接收终止符,这个“VISA 配置串口”函数用的就是
②ASRL End Out。
这个跟接收相对的,串口发送终止符。
这个有点特殊。
你加了这个后,加入你发送的是 A,如果有这个终止符并且启用的终止符是 B,那么你发送出去的,实际是 AB 两个字节。
③终止符。
这里一般是 OD,也就是回车符,当然你可以自己定义。
④流控制。
这个针对仪器,仪器上有流控制,就跟仪器一样就可以了。
具体什么意思,请百度,不需要搞清楚那么多,自己设置和仪器一样就可以了。
有
XON/XOFF DTR/DSR各种,跟仪器一样。
记得一定要一样的啊。
后面就没什么讲的了。
记得注意我红色标注的地方。
有些仪器有这么些东西,所以,建议大家仪器,使用 NI 提供的驱动,这样配置方面就不需要自己想太多,因为别人都配置好了。
有人可能会问,这些属性节点怎么来的?
见下图,当然,你也可以在应用程序那个属性节点,连接到 VISA 引用,也可以得到。
点击选择对应的属性。
好了,串口配置就讲完了。