LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通信的全部功能。
在工业自动化控制系统中,经常需要进行远程控制或数据采集,这些控制与数据采集可以通过哪些接口实现呢?我们常常会想到用PCI控制板卡或PCI数据采集板卡等,但要增加这些PCI卡,势必会增加成本,基于LabVIEW下,利用虚拟串口也可以轻松实现上述功能,轻松实现串口之间的数据通信和采集。串口通信通常有两种方式,一种是RS232通信方式,一种是RS485通信方式,前者适用于近距离通信,通常在15m范围内,后者适用于远距离通信,通信距离通常是在1200米范围内。
1 系统功能
设计一个PC机串口通信程序,并完成其控制系统的程序设计、画面制作、系统接线和运行调试。
在程序的前面板上分别选择这两个虚拟串口com3和com4,两个串口通信程序分别命名为A机与B机。建立好后,两个程序运行,A机发送字符或十六进数值,B机应该收到并显示;B机发送字符或十六进制数值,A机应该收到并显示,A机和B机串口通信界面如图1所示。
A机串口通信界面
B机串口通信界面图1 串口通信程序界面
2 系统设计流程框图
先配置端口、波特率、停止位、数据位、校验位;然后在A机写入缓冲区写入要发送的字符,点击A机发送按钮;观察B机,是否收到A机所发送过来的字符;在B机写入缓冲区写入要发送的字符,点击B机发送按钮;观察A机,是否收到B机所发送过来的字符,根据系统控制要求,绘制系统流程如图2所示[2]:
图2 A机、B机串口通信系统流程框图
3 VISA配置串口
首先需要调用VISA Co
nfigure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等等。
如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VISA Write,接收数据使用VISA Read。在接收数据之前需要使用VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据。
在某些特殊情况下,需要设置串口接收/发送缓冲区的大小,此时可以使用VISA Set I/O Buffer Size;而使用VISA Flush I/O Buffer则可以清空接收与发送缓冲区。在串口使用结束后,使用VISA Close结束与VISA resource name指定的串口之间的会话。
4 根据控制要求进行LabVIEW程序设计
根据控制要求进行程序设计,首先在桌面双击Natio
nal Instruments LabVIEW 2011,进入项目浏览器,在项目浏览器窗口,建立新项目,然后在我的电脑——右键新建——VI,新建VI后,我们会看到两个新的窗口,分别是前面板和程序框图,保存VI→并左右两栏显示。在程序框图里添加VISA配置。
然后创建While循环与条件结构:
a.程序框图——编程——结构——While循环
b.程序框图——编程——结构——条件结构
再然后创建串口配置输入控件:
a.端口:在连线端口上右键——创建——输入控件;
b.波特率:在连线波特率端口上右键——创建——输入控件;
c.数据位:在连线数据位端口上右键——创建——输入控件;
d.校验位:在连线校验位端口上右键——创建——输入控件;
e.停止位:在连线停止位端口上右键——创建——输入控件;
f.错误输入:在连线错误输入端口上右键——创建——输入控件;
g.条件输入框:在连线条件输入框上右键——创建——输入控件;
h.While循环停止:在连线While循环停止上右键——创建——输入控件;
最后完善和优化LabVIEW程序,最终形成如图3所示程序[1]。
条件为“真”值的控制程序 条件为“假”值的控制程序图3 LabVIEW控制程序
5 系统调试
在A机的写入缓冲区中,写入要发送的字符,点击发送,观察B机读取缓冲区中显示是否与A机发送的字符一致,如是一致,则说明PC机与PC机虚拟串口通信正常,同理在B机的写入缓冲区中,写入要发送的字符,点击发送,观察A机读取缓冲区中显示是否与B机发送的字符一致。这样基于LabVIEW下PC机与PC机虚拟串口通信程序的设计就完成了。点击退出按钮,系统即可退出运行。
[1]黄荻.基于LabVIEW与STC单片机的温度监测系统设计[J].电子测试,2017(4):20-21.
[2]汤佳明,安伟.基于LABVIEW的上位机串口通信程序设计[J].电子设计工程,2018(11):86-90.
LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通信的全部功能。在工业自动化控制系统中,经常需要进行远程控制或数据采集,这些控制与数据采集可以通过哪些接口实现呢?我们常常会想到用PCI控制板卡或PCI数据采集板卡等,但要增加这些PCI卡,势必会增加成本,基于LabVIEW下,利用虚拟串口也可以轻松实现上述功能,轻松实现串口之间的数据通信和采集。串口通信通常有两种方式,一种是RS232通信方式,一种是RS485通信方式,前者适用于近距离通信,通常在15m范围内,后者适用于远距离通信,通信距离通常是在1200米范围内。1 系统功能设计一个PC机串口通信程序,并完成其控制系统的程序设计、画面制作、系统接线和运行调试。在程序的前面板上分别选择这两个虚拟串口com3和com4,两个串口通信程序分别命名为A机与B机。建立好后,两个程序运行,A机发送字符或十六进数值,B机应该收到并显示;B机发送字符或十六进制数值,A机应该收到并显示,A机和B机串口通信界面如图1所示。A机串口通信界面B机串口通信界面图1 串口通信程序界面2 系统设计流程框图先配置端口、波特率、停止位、数据位、校验位;然后在A机写入缓冲区写入要发送的字符,点击A机发送按钮;观察B机,是否收到A机所发送过来的字符;在B机写入缓冲区写入要发送的字符,点击B机发送按钮;观察A机,是否收到B机所发送过来的字符,根据系统控制要求,绘制系统流程如图2所示[2]:图2 A机、B机串口通信系统流程框图3 VISA配置串口首先需要调用VISA Co
nfigure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等等。如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VISA Write,接收数据使用VISA Read。在接收数据之前需要使用VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据。在某些特殊情况下,需要设置串口接收/发送缓冲区的大小,此时可以使用VISA Set I/O Buffer Size;而使用VISA Flush I/O Buffer则可以清空接收与发送缓冲区。在串口使用结束后,使用VISA Close结束与VISA resource name指定的串口之间的会话。4 根据控制要求进行LabVIEW程序设计根据控制要求进行程序设计,首先在桌面双击Natio
nal Instruments LabVIEW 2011,进入项目浏览器,在项目浏览器窗口,建立新项目,然后在我的电脑——右键新建——VI,新建VI后,我们会看到两个新的窗口,分别是前面板和程序框图,保存VI→并左右两栏显示。在程序框图里添加VISA配置。然后创建While循环与条件结构:a.程序框图——编程——结构——While循环b.程序框图——编程——结构——条件结构再然后创建串口配置输入控件:a.端口:在连线端口上右键——创建——输入控件;b.波特率:在连线波特率端口上右键——创建——输入控件;c.数据位:在连线数据位端口上右键——创建——输入控件;d.校验位:在连线校验位端口上右键——创建——输入控件;e.停止位:在连线停止位端口上右键——创建——输入控件;f.错误输入:在连线错误输入端口上右键——创建——输入控件;g.条件输入框:在连线条件输入框上右键——创建——输入控件;h.While循环停止:在连线While循环停止上右键——创建——输入控件;最后完善和优化LabVIEW程序,最终形成如图3所示程序[1]。条件为“真”值的控制程序 条件为“假”值的控制程序图3 LabVIEW控制程序5 系统调试在A机的写入缓冲区中,写入要发送的字符,点击发送,观察B机读取缓冲区中显示是否与A机发送的字符一致,如是一致,则说明PC机与PC机虚拟串口通信正常,同理在B机的写入缓冲区中,写入要发送的字符,点击发送,观察A机读取缓冲区中显示是否与B机发送的字符一致。这样基于LabVIEW下PC机与PC机虚拟串口通信程序的设计就完成了。点击退出按钮,系统即可退出运行。参考文献:[1]黄荻.基于LabVIEW与STC单片机的温度监测系统设计[J].电子测试,2017(4):20-21.[2]汤佳明,安伟.基于LABVIEW的上位机串口通信程序设计[J].电子设计工程,2018(11):86-90.
文章来源:通信企业管理 网址: http://txqygl.400nongye.com/lunwen/itemid-6542.shtml
上一篇: 北斗数传通信模块在智能电网中的应用
下一篇: 工业经济论文_隐形冠军精一创业能力生成机理及路径研究