2016-03-03 53 views
1

Modelica中有沒有一種方法可以測量事件發生的時間(不使用樣本或類似事件)?類似於MATLAB中的tic toc命令?我想看到的是不同事件發生的時間差異。例如,在下面的示例代碼中,是否有一種方法可以使用test_time1test_time2查看已用時間?Modelica中事件的測量時間

when event1 then 
a:=2; 
event2:= true; 
test_time1 := time; 
end when; 
when event2 then 
a:= 5; 
test_time2 := time; 
end when; 

回答

1

abs(test_time2-test_time1)應該做的,如果你不知道哪個先發生。請注意,這將是模擬時間,而不是真實(牆壁)時間。如果您想測量模擬觸發兩個事件所需的實時時間,則需要使用外部C函數調用您自己的tic和toc。

+0

感謝回覆@ sjoelund.se。我編輯了一下示例代碼。 'event1'觸發'event2',在這種情況下,我總是在'test_time1'和'test_time2'中得到相同的值。我意識到的是,我始終將「時間」變量視爲實時(有許多MATLAB類型的編程邏輯)。 – Shaga

+0

感謝您的評論,我多讀一點,並意識到我正在查看所有錯誤的問題,並且事件發生時模擬時間實際上停止,直到條件'pre(var)== var'滿足。 – Shaga