本篇目录:
labviewvisa通信会冲突吗
读与写在labview要分开执行,不要同时进行。visa在首次通信时打开,以后就分步进行读写操作,在读写操作都结束时,再执行visa关闭。
一个串口用一个循环,只要其他地方不同时使用同一个串口就可以的,因为使用同一个串口会产生冲突。其实,LabVIEW自带的范例中也有这样的例子,Basic 2 Port Serial Write and Read.vi,你可以看看这个例子。
![包含labviewvisa传输中文的词条-图1 包含labviewvisa传输中文的词条-图1](https://www.gongye.com.cn/zb_users/upload/2023/10/20231019214933169772337310498.jpeg)
可以 虚拟串口通常是以成对出现,两个是互通的,比如COM2/COM3,LABVIEW从COM2写入,调试助手可以从COM4读取到。
再试试吧。连接VISA获取USB中断数据时,可能会有接线端冲突,要在 visa等待事件 定义类型,如下图所示。
这一类设备只需以与GPIB仪器通讯同样的方式,使用VISAOpen,VISAClose,VISARead和VISAWrite功能。USBTMC设备符合VISAUSBINSTR类函数能够理解的协议。
![包含labviewvisa传输中文的词条-图2 包含labviewvisa传输中文的词条-图2](https://www.gongye.com.cn/zb_users/upload/2023/10/20231019214933169772337395907.jpeg)
这个是没问题的,可以。你首先检查一下你安装的VISA驱动是否支持你labview的版本,安装后再打开NI MAX将WINDOWsI的波特率设置和你串口的波特率一致再保存,再看看你的COM1或COM2,只要没有感叹号就可以了。希望可以帮你。
labviewVISA读取问题
1、首先: 你的初始化模块使用错误 你没有严格的配置初始化属性, 就是 波特率, 奇偶校验位, 停止位等属性 其次: 你在循环中的读取和写入模块中添加了时间延迟,可你并不知道到底需要延迟多少ms 所以很有可能出问题。
2、循环外的串口参数配置和循环体是并行执行的,执行到属性节点的时候串口还没配置好。可以延时进入循环,不过建议最好采用串行执行,也就是把与循环体连接的紫色粗线改接到参数设置的后面。
![包含labviewvisa传输中文的词条-图3 包含labviewvisa传输中文的词条-图3](https://www.gongye.com.cn/zb_users/upload/2023/10/20231019214938169772337876297.jpeg)
3、对于这个问题,首先建议你用串口调试助手等工具先进行调试,看看发送数据时,转换接口灯是否一闪一闪的,闪代表发送过去了,那看看接受的指示灯呢?都闪,不停的闪,说明调试成功。
4、设置缓冲区可以用 VISA Set I/O Buffer Size这个函数,但是毕竟131072太大了,用这个来设置估计也会有丢失数据的可能性。
5、你这个原因是 VISA读取到指定数目没读到,但是已经超时。比如你设定读取10个字节,结果读取到8个,一直等不到。而且串口是有超时的,默认是10S。百度“那些年,我们一起LabVEIW”,仪器版块试试。里面有教程。
6、首先USB仪器连接时用厂家提供的标准驱动,不要通过labview去创建驱动。驱动安装后,点击MAX中的“打开VISA测试面板”,发送基本指令确认是否能够通信。最后在Labview程序中用VISA就可以实现编程了。
labview与51单片机通信的问题
1、labview与单片机串口通信的问题与解决办法 :这是发送数据没有加停止符,labview无法识别是否停止。还有就是发送的数据类型可能有错误。
2、labview的PC与单片机通讯。首先,你使用的是以太网作为通讯介质,那么就最好使用以太网上通用的通讯协议。目前以太网上最常用的是TCP(点对点,有重发机制,可靠)或者UDP(多终端,广播,不可靠)。
3、程序有问题,一个串口一般只配置一次。如果又要读又要写,参照下图 ,用同一个串口引用。
4、因为是单片机主动发数据,而不是LabVIEW要数据之后才发,所以有可能在串口一次发送的中途LabVIEW开始读数据,这里就需要考虑如何找数据的起始位置的问题了,这个可以用加同步头的方式解决,这里先不讨论。
5、labview里面有串口发送控件,从网上搜一下怎么用,设置好端口发送就行。单片机端要根据labview的发送数据格式来做接收缓存和接收数据的解析。
到此,以上就是小编对于的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。