嗨,我正在使用VEE 9.0通过以太网驱动6000系列MSO示波器。我的应用非常简单:从内存中调用配置(所以我可以在'示波器上手动调整触发等),然后DIGI
tiZE然后保存结果波形
从POD1到u***棒上的bin文件。
然后它循环回到DIGITIZE。我需要在无人值守的情况下连续几天运行,以防特定事件触发并保存新文件。我的第一个问题是直接IO在几秒钟之后超时和DIGITIZE
然后失败了,所以我找到了DIrect IO超时的位置并将其设置为5,000,000s。
但是我让这个程序一夜之间运行,它仍然超时。
这个超时是否存在总体最大值?我的第二个问题是程序现在无法轻松停止,如果单击菜单栏中的停止按钮,它只显示一个沙漏。我怀疑它是单线程等待套接字
。我可以一次解决这两个问题 - 是否有一种方法可以在没有弹出框的情况下处理VEE中的套接字超时并发生错误?
然后我可以重新进入循环。
我怀疑,如果我这样做,并且超时被缩短,我可以手动停止程序,因为它会更频繁地检查整体运行状态。谢谢, - Adam
以上来自于谷歌翻译
以下为原文
Hi I'm using VEE 9.0 to drive a 6000 series MSO scope via ethernet.
My application is really simple: recall config from memory (so I can fiddle with the triggering etc manually on the 'scope),
then DIGITIZE then save the resulting waveform from POD1 to a bin file on the u*** stick. Then it loops around back to the DIGITIZE.
I need to leave this running unattended for days on end in case the specific event triggers and new files get saved.
My first problem was that the Direct IO was timing out after a few seconds and the DIGITIZE was then failing, so I found where the DIrect IO timeout was and set that to 5,000,000s. However I let this program run overnight and it still timed out. Is there an overall maximum on this timeout?
My second problem is that the program now cannot be stopped easily, it just displays an hourglass if you click on the stop button in the menu bar.
I suspect that it's single-threadedly waiting on a socket.
Can I solve both problems at once - is there a way of handling the socket timeout within VEE without a pop-up box and an error happening? I can then re-enter my loop. I suspect that if I did this, and the timeout were shortened, I could then stop the program manually, as it would check the overall run state more often.
Thanks,
- Adam