Как получить доступ к массиву структур в simulink?

У меня проблема, что мне нужно получить доступ к функциональной форме dll в Matlab/Simulink в rtw. Это должно работать с функцией s, но у меня есть необходимые параметры в массиве организованных структур.

Теперь вопрос в том, как я могу связаться с ними, когда я хочу вызвать свою функцию DLL?

Или есть лучший способ (например, файлы Matlab уровня 2 или что-то подобное)? Чистая симуляция (без RTW) довольно хорошо работала с m-файлами уровня 2, но я не могу написать tlc-файл для их компиляции. Я не нашел многого в сети и документации только о исходниках C.

Спасибо, Кристиан.


person Christian Wolf    schedule 28.09.2011    source источник


Ответы (3)


Для сигналов в Simulink вы запрашиваете массив шин. Существует аналогичная поддержка использования массивов структур для параметров. Для вызова внешней функции вы можете посмотреть устаревший код инструмент. Вы также можете использовать функциональный блок MATLAB. для вызова вашей внешней dll.

person MikeT    schedule 29.09.2011

В дополнение к тому, что говорит @MikeT:

Создание кода из M-S-функций уровня 2 проблематично. Прочитайте это: http://www.mathworks.co.uk/help/toolbox/simulink/sfg/f7-67622.html#brgscav-1

Кроме того, MS-функции, как правило, медленные, поскольку выполняются в интерпретаторе MATLAB: http://blogs.mathworks.com/seth/2010/10/28/tips-for-simulation-performance/

person Nzbuu    schedule 29.09.2011

В конце концов я закодировал проблему на C и использовал массив, в котором я определил порядок элементов. Затем я написал несколько интерфейсных функций для доступа к этой «виртуальной» структуре.

Это не очень хорошее кодирование, но это самый простой способ, который я нашел, и он переносимый.

Спасибо

person Christian Wolf    schedule 24.10.2011