如附件图所示,读取本地文件夹里的文件,然后通过采集卡发送出去,输入量是文件地址的字符串和while循环的停止标志位(1表示停止循环,0表示无限循环)。
labview生成DLL,在PYTHON环境中调用DLL。但是调用该DLL的函数,signal trans("D:TESTVF",0),可以将文件夹中的一个个文件读取出来并形成波形由采集卡发送出去,可是该DLL函数就再也退出不while循环,就不能再给函数赋值signal trans("D:TESTVF",1),使其停止while,不再发送数据。
觉得这样的程序结构导致的这样的问题,各位有没有好的办法解决,多谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
试过了,不行。在考虑用类似生产者消费者的模式,做一个多线程的,开始和停止不陷在循环里。
目前还没有想到合适的方法
这个方法也试过了,如果LABVIEW只负责读取文件输出文件,python自己调用DLL去开始和停止读取文件,发现PYTHON也不能实现停止,因为Labview适度去一个文件夹,然后一个个的去读取里面的文件,还是得等到文件都读取完了才会停止FOR循环,循环中间不可能去读取外界输入的参数去停止。
其实就想知道,LABVIEW在while循环运行起来后,是否可以给while循环里输入一个参数,使其停止循环。实际操作时是,做成DLL函数后,while循环运行,相当于函数被占用,不能再别调用,就不能给其赋值了。
一周热门 更多>