找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 1552|回复: 6

请教:关于不同VI程序之间的实时数据传输

[复制链接]
发表于 2008-10-10 20:12:26 | 显示全部楼层 |阅读模式
我做数据采集方面的应用。单独的AD以及DA程序均已调通。
现在想做一个简单的数据流:即从AD采回数据,不做任何操作,将采回的数据实时的传给DA输出

我试过用全局变量在AD与DA程序之间传送实时数据,但失败了

想请教大家,应该怎样实现两个VI程序之间的实时数据的传输??  烦请大家指点  谢谢!!
发表于 2008-10-10 22:10:36 | 显示全部楼层
用全局变量应该是可行的,具体出现的是什么错误呢?好运!
回复 顶

使用道具 举报

发表于 2008-10-10 22:23:10 | 显示全部楼层
用“同步”中的“通知”应该也可以的。
回复 顶

使用道具 举报

 楼主| 发表于 2008-10-11 13:53:46 | 显示全部楼层
先谢谢各位的回答!

我再描述具体一点哈:
我将AD程序采回的实时数据传送到全局变量var,然后在DA程序中先读取var然后DA输出, 是不是也要采用循环的方式不断的读取var才能实时的读出数据呢??

我尝试过不加循环来读取var,但发现仅仅只读取一次,并不能连续不断的读取暂存在var中的实时数据。

难道LABVIEW不能不依靠直接实现实时数据传递么?烦请大家指教!

谢谢!
回复 顶

使用道具 举报

发表于 2008-10-11 19:18:18 | 显示全部楼层
全局变量很难保证数据同步,如果要求同步,可以采用信号灯、事件、通告、队列的方式来进行。
如果单点采集、单点发送,则放在一个while内采用移位寄存器来实现即可。
多个while或者多个vi,就采用NI的同步结构吧。最好是生产--消费者
回复 顶

使用道具 举报

 楼主| 发表于 2008-10-13 16:17:12 | 显示全部楼层
Thanks for wdyjz's help!
(还是继续请教AD与DA程序之间的实时数据传输问题)

我仿照例程做了一个简单的通告程序:一个循环不断产生数据,发送通知,另外一个循环接收数据 (通告.vi 附件中)

我把上面程序稍做改动,去掉while循环,想把接收的数据直接实时输出。但无循环后,没有了输出(通告modified.vi附件中)

我想问,接收数据部分为什么一定要循环?(因为我的DA程序不方便做循环来接收AD采回来的实时数据)

谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 顶

使用道具 举报

发表于 2008-10-13 16:22:43 | 显示全部楼层
用 堆栈也可以吧。。。全局变量不好,占资源
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-30 00:00 , Processed in 0.048520 second(s), 14 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表