Использование супер-блоков в системе с релейным регулятором
В предыдущем материале мы рассмотрели пример реализации простейшего управляющего элемента в Xcos. Заметим, что частота переключения режимов двухфазного термоконтроллера высока (около 10 сек.), что на практике оказывало бы дополнительную нагрузку на исполнительные механизмы устройства и приводило бы к его быстрой поломке. Поэтому более рациональным было бы указывать не фиксированное значение температуры, а диапазон температур, характерных для комфортного пребывания в помещении.
Рассмотрим, как можно модернизировать созданную блок-схему для осуществления поставленной задачи.
Прежде всего, для большей наглядности созданной схемы, прибегнем к помощи супер-блоков. Чтобы объединить несколько Xcos блоков в один супер-блок нужно:
выделить нужные блоки с их соединительными линиями (см рис.75 а);
Рис. 75a. Преобразование блоков в супер-блок/ выделение объединяемых блоков
кликнуть правой кнопкой мыши по одному из блоков;
в выпадающем меню выбрать пункт «Selection to superblock».
После чего на месте группы блоков появится новый блок (см. рис..75б ).
То же самое необходимо проделать для блока управления, предварительно удалив лишние соединительные линии (см. рис. 76 а-б)
В результате исходная схема примет удобочитаемый вид, как показано на рис. 77.
После проведения всех манипуляций настоятельно рекомендуется запустить моделирование, дабы убедиться, что ничего не сломалось. Как правило, чего-то всегда ломается. Но процесс отладки полезен потому, что позволяет лучше разобраться в происходящем.
Итак, чтобы найти ошибку, необходимо проанализировать, где она могла бы возникнуть. Вопросы с настройкой осциллографа мы разбирать не будем, так как это тема давно минувших дней параграфов. Обратимся к ново-созданным супер-блокам. Для того, чтобы просмотреть содержимое супер-блока, нужно дважды по нему кликнуть левой кнопкой мыши, после чего, в новом окне откроется блок-схема, входящая в состав данного супер-блока. Обратимся к содержимому зелёного блока (см. рис. 78).
Вот оно! Подозрительный треугольник с восклицательным знаком, сигнализирующий о наличии ошибки. Дело в том, что в данных блоках используются переменные, указанные в контексте исходной рабочей области. Контекст же открытого окна, на проверку, оказывается пустым. Следовательно, для устранения данной ошибки, необходимо перенести используемые переменные из контекста исходного окна в окно редактирования супер-блока.
Важно! Иногда устранить ошибки, при создании супер-блоков из имеющихся в схеме, не удаётся – это баг бесплатного программного обеспечения. В этом случае построение схемы нужно начать в новой рабочей области именно с создания супер-блоков
, которые можно найти на палитре «Пользовательские функции».
После краткого знакомства с пользовательскими супер-блоками, вернёмся к задаче модификации контроллера, регулирующего температуру в заданных пределах. Для моделирования такого контроллера потребуется блок
, который располагается на палитре «Системы с разрывами». Данный блок имеет один регулярный вход и один регулярный выход и осуществляет переключение между двумя константами. Блок реле остаётся включенным до тех пор, пока на вход не передано пороговое значение, после чего реле выключается и принимает второе значение до тех пор, пока вновь не будет пройдено пороговое значение.
Из описания блока HYSTHERESIS следует, что целый блок, реализующий включение и отключение термокнтоллера, можно заменить одним блоком реле, как показано на рис. 79.
Внутренние параметры блока HYSTHERESIS представлены на рис. 80
Согласно заданным параметрам, блок HYSTHERESIS будет работать следующим образом:
по умолчанию блок считается включенным и остаётся таковым до тех пор, пока значение, подаваемое на его вход не превысит delta, при этом на выход блока реле подается значение output when on = 1.
Как только значение, подаваемое на вход блока реле превышает delta, блок выключается и подаёт на выход значение output when off = 0 до тех пор, пока входное значение не упадёт ниже –delta. Далее процесс повторяется.
Иначе на этот процесс можно взглянуть, обратившись к неравенству, которое решалось в предыдущем случае. Если прежде разность температур сравнивалась с нулём, то сейчас ошибка должна попадать в диапазон значений, иными словами, с помощью блока HYSTHERESIS в блок-схеме (см. рис. 81) решается неравенство .
\( |Tfix-H(s)|<\delta \) (*)
Запустите моделирование на 100сек. со следующими параметрами \( delta=3; Tfix=22; K=50; T=30; \tau=5 \), указанными в контексте. Результат моделирования представлен на рис.82.
Судя по графикам, можно сделать следующий вывод: не смотря на то, что частота переключения контроллера сократилась, увеличился разброс значений, выходящих за рамки допустимого диапазона. На практике управляющий элемент такого типа используется в качестве компромиссного решения между частотой смены состояний переключателя и значениями перерегулирования.
Комментарии