串行接口通过逐位传输数据,仅需一对线路即可实现发送与接收设备间的双向通信。其优势在于结构简单、成本低廉、适合远距离传输,但传输速率相对较低。
1、 VISA是虚拟仪器软件架构的简称,全称为Virtual Instruments Software Architecture,本质上是一套关于I/O接口的软件库及其使用规范的集合,广泛应用于测试与测量系统的数据通信和设备控制中。
2、 VISA是一种广泛应用于仪器编程的标准输入输出应用程序接口,被工业界普遍采纳为通用仪器驱动标准。它基于面向对象的设计理念,具备良好的兼容性、可扩展性和平台独立性。通过统一的API,用户可操控多种设备,包括VXI、GPIB及串行接口仪器。同时支持跨平台运行与多接口管理,是一个功能丰富的多类型函数库。
3、 在LabVIEW中开发VISA接口程序时,需预先安装对应版本的VISA驱动。当连接的外部设备发生变化,仅需替换少数模块即可完成适配,操作简便,灵活性强,显著提升了开发效率,适用于多种设备通信场景。
4、 VISA串口配置用于实现串口初始化功能,具体操作所示。
5、 启用终止符(接线端)用于设定串行设备是否准备识别终止符。当值为真(默认状态)时,系统通过VI_ATTR_ASRL_END_IN属性启用终止符识别;若值为假,则该属性被设为0,表示不启用终止符识别功能,串行设备将忽略任何终止符信号。
6、 终止符(接线端)用于结束读取操作,当从串行设备接收到指定终止符时,读取即停止。0xA是换行符的十六进制值,原消息字符串的终止符由回车调整为0xD。
7、 设置读写操作的超时时间,单位为毫秒,默认值为10000。
8、 VISA资源名称(接线端)用于设定待打开的设备接口,例如计算机的COM1、COM2等串口,同时该控件还支持配置会话句柄与资源类别信息。
9、 波特率(接线端)指数据传输速度,通常默认设置为9600。
10、 数据位指输入数据的位数,取值范围为5到8,默认为8。
11、 奇偶校验(接线端):设置每帧数据传输时采用的奇偶校验方式,支持多种指定值。
12、 错误输入(接线端):用于指示节点运行前出现的异常,具备标准错误输入功能。
13、 停止位(接线端)用于设定标识帧结束的停止位数目,可选值如下。流控制则定义传输过程中采用的控制方式,同样支持特定选项。
14、 VISA资源名称输出(接线端)是VISA函数返回的资源名称的复制结果。
15、 错误输出(接线端)用于传递错误信息,提供标准的错误输出功能。
16、 将数据从写入缓冲区传输至由VISA资源名称指定的设备或接口。
17、 指定待打开的资源名称(接线端),该控件还可用于设置会话句柄与类别信息。
18、 写入缓冲区(接线端)用于存放待写入设备的数据。
19、 错误输入(接线端):用于指示节点运行前的异常情况,具备标准错误输入功能。
20、 VISA资源名称输出(接线端)为VISA函数返回的资源名称副本。
21、 返回值为接线端实际写入的字节数。
22、 错误输出(接线端)用于传递错误信息,提供标准的错误输出功能。
23、 返回指定VISA串口输入缓冲区中的字节数量。
24、 串口字节数属性:用于设定当前会话句柄对应的串行端口中可读取的可用数据字节数。
25、 从指定VISA设备或接口读取设定数量的字节数据,并将结果存入读取缓冲区。
26、 VISA资源名用于指定待打开的接线端资源,该控件还可设置会话句柄与类别信息。
27、 字节总数(接线端)表示需读取的字节数。
28、 错误输入(接线端):用于指示节点运行前的异常情况,具备标准错误输入功能。
29、 VISA资源名称输出(接线端)为VISA函数返回的资源名称的复制品。
30、 读取缓冲区(接线端)用于存储从设备接收的数据信息。
31、 返回数值表示实际读取的字节数。
32、 错误输出(接线端):用于传递错误信息,实现标准错误输出功能。
33、 该节点用于关闭已开启的串口,释放相应资源,确保串口可被其他程序调用。
34、 VISA资源名称(接线端)用于设定待打开的资源,该控件还可配置会话句柄与类别信息。
35、 错误输入(接线端)指节点运行前出现的异常情况,可在特定条件下作为常规错误输入处理,即便此前发生错误,节点仍可继续正常执行。
36、 错误输出(接线端)用于传递错误信息,提供标准的错误输出功能。
37、 设置VISA的I/O缓冲区大小时,若要调整串口缓冲区,需先执行VISA配置串口VI,再进行相应设置。
38、 VISA资源名用于指定待打开的资源,该控件还可设置会话句柄及类别信息。
39、 屏蔽(接线端):用于指定需设定容量的缓冲区类型,包括I/O接收、I/O发送及收发共用缓冲区。
40、 接线端的大小用于设定I/O缓冲区的容量,单位为字节,建议设置值略大于实际传输或接收的数据量。若调用函数时未明确指定缓冲区大小,系统将默认设为4096字节。若完全未调用此函数,则缓冲区大小由VISA及操作系统自身的配置决定。
41、 错误输入(接线端):用于指示节点运行前的异常情况,具备标准错误输入功能。
42、 错误输出(接线端)用于传递错误信息,具备标准错误输出功能。
43、 清除VISA指定屏蔽的I/O缓冲区数据。
44、 指定待打开的VISA资源名称(接线端),该控件还可设置会话句柄及类别信息。
45、 屏蔽(接线端)用于指定需刷新的缓冲区类型,支持以下四种操作:1. 清除接收缓存区域;2. 将数据写入设备的传输缓存区域;3. 清空接收缓冲区并丢弃其中内容,设备不进行I/O操作;4. 清除传输缓存区域。
46、 错误输入(接线端):用于指示节点运行前的异常情况,具备标准错误输入功能。
47、 VISA资源名称输出(接线端)是VISA函数返回的资源名称的复制结果。
48、 错误输出会显示错误详情,用于标准错误信息的传递与处理。
49、 VISA串口中断VI:向指定端口发送中断信号。可通过连接数据至VISA资源名称输入端自动选择多态实例,或手动设定所需实例。
50、 VISA资源名称(接线端)用于设定待打开的资源,同时可通过该控件配置会话句柄与类别信息。
51、 持续时间(接线端):用于设定中断信号的时长,单位为毫秒。在VI执行期间,该值会临时覆盖VISA串行设置中的中断长度属性。当VI运行结束后,该属性将自动恢复至原先的设定值,确保配置的一致性与稳定性。
52、 错误输入(接线端):用于指示节点运行前的异常情况,具备标准错误输入功能。
53、 VISA资源名称输出(接线端)为VISA函数返回的资源名称的复制结果。
54、 错误输出(接线端)用于传递错误信息,提供标准的错误输出功能。
55、 在LabVIEW中实现串口通信需完成配置、读写及关闭端口三步骤。
56、 首先进行串口初始化,通过Visa Configure Serial Port.vi节点配置串口号、波特率、停止位、校验位及数据位等通信参数,确保串口连接正常并满足设备通信要求。
57、 第二:通过Visa Write和Visa Read节点对串口进行读写操作,根据实际需求发送指令并接收数据,注意在写入与读取之间设置合理的延时以确保通信稳定。
58、 第三步:关闭串口并终止所有读写任务。
