2017-04-20 51 views
0

我目前正在研究測試工作臺的自動化(我的工作位置的主題)。它由電子負載(BK8610,BK8500),直流電源(BK9202,ETS60X14C)和萬用表(MetraEnergy)組成。在Scilab上執行常規任務

我在Scilab中創建了一個函數庫來同時控制所有設備(我可以設置參數並使用以太網,串口和VISA接口來獲取測量值)。現在,每個命令都可以正常工作,我正在嘗試編寫一個通用腳本來執行常規措施。

我想到在我的腳本開始時使用tic(),然後exec_time = toc()在結束時等待5s-exec_time,然後再次執行它。

tic() 
//My code 
exec_time=toc() 
//wait until the time is equal to 5s 
//Repeat 

即使這可能是工作,不知的Scilab具有將相當於一個異步中斷定時器(上的ATmega常用,STM32等)的功能?這會容易得多。

希望這是明確的。謝謝 !

回答

0

也許realtime & realtimeinit是你的解決方案。從Scilab的幫助修改例如:

clc; 
clear; 

realtimeinit(1/2);//sets time unit to half a second 
realtime(0);//sets current date to 0 
for k=1:10 
    realtime(k); 
    mprintf('\r\ncurrent time is %.1f sec',k/2); 
end 
+0

謝謝你,我會試着寫一個腳本這王氏一個。 我已經用我的解決方案做了一堆測試,它運行良好,但它並不真正「美麗」。 – Orgoss

+0

如果此解決方案解決了您的問題,您可能會考慮接受它,因此其他人也可能會看到問題不再公開。謝謝。 – Attila

+1

我試過了,我觀察到150〜循環(幾秒鐘)後有點時間偏移,所以我保留了我以前的算法。無論如何,我會接受它,因爲它是我需要的,但它不如外部石英那麼精確(也許因爲我使用的PC只有一個內核?)。 – Orgoss

相關問題