這是我的功能。我正嘗試將此代碼導出至fmu。我正在使用fmusdk。如何使用fmusdk將c文件/函數導出到FMU
對於每個循環(時間步長),
- 我
input
應改爲模擬期間給定的值。 myexecute()
應該被調用。input
和pout
的值應在模擬過程中存儲,以便我們可以在模擬之後繪製值。
我試過fmusdk中給出的例子(BouncingBall和values)。我創建了相應的Fmus,並將它們導入Amesim。他們工作正常。但我無法弄清楚如何爲我的C文件做同樣的/功能
/*
* Execution function
*/
void myexecute(double *input, double *pout)
{
(*pout) = 2 * (*input);
}
我檢查了bouncingBall.c和values.c,他們只有四種方法
setStartValues(ModelInstance *comp)
calculateValues(ModelInstance *comp)
getReal(ModelInstance *comp, fmi2ValueReference vr)
void eventUpdate(ModelInstance *comp, fmi2EventInfo *eventInfo, int isTimeEvent, int isNewEventIteration)
可有人幫助我完成這個fmi出口?總之,我正在尋找上述4個功能的內容。上述4種方法的解釋也就足夠了。我可以爲這些功能創建內容。