Визуальное моделирование замкнутой системы управления

Системы управления с обратной связью, пожалуй, самые распространённые из динамических систем, моделирование которых требуется в совершенно различных областях науки и техники: от управления манипуляторами в тяжёлой промышленности, до контроля за ростом бактерий  в био-лаборатории.

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

В данном материале мы рассмотрим самый простой вид контроллера – индикатор включения\выключения, который ещё носит название двухступенчатого контроллера, так как не имеет промежуточных состояний, то есть принимает всего два значения: включен или выключен.

Итак, представим термоконтроллер, который отслеживает температуру и срабатывает на разницу температур в помещении. В терминах управляемых систем, работа данного устройства происходит следующим образом: в определённые моменты времени на вход контроллера подаётся разница температур между текущим и необходимым к поддержанию значением, называемая ошибкой, а на выход контроллера поступает сигнал срабатывания. Управляемой переменной в данном случае является температура, которая дополнительно измеряется датчиком, и информация передаётся обратно в термоконтролер. Разница между заданным значением температуры и замеренной производительностью отопительных приборов возникает из-за неизбежных помех – утечек тепла, которые влияют на общую температуру помещения. Схема данной замкнутой системы управления представлена на рис.66.

Рисунок 66. Система управления с термодатчиком Рисунок 66. Система управления с термодатчиком

Стоит отметить, что большинство управляемых систем с обратной связью обладает некоторой инертностью, то есть система управления не может мгновенно реагировать на внешнее возмущение и требуется некоторое время, пока на выход управляющего объекта будет подано необходимое значение, оказывающее воздействие на значение, снимаемое с выхода объекта управления.

В рассматриваемом примере такое явление возникает, например, при открытии форточки в комнате. Для того, чтобы контроллер включил систему отопления на обогрев, потребуется некоторое время, пока температура в помещении не упадёт до критической отметки. Такого рода задержка в работе управляющего устройства, с одной стороны позволяет системе не реагировать на краткосрочные возмущения, но, с другой стороны, вносит ограничения на быстродействие термоконтроллера.

Другой важной характеристикой управляемой динамической системы является её ёмкость. Ёмкость системы можно рассматривать, как сопротивление внешним изменениям. Причём, чем выше ёмкость системы, тем больше времени потребуется, чтобы вносимый вклад управляющего устройства подействовал на объект управления.

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

Описанная система управления с контроллером и объектом управления, обладающая обозначенными особенностями, схематически изображена на рис. 67.

Рисунок 67. Система управления температурой в помещении Рисунок 67. Система управления температурой в помещении

Процесс управления температурой в помещении рассматривается, как дифференциально уравнение первого порядка с запаздыванием, передаточная функция которого имеет вид:

\( H(s)=\frac{K}{T\cdot s+1}e^{-\tau s} \)

где \( K \) - коэффициент усиления, \(\tau \) - ёмкость системы, \( s \)- задержка реагирования системы.

Построение блок-схемы системы управления в Xcos

Начнём собирать схему с объекта управления.

  1. Отапливаемое помещение в нашем случае, можно рассматривать как передаточную функцию Замкнутая система управления Scilab Xcos с палитры «Системы с непрерывным временем» с блоком запаздывания TIME_DELAY , располагающимся на той же палитре. Добавьте данные блоки на рабочую область.

  2. Далее в контексте задайте значения переменных \( K=18, T=24, \tau=5, Tfix=12 \), чтобы их можно было использовать в дальнейшем.

  3. Во внутренних параметрах блока передаточной функции CLR укажите значения Numerator (числитель) = \( K \) и Denominator (знаменатель) = \( T\cdot s+1 \)  согласно формуле (12).

  4. Во внутренних параметрах блока задержки TIME_DELAY укажите значение
    Delay = \( \tau \) .

  5. Соедините выход блока CLR со входом блока TIME_DELAY. В итоге должна получиться схема, изображённая на рис.68

    Рисунок 68. Реализация объекта управления при помощи Xcos блоков Рисунок 68. Реализация объекта управления при помощи Xcos блоков
  6. Сбор схемы термоконтроллера начнём с решения неравенства

    \( Tfix-H(s)>0 \) (*)

    Левая часть данного неравенства реализуется сумматором BIGSOM_f, вектор знаков портов которого имеет вид [1;-1]. Положительный порт сумматора нужно соединить с константным блоком, в котором установлено значение желаемой температуры .
    Далее, на порт сумматора с отрицательным множителем, нужно подать фиксируемую датчиком температуру, то есть, - значение с выхода блока TIME_DELAY.  Результат представлен на рис. 69.

    Рисунок 69. Реализация вычисления ошибки Tfix-H(s) Рисунок 69. Реализация вычисления ошибки Tfix-H(s)
  7. Знак ошибки, то есть сравнение с нулём выхода блока BIGSOM_f, будем определять с помощью блока Замкнутая система управления Scilab Xcos , который можно найти на палитре «Математические операции».

  8. Во внутренних параметрах блока RELATIONALOP для параметра Operator необходимо указать значение 4, что соответствует знаку «больше», а значение Use zero crossing =1 (переход через нуль).

  9. Далее на входы RELATIONALOP нужно подать сравниваемые выражения: это выход блока BIGSOM_f и константный блок со значением 0, как показано
    на рис. 70.

    Рисунок 70.  Формирование неравенства  (*) Рисунок 70. Формирование неравенства (*)
  10. На выход блока сравнения будет подано значение «1», если условие сформированного неравенства выполняется, и «0», если ошибка окажется отрицательной.

  11. Осталось реализовать сам двухступенчатый контроллер, который можно интерпретировать как блок переключателя Замкнутая система управления Scilab Xcos с палитры «Маршрутизация сигналов». На вход блока SWITCH2_m должен подаваться результат сравнения разницы температур с «0», а на выход SWITCH2_m -  значение «0» или «1», в зависимости от знака ошибки.

  12. Значения переключателя «0» и «1» реализуем блоками постоянных CONST, и подадим их на первый и третий входы блока SWITCH2_m. На данном этапе блок контроллера должен выглядеть, как показано на рис. 71.

    Рисунок 71. Выходные значения двухступенчатого контроллера Рисунок 71. Выходные значения двухступенчатого контроллера
  13. Для реализации контроллера осталось соединить выход блока, решающего неравенство RELATIONALOP со свободным регулярным входом блока переключателя (см. рис. 72).

    Рисунок 72. Блок-схема контроллера, принимающего значения «0» и «1» в зависимости от знака разницы температур Рисунок 72. Блок-схема контроллера, принимающего значения «0» и «1» в зависимости от знака разницы температур
  14. Напомним, что на средний вход SWITCH2_m подаётся «1», если текущая температура не превышает желаемой температуры и «0», если текущая температура поднялась выше желаемой. Соответственно, нам нужно включать контроллер, кода ошибка больше нуля и выключать его, когда ошибка отрицательна. Реализовать смену положений выключателя можно с помощью внутренних параметров.

  15. Во внутренних параметрах блока SWITCH2_m нас интересует параметр pass first inputусловие подачи на выход SWITCH2_m его первого входа, т.е «1». Параметр pass first input может принимать следующие значения:

    • значение «0» для проверки условия, что вход \( \geq a \);

    • значение «1» для проверки условия, что вход \( >a \);

    • значение «2» для проверки условия, что вход \( = a \);

    В нашем случае, необходимо поставить «1», что соответствует условию, что значение, подаваемое на средний вход блока SWITCH2_m больше параметра . Параметр  задаётся в следующей строке - для внутреннего параметра threshold и равняется «0».

    Итак, получив на вход контроллера SWITCH2_m значение «1», соответствующее температуре, ниже желаемой, мы сравниваем её с «0» в блоке SWITCH2_m и на выход контроллера SWITCH2_m подаётся «1», что соответствует режиму «вкл». Если же снимаемая температура опускается ниже значения , то на вход блока SWITCH2_m подаётся «0», который сравнивается с «0» его внутренних параметров и переводит контроллер в состояние «выкл», что соответствует выходу блока SWITCH2_m со значением «0».

  16. Построение схемы управления подходит к концу. Осталось выход управления со входом управляемого объекта и добавить блоки для вывода графической информации, как показано на рис. 73.

    Рисунок 73. Блок-схема замкнутой системы управления температурой с двухступенчатым контроллером Рисунок 73. Блок-схема замкнутой системы управления температурой с двухступенчатым контроллером
  17. Запустите моделирование на 60сек, удостоверившись, что в блоке задержке стоит корректный размер буфера, а у блока осциллографа правильно настроены параметры осей, размерности входов и буферизации. Результат моделирования представлен на рис. 74.

    1-я система координат: черный график разница температур; зелёный ступенчатый график выход блока-решателя неравенства, иллюстрирующий переход через нуль; красный - график у=0

    2-я система координат: режимы контроллера 1-«вкл», 0 «выкл»

    3-я система координат: красный график желаемая температура , синий график снимаемая датчиком температура.

    Рисунок 74. Результат моделирования замкнутой системы управления Рисунок 74. Результат моделирования замкнутой системы управления

Из рис. 74 видно, что первые 5 минут – время равное задержке, контроллер простаивает и температура остаётся на отметке 0, после чего вычисляется разница температур (1-я система координат), и в работу включается контроллер (2-я система координат), повышающий температуру. Отопительные приборы продолжают работать на обогрев, пока температура в помещении не достигнет значения \( Tfix \), после чего контроллер переходит в состояние «выкл», однако, и при выключенных отопительных элементах, температура помещения растёт некоторое время, из-за инертности система, после чего начинает падать из-за неизбежных теплопотерь (3-я система координат). Падение температуры ниже критической отметки \( Tfix \), обозначающее отрицательность ошибки, вновь инициирует переход контроллера в состояние «вкл» и т.д.

Комментарии

Гость
Ответить
Войдите, чтобы оставить комментарий.
Гость
Ответить
Гость
Ответить
Гость
Ответить
Еще нет комментариев, оставьте первый.