LABVIEW是美国国家仪器公司(National Instruments,简称NI)的创新产品,它允许编程人员使用图形方式来进行编程,摒弃了艰涩难懂的代码,只需要拖动相应图形控件然后连线,进行简单的配置即可完成一个应用程序的开发。让更多的相关人员加入到编程的行列中。

  虚拟仪器软件架构(VISA,Virtual Instruments Software Architecture)是对包含GPIB、VXI、PXI、串口(RS232/485)、以太网、USB和/或IEEE 1394接口的仪器系统进行配置、编程和故障排除的标准。NI-VISA是NI贯彻执行的VISA I/O标准。VISA提供了硬件与NI LabVIEW、
LabWindows/CVI和Measurement Studio(用于Microsoft Visual
Studio)等应用开发环境之间的编程界面。在LabVIEW中编写的VISA接口程序,当外部设备变更时,只需要更换几个程序模块即可使用,简单方便
而且开发效率高。

  串口通信(Serial Communication), 是指外设和计算机间,通过数据信号线
、地线、控制线等,按位进行传输数据的一种通讯方式。由于其开发难度相对于其他接口相对较低,且成本低受到许多工程师的青睐,对于一些速度要求不高的数据
交换业物来说,串口适信是非常不错的一个选择。

  veiko的文章主要介绍如何利用VISA(虚拟仪器架构,以下直接用VISA)在LABVIEW中开发串口应用程序,在开发之前请确保你的电脑安装了NI公司的LABVIEW软件(推荐使用2013版本)和VISA软件,如果需要请到http://china.ni.com/搜索下载。

  1. 相关资源介绍

  在LabVIEW

中利用VISA节点进行串行通信编程。为了方便用户使用,LabVIEW将这些VISA节点单独组成一个子模块,共包含8个节点,分别实现初始化串口、串
口写、串口读、中断以及关闭串口等功能,具体如下图所示(在程序框图界面中右键然后依次鼠标放在相应的图标上即可得到如下图菜单,左键点击任意一个VI即
可到框图界面中放置):

  1.1 VISA配置串口

  该VI用于配置串口传输时的参数:

  VISA资源名称:指PC的串口名,例:COMl,COM2等。

  错误输入:表明节点运行前发生的错误。该输入将提供标准错误输入功能。

  波特率:串口速率,默认为9600bps。

  数据比特:一帧信息中的位数,LabVIEW 中允许5~8位数据,默认为8。

  奇偶:奇偶校验位,可选为无校验、奇校验或偶校验,默认为无校验。

  停止位:一帧信息中的停止位的位数,可选为1位、1.5位或2位。

  流控制:设置传输机制使用的控制类型,可选为None、XON/XOFF软件流控或RTS/CTS硬件流控,默认为None。

  终止符:设置一帧数据的结束符,即当接收串口数据时,当收到终止符时,软件自动结束一帧数据接收。
本文引用地址:http://www.eepw.com.cn/article/189334.htm

  这里做一点说明,对于第一次使用LABVIEW串口的开发人员,对于属性的配置最好是右键创建输入控件,这样不空易出现输入类型和输入范围上的错误。

  1.2 VISA写入

 
 该节点主要用于向串口的发送缓冲写入数据,主要的参数有“VISA资源名称”和“写入缓冲区”。“VISA资源名称”接1.1中配置好的串口VI的
“VI资源名称输出”(在串口应用中使用同一串口的VI中“VISA资源名称”应该相同,且具有传导性)。“写入缓冲区”则可以直接连接字符串,这样就可
以直接将该字符串写入串口发送缓冲区进行数据输出操作。VISA资源名称输出用于和其他相关VI共享VISA资源。返回数用于返回发送成功的字节数。

  1.3 VISA读取

  该节点主要用于读取串口中的数据,如上图所示。

  字节总数:要读取的字节数量(可以直接用“VISA串口字节数”节点的输出来一次性将数据全部读出,参见1.5)。

  读取缓冲区:PC串口收到的数据。

  返回数:实际读取的字节数,字节总数应大于或等于返回数,否则会丢数。

  1.4 VISA关闭

  该节点主要用于关闭已打开的串口,释放串口资源,以便串口被其他程序所调用,如上图所示。

  1.5 VISA串口字节数

  该节点用于返回串口输入缓冲区中的字节数,可以将其输出结果送给VISA读取节点的“字节总数”参数,这样可以一次性将串口输入缓冲区中的数据全部读出。

  1.6 VISA串口中断

  该节点用于发送指定端口上的中断。通过连线数据至VISA资源名称输入端可确定要使用的多态实例,也可手动选择实例。

[分享]我的LABVIEW快速开发串口测试软件实例的更多相关文章

  1. spring-boot开发:使用内嵌容器进行快速开发及测试

    一.简述一下spring-boot微框架 1.spring-boot微框架是什么? 大家都知道,在使用spring框架进行应用开发时需要很多*.xml的初始化配置文件,而springBoot就是用来简 ...

  2. JSAAS BPM快速开发平台-企业管理软件,专属你的企业管家

    前言: 2020年,企业该如何去选择合适的信息化规划管理软件,基于目前社会软件杂乱无章,选择企业业务贴近的管理软件,甚是困难,市场上一些大品牌公司的产品,定位高,价格高,扩展难,等等一系列的问题,对于 ...

  3. web快速开发c/s软件构架

    很久没用.net winform 做东西,对控件相对比较陌生,另外控件的UI也不是那么好改.公司项目需要有web客户端,同时有软件客户端形式.考虑再三采用webBrowser+html 来实现 .用h ...

  4. 使用 dotnet core 和 Azure PaaS服务进行devOps开发(Web API 实例)

    作者:陈希章 发表于 2017年12月19日 引子 这一篇文章将用一个完整的实例,给大家介绍如何基于dotnet core(微软.NET的最新版本,支持跨平台,跨设备的应用开发,详情请参考 https ...

  5. devOps开发(Web API 实例)dotnet core 和 Azure PaaS服务

    使用 dotnet core 和 Azure PaaS服务进行devOps开发(Web API 实例) 作者:陈希章 发表于 2017年12月19日 引子 这一篇文章将用一个完整的实例,给大家介绍如何 ...

  6. 【Bugly安卓开发干货分享】Android APP 快速 Pad 化实现

    项目背景 采用最新版本手机 APP(之后称为 MyApp)代码,实现其 Pad 化,为平板和大屏手机用户提供更好的体验.为实现 MyApp 的 Pad 化工作,需要我们首先来了解一下 MyApp 项目 ...

  7. ios-实现项目在开发、测试、正式环境快速部署

    快速部署:简单的来说,就是不用更改开发.测试.正式环境下的 url ,来实现在同一台测试手机快速部署三种项目状态. Bundle ID一样只会出现一个app:不一样会出现三个app: 具体步骤: 一. ...

  8. 微服务平台(Micro Service Platform : MSP)旨在提供一个集开发、测试、运维于一体的开发者专属平台,让开发者能快速构建或使用微服务,让开发更简单,让运维更高效。

    微服务平台(Micro Service Platform : MSP)旨在提供一个集开发.测试.运维于一体的开发者专属平台,让开发者能快速构建或使用微服务,让开发更简单,让运维更高效. MSP采用业界 ...

  9. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 几十套业务系统集中统一授权管理实现经验分享

    由于这几年互联网电商的快速发展,快递公司也进入了快速发展的绝好快速成长期.随着社会的强劲需求公司的业绩年年攀新高.快速发展的公司都需要有强大的IT信息系统,硬件设备基本上款到了货也可以到了,但是软件系 ...

随机推荐

  1. (转)C#在父窗口中调用子窗口的过程(无法访问已释放的对象)

    C#在父窗口中调用子窗口的过程: 1. 创建子窗口对象 2. 显示子窗口对象   笔者的程序中,主窗体MainFrm通过菜单调用子窗口ChildFrm.在窗体中定义了子窗口对象,然后在菜单项点击事件中 ...

  2. Canvas Path 绘制柱体

    public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceS ...

  3. Ext4.0.7使用Ext.grid.ColumnModel报错:TypeError: Ext.grid.Model is not a constructor

    代码如下: Ext.onReady(function(){ //定义列 var cm = new Ext.grid.ColumnModel([ {header: '编号', dataIndex: 'i ...

  4. Ubuntu 14.04远程登录服务器--openssh的安装和配置简明步骤

    如果要主机通过网络操作嵌入式板子,ttelnet就够了,但是 如果要相互传文件,则必须使用另外一个强大的软件SSH.更完整的步骤和截图请参考http://jingyan.baidu.com/artic ...

  5. C#.NET利用ContextBoundObject和Attribute实现AOP技术--AOP事务实现例子

    我前两天看见同事用写了用AOP技术实现缓存的方案,于是好奇看了一下这是怎么实现的.原来是用了.NET中的一个类ContextBoundObject和Attribute相关技术.其实个类在.NET Fr ...

  6. 【转】SecureCRT 实用配置----不错

    原文网址:http://blog.csdn.net/ithomer/article/details/9503123 SecureCRT,是一款支持 SSH2.SSH1.Telnet.Telnet/SS ...

  7. seajs教程之seajs学习笔记 seajs.use用法

    seajs.use 用来在页面中加载模块.通过 use 方法,可以在页面中加载任意模块. 实例地址:http://www.android100.org/html/201405/23/12807.htm ...

  8. HDU 1074 Doing Homework (状态压缩 DP)

    题目大意: 有 n 项作业需要完成,每项作业有上交的期限和需完成的天数,若某项作业晚交一天则扣一分.输入每项作业时包括三部分,作业名称,上交期限,完成所需要的天数.求出完成所有作业时所扣掉的分数最少, ...

  9. MapReduce源代码浅析

    Thanks @读程序的手艺人 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVvemhhbmZlbmc=/font/5a6L5L2T/fontsize ...

  10. [Regex Expression] Match mutli-line number, number range

    /^-?\d{,}\.\d+$/gm