FMU от модели Simulink не может обрабатывать входы?
Я работал над способом экспорта моделей из Simulink в FMU, который мы откроем с открытым исходным кодом, когда у нас будет не очень глючная версия. Я и коллега наконец-то получили рабочую версию и извлекли наш первый FMU из почтового индекса.
Оказывается, что-то не так в программе. Наш FMU работает нормально, кроме входов. Кажется, ни один из входов не работает. Это было проверено несколько раз, как постоянный выход на выход, который работает, и я также проверил работающие FMU, сделанные из нашего другого не открытого программного обеспечения, и они работают. Я просто не могу найти то, что отличается от их нашего FMU.
Вот ссылка на дропбокс, если кому-то нужен источник тестового FMU. Модель проста: один вход идет прямо к выходу, а один вывод подается от константы. В настоящее время я могу прочитать один вывод, получая константу, но не входной. Это всегда 0. Папка dropbox включает сгенерированный zip-файл из модели, файл model.slx, сгенерированный FMU, а также папку, содержащую все внутри FMU. Я знаю, что мы пока не включаем все источники внутри FMU, но я исправлю это, когда узнаю, в чем заключается наша проблема с FMU. Источники существуют внутри почтового индекса, поэтому ничего не осталось.
Если кто-то, имеющий опыт работы с FMI, ранее сталкивался с этой проблемой или, возможно, имеет представление о том, что мы можем делать неправильно, я был бы очень признателен, если бы вы поделились своим опытом.
1 ответ
Я исправил проблему, изменив файл FMUSDK fmuTemplate.c для вызова функций и обработки своих собственных входов и выходов.