Как настроить совместную работу SimInTech и EULER?

Интеграция с моделями, выполненными в среде анализа многокомпонентных механических систем Euler.

Для осуществления моделирования совместно с программным комплексом Euler, на рабочей станции кроме SimInTech должна быть установлена лицензионная версия ПК Euler версии не ниже 10.24. Кроме того, разрядность версий SimInTech и Euler должна совпадать.

Следует создать новый проект "Модели общего вида" и разместить на схеме блок 4_vneshnie_modeli/3089.dita#, расположенный в палитре блоков на вкладке "Внешние модели".

Рисунок 1. Блок интеграции с Euler на схеме общего вида

Прим.: в данном руководстве не будет описываться процесс создания моделей в ПК Euler, а будет затрагиваться только процесс подключения уже готовой модели.
Для совместного моделирования с ПК Euler необходимо открыть окно свойств блока (пункт Свойства контекстного меню блока), в котором в первую очередь следует указать:
  1. Имя файла DLL кода Euler - можно выбрать версию программы (если их несколько);
  2. Имя файла проекта - файл проекта с расширением .elr - выберем к примеру файл, расположенный по адресу C:\SimInTech64\Demo\Интеграция со сторонним ПО\3D механика EULER\Груз\Груз.elr;
  3. Шаг обмена данными - можно задать произвольный шаг обмена данными между SimInTech и Euler, если задан 0, то обмен происходит на каждом расчетном шаге.

Рисунок 2. Заполненные свойства блока

После этого при двойном щелчке мышью на блоке будет происходить открытие выбранного проекта в ПК Euler.

Рисунок 3. Проект "Груз.elr" открытый в ПК Euler из SimInTech

Это означает что налажена связь между SimInTech и Euler. Теперь необходимо снабдить блок входными и выходными портами, то есть обозначить какие данные будут поступать из модели механической системы в SimInTech, а какие будут передаваться обратно. Для этого, на стороне ПК Euler следует добавить объекты типа "Датчик" и включить для них опции "Выходной параметр DLL" или "Входной параметр DLL":

Рисунок 4. Опция "Выходной параметр DLL" для датчика

Рисунок 5. Опция "Входной параметр DLL" для датчика

После этого соответствующие датчики пометятся значками "out" или "in", а у блока в SimInTech появятся соответствующие входные и выходные порты

Рисунок 6. Выходные порты блока

При этом свойства Имена выходных датчиков и Имена выходных датчиков заполнятся автоматически списками имен соответствующих датчиков.

Рисунок 7. Списки входных и выходных датчиков в свойствах блока

Прим.: списки имен датчиков можно изменять и вручную прямо из SimInTech, однако при этом необходимо чтобы все указанные датчики имелись в загружаемом проекте (.elr файле).
Еще одним необходимым условием совместного моделирования является задание имени расчетной команды для модели механической системы. Расчетная команда определяет конфигурацию расчета проекта в ПК Euler. Список расчетных команд модели механической системы доступен через пункт главного меню ПК Euler Анализ → Команды исследования.

Рисунок 8. Список команд исследования проекта Груз.elr

Имя выбранной команды необходимо задать в блоке SimInTech, в свойстве с именем Имя расчетной команды.
Совокупности упомянутых выше настроек блока интеграции с Euler будет достаточно для запуска совместного моделирования. Конфигурация свойств блока представлена ниже:

Рисунок 9. Конфигурация блока интеграции с ПК Euler

Осталось присоединить входное воздействие, установить графики для вывода результатов расчета и запустить модель на расчет. В качестве входного воздействия будем использовать блок Istochniki/0015.dita#.
Прим.: если во время выполнения совместного расчета выполнить двойной щелчок по блоку интеграции с ПК Euler в SimInTech, то откроется окно Euler, где можно в реальном времени наблюдать изменение модели и всех ее параметров под действием управляющих сигналов, поступающих из SimInTech.

Рисунок 10. Результат расчета модели

В полученном результате можно отметить дискретный характер изменения сигнала. Это происходит из-за того, что шаг интегрирования в SimInTech существенно меньше, чем шаг расчета модели в ПК Euler либо чем шаг обмена данными (смотря какой из двух последних больше). То есть значение сигналов в SimInTech успевает обновиться несколько раз на одном и том же уровне, пока придет новое значение от ПК Euler. Устранить этот эффект можно приблизив значения шагов расчета и обмена данными. Если это невозможно, то можно использовать дополнительное свойство Экстраполяция результатов на промежуточных шагах, которое позволяет линейно экстраполировать последние полученные данные на промежуточных шагах в SimInTech. Однако использовать его стоит с осторожность, так как в местах перемены знака производной получаемого сигнала возможно возникновение импульсных искажений.

Рисунок 11. Возможные последствия линейной экстраполяции на промежуточных шагах

Полученные данные совместного моделирования можно не только наблюдать и обрабатывать в реальном времени, но и сохранить для дальнейшего исследования в ПК Euler. Для этого у блока существуют дополнительные свойства для сохрания файла результатов в формате ПК Euler.

Рисунок 12. Свойства для сохранения файла результата в формате ПК Euler

Сопуствующие материалы