链接到 EXCEL DDE 的 MATLAB 代码不会暂停。我该怎么办?



我正在将MATLAB代码链接到Excel中的DDE应用程序。它工作得很好,但每当我尝试运行代码时,操作都是在不考虑每次暂停的情况下完成的。这部分以正确的方式暂停,因为它应该是:

channel = ddeinit('excel','C:VTScadaNewApplicationApplication.xlsx')
%Inserire valori iniziali e finali
s_start = input('s_start','s')
pause(1)

当我运行重新生成的代码时,比如这样,就像MATLAB对所有暂停值求和一样。然后,一段时间后,它以一种非常快速的方式运行所有代码,每次都不考虑停顿。

ddepoke(channel,'r18c2',1)
pause(10)
ddepoke(channel,'r18c2',0)
ddepoke(channel,'r18c2',1)
pause(10)
ddepoke(channel,'r18c2',0)

我试图用代码来解决这个问题

pause('on')
pause(10)
pause('off')

但事实证明,在这种特殊情况下,MATLAB根本不尊重暂停。这似乎使情况恶化。我该怎么办?

Matlabpause命令不仅仅意味着";等待N秒";;它与图形管道等交互。

这是一个破解,但试着这样做,而不是pause:

java.lang.Thread.sleep(10 * 1000);

这是一个较低级别的操作,它将以一种更无条件的方式暂时停止程序的执行。* 1000之所以存在,是因为sleep的输入单位是毫秒而不是秒。

我通过删除if后面的"{}"并添加"Java.lang.Thread.sleep(("方法而不是Pause((方法来简化问题。

感谢大家的帮助,无论如何

相关内容

最新更新