LabVIEW-串口通信

2025-10-09 06:13:09

1、   VISA是虚拟仪器软件体系结构的缩写(即Virtual Instruments Software Architecture),实质上是一个I/O口软件库及其规范的总称。

    VISA是应用于仪器编程的标准I/0应用程序接口,是工业界通用的仪器驱动器标准API(应用程序接口),采用面向对象编程,具有很好的兼容性、扩展性和独立性。用户可用一个API控制包括VXI、GPIB及串口仪器在内的不同种类的仪器。它还支持多平台工作、多接口控制,是一个多类型的函数库。

  

2、 在LabVIEW中编写的VISA接口程序(需要提前安装对应labVIEW版本的VISA驱动),当外部设备变更时,只需要更换几个程序模块即可使用,简单方便而且开发效率高。

LabVIEW-串口通信

3、

  在LabVIEW 中利用VISA节点进行串行通信编程。为了方便用户使用,LabVIEW将这些VISA节点单独组成一个子模块,共包含8个节点(程序框图-查看-函数选板-仪器I/O-串口),分别实现VISA串口配置、VISA写入、VISA读取、VISA关闭,VISA串口字节数,VISA串口中断,VISA设置I/O缓冲区大小,VISA清空I/O缓冲区域;

LabVIEW-串口通信

LabVIEW-串口通信

4、VISA串口配置:该节点主要用于串口的初始化,如图所示。

启用终止符(接线端):使串行设备做好识别终止符的准备。 如值为TRUE(默认),VI_ATTR_ASRL_END_IN属性设置为识别终止符。如值为FALSE,VI_ATTR_ASRL_END_IN属性设置为0(无)且串行设备不识别终止符。

终止符(接线端):通过调用终止读取操作。从串行设备读取终止符后读取操作终止。 0xA是换行符(\n)的十六进制表示。消息字符串的终止符由回车(\r)改为0xD。

超时(接线端):指定读/写操作的时间,以毫秒为单位。 默认值为10000。

VISA资源名称(接线端):指定要打开的资源,如PC的COM1,COM2等。VISA资源名称控件也可指定会话句柄和类。

波特率(接线端):是传输速率。 默认值为9600。

数据位(接线端):是输入数据的位数。 数据位的值介于5和8之间。默认值为8。

奇偶(接线端):指定要传输或接收的每一帧使用的奇偶校验。 该输入支持下列值。

错误输入(接线端):表明节点运行前发生的错误。该输入将提供标准错误输入功能。

停止位(接线端):指定用于表示帧结束的停止位的数量。 该输入支持下列值。流控制设置传输机制使用的控制类型。 该输入支持下列值。

VISA资源名称输出(接线端):是由VISA函数返回的VISA资源名称的副本。

错误输出(接线端):包含错误信息。该输出将提供标准错误输出功能。

LabVIEW-串口通信

5、VISA写入:使写入缓冲区的数据写入VISA资源名称指定的设备或接口。

VISA资源名称(接线端):指定要打开的资源。VISA资源名称控件也可指定会话句柄和类。

写入缓冲区(接线端):包含要写入设备的数据。

错误输入(接线端):表明节点运行前发生的错误。该输入将提供标准错误输入功能。

VISA资源名称输出(接线端):是由VISA函数返回的VISA资源名称的副本。

返回数(接线端):包含实际写入的字节数。

错误输出(接线端):包含错误信息。该输出将提供标准错误输出功能。

LabVIEW-串口通信

6、VISA串口字节数:返回指定串口的输入缓冲区的字节数。

Number of Bytes at Serial Port属性(接线端):可指定该会话句柄使用的串口的当前可用字节数。

LabVIEW-串口通信

7、VISA读取:从VISA资源名称指定的设备或接口中读取指定数量的字节,并使数据返回至读取缓冲区。

VISA资源名(接线端):称指定要打开的资源。VISA资源名称控件也可指定会话句柄和类。

字节总数(接线端):是要读取的字节数量。

错误输入(接线端):表明节点运行前发生的错误。该输入将提供标准错误输入功能。

VISA资源名称输出(接线端):是由VISA函数返回的VISA资源名称的副本。

读取缓冲区(接线端):包含从设备读取的数据。

返回数(接线端):包含实际读取的字节数。

错误输出(接线端):包含错误信息。该输出将提供标准错误输出功能。

LabVIEW-串口通信

8、VISA关闭:该节点主要用于关闭已打开的串口,释放串口资源,以便串口被其他程序所调用,如图所示。

VISA资源名称(接线端):指定要打开的资源。VISA资源名称控件也可指定会话句柄和类。

错误输入(接线端):是节点运行前发生的错误。在下列情况下,该输入可作为标准错误输入。 即使在节点运行前发生错误,节点仍正常运行。

错误输出(接线端):包含错误信息。该输出将提供标准错误输出功能。

LabVIEW-串口通信

9、VISA设置I/O缓冲区大小 :设置I/O缓冲区大小。如需设置串口缓冲区大小,须先运行VISA配置串口VI。

VISA资源名(接线端):称指定要打开的资源。VISA资源名称控件也可指定会话句柄和类。

屏蔽(接线端):指明要设置大小的缓冲区。 (I/O接收缓冲区,I/O传输缓冲区,I/O接收和传输缓冲区)

大小(接线端):指明I/O缓冲区的大小,以字节为单位。大小应略大于要传输或接收的数据数量。如在未指定缓冲区大小的情况下调用该函数,函数可设置缓冲区大小为4096字节。如未调用该函数,缓冲区大小取决于VISA和操作系统的设置。

错误输入(接线端):表明节点运行前发生的错误。该输入将提供标准错误输入功能。

错误输出(接线端):包含错误信息。该输出将提供标准错误输出功能

LabVIEW-串口通信

10、VISA清空I/O缓冲区:清空由屏蔽指定的I/O缓冲区。

VISA资源名称(接线端):指定要打开的资源。VISA资源名称控件也可指定会话句柄和类。

屏蔽(接线端):指明要刷新的缓冲区。 该输入支持下列值【1,清空接收缓存区域;2,向设备写入传输缓存区域;3,清空接收缓冲区并放弃内容(设备不执行任何I/O);4,清空传输缓冲区域】。

错误输入(接线端):表明节点运行前发生的错误。该输入将提供标准错误输入功能。

VISA资源名称输出(接线端):是由VISA函数返回的VISA资源名称的副本。

错误输出包含错误信息。该输出将提供标准错误输出功能。

LabVIEW-串口通信

11、VISA串口中断 VI:发送指定端口上的中断。通过连线数据至VISA资源名称输入端可确定要使用的多态实例,也可手动选择实例。

VISA资源名称(接线端):指定要打开的资源。VISA资源名称控件也可指定会话句柄和类。

持续时间(接线端):指定中断的长度,以毫秒为单位。 VI运行时,该值暂时重写VISA Serial Setting:Break Length属性的当前设置。此后,VI将把当前设置返回到初始值。

错误输入(接线端):表明节点运行前发生的错误。该输入将提供标准错误输入功能。

VISA资源名称输出(接线端):是由VISA函数返回的VISA资源名称的副本。

错误输出(接线端):包含错误信息。该输出将提供标准错误输出功能。

LabVIEW-串口通信

1、在LabVIEW 中,进行串口通信的基本步骤分为3步:

第一:串口初始化,利用Visa Configure Serial Port.vi节点设定串口的端口号、波特率、停止位、校验位、数据位。

第二:读写串口,根据需要利用Visa Write节点和Visa  Read节点对串口进行读写(写入指令和读取指令之间加入适当的延迟)。

第三:关闭串口,停止所有读写操作。

LabVIEW-串口通信

LabVIEW-串口通信

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢