Я хочу смоделировать модель в Dymola в реальном времени для использования HiL. По результатам я вижу, что моделирование продвигается примерно на 5% быстрее.
Интеграция успешно завершена при T = 691200
Процессорное время для интеграции: 6.57e + 005 секунд
Процессорное время для одного интервала GRID: 951 миллисекунда
Я уже пытался увеличить интервал сетки, чтобы уменьшить относительную ошибку, но все же моделирование продвигается слишком быстро. Я читал только о подходах к уменьшению сложности модели, чтобы позволить моделирование в пределах определенных временных шагов.
Обратите внимание, что моделирование идет в реальном времени и даже быстрее. Как я могу в этом случае сопоставить смоделированное время и реальное время?
Изменить 1:
Я использовал решатель Lsodar с установленной опцией Synchronize with realtime на вкладке Realtime. У меня есть лицензия на моделирование в реальном времени. Я использую Dymola 2013 в Windows 7. Вот результат для шага 15 с:
Интеграция успешно завершена при T = 691200
Процессорное время для интеграции: 6.6e + 005 секунд
Процессорное время для одного интервала GRID: 1,43e + 004 миллисекунды
Отклонение по-прежнему составляет примерно 4,5%.
Однако я не использовал встроенную интеграцию.
Нужна ли мне интеграция в реальном времени или встроенная интеграция для улучшения этих результатов? Должно ли быть возможно получить отклонение ниже 4,5% с использованием мягкого реального времени или нет?
Изменить 2:
Я взял блок Python27 из библиотеки Berkeley Buildings, чтобы прочитать системное время и сравнить его с прогрессом моделирования. Результат показывает, что через 36 часов после запуска симуляции симуляция немного замедляется (по сравнению с реальным временем). Примерно через 72 часа после начала моделирования он начинает работать примерно на 10% быстрее, чем в реальном времени. Кроме того, по прошествии этих 72 часов увеличивается дрожание результата.
Какие-нибудь объяснения?
Следующими шагами будут: - переход на решатель с фиксированным шагом (может быть, это большая часть решения) - переход с сервера DDE на сервер OPC, что в настоящий момент кажется невозможным в Dymola 2013.
Изменить 3:
Нет ... использование решателя с фиксированным шагом, похоже, решает проблему. В первые 48 часов моделирования отклонение кажется равным отклонению при использовании решателя с переменным размером шага. В этом примере я использовал решатель Rkfix 3 с шагом интегратора 0,1.
Никто не знает, как избавиться от этих огромных отклонений?