В этом примере показано, как реализовать алгоритм Ориентированного на поле управления (FOC) для Постоянного магнита синхронной машины (PMSM). Пример показывает и реализации с плавающей точкой с одинарной точностью и полуточности реализацию с плавающей точкой. Когда алгоритм содержит большие или неизвестные динамические диапазоны (например, интеграторы в обратной связи) или когда алгоритм использует операции, которые затрудняют, чтобы спроектировать в фиксированной точке (например, atan2
), может быть выгодно использовать представления с плавающей точкой. Тип данных полуточности занимает только 16 битов памяти, но ее представление с плавающей точкой позволяет ему обработать более широкие динамические диапазоны, чем целое число или типы данных с фиксированной точкой, одного размера.
Загрузите данные, требуемые симулировать модель.
focModelData
Откройте ex_foc_current
модель. Эта модель использует тот же исходный блок для двух версий ориентированного на поле алгоритма управления. Первая версия использует типы данных с одинарной точностью, в то время как вторые типы данных полуточности использования.
model = 'ex_foc_current.slx';
open_system(model)
Симулируйте модель. Вы видите от осциллографа, что ответ реализации с одинарной точностью идентичен ответу реализации полуточности.
sim(model)
ans = Simulink.SimulationOutput: logTestBench: [1x1 Simulink.SimulationData.Dataset] SimulationMetadata: [1x1 Simulink.SimulationMetadata] ErrorMessage: [0x0 char]