LabVIEW如何控制串口读取数据,有数据时才读,没数据不读,

没数据时要求不空读,因为需要保存上次读到的数据一致到新数据传来,用了条件判断结构,没数据时就是说条件为假时虽然没读数据可“未连线时默认”依然会把数据传递下去就是0传下去这样,数据经处理后得到的波形类似锯齿波(假设串口上发数据每次都一样),0更新老数据在新数据还未来时

读数前,用“VISA串口字节数”函数先检查下串口上是否有数,然后再来读

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-27
labview串口不能接收通知,所以只能循环不断地读取,因为串口发送通知,一般是以窗口消息进行发送的,但labview封装了窗口消息,所以无法获取。不知新版的labview有无这个功能,至少在labview 2009上面没有这个功能。本回答被提问者和网友采纳

LabVIEW 编程实例:手把手教你串口仪器控制
自带范例中的延时,用于等待仪器完全响应。读取串口缓冲区所有数据,发送数据后需等待仪器回送响应。时间调整需适当,避免程序长时间等待。若回送字符串固定,推荐使用固定字符串个数编程,延时方式不适用。举例:控制开关接口,输出允许命令为OUT1,禁止命令为OUT0。最简程序控制开关。某些仪器在连接或打开电源...

labview中,为什么能写入串口数据,却不能读取串口数据
建议 1. 在打开串口设备时使用阻塞方式,不会设置的话查查open系统调用的帮助,它有个flag;2. 把while循环内的if语句去掉。

labview串口读取更新数据
labview串口读取更新数据步骤如下:1、打开LabVIEW软件,创建一个新的VI。2、在BlockDiagram中添加SerialPort控制器,该控制器可以通过串口与外部设备进行通信。右键单击BlockDiagram,选择FunctionsPalette,然后选择MeasurementInput&Output>Serial。3、将SerialPort控制器拖放到BlockDiagram上,右键单击SerialPort控制...

我用LABVIEW的VISA将数据写入,但从缓冲区读取时端口当前的字节数显示为...
对于这个问题,首先建议你用串口调试助手等工具先进行调试,看看发送数据时,转换接口灯是否一闪一闪的,闪代表发送过去了,那看看接受的指示灯呢?都闪,不停的闪,说明调试成功。没成功,就是你写入地址的格式不正确(比如十六进制的,还是按十进制的,多试几下),这是本人经历过的。希望对你有点用...

关于LabVIEW串口读取数据
这个多半是因为你读取的字串有结尾符(例如有些通信协议以0x0D,即回车符,做结尾符)。假设有个结尾符,那么你读取接收缓冲区相应长度的字符串后,由于没有考虑结尾符,它就会留在缓冲区中,你下一组字符串的第一个字符就被移到下一行了(回车符同时可以换行),这样你每次读的都是上一次的第一个...

labview 串口 维持接收到的数据
即使读取0字节也是读取,会输出空字符串)把原来的字符串显示控件的内容给覆盖了。你可以这样把读串口和显示控件都放在条件分支结构中。另一个分支是0,里面只用把visa资源的线连过去,别的什么都不用放。这样你的串口就只有在有数据来的时候才会读取了,数据也能保持住。

请教labview高手如何实时读取串口数据
你在visa write控件后边创建一个属性节点,选择property node--serial setting--number of bytes at serial port,然后把选的这个number连接在visa read控件的byte count上就行了,要读多次就在加个循环,把属性节点到读取这段都包进去,循环里最好搞个50ms的延时,别循环太快把电脑给弄死了。

用labview写一个串口通信程序,实时监控串口,这个串口不定时的会有一些...
在while循环中监控串口中的字节数,当有数据过来时,延时100ms,将所有的数据接收完整,然后清空串口缓存区,继续监听串口

...用labview和232串口线读取光谱仪谱线数据,但数据无输出。。。_百度...
你要先发送一个读取命令吧,否则光谱仪不能往上位机发数据的。在光谱仪的手册里,应该都写明了读取指令或者写控制指令的语句,定义了数据格式,这些数据格式就是某种协议,如果是简单串口的话,发送一个读取的指令后,光谱仪就会往上位机发送数据,然后上位机用LabVIEW的串口就可以读取了。

关于Labview的VISA串口通信问题!!!求大牛!
你这个原因是 VISA读取到指定数目没读到,但是已经超时。比如你设定读取10个字节,结果读取到8个,一直等不到。而且串口是有超时的,默认是10S。百度“那些年,我们一起LabVEIW”,仪器版块试试。里面有教程。一般来说,控制仪器如果要立即返回的话,加个终止符就可以了。仪器一般都有终止符 ODOA之类的...

相似回答