Привет ,
Я пытаюсь создать OpenFAST с simulink, выбрав режим Release_Matlab с x64. Я думаю, что ошибки, которые у меня возникают, связаны с связыванием simulink, как вы можете видеть из ошибок. Я не уверен в предупреждениях, являются ли они проблемой для компиляции или нет.
Я изменил местоположение MATLAB libmex.lib в свойствах simulink, как написано https://github.com/OpenFAST/openfast/issues/638#issuecomment -762409007 в другом сообщении. К сожалению, это не решает проблему. Ниже вы можете увидеть, что я установил в VS и Intel Fortran.
Visual studio не находит библиотеку Matlab, содержащую MEXPRINTF
. Возможно, вам потребуется сообщить визуальной студии, где это находится.
Visual studio не находит библиотеку Matlab, содержащую
MEXPRINTF
. Возможно, вам потребуется сообщить визуальной студии, где это находится.
Если вы говорите о пути MATLAB внутри свойств, я изменил его на свой путь MATLAB, как я уже упоминал. Если нет, то как мне это изменить?
Глядя на ваш первый выходной снимок экрана, он не нашел MEXPRINTF
во время компиляции openfast_x64.exe
. Я не уверен, что VS должен создавать его во время сборки Release_Matlab. @bjonkman , мы обычно строим openfsat_x64.exe
с этим? Я бы подумал, что все определения препроцессора сделают этот исполняемый файл бесполезным.
Похоже, он нашел подходящую библиотеку для сборки OpenFAST-Simulink_x64.lib
. Так что я ожидаю, что с simulink нужно работать.
@ klitz06 , какой филиал вы строите?
Я использовал «git clone https://github.com/openfast/openfast.git » для клонирования репозитория. Я не знаю, какой именно. Как это проверить?
Редактировать:
git branch --show-current
в git для Windows сообщает мне, что это "main".
git branch
покажет доступные ветки. Он покажет main
и dev
в качестве двух вариантов, а созданный вами будет выделен (или будет отмечен звездочкой рядом с ним). Я думаю, что main
- это значение по умолчанию.
Да, это main
one.
Что произойдет, если вы попробуете сценарий create_FAST_SFunc.m
(после установки всех необходимых путей, как указано в сценарии)? Этот OpenFAST-Simulink_x64.lib
должен быть нужен только для связи с Simulink, а не openfast_x64.exe
.
Остальные предупреждения можно безопасно игнорировать (мы в основном следуем стандарту Fortran 2008, но только устанавливаем VS для обеспечения соблюдения стандарта Fortran 2003, поэтому он помечает вещи, которые на самом деле не являются проблемой).
Думаю, он создан успешно. Я попробую примеры и вернусь.
Хорошо, я попытался запустить Ren_Test01_SIG.m, и вот результат:
Я изменил VSContrl = 4 и посмотрел, помогает ли это добавить LSSGagVxa в выходные данные ElastoDyn. Это не помогло.
возможно, вам придется добавить расположение SFunc к пути Matlab. addpath(genpath(('../../../install'))
из каталога примеров.
Мне жаль, что я не понял, что вы от меня хотите. Я просто запускаю его через командное окно?
да. Я думал в командном окне. но ошибка может указывать на проблему с самим тестом.
Вы инициализировали подмодуль r-test после клонирования с github? git submodule update --init --recursive
как указано здесь: https://openfast.readthedocs.io/en/dev/source/testing/index.html
Да, я действительно запустил git clone --recursive https://github.com/openfast/openfast.git
в начале процесса. Может быть, это проблема? Следует ли мне использовать команду, которую вы даете?
существует ли <openfast git rootdir>/reg_tests/r-test/glue-codes/openfast/AWT_YFix_WSt/
?
Да, существует. Я вижу входные файлы в папке.
Тогда я не уверен. У меня нет идей. Может быть, кто-то еще может прокомментировать то, с чем они столкнулись с этим.
Спасибо за помощь. Может быть, из моей установки MATLAB? Потому что я не устанавливал все, что идет с MATLAB.
Изменить: Конечно, Simulink установлен.
поэтому после некоторого тестирования я могу воспроизвести ошибку, которую вы видите, используя MATLAB 2020b с simulink на виртуальной машине Windows 10. Это использовало ветку main
OpenFAST.
Я забыл упомянуть, что для этой проблемы было исправление # 641. Описание ошибки было дано в №632. Это исправление было добавлено в ветку dev
, но еще не вошло в основную ветку. Приношу свои извинения за то, что не вспомнил об этом раньше.
Так не могли бы вы попробовать git checkout dev
затем git submodule update
, затем пересобрать и попробовать снова?
Теперь OpenFAST работает через MATLAB, но теперь у меня такая ошибка:
Изменить: я не перекомпилировал через VS после перехода на ветку dev. Сейчас попробую.
После загрузки dev ветки с нуля компиляция завершилась без ошибок. Такие же предупреждения присутствуют и пример MATLAB Test01 работает. Другой не работал из-за отсутствия DISCON.dll.
Я использую NREL 5MW в качестве своей базы (башня и гондола такие же), и он хорошо работает с conda в WSL. Когда я хочу попробовать запустить свой собственный WT через MATLAB с Run_OpenLoop.m
я сначала сталкиваюсь с некоторыми проблемами:
Затем я изменил TwrShadow
с True
на 1
, я пропустил эту ошибку, хотя это, вероятно, вызовет проблемы на следующих шагах. После этого я получаю следующую ошибку:
И я застрял здесь. Это связано с моими входными файлами? Потому что я смог запустить AWT_YFix_WSt
через Run_OpenLoop.m
. Причина, по которой я хочу использовать MATLAB, заключается в том, что я спроектирую контроллер высоты тона, иначе я бы использовал OpenFAST с conda в WSL.
да. Произошло изменение входного файла между v2.5.0 и веткой dev
(мы добавили еще одну модель тени башни). Conda + WSL использует v2.5.0, но ваша скомпилированная версия находится в ветке dev
. Вы можете сделать git checkout main; git submodule update
и перекомпилировать свою локальную копию, чтобы получить версию v2.5.0, но, как я помню из беседы выше, вы не получите исправление ошибки обработки ошибок, которое есть в dev
branch. Поэтому в вашем случае вы, вероятно, захотите придерживаться ветки dev
и обновить необходимые входные файлы.
Это изменение входного файла отмечено во второй таблице Modified in OpenFAST dev, найденной здесь https://openfast.readthedocs.io/en/dev/source/user/api_change.html
У меня еще два вопроса. Есть ли какие-либо тестовые примеры, в которых угол тангажа контролируется через simulink? А описание случаев?
Уважаемый @ klitz06 ,
В репозитории OpenFAST нет подобных примеров Simulink, но вы можете найти интересующую вас версию Simulink контроллера ROSCO: https://github.com/NREL/ROSCO_toolbox.
С наилучшими пожеланиями,
Спасибо.
Всем привет,
У меня ошибка, когда AeroDyn пытается прочитать TwrShadow, хотя переключатель тени башни установлен на 0.
Кто-нибудь знаком с такой ошибкой?
С наилучшими пожеланиями.
Уважаемый @LaurenceWETI ,
Как и в случае с любой проблемой обработки входного файла, я рекомендую включить опцию Echo для отладки. Видите ли вы какие-либо проблемы во входном файле при сравнении его с соответствующим файлом Echo?
Решает ли проблему установка TwrShadow = FALSE?
С наилучшими пожеланиями,
@LaurenceWETI
Версия 2.5.0, которую вы используете, использует логический флаг для ввода TwrShadow
. Как предложил @jjonkman , это должно быть либо True
либо False
Версия dev
использует переключатель со значениями 0,1,2
с добавлением второй модели тени башни.
Уважаемые @jjonkman и @ andrew-platt!
Спасибо за ваш быстрый ответ.
Установка TwrShadow на True или Flase решила проблему в AeroDyn, но теперь у ServoDyn есть проблема с чтением CompNTMD
. Мне не удалось найти этот параметр во входном файле ErvoDyn.
У вас есть идеи, как решить эту ошибку?
Есть ли инструкции, как переключиться на версию dev
, чтобы снова использовать переключатель тени башни?
С наилучшими пожеланиями,
Да, они изменили эту часть в файлах servodyn в ветке dev. Взгляните на главную ветку ссылки NREL 5mw в разделе файла TUNED MASS DAMPER.