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. PostgreSQL的时间函数使用整理

    PG的时间函数使用整理如下 1.获取系统时间函数 select now(); --2012-05-12 18:51:59.562+08 select current_timestamp; --2012 ...

  2. 单片机C 语言与汇编语言混合编程

    在单片机应用系统设计中,过去主要采用汇编语言开发程序. 汇编语言编写的程序对单片机硬件操作很方便,编写的程序代码短,效率高,但系统设计的周期长,可读性和可移植性都很差.C语言程序开发是近年来单片机系统 ...

  3. PERL 实现微信登录

    get 请求: https://login.weixin.qq.com/jslogin? appid=wx782c26e4c19acffb &redirect_uri=https%3A%2F% ...

  4. Non-negative Partial Sums(单调队列)

    Non-negative Partial Sums Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  5. Android窗口管理服务WindowManagerService对壁纸窗口(Wallpaper Window)的管理分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8550820 Android系统中,壁纸窗口和输 ...

  6. JAVA设计模式-工厂模式(代码示例)

    结构 MySort.java 实际业务中我们可能会使用任意一种排序方法 package pers.zander.edu.arithmetic.sort; /** * 排序接口 * @author * ...

  7. Makefile 工程管理

    Makefile 工程管理 Makefile 规则 --变量 在Makefile中,用户除了可以自己定义变量外,还可以使用存在系统已经定义好的默认变量 $^:代表所有的依赖文件 $@:代表目标 $&l ...

  8. parseInt引发的血案

    今天做了个专题活动,页面头上有个倒计时 专题做完后上线了,没发现有什么问题,结果,运营MM突然和我说:技术哥哥出问题了,360浏览器在秒数从10到09的时候直接变成 00 了! 一看我去真的,该死的3 ...

  9. Ubuntu自定义命令

    回到主文件夹 $ cd ~ 建立.bash_aliases $ touch .bash_aliases $ vim .bash_aliases 在此文件中加入一句话: alias cdlauncher ...

  10. 1218.2——property关键字

    由于我们定义的成员变量是私有的,所有外部是无法访问的,为了能够访问我们写set和get方法 但是由于代码量过于复杂冗长,引入了@property (声明)和 @synthesize(实现) 后来又简化 ...