проблема переполнения dSpace

Ответы:

0

Краткий ответ: это зависит от того, какие блоки вы заменяете, и даже в этом случае эффекты могут быть незначительными.

Взаимосвязанный набор стандартных блоков Simulink (усиление, сумма, интеграл, производная и т. Д.) Определенно будет одинаково быстрым или быстрым, чем любая пользовательская функция, которую вы пишете, CMEX или нет. С другой стороны, замена функционального блока MATLAB на S-функцию CMEX может иметь некоторый эффект, но это очень трудно определить.

Эффект от использования S-функции CMEX будет зависеть от вашего умения писать эффективный код на C, и даже тогда эффект может быть небольшим по сравнению со временем выполнения других частей вашей модели.

Это также не так просто, как спросить, какой блок более эффективен в «Нормальном режиме» Simulink. dSpace использует комбинацию Simulink Coder и собственного проприетарного программного обеспечения для преобразования вашей модели Simulink в код C, который затем компилируется в исполняемый файл. Этот исполняемый файл затем запускается в реальном времени аппаратным обеспечением dSpace. Следовательно, в процессе перевода из Simulink в C-код преимущества использования S-функции CMEX могут быть сведены на нет.

* Примечание: я не работал с dSpace, но в своем исследовании я использую очень похожий программный пакет под названием QUARC, который в основном является канадским эквивалентом.

BarbalatsDilemma
источник