在LabVIEW中使用串口.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第一部分使用 LabVIEW系统VI 一、串口VI 介绍 LabVIEW的串口通讯VI位于InstrumentI/OPlatte的Serial中,包括: VI名称 VI功能 VISA Configure SerialPort 初始化VISAresourcename指定的串口通讯参数 VISAWrite 将输出缓冲区中的数据发送到 VISAresourcename指定的串口 VISARead 将VISAresourcename指定的串口接收缓冲区中的数据读取指定字节 数的数据到计算机内存中 VISASerialBreak向VISAresourcename指定的串口发送一个暂停信号 VISA Bytes atSerial Port 查问VISAresourcename指定的串口接收缓冲区中的数据字节数 VISAClose 结束与VISAresourcename指定的串口资源之间的会话 VISA SetI/O Buffer Size 设置VISAresourcename指定的串口的输入输出缓冲区大小 VISA Flush I/O Buffer 清空VISAresourcename指定的串口的输入输出缓冲区 二、使用说明 在LabVIEW 环境中使用串口与在其余开发环境中开发过程近似,基本的流程框图如下。 图1、串口操作数据流图 首先需要调用VISAConfigureSerialPort  达成串口参数的设置,  包括串口资源分派、波特率、 数据位、停止位、校验位和流控等等。 图2、初始化串口 如果初始化没有问题,就能够使用这个串口进行数据收发。发送数据使用VISAWrite,接收数据使用VISARead。在接收数据以前需要使用VISABytesatSerialPort查问目前串口接收 缓冲区中的数据字节数,如果VISARead要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或许缓冲区中的数据字节数达到要求的字节数。自然也能够分批读取接收缓冲区或许只从中读取一定字节的数据。 图3、从串口发送数据  图4、从串口接收数据 在某些特殊情况下,需要设置串口接收  /发送缓冲区的大小,此时能够使用  VISASetI/O BufferSize;而使用 后,使用VISAClose  VISAFlushI/OBuffer则能够清空接收与发送缓冲区。在串口使用结束 结束与VISAresourcename指定的串口之间的会话。 图5、设置缓冲区大小图6、清空缓冲区图7、结束会话/线程 详细的例子能够参照:examples\instr\smplserl.llb。 第二部分使用MSCOMM控件 在LabVIEW中使用MSCOMM控件,与在VC、VB中使用同样。同样能够使用中止方式进行接收。 图8、使用控件的串口收发程序 图9、程序数据流图 首先经过LabVIEW的工具菜单“Tools>>Advanced>>ImportActiveXControls将”Microsoft 的串口控件-“MicrosoftCommunicationsControl,version6.0添”加到LabVIEW环境中,寄存 在缺省路径即可,这样在UserControlsPalette里面能够找到这个控件。 图10、增添ActiveX控件菜单 图11、选择增添用户控件 图12、用户控件 将串口控件放置在FrontPanel上,在框图程序中用控件属性对其进行编程,实现 所需要的功能。 注意:一个串口资源要有一个MSCOMM控件与之相对应。 第三部分注意事项 一、串口通讯的波特率设置要精准,比方要求9600的波特率,则晶振应选择11.0593MHz 或其倍数。 二、由于往常情况下LabVIEW串口VI接收或发送的都是字符串(Normal),所以如果需要发送或接收十六进制数值(Hex),请在发送或接收以前进行必要的变换。 2.1、数值型数据的办理方法: 如果这些数据是静态的,也就说在程序设计阶段要传输的数据就已经确定了,在这 种情况下,首先设置VISAWrite的writebuffer的显示属性为HexDisplay,然后直接输入要发送的16进制字符串就能够了。串口设施的控制命令往常是由一个或多个 16进制字符组成的,当我们需要对其进行控制时经常会采用这种方法发送控制命令。 数据是动向的;即要传输的数值型数据是动向产生和变化的,在发送以前首先要将 其变换成对应的16进制字符串,才能赋给VISAWrite发送。将这些数据组成一个 数组,用ByteArrayToString进行变换,变换的结果就是对应数组数值的字符串,能够提交VISAWrite发送。或许使用TypeCast也能够实现同样的功能。 图13、串口数据变换界面 图14、串

文档评论(0)

151****6617 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体陈**

1亿VIP精品文档免费下

相关文档

相关课程推荐