Триггерные события не работают в экспортированных / импортированных FMU в OpenModelica - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь экспортировать пару моделей из OpenModelica в качестве FMU 2.0 для Model Exchange.

Чтобы проверить сгенерированные FMU, я импортирую их обратно в OpenModelica и моделирую там.Все хорошо работает с простыми непрерывными системами, такими как единый интегратор или последовательное соединение фильтров первого порядка.Однако блоки с запущенными событиями, например стандартный блок modelica «Modelica.Blocks.MathInteger.TriggeredAdd», не работают в FMU.Их выход остается нулевым, независимо от входных данных.Кажется, я делаю что-то не так, но понятия не имею, что именно.Пожалуйста, помогите мне :) Вот пример кода для экспортируемой модели:

model trig_int_sum

Modelica.Blocks.MathInteger.TriggeredAdd triggeredAdd1 annotation(...);  
Modelica.Blocks.Interfaces.IntegerInput u annotation(...);
Modelica.Blocks.Interfaces.BooleanInput u1 annotation(...);   
Modelica.Blocks.Interfaces.IntegerOutput y annotation(...);

equation
connect(y, triggeredAdd1.y) annotation(...);
connect(triggeredAdd1.u, u) annotation(...);
annotation(...);

end trig_int_sum;

1 Ответ

0 голосов
/ 01 февраля 2019

Импорт FMU в Modelica работает не очень хорошо (числовые проблемы, такие как этот) из-за того, что язык Modelica отделен от числовых решателей, поэтому импорт не может быть очень точным, если не используются расширения Modelica (и OpenModelica не добавляетлюбые расширения только для того, чтобы иметь возможность импортировать FMU).Вместо этого протестируйте FMU в OMSimulator - он знает о FMU.

...