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

[labview求助] 用labview生成可执行程序时文件读写出错如何解决?

[复制链接]
发表于 2010-8-13 11:20:53 | 显示全部楼层 |阅读模式
本帖最后由 gongshaorun 于 2010-8-13 11:22 编辑

编写了一个labview程序,完成了对usb传输过来的数据采集,在LabVIEW平台下运行没有问题,由于需要对数据进行处理,在程序框图中添加了如图代码,将数据保存在和主vi同一个文件目录下的xls文档中

现在想把编写的labview程序编译成可执行程序,在运行生成的exe文件时出现如下错误

我猜想是不是因为在生成exe程序时,默认将主vi和xls文档打包放在exe程序中,结果导致xls文件无法正确读写?请问这样的情况如何解决?

P.S. 昨天我有修改过程序框图里面的字符串索引,将其减2(想让保存数据的xls文件保存在主vi的上一级文件夹),这样的处理好像不管用,生成的exe文件还是出现找不到xls文件的错误,麻烦各位高手帮忙啦

本帖子中包含更多资源

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

×
发表于 2010-8-13 11:49:14 | 显示全部楼层
回复 顶

使用道具 举报

 楼主| 发表于 2010-8-13 14:17:56 | 显示全部楼层
回复 顶

使用道具 举报

 楼主| 发表于 2010-8-13 15:23:46 | 显示全部楼层
本帖最后由 gongshaorun 于 2010-8-13 15:30 编辑

回复 飞雨天 的帖子


    版主,这个链接下的帖子最后一个贴图中,在获取了当前路径后,做了两次拆分路径,最后那个应该是返回并保存路径吧,这个函数是在哪里选择呢?找了很长时间,不知道怎么选出这个函数,谢谢了,另外那两个粉红色的“Error in”和“Error out”是在函数选板里面的什么位置找到呢?非常感谢

本帖子中包含更多资源

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

×
回复 顶

使用道具 举报

发表于 2010-8-13 17:05:38 | 显示全部楼层
本帖最后由 飞雨天 于 2010-8-13 17:07 编辑

这个返回的不是保存路径,而是项目安装路径。
下面红色的error in和out你在前面板控件箱里找,就在数组和簇那里
至于strip path这个vi,就在你的get current vi's path那里的,截图:

本帖子中包含更多资源

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

×
回复 顶

使用道具 举报

发表于 2010-8-13 17:09:27 | 显示全部楼层
回复 顶

使用道具 举报

 楼主| 发表于 2010-8-16 09:44:30 | 显示全部楼层
回复 飞雨天 的帖子


    早晨一打开网页就看到版主热心的回复,太谢谢了,星期五下午在看到版主推荐的文章后,顺利解决文件保存出错的问题,现在完成了将一个简单代码转换成exe程序:)
现在有一个疑问,双击exe程序后,都还没有来得及配置相关参数,它就自动开始采数和保存,比较突然,回想以前自己运行大部分程序的时候,都是先出现一个界面,等都配置好参数后才点击运行键,不知道有什么好的解决办法么?谢谢了
回复 顶

使用道具 举报

发表于 2010-8-16 10:05:32 | 显示全部楼层
可以用事件来做,这个你先说你的思路,不要局限在LabVIEW,比如写个流程图,流程图这种东西,不是程序员也可以写,然后再讨论。
当然,我手头很多程序都可以满足你的这个小小问题,呵呵,不过,自己去想一下,然后用LabVIEW“翻译”下,还是很好的。你可以把你的流程图或者你的思路贴出来
回复 顶

使用道具 举报

 楼主| 发表于 2010-8-16 14:04:15 | 显示全部楼层
回复 飞雨天 的帖子


    可能我提问时的表述方法不够清楚,程序框图中的程序流程如下:
打开采集设备——配置系统A/D采样频率——(读取FIFO中的数据并根据前面板上输入的参数配置进行数据处理——数据及图标显示)——关闭采集设备
其中上面的“()”表示循环,知道按下停止键才跳出循环。
现在我打包得到的exe程序,双击图标以后就自动运行了,并不像是在labview编程调试情况下,能够先输入参数,然后点击工具栏左侧第一个“运行”键才开始按照上述流程运行
不过,在按下处于循环中的前面板上“停止”键以后(而不是闭关exe程序的操作),是可以进行参数调整的,随后就能够通过按下“运行”键来执行程序了
我现在想解决的问题就是如何在第一次,双击exe程序时能够让它不自动运行采数和处理,而是仅仅出现前面板,等待我们输入参数,通过手动的方式点击“运行”键来正式运行程序呢?
谢谢了
回复 顶

使用道具 举报

发表于 2010-8-17 10:44:54 | 显示全部楼层
回复 gongshaorun 的帖子

采集的东西我建议用producer/consumer架构,可能还需要queue传递控制信息。
如果不想太麻烦,可以while里放个case,开始按钮连接到case,只有开始按钮为true的时候,才开始采集,这个实现起来很简单,就不贴例子了
   
回复 顶

使用道具 举报

 楼主| 发表于 2010-8-17 15:30:14 | 显示全部楼层
回复 飞雨天 的帖子


呵呵,我刚开始学labview,起步的学习资料是《labview大学实用教程》,本身没有受过基础的软件编程训练,所以版主的建议里面(producer/consumer架构和queue传递控制信息)这两个概念我还没有接触到,现在做这个项目就是为了做实验,获得一些数据,以后要经常在论坛里面看帖子学习了
我现在有两个疑问:
1.labview编程界面下工具栏里面的向右箭头“运行键”是否在控件面板里面有对应的功能键?这样每次需要vi运行的时候就可以直接在前面板上实现操作了,就不需要点击“运行键”了。
2.在前面板上需要通过输入控件输入一些参数值用于程序框图中的数据处理来使用,如果在参数都已经确定的情况下,在前面板里面做数据操作将其设定为默认值即可,但有时候要调整那些已经设定好的参数,是否可以通过编程将这些设定好的参数值保存在一个excel文件中,在下次启动程序时自动调用这个文件,将经过修改后的参数值自动读取到相应的输入控件中呢?
非常感谢你啊!
回复 顶

使用道具 举报

发表于 2010-8-17 15:46:18 | 显示全部楼层
回复 gongshaorun 的帖子


     给你个截图,如下:
程序运行之后,需要点击“开始测量”才会进行数据采集,分析

本帖子中包含更多资源

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

×
回复 顶

使用道具 举报

 楼主| 发表于 2010-8-17 16:29:37 | 显示全部楼层
回复 飞雨天 的帖子

呵呵,前两个程序框图中的架构比较复杂啊,一时还看不大明白。
刚才在精华帖里面考古的时候发现了这个帖子,
http://www.cpubbs.com/bbs/viewthread.php?tid=18268&extra=page%3D1
是说的关于控件默认值的问题,在不少前辈的讨论中学习到了很多东西,不过最后说到文件打包生成exe文件以后就不能修改默认值了,需要靠写ini和注册表的方式,这个如何操作呢?
   
回复 顶

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-29 03:19 , Processed in 0.053795 second(s), 11 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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