Клиначёв Николай Васильевич

УДК 681.51.01
Ф338

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

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

Теория систем автоматического регулирования находится в более выгодном положении, однако и здесь наблюдаются подобные факты. Оценка величин коэффициентов ошибок и их использование – это пример широко изучаемых методик, теряющих свою актуальность. В работе [1] для оценки коэффициентов ошибок используется процесс симуляции модели в типовых режимах движения. Рассмотрим ситуацию подробней. Для того чтобы якобы без существенных вычислений иметь возможность нарисовать карандашом установившуюся осциллограмму ошибки при ограниченных видах входного воздействия, мы используем компьютер. Причем, использование мощнейшего вычислителя нам оказывается дешевле, чем ручной поиск производных. Дело усугубляется тем, что если бы мы использовали компьютер для решения задачи "в лоб", то нам бы потребовалось меньшее количество машинного времени, ограничения на входные воздействия отсутствовали бы, знание о таком понятии, как коэффициенты ошибок нам бы не потребовалось, а результат был бы точнее и учитывал бы переходный процесс.

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

Проблема нахождения коэффициентов ошибок связана с решением стандартной математической задачи, которая состоит в делении одного полинома на другой:

Представление отношения полиномов степенным рядом

Результат деления может определяться согласно общему правилу разложения функции в ряд Тейлора.

В случае если левая часть равенства есть передаточная функция системы автоматического регулирования по ошибке Fx(s), то величины c0c1c2c3, ... называются коэффициентами ошибок. Однако при построении блок-схем моделей САР коэффициенты передаточной функции по ошибке не используются. В этих условиях постановка задачи нахождения коэффициентов ошибок модифицируется. В лучшем случае исходной информацией для вычисления коэффициентов ошибок будут являться коэффициенты полиномов числителя и знаменателя передаточной функции разомкнутой системы:

W(s) = (1 - Fx(s)) / Fx(s) .

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

Итак, в конечном виде задача формулируется следующим образом. Для библиотеки анализа моделирующей программы (VisSim, Simulink, MBTY, MVS, ...) нужно разработать алгоритм процедуры, которая бы вычисляла коэффициенты ошибок c0c1c2c3, ... для произвольной модели пользователя. Алгоритм процедуры должен предполагать, что перед ее использованием пользователь выделит фрагмент модели, который будет являться разомкнутой системой (такое же выделение требуется, чтобы библиотека анализа построила ЧХ разомкнутой системы или построила корневой годограф).

Рассмотрим модель замкнутой САР и аспекты движения ее координат при типовых сигналах задания.

Состояние интеграторов системы автоматического регулирования в типовых режимах движения

Рис. 1

Анализ осциллограмм сигналов, которые присутствуют на выходах интеграторов показанной системы в типовых режимах движения, позволяет утверждать, что с ростом показателя степени задающего параболического сигнала (t0 = 1; t1 = t; t2/2; ...) текущие осциллограммы выходных сигналов смещаются по цепочке интеграторов влево без изменения масштаба, при этом выходные сигналы старших интеграторов равны нулю.

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

Теперь зададимся вопросом, что будут определять выходные сигналы (s0 и  s1) двух последних интеграторов, если мы обнулим сигнал задания, присвоим выходное значение последнего интегратора предыдущему (s1:=s0) и найдем такое, выходное значение для последнего интегратора, дабы система была сбалансирована? Чтобы ответить на данный вопрос, ответим на более простые. Что мы сделали, сместив сигналы по цепочке интеграторов и отбалансировав систему? Мы вычислили одно из возможных состояний установившегося режима слежения за линейнонарастающим сигналом. Чему равна ошибка при отслеживании линейнонарастающего сигнала? Ошибка равна x(t) = c0 t + c1. А что мы сделали, обнулив задание? Мы свели к нулю влияние на ошибку коэффициента c0. Таким образом, выходные сигналы двух последних интеграторов будут определять значение коэффициента ошибки c1, который будет равен значению ошибки системы c1/1! = x[1]. Еще один сдвиг по цепочке интеграторов, позволит получить значение следующего коэффициента ошибки: c2/2! = x[2], и т.д.

Универсальная блок-схема для вычисления коэффициентов ошибок с0, с1, с2, ...

Рис. 2

Блок-схема, реализующая описанную технику вычисления коэффициентов ошибок, показана на рис. 2. Интеграторы модели замещены цепочкой регистров задержки, а балансировка состояния осуществляется итерационным решателем VisSim'а (блоки unknown и constraint). Каждый из коэффициентов разложения вычисляется за один шаг симуляции. В силу линейности модели, на каждом шаге симуляции (этапе процесса разложения) возможно лишь одно равновесное состояние, отыскиваемое за одну или две итерации. В работе [1], параграф 2, для данной модели САР были получены коэффициенты ошибок в соответствии с другой методикой. Результаты совпадают.

Для балансировки изображенной на рис. 2 блок-схемы необходимо решать только одно линейное алгебраическое уравнение. Безусловно – это достоинство данной блок-схемы. Однако её нельзя использовать в случае, если система имеет параллельные каналы и обратные связи. Данное затруднение можно преодолеть двумя способами. Библиотека анализа любой моделирующей программы имеет процедуру идентификации коэффициентов модели [2]. Результаты идентификации, т.е. коэффициенты матрицы ABCD могут быть преобразованы в коэффициенты эквивалентной передаточной функции. Воспользовавшись подобными процедурами (VisSim > Analyze > Transfer Function Info), линейную модель с любой топологией можно преобразовать к последовательному виду (рис. 2).

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

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

Рис. 3

Данная подстановка обеспечивает "обратное распространение по интеграторам" сбалансированных значений координат не зависимо от топологии модели. Однако в этом случае, процедура балансировки модели требует решения не одного, а системы линейных алгебраических уравнений, порядок которой равен порядку исследуемой САР. Важно отметить тот благоприятный факт, что после представленной подстановки, величина шага симуляции моделирующей программы не имеет влияния на результаты разложения передаточной функции.

Для демонстрации работоспособности методики была использована представленная на рис. 5 в работе [1] модель САР. Чтобы топология модели отличалась от универсальной, показанной на рис. 2, были найдены корни ее передаточной функции, и, по их значениям, модель была представлена типовыми динамическими звеньями. Далее все интеграторы модели были заменены блок-схемой-подстановкой (рис. 3). Результаты вычисления коэффициентов ошибок демонстрируются на рис. 4.

Вычисление коэффициентов ошибок модели САР с произвольной топологией

Рис. 4

Анализируя структуру модели, можно легко понять, что уже при вычислении первого коэффициента ошибки c0 итерационный решатель должен найти три не нулевых корня, которые обеспечат равновесное состояние модели (при единичном задании, в установившемся состоянии, на выходах интеграторов отмеченных точкой должны быть единичные сигналы). Данная САР является астатической, поэтому коэффициент ошибки c0 должен быть равен нулю. Тот факт, что найденное значение не равно нулю поясняется погрешностью, с которой итерационный решатель находит (подгоняет в итерационном процессе) значения корней.

В случае необходимости вычисления коэффициентов ошибок для линейной дискретной модели САР, следует сначала трансформировать модель к непрерывному аналогу, а за тем воспользоваться описанной методикой. Трансформацию дискретной модели в непрерывную легко осуществить с помощью имеющихся в программах математического моделирования динамических систем процедур билинейного преобразования [2].

Литература

  1. Федосов Б. Т. Об оценке качества линейных САР с использованием программ моделирования. - Website: http://model.exponenta.ru/bt/bt_0004.html, Рудный, Казахстан, 2003.
  2. Клиначёв Н. В. Обзор методов анализа моделей, систем и сигналов. - Website: http://model.exponenta.ru/lectures/sml_04.htm, Челябинск, 2003.

17.08.2003