Как использовать FMIKit в 64-битном Matlab / Simulink для генерации 32-битного двоичного FMU? - PullRequest
0 голосов
/ 17 марта 2020

Я успешно использовал FMIKit2.7 (из [https://github.com/CATIA-Systems/FMIKit-Simulink] ) в 64-битном Matlab / Simulink (Matlab2017a) для генерации 64-битного двоичного FMU, что действительно полезно. Однако теперь другим инструментам моделирования необходимо использовать 32-битный двоичный FMU для совместного моделирования, я следую следующим образом: [https://ww2.mathworks.cn/help/coder/ug/build-32-bit-dll-on-64-bit-windows (r) -platform-using-msv c -toolchain. html ? s_tid = srchtitle] Добавлен 32-битный набор инструментов компилятора в 64-битный Matlab. Кроме того, Intel-> x86-32 (Windows32) выбран для реализации аппаратного обеспечения, а rtwsfcnfmi.tl c выбран для System Target File. Опция FMI устанавливает выход для FMU типа Co-Simulation.

Аппаратная реализация

Целевой файл системы

Опция FMI

Однако на самом деле FMU, сгенерированный FMIKit, все еще является 64-битным двоичным FMU.

Я предполагаю, что FMIKit автоматически выбрал 64-битный компилятор во время процесса компиляции и компоновки. Что мне нужно сделать, чтобы изменить файл конфигурации FMIKit (например, файл .tl c или другие) или Matlab / Simulink для генерации 32-битного двоичного FMU?

1 Ответ

0 голосов
/ 17 марта 2020

Вы должны использовать цель grtfmi.tl c, вставленную в цель rtwsfcn.tl c. Затем вы либо можете настроить cmake-build для прямого генерирования 32-битного FMU. (Я не знаком с этим. Но предлагаются разные генераторы cmake для разных версий VisualStudio, некоторые из которых имеют имя 64. Так что другие 32-битные?) enter image description here

В качестве альтернативы: установите флажок «Включить источники в FMU»

enter image description here

Затем вы можете впоследствии скомпилировать FMU, например, используя fmpy (командная строка или * 1019). * -> help -> добавить бинарный файл платформы) из 32-битной python версии. Вы не можете использовать установку Anaconda для последней версии fmpy в 32-битной системе, см. https://github.com/CATIA-Systems/FMPy/issues/64.

...