77范文网 - 专业文章范例文档资料分享平台

在LabVIEW中使用串口

来源:网络收集 时间:2018-12-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第一部分使用LabVIEW系统VI

一、串口VI介绍

LabVIEW的串口通讯VI位于Instrument I/O Platte的Serial中,包括:

VI名称 VISA Configure Serial Port VISA Write VISA Read VISA Serial Break VISA Bytes at Serial Port VISA Close VISA Set I/O Buffer Size VISA Flush I/O Buffer VI功能 初始化VISA resource name指定的串口通讯参数 将输出缓冲区中的数据发送到VISA resource name指定的串口 将VISA resource name指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中 向VISA resource name指定的串口发送一个暂停信号 查询VISA resource name指定的串口接收缓冲区中的数据字节数 结束与VISA resource name指定的串口资源之间的会话 设置VISA resource name指定的串口的输入输出缓冲区大小 清空VISA resource name指定的串口的输入输出缓冲区 二、使用说明

在LabVIEW环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下。

图1、串口操作数据流图

首先需要调用VISA Configure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等等。

图2、初始化串口

如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VISA Write,接收数据使用VISA Read。在接收数据之前需要使用VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据。

图3、从串口发送数据 图4、从串口接收数据

在某些特殊情况下,需要设置串口接收/发送缓冲区的大小,此时可以使用VISA Set I/O Buffer Size;而使用VISA Flush I/O Buffer则可以清空接收与发送缓冲区。在串口使用结束后,使用VISA Close结束与VISA resource name指定的串口之间的会话。

图5、设置缓冲区大小 图6、 清空缓冲区 图7、结束会话/线程

具体的例子可以参考:examples\\instr\\smplserl.llb。 第二部分使用MSCOMM控件

在LabVIEW中使用MSCOMM控件,与在VC、VB中使用一样。同样可以使用中断方式进行接收。

图8、使用控件的串口收发程序

图9、程序数据流图

首先通过LabVIEW的工具菜单“Tools >> Advanced >> Import ActiveX Controls”将Microsoft的串口控件-“Microsoft Communications Control,version 6.0”添加到LabVIEW环境中,存放在缺省路径即可,这样在User Controls Palette里面可以找到这个控件。

图10、添加ActiveX控件菜单

图11、选择添加用户控件

图12、用户控件

将串口控件 放置在Front Panel上,在框图程序中用控件属性对其进行编程,实现所需要的功能。

注意:一个串口资源要有一个MSCOMM控件与之相对应。

第三部分 注意事项

一、串口通讯的波特率设置要精确,比如要求9600的波特率,则晶振应选择11.0593MHz或其倍数。

二、由于通常情况下LabVIEW串口VI接收或发送的都是字符串(Normal),所以如果需要发送或接收十六进制数值(Hex),请在发送或接收之前进行必要的转换。

2.1、数值型数据的处理方法:

1. 如果这些数据是静态的,也就说在程序设计阶段要传输的数据就已经确定了,在这种情况下,首先

设置VISA Write的write buffer的显示属性为Hex Display,然后直接输入要发送的16进制字符串就可以了。串口设备的控制命令通常是由一个或多个16进制字符组成的,当我们需要对其进行控制时经常会采用这种方法发送控制命令。

2. 数据是动态的;即要传输的数值型数据是动态产生和变化的,在发送之前首先要将其转换成对应的

16进制字符串,才能赋给VISA Write发送。将这些数据构成一个数组,用Byte Array To String进行转换,转换的结果就是对应数组数值的字符串,可以提交VISA Write发送。或者使用Type Cast也可以实现同样的功能。

图13、串口数据转换界面

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库在LabVIEW中使用串口在线全文阅读。

在LabVIEW中使用串口.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/392062.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: