LabVIEWwilliam hill官网
直播中

chentina

13年用户 99经验值
擅长:测试与测量 测试与测量 测试与测量 测试与测量 测试与测量 测试与测量 测试与测量 测试与测量 测试与测量 测试与测量 测试与测量 测试与测量 测试与测量 测试与测量 测试与测量 测试与测量
私信 关注
[问答]

求助!!LABVIEW生成的DLL被调用后无法停止!

如附件图所示,读取本地文件夹里的文件,然后通过采集卡发送出去,输入量是文件地址的字符串和while循环的停止标志位(1表示停止循环,0表示无限循环)。
微信图片_20180209165334.png
微信图片_20180209165725.png
labview生成DLL,在PYTHON环境中调用DLL。但是调用该DLL的函数,signal trans("D:TESTVF",0),可以将文件夹中的一个个文件读取出来并形成波形由采集卡发送出去,可是该DLL函数就再也退出不while循环,就不能再给函数赋值signal trans("D:TESTVF",1),使其停止while,不再发送数据。

觉得这样的程序结构导致的这样的问题,各位有没有好的办法解决,多谢!

回帖(8)

sszx2007

2018-2-22 22:42:02
你把“停止标志位”放在while循环里面就行了
举报

chentina

2018-2-26 20:17:58
引用: sszx2007 发表于 2018-2-22 22:42
你把“停止标志位”放在while循环里面就行了

试过了,不行。在考虑用类似生产者消费者的模式,做一个多线程的,开始和停止不陷在循环里。
目前还没有想到合适的方法
举报

sszx2007

2018-2-26 20:43:30
既然你是在PYTHON环境中调用这个DLL,那个这个VI你就不应该放个循环进去,你的循环应该写在PYTHON中,然后在PYTHON的循环中调用这个DLL。
举报

chentina

2018-2-27 09:57:17
引用: sszx2007 发表于 2018-2-26 20:43
既然你是在PYTHON环境中调用这个DLL,那个这个VI你就不应该放个循环进去,你的循环应该写在PYTHON中,然后在PYTHON的循环中调用这个DLL。

这个方法可以试试是否可行,多谢。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分