Это моя функция. Я пытаюсь экспортировать этот код в fmu. Я использую fmusdk.
Для каждого цикла (временного шага),
- my
input
следует изменить на значение, указанное во время моделирования. myexecute()
должен быть вызван.- значения
input
иpout
должны быть сохранены во время моделирования, чтобы мы могли построить значения после моделирования.
Я пробовал примеры (BouncingBall и значения), приведенные в fmusdk. Я создал соответствующие 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 методов. Я могу создать содержимое для функций.