#matlab #simulink #mex
#matlab #simulink #mex
Вопрос:
Я создал S-функцию M-файла уровня 2, которая внутренне вызывает функцию C MEX. Это отлично работает в обычном simulink, но возможно ли развернуть это на ПК speedgoat в режиме реального времени? У меня есть исходный код функции C-MEX.
Если да, то какие шаги необходимы?
У меня есть исходный C-исходный код для mex-файла (или, по сути, из обмена файлами Matlab).
Ответ №1:
Следуйте инструкциям здесь, чтобы создать S-функцию C-Mex. Это не полное руководство, поэтому, если у вас есть какие-либо сомнения, обратитесь к обширной документации Mathworks, касающейся S-функций C-Mex уровня 2.
Обратите особое внимание на то, чтобы поместить
#define S_FUNCTION_NAME wrapsfcn
то же самое, что и именование вашего основного файла c / cpp.
Затем скомпилируйте S-функцию с помощью команды «mex» в окне командной строки Matlab. Вам потребуется установленный действующий компилятор (например, подойдет VS2015 Express). Затем создайте блок S-функции в вашей модели. Под именем S-функции введите имя, которое мы упоминали ранее, с учетом регистра.
Затем вы готовы к сборке и развертыванию.
Протестировано на моей машине speedgoat @ R2020b.