exponenta event banner

Алгоритм управления, ориентированный на полевую точность

В этом примере показано, как реализовать алгоритм полевого управления для синхронной машины с постоянными магнитами (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]