При моделировании процессора в цикле (PIL) алгоритм управления выполняется на целевом оборудовании, но модель установки выполняется на хост-машине. Модель завода моделирует входные и выходные сигналы контроллера и взаимодействует с контроллером с помощью последовательного интерфейса связи. Эта функциональность позволяет использовать моделирование PIL для определения времени выполнения на целевом оборудовании, которое затем можно сравнить со временем выполнения для моделирования модели на хост-машине.
Время выполнения или метрика производительности алгоритма, полученная из моделирования PIL, помогает обнаружить переполнение алгоритма на целевом оборудовании. Отчет о профилировании PIL показывает среднее и максимальное время выполнения алгоритма на целевом оборудовании. В этом примере описывается профилирование PIL на аппаратной плате Texas Instruments™ LAUNCHXL-F28379D.
В этом примере используется mcb_pmsm_foc_sim.slx для отображения проверки кода при моделировании PIL. В этом примере показано профилирование PIL для подсистемы текущего управления в модели. Эта подсистема включает в себя алгоритмы полевого управления (FLOC), текущего масштабирования (преобразование на единицу), измерения скорости и масштабирования положения ротора (вычисление угла из счетчиков положения кодера). Отчет о профилировании PIL показывает среднее и максимальное время выполнения алгоритма управления в целевых аппаратных средствах.
Этот пример состоит из следующих задач:
Проверка выполнения кода с помощью тестирования PIL путем сравнения алгоритма в режимах моделирования и работы целевых аппаратных средств.
Выполните профилирование PIL путем измерения времени выполнения алгоритма в целевом оборудовании и создайте отчет профилирования PIL.
Встроенный кодер ®
Пакет поддержки встроенного кодера для техасских приборов C2000™ процессоров
Аппаратная плата контроллера LAUNCHXL-F28379D
Откройте окно mcb_pmsm_foc_sim.slx модель.
open_system('mcb_pmsm_foc_sim.slx');
Эта модель моделирует двигатель PMSM и алгоритм ВОК для управления скоростью по замкнутому контуру.
На вкладке «Оборудование» панели инструментов Simulink щелкните «Параметры оборудования».
В диалоговом окне Configuration Parameters в разделе Hardware Implementation установите в поле Hardware board значение TI Delfino F28379D LaunchPad.

В диалоговом окне Configuration Parameters выберите следующие настройки конфигурации в разделе Hardware Implementation > Hardware board settings > Target hardware resources > PIL:
Интерфейс связи - выбор serial.
Модуль SCI - Выбрать SCI_A.
Последовательный порт в настройках MATLAB - модель автоматически определяет порт связи, к которому подключено оборудование. Этот параметр остается неизменным для остальной части текущего активного сеанса MATLAB ®. Нажмите кнопку Refresh для повторного обнаружения порта связи.

Откройте окно mcb_PIL_config_TI.m файл сценария для установки параметров конфигурации.
edit('mcb_PIL_config_TI.m');Обновите имя модели и время остановки в сценарии.

Запустите сценарий для обновления параметров конфигурации расчетной модели и настроек PIL.
Щелкните правой кнопкой мыши подсистему текущего управления в mcb_pmsm_foc_sim.slx пример модели. В меню C/C + + Code выберите Deploy this Subsystem to Hardware.

Появится диалоговое окно Build code for Subsystem. Задайте для класса хранения значение Inlined для всех параметров.

Щелкните Создать (Build), чтобы создать модель с именем untitiled включает подсистему PIL, называемую Current Control.

Переименуйте подсистему управления током в подсистему управления током (PIL).

Скопируйте подсистему управления током (PIL) и замените подсистему управления током в mcb_pmsm_foc_sim.slx пример модели.

В режиме PIL система развертывает подсистему текущего управления (PIL) на целевом устройстве и выполняет подсистему на целевом оборудовании.
Для сравнения выполнения алгоритма моделирования хост-машины и моделирования PIL подключите подсистему управления током параллельно подсистеме управления током (PIL). Кроме того, включите регистрацию сигналов на выходах подсистемы.

На панели инструментов Simulink выберите приложение SIL/PIL Manager на вкладке Apps.

На панели инструментов SIL/PIL выберите SIL/PIL Sim Only.

Выбрать Model blocks in SIL/PIL mode в поле Проверка системы.

Нажмите кнопку Run SIL/PIL на панели инструментов SIL/PIL, чтобы построить подсистему управления током (PIL) и развернуть ее на цели.
После развертывания подсистемы на целевом аппаратном процессоре выполняется подсистема текущего управления (PIL), в то время как модель установки выполняется на хост-машине.
По окончании моделирования PIL создается отчет по профилированию.
Примечание
Моделирование PIL занимает больше времени, чем моделирование на базе хост-машины. Это происходит из-за последовательной связи (связанной с входами и выходами подсистемы управления током (PIL)) между хост-машиной и подсистемой, работающей на целевых аппаратных средствах.

Этот отчет о профилировании для типа данных с фиксированной точкой показывает максимальное и среднее время выполнения подсистемы текущего управления (PIL), работающей на целевом оборудовании.
Кнопку Data Inspector (Инспектор данных) на вкладке Simulation (Моделирование) можно использовать для сравнения сигналов, зарегистрированных при моделировании на хост-машине, и моделирования PIL (выполняемого на цели). Это помогает проверить точность моделирования на базе хост-машины и моделирования PIL.
На этом графике сравниваются сигналы обратной связи по скорости от подсистем управления током (PIL) и управления током (Current Control).

Если время выполнения превышает 60% от предусмотренного в бюджете времени, можно оптимизировать алгоритм с помощью одного из следующих методов:
Выполнить из ОЗУ.
Разгрузка некоторых функций в CLA или другие ЦП.
Масштабируйте алгоритм для выполнения в каждом альтернативном цикле.
Перемещение менее важных функций, таких как вычисление скорости, на более медленную скорость.
Для получения дополнительной информации о проверке кода SIL/PIL см.: