labview__串口通信实现过程

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Labview实现串口通信步骤

1.在程序面板上添加VISA配置接口

2.添加后,开启帮助文档的显示。菜单的Help->show context help,如下图

鼠标选择目标则会显示帮助框。如下图所示。

3.创建相应的配置

在程序面板中鼠标移动到对应的引脚上,点击鼠标右键->create->control,创建后,界面面板上会出现对应的控制框。如下图所示,创建个VISA resource name。

图0-1 创建窗口选择控件

前面板显示如下:

图0-2 前面板显示控件选择

4依次创建,波特率、停止位、数据位等如下图所示。

5.创建个while循环,用于放置发送的程序鼠标移动到循环条件控制的引脚上,创建个control。用于调试,不对条件处理,会报错。

6前面板放置个按钮,用于控制数据的发送7.创建个事件,用于响应发送按钮

鼠标移动到timeout的位置,鼠标右键选择edit events…如下图所示。

操作上面后,出现如下界面:选择需要响应的控件,这里选择“ok button”,选择鼠标按下。点击ok后,事件的名称也变化了。如下图所示。

如果鼠标点击按键,则会进入事件处理。8创建VISA写函数

9连接端口和写函数10添加个关闭函数

11.创建字符串控件,传递给写函数,用于发送

选中VISA Write的write buffer,右键create->control,

12界面如下所示

13.安装虚拟串口,提供一个下载地址

/soft/47470.html

用虚拟串口配置两个端口,配置好后,这两个串口之间是自动连接上,模拟硬件上两个串口对接上的。

如上图,指定好端口,点击Add pair。

14运行串口工具,提供一个下载地址

/softview/SoftView_77355.html

15.运行串口工具,打开串口,运行VI,发送数据

我的电脑配置的是COM12和COM13,vi选择COM12.

运行VI,在write buffer里面填写test,点击OK发送。

每点击一次,发送一次。

16.建立接收模块

添加个while循环,

创建while循环,用于接收。创建VISA Read,在Read buffer引脚上点击鼠标右键create->indicator,建立个显示控件。

使能串口事件,添加个VISA Enable Event.

17 在VISA Enable Event的event type,创建个常量

然后在常量的下拉列表中选择Serial Character。这个表示串口接收到数据,可以进入帮助文档查看详细的说明。

18.创建事件等待

19.连接事件,等待事件的类型直接连接在VISA Enable Event的Event type即可。

20.添加个属性节点,Visa Bytes at serial port,获取串口中的字节数

连接字节数,这样告诉需要读取的字节数。也能保证每次都把串口中的数据读完。

21.添加个case结构

如果字节数大于0,那么读取数据并显示。事件的超时时间设置为1000ms。

22.运行效果

23.调整下界面

24程序无法结束

按理说,点击两个stop按键,程序应该结束才对,但是事实不是这样的。点击之后会卡住哪?

发送循环中,事件是一直等待按键的时间处理。即使点击stop后程序也会等待按键的处理,现象是:点击两个结束按钮后,还需要点击一次发送“ok按钮”才能结束程序。

处理办法:在发送按钮事件创建个超时处理。

1.如下图所示,中事件的超时时间设置1000ms的常量

2.将鼠标放置在图中的红框中,点击鼠标右键,选择Add Event Case..

3.添加应用超时判断,如下图所示。选择点击ok

添加后如下:

这样运行程序中,点击两个STOP按钮后就可以结束程序了。

25.使用一个按钮来结束程序

删除stop 和STOP2按钮,在界面面板上添加个结束按键,如下图所示。鼠标移动到按键上,右键,创建stop按钮的value属性节点,如下图所示。

创建两个结束按键的value属性节点,连接在循环条件上。

但是注意上面图中,连接线后,是错误的。处理办法如下:

修改按键的行为,默认是第二排第二个,修改为上面第一个即可。

26优化1后的结果

运行程序后,点击一下stop,程序就结束了。

27.优化显示框

28将接收的字符追加显示

添加一个移位寄存器,将鼠标移动到while循环的左右边界上,点击鼠标右键,选择addshift Register如下图所示。

添加一个字符串连接函数,如下图所示。

连接线路,如下图所示:

这样程序是错误的:点击下图所示,可以查看错误的地方,提示。问题是在,添加了移位寄存器,然后两边的值连接经过case结构,我们只连接了True情况,False情况还没处理。

连接false下面的线路,如下图所示。

29优化2运行效果

30.添加滚动条

鼠标移动到显示框上右键,选择属性。界面如下。

选中Show Vertical scroll bar,显示框的滚动条就出来了,点击ok。

31还有一问题,接收数据中,滚动条不会跟着动

处理办法是,设置滚动条的位置。创建滚动条位置属性节点,Scroll Position.

鼠标移动到属性节点上,右键,选择Change to Write。

那么控制的引脚方向转到前面了。然后创建个常量1000,如下图所示。

这样呢,接收的字符显示的行数在1000以内,那么都会定位刚接收的字符位置。

32 点击stop后,再运行程序的时候,stop 还是那个状态

处理办法是在初始化过程中,对stop的按键值进行初始化。创建stop的value属性节点。如下图所示。

相关文档
最新文档