Развертывание алгоритма оценки частотной характеристики для использования в реальном времени

Можно использовать онлайновый алгоритм оценки частотной характеристики в автономном приложении для оценки физического объекта в реальном времени. Для этого необходимо развернуть блок Frequency Response Estimator в собственной системе путем создания Simulink® модель для развертывания. Можно сконфигурировать эту модель с параметрами эксперимента. Или можно сконфигурировать его, чтобы поставить такие параметры внешне из другого места в вашей системе. После развертывания в вашей собственной системе модель оценщика вводит сигналы в ваш объект и получает ответ объекта, не используя Simulink, чтобы управлять экспериментом. Развертывание алгоритма оценки требует продукта генерации кода, такой как Simulink Coder™.

Рабочий процесс

В обзоре рабочий процесс развертывания Frequency Response Estimator для настройки в реальном времени:

  1. Создайте модель Simulink для развертывания блока в вашей системе.

  2. Сконфигурируйте сигнал запуска/остановки, который управляет, когда начинается и заканчивается эксперимент по оценке.

  3. Сконфигурируйте параметры эксперимента, такие как частоты, на которых вы хотите выполнить оценку.

  4. Разверните модель в своей системе и запустите оценочный эксперимент против вашего физического объекта. Когда вы заканчиваете эксперимент, можно изучить предполагаемую частотную характеристику.

На практике для оценки в реальном времени можно хотеть задать некоторые параметры во время исполнения, такие как частоты оценки или амплитуды возмущения. Дополнительные сведения об указании параметров в развернутом приложении см. в разделе Параметры эксперимента доступа после развертывания.

Шаг 1. Создайте развертываемую модель Simulink с блоком оценки частотной характеристики

Использование блока Frequency Response Estimator для оценки в реальном времени требует создания модели Simulink для развертывания. В самой базовой форме модель для развертывания оценки в реальном времени напоминает следующий рисунок.

Здесь блоки, соединенные с входами и выходами блока Frequency Response Estimator, представляют аппаратные интерфейсы, которые считывают или записывают данные в реальном времени для вашей системы. Для примера, Read control signal блок может быть интерфейсом для приема последовательных данных, блоком UDP Receive для приема пакетов UDP или интерфейсом для приема других сигналов через беспроводную сеть. Точно так же блоки для записи данных, такие как Write plant input, могут быть интерфейсами для последовательного, UDP или других интерфейсов для записи данных на оборудование.

Портами по умолчанию для Frequency Response Estimator блока являются:

  • u - Принимает сигнал управления.

  • y - Получает выход объекта.

  • start/stop - Получает сигнал, который начинается и заканчивает эксперимент по оценке.

  • u + Δu - Выводит сигнал для подачи на вход объекта. Когда эксперимент не запускается, u + Δu выводит управляющий сигнал, как принято на u. Когда эксперимент продолжается, блок добавляет возмущение Δu на этот сигнал.

  • data - Выводит данные моделирования, собранные в ходе оценочного эксперимента. Эти данные включают возмущение, приложенное к входу объекта управления, и ответ, полученный на y.

  • frd - Выводит предполагаемые частотные характеристики.

Для получения дополнительной информации обо всех портах смотрите Frequency Response Estimator страницы с описанием блоков.

В проиллюстрированном строении частоты, на которых выполняется оценка, и амплитуды возмущения, применяемые на каждой частоте, подключены к блоку жестко. Если вы хотите задать эти значения после развертывания, установите Excitation Signal Source параметров блоков равным External ports. Это добавляет w и amp порты к блоку, как показано на следующем рисунке.

В этом строении развернутый модуль может считывать частоты и амплитуды возмущения для эксперимента оценки во время исполнения.

Сохраните данные для оценки в автономном режиме

Ранее проиллюстрированные строения отбрасывают data выходной порт, который обеспечивает входные и ответные сигналы, собранные в ходе оценочного эксперимента. Если вы хотите использовать эти данные эксперимента, можно хранить выходы этого порта. Например, чтобы сохранить ресурсы в развёрнутом окружении, можно сконфигурировать блок, чтобы собрать данные эксперимента, не выполняя оценку. Затем можно выполнить оценку в MATLAB® использование frestimate. Модель, сконфигурированная таким образом для развертывания, напоминает следующий рисунок.

Шаг 2. Сконфигурируйте сигнал запуска/остановки

Чтобы начать и остановить эксперимент по оценке частотной характеристики, используйте сигнал в порту start/stop. Когда эксперимент не запускается, блок не генерирует сигнала возмущения. В этом состоянии блок не влияет на поведение объекта. Эксперимент по оценке частотной характеристики начинается и заканчивается, когда блок получает сигнал повышения или падения в start/stop порту, соответственно. Можно настроить любую логику, подходящую для вашего приложения, чтобы контролировать начало и времена остановки эксперимента.

Блок обеспечивает рекомендуемую длину эксперимента в Experiment Length разделе параметров блоков. Обычно вы конфигурируете сигнал запуска/остановки так, чтобы было по крайней мере столько времени между сигналами подъема и падения. В развёрнутом окружении, когда вы задаете параметры оценки во время исполнения, вы должны знать, как параметры эксперимента, такие как частоты оценки, влияют на необходимую длину эксперимента. Для получения дополнительной информации об определении соответствующей длины смотрите Frequency Response Estimator страницы с описанием блока.

Шаг 3. Установите параметры эксперимента

Эксперимент по оценке частотной характеристики вводит синусоидальные сигналы на частотах, которые вы задаете, с параметром Frequencies (или на w порт) блока Frequency Response Estimation. Задайте амплитуды возмущения, используя параметр Amplitudes (или в amp порт).

Блок может применить возмущение на каждой частоте отдельно (sinestream mode) или одновременно (superposition mode). Чтобы указать, какой режим использовать, установите параметр Experiment mode.

  • Sinestream mode - применяет возмущение по одной частоте за раз. Режим Sinestream может быть более точным и может включать более широкую область значений частот, чем режим суперпозиции.

  • Superposition - применяет возмущение как сигнал суперпозиции, содержащий все частоты сразу. Эксперимент по оценке обычно происходит быстрее в режиме суперпозиции.

Можно также задать параметры, которые говорят блоку, как долго позволять системе устанавливаться при применении возмущения и как долго измерять ответ для оценки. Для получения дополнительной информации о двух типах сигналов и их относительных преимуществах смотрите описание параметра Experiment mode на Frequency Response Estimator блоке страницы с описанием.

Шаг 4. Запуск эксперимента

После развертывания модуля оценки в системе используйте растущее start/stop сигнал для начала оценочного эксперимента. Развернутый модуль вводит тестовые сигналы в ваш физический объект в режиме реального времени. Через подходящее время ты падаешь start/stop сигнал завершает эксперимент. (Для получения дополнительной информации об определении соответствующей длины см. Frequency Response Estimator ссылочную страницу блока.)

Когда эксперимент завершен, можно получить предполагаемую частотную характеристику в frd порт.

Если в развёртываемом окружении недостаточно ресурсов для расчета онлайн-оценки, можно сконфигурировать блок, чтобы собрать только данные эксперимента и выполнить оценку в автономном режиме позже. Для получения примера смотрите Сбор данных эксперимента с частотной характеристикой для автономной оценки.

Доступ к параметрам эксперимента после развертывания

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

Настраиваемые параметры

Следующие параметры блока Frequency Response Estimator настраиваются после развертывания. Для получения дополнительной информации обо всех этих параметрах смотрите страницы с описанием блоков.

ПараметрОписание
Number of estimation periodsКоличество периодов после установления для использования в оценке (режим синестрима)
Number of settling periodsКоличество периодов ожидания установления переходных процессов (режим синестрима)
Number of periods of the lowest frequency used for estimationДлительность окна сбора данных (режим суперпозиции)

Ненастраиваемые параметры

Остальные параметры Frequency Response Estimator не настраиваются после развертывания. Для параметров Frequencies и Amplitudes можно включить внешние порты, которые позволяют поставлять частоты экспериментов и амплитуды возмущений после развертывания. Чтобы включить w и amp входы блоков, в параметре Excitation Signal Source, выберите External ports.

Изменение шага расчета эксперимента после развертывания

Параметр Sample time (Ts) не настраивается. Как следствие, вы не можете получить к нему доступ непосредственно в сгенерированном коде, когда развертываете блок. Чтобы изменить шаг расчета контроллера в развернутом блоке во время исполнения:

  1. Установите Controller sample time (sec) значение -1.

  2. Поместите блок в Triggered Subsystem.

  3. Инициируйте подсистему в требуемый шаг расчета.

Если вы используете этот подход, вы должны убедиться во времени исполнения, что ваш шаг расчета достаточно быстро, чтобы сохранить частоты оценки ниже частоты Найквиста.

См. также

Похожие темы