УДК 519.682.1 : 517.938
О ТОЧНОСТИ РЕАЛИЗАЦИИ НЕКОТОРЫХ ЗАКОНОВ УПРАВЛЕНИЯ
МИКРОКОНТРОЛЛЕРОМ
© 2016 А. М. Фрумкин
ст. науч. сотрудник кафедры математического анализа и прикладной математики, канд. техн. наук e-mail: frumkinam a mail. ru
Курский государственный университет
Для простых законов управления рассматриваются характеристики точности их реализации микроконтроллером. Для законов управления, обеспечивающих логическое управление и связь с человеком, точность реализации может описываться характеристикой слежения. Для законов регулирования характеристики точности строятся индивидуально. Это обстоятельство затрудняет включение в язык описания законов управления средств формального описания характеристик точности.
Ключевые слова: закон управления, реализация закона управления, микроконтроллер, характеристика точности, слежение, логическое управление, интегральное регулирование, релейное регулирование, ШИМ-регулирование.
Введение
Основными устройствами для технической реализации законов управления, являются микроконтроллеры на базе микропроцессоров [Александров 2012]. Идеализированные законы управления, описываемые на формальном языке [Фрумкин 2015], не могут быть реализованы контроллером точно в силу самого принципа его функционирования. С другой стороны, объект, которым управляет контроллер, допускает некоторые отклонения реализованного закона от идеализированного без существенного ущерба для качества процессов в системе управления. Поэтому в язык описания законов управления желательно включить средства для описания допустимых отклонений реализации закона управления от его идеализированного варианта. В связи с этим целесообразно описать допустимые неточности реализации закона управления в различных задачах управления. В данной статье рассматривается несколько задач описания точности реализации для несложных законов управления и простейших с точки зрения моделирования объектов управления.
1. Модели контроллера и объекта управления
В статье будет рассматриваться контроллер с классической архитектурой Дж. Фон Неймана [Жмакин 2010] и фрагменты программ для него, не использующие прерываний. Каждая команда процессора характеризуется временем своего выполнения, которое составляет целое число тактов процессора. Среди команд выделяются команды ввода и вывода для битовых (цифровых) и аналоговых сигналов.
Будем считать, что команда ввода битового сигнала определяет значение сигнала в фиксированный относительно момента начала выполнения команды момент времени. Соответственно, команда ввода аналогового сигнала определяет значение сигнала в фиксированный относительно момента начала выполнения команды момент времени с определенной точностью.
Команда вывода битового (аналогового) сигнала изменяет значение выходной переменной контроллера в фиксированный относительно момента начала выполнения команды момент времени.
В промежутках между выполнением команд ввода и вывода осуществляются вычисления. В дальнейших рассуждениях важно то, что эти вычисления имеют длительность. Особенности конкретной системы команд значения не имеют и потому не рассматриваются. Возможность использования приближенных реализаций законов регулирования исследуется для объекта, описываемого простейшей моделью дифференциального уравнения
Тх + х = А • и, (1)
в котором x - регулируемая переменная, T - постоянная времени, A - максимальное значение регулируемой величины. Переменная u в зависимости от задачи может рассматриваться как бинарная управляющая переменная (uE{0,1}) или как кусочно-непрерывно меняющаяся управляющая переменная (u£[-1,1]).
2. Характеристики точности
При абстрактном описании законов управления [Фрумкин 2015] мы практически не ограничиваем класс входных сигналов. Модель изменения входной переменной типа «real» - это процесс в множестве вещественных чисел [Фрумкин 2013], то есть кусочно-непрерывная функция со значениями произвольной величины и колебаниями значений произвольной формы. Модель изменения входной переменной типа «bit» -это процесс в {0,1}, то есть кусочно-постоянная функция, промежутки между точками разрыва которой могут быть произвольными. Процессы в множестве {0,1} называют также временными булевыми функциями [Поспелов 1974].
Контроллер, реализующий закон управления, является, частью системы управления, типовая структура которой изображена на рисунке.
Структура системы управления техническим объектом
' В систему управления объект управления и человек включены «на равных правах» как объекты, поведение которых определяется изменением переменных исполнительных устройств и которые формируют значения на выходах датчиков, то есть значения входных (информационных) переменных контроллера. Исполнительными элементами воздействия на человека являются устройства отображения информации и формирования звуковых сигналов, а датчиками сигналов от человека - органы ручного управления.
Сигналы, формируемые объектом управления, и тем более человеком, всегда ограничены по величине. В случае гладкого изменения всегда ограничены также их скорости и ускорения. Если битовый (цифровой) сигнал моделируется как временная булева функция, то расстояния между точками разрыва этой функции всегда ограничены снизу. Данные ограничения должны описываться одновременно с
описанием допустимых отклонении изменения выходных переменных от идеализированных изменений. Принцип реализации закона управления может быть сформулирован так: если для входных переменных выполняются описанные ограничения, то для выходных выполняются заданные условия точности. Формальное описание ограничений на входные процессы и условий, накладываемых на выходные процессы, будем называть характеристикой точности реализации закона управления или, кратко, характеристикой точности.
3. Определение инверсии битового сигнала
Определение 1. Временной булевой функцией назовем кусочно-непрерывную и непрерывную справа функцию х:[0,<»)^{0,1}, расстояния между точками разрыва которой ограничены снизу некоторым положительным числом. Минимальное расстояние между точками разрыва функции назовем временным показателем функции.
Можно показать, что для множества точек разрыва временной булевой функции существует единственная монотонная нумерация.
Определение 2. Будем говорить, что временная булева функция у отслеживает временную булеву функцию х с задержкой, не превышающей т, если найдется такое 1;0>0, что для каждого 1;>1;0 найдется 6<т: у(1;)=х(1-6).
Определение 3. Пусть х и у - временные булевы функции, 6 и О - монотонные нумерации их скачков. Будем говорить, что функция у правильно отслеживает функцию х с задержкой, не превышающей т, если найдутся такие номера т и п, что Ук>0 6т+к^Оп+к<6т+к+Т и у(Оп+к)=х(6п+к).
На языке ассемблера фрагмент программы, непрерывно (циклически) вычисляющий инверсию временной булевой функции, может иметь такой вид:
М: ЧТЕНИЕ_ВХОДНОГО_ЗНАЧЕНИЯ ВЫПОЛНЕНИЕ_ИНВЕРСИИ ЗАПИСЬ_ВЫХОДНОГО_ЗНАЧЕНИЯ ПЕРЕХОД_К М.
Введем следующие обозначения. Время, протекающее от начала выполнения команды чтения до момента фиксации значения входного сигнала (начальная часть времени выполнения команды чтения), обозначим тн.
Время установки выходного значения, протекающее от момента фиксации значения входного сигнала до установки значения выходного сигнала (время завершения выполнения команды чтения плюс время выполнения команд преобразования плюс время начала выполнения команды записи), обозначим ту.
Время завершения цикла вычисления инверсии, протекающее от момента установки значения выходного сигнала (время завершения выполнения команды записи плюс время выполнения команды перехода) обозначим тз.
Будем считать началом наблюдения момент начала выполнения рассматриваемого циклического фрагмента, обозначим через х(1;) и у(1;) соответственно входной и выходной сигналы. Тогда верны следующие утверждения.
Утверждение 1. Функция у(1) отслеживает функцию х(1;) с задержкой, не превышающей тн+тз+2ту.
3 Обозначим т=тн+тз+ту - время цикла. Положим 1;0=т. Рассмотрим произвольный
момент 1;>1о. Пусть п = еШ - число полных циклов выполнения программы к
моменту 1;, = О' ~ момент начала текущего цикла, О = Ь — О' ~
расстояние от начала текущего цикла.
Если §>Тн+Гу, то у(1)=у(11н+Тн)=Х^ - О), где 6=1- 1«-Тн=|-Тн <Тз+Ту.
Если §<тн+гу, то у(1)=у(1;н-Т+Тн)=х(^ — О), где 6=1-1н-тн+т=§-тн+т<тн+ту-Тн + Т Ту+Т Тн + Тз 12Ту.
В любом случае 6<тн+тз+2ту. 4
Утверждение 2. Если временной показатель входного сигнала не меньше Тн +Тз+2Ту , то функция у(1) правильно отслеживает функцию х с задержкой, не превышающей тн+тз+2ту.
3 Пусть 6 - нумерация моментов скачка функции х. Рассмотрим случай, когда
у(0) = х(0) = х(Д| —. Обозначим = О' , ^=60-1«. В промежутке [0Дн]
функция у не меняется.
Если §<Тн, то скачок функции у произойдет в момент 1="1н+Тн+гу. В этом случае 1-
6о= 1н+Тн+Ту-6о=Тн+Ту —§<Тн+^у<Тн+Тз+2Ту.
Если §>Тн, то скачок функции у произойдет в момент 1= 1;н+т+тн+ту. В этом случае 1—60= 1;н+т+тн+ту-60=т+тн+ту — §<Т+гн+гу —Тн =тн+тз+2ту.
Так как по условию 61-60>тн+тз+2ту, то 1£(60, 61) и во всем промежутке (1,61] функция у сохраняет значение у(^ = х(Д). Таким образом, в промежутке [60, 61] нет точек скачков функции у. С другой стороны, для момента 61 снова выполняется условие у( 0!) = 0-1 — и в промежутке [61, 62] снова найдется единственная точка скачка функции у, и.т.д. Момент 1 - начальный момент скачка функции у: 11=60 Искомыми номерами, начиная с которых выполняется условие слежения, будут т=0 и п=0.
Если у( 0) = х( 0) = х( Д), то в промежутке [0,61] функция у не меняется и у(Д) = 0-1 —. Искомыми номерами, начиная с которых выполняется условие слежения, в данном случае будут т=1 и п=0. 4
Утверждение 2 является характеристикой точности для процедуры инверсии.
4. Непрерывное вычисление функции
Определение 4. Будем говорить, что кусочно-непрерывная вещественная функция у отслеживает функцию х с задержкой, не превышающей т>0 и точностью 6>0, если найдется такое 110>0, что для каждого 1>10 найдется 6<т: |у(1;)-х(1-6)|<6.
Рассмотрим реализацию процедуры непрерывного присваивания, которая на языке описания законов управления описывается предложением: у*=Г(х), где { -некоторая функция. На языке ассемблера фрагмент программы, вычисляющий значения функции, реализуется аналогично фрагменту вычисления инверсии булевой переменной:
М: ЧТЕНИЕ_ВХОДНОГО_ЗНАЧЕНИЯ ВЫЧИСЛЕНИЕ
ЗАПИСЬ_ВЫХОДНОГО_ЗНАЧЕНИЯ ПЕРЕХОД_К М.
Будем считать, что фрагмент вычисления выполняется за фиксированное время. Введем обозначения Тн, Ту, и Тз для длин промежутков времени, уже рассмотренных в предыдущем пункте. В частности, Ту - это время завершения выполнения команды чтения плюс время выполнения команд вычисления функции плюс время начала выполнения команды записи. Входное значение читается с некоторой погрешностью 6, и вычисление вместе с выводом осуществляется с некоторой погрешностью е. Будем считать началом наблюдения момент начала выполнения рассматриваемого циклического фрагмента. Обозначим через х(1) и у(1) соответственно входной и выходной сигналы.
Утверждение 3. Пусть производная функции { ограничена по модулю величиной Б>0. Тогда для любого 1>тн+ту найдется ту<6<тн+тз+2ту, такое, что |у(0 — /(*(£ —
й) )1 < 00+ о.
3 Если 1>тн+ту, то выходное значение установлено согласно считанному значению, причем момент чтения 10 удовлетворяет неравенству ту<1-10<тн+тз+2ту. Здесь рассуждения аналогичны рассуждениям в доказательстве утверждения 1. Обозначим результат аналого-цифрового преобразования в момент 10 как х0. С учетом теоремы о Лагранжа [Шилов 1969] имеем
|у(о - /(*(О)1 < |у(0 - /Оо)1 + 1Ях0) - /(*()| < ЭП+ о
или |у(0 - /(*(г - ®)| < Б0+ п где 6=1-10. ►
Мы показали, что функция у(0 отслеживает /(х(^) с задержкой, не превышающей тн+тз+2ту, и погрешностью БД + [].
Утверждение 4. Пусть выполнены условия утверждения 3 и производная входного сигнала ограничена по модулю величиной 0>0. Тогда для любого 1>тн+ту
|у(0 - /(х(0)1 < с • й (ц, + 03+2Пу) + ОП+о.
3 В обозначениях предыдущего доказательства рассматриваем неравенство
|у(о - /(*(0)1 < \у(.0 - /(*(£о))1 + 1А*(0) - /(*(£о))1.
Ко второму слагаемому в правой части применяем теорему Лагранжа. 4 5. Использование характеристик слежения
Характеристика слежения, сформулированная в утверждениях 1 и 3, может использоваться для описания требований к точности реализации ряда других законов управления. Ею могут быть описаны требования к точности изменения переменной, которая представляет информацию для человека, то есть моделирует элемент панели управления. В частности, характеристика слежения может использоваться для описания процедуры циклического измерения физической величины с выводом результата на панель управления.
Характеристика слежения может описывать требования к изменению выходной битовой переменной в законах логического управления [Шалыто 2000]. Такие переменные меняются в технологическом процессе сравнительно редко. Например, среди выходных переменных устройства управления дизель-генератором можно выделить переменные управления процессами пуска-останова и подключения-отключения нагрузки. Эти переменные можно отнести к переменным с характеристикой слежения. В законах управления объектами пищевых и химических производств переменные с характеристикой слежения управляют открыванием и закрыванием клапанов, включением и отключением двигателей. Описывать требования к точности изменения выходных переменных законов регулирования с помощью характеристики слежения в общем случае не удается.
6. Интегральное регулирование
Фрагмент программы, реализующей интегральный оператор вида
<о = «о - а/о *(а)¿и , (2)
может иметь такой вид:
ПЕРВОЕ_ЧТЕНИЕ_ЗНАЧЕНИЯ_ВХОДНОЙ_ПЕРЕМЕННОЙ ИНИЦИАЛГОАЦИЯ_НАКОПИТЕЛЯ_ИНТЕГРАЛЬНОЙ_СУММЫ М: ЧТЕНИЕ_ВХОДНОЙ_ПЕРЕМЕННОЙ ИЗМЕНЕНИЕ_НАКОПИТЕЛЯ
ЗАПИСЬ_ ЗНАЧЕНИЯ_ВЫХОДНОЙ_ПЕРЕМЕННОЙ ПЕРЕХОД_К М.
Предположим, что изменение накопителя осуществляется методом трапеций [Фихтенгольц]. Рассмотрим характеристику точности, позволяющую оценить качество управления системой (1) с использованием методов исследования линейных систем [Шилов 1970]. Сигнал на выходе контроллера является кусочно-постоянным. Соответственно, регулируемая переменная в уравнении (1) - кусочно-гладкая, и оценка погрешности формулы трапеций из книги [Фихтенгольц] неприменима. В связи с этим докажем следующее утверждение.
Утверждение 5. Пусть время между последовательными моментами чтения входного сигнала равно т и точность преобразования оценивается числом ö. Пусть входной сигнал кусочно-гладкий и модуль его производной не превышает D>0. Тогда линейная функция, которая интегрируется методом трапеций вместо сигнала, в
рассматриваемом промежутке отклоняется от сигнала на величину не более П +
3 Обозначим входной сигнал буквой x. Пусть [t1,t2] - промежуток между соседними моментами чтения, T=t2-t1, x(t1)=x1, x(t2)=x2. Приближающая линейная функция h : t1, t2] ^ x1 + J1 (t — t1). В промежутке [t1,t2] по обобщению
теоремы Лагранжа x(t) < x1 + D(t — t1). И одновременно x(t) < x2 + D(t2 — t). Следовательно, x(t) < max[x1 + D (t — i-), x2 + D(t2 — t)} и
x(t) - h(t) < max[x1 + D(t - tj, x2 + D(t2 - t)} - h(t) (3)
Выражение справа достигает максимума в точке t, являющейся решением уравнения: х1 + t — ij) = х2 + D(t2 — t). Решив его и подставив t в правую часть, получаем
оценку х( t) — h( t) < — ^ Аналогично получается оценка снизу:
Х( t) - К 0 > - f.
Если значения zt « х(t^) и zt « х(t2) определяются с точностью ö, полученная линейная функция д • t^t1, t2] ^ + Z2^Zl (t — отличается от h(t) по норме не
более чем на ö. Отсюда |х(t) — д(t)| < □ + ^ 4
Характеристика точности формулируется в форме утверждения. Утверждение 6. Обозначим выходной сигнал контроллера через и, сигнал согласно формуле (2) - через U. Пусть выполняются условия утверждения 5, входной сигнал по модулю ограничен величиной A-ö>0, цифро-аналоговое преобразование при выводе осуществляется с погрешностью е. Тогда найдутся непрерывная функция ф:[0,<х)^Я, и кусочно-непрерывная функция n:[0,«)^R, задающие представление
u(t) = U{t) - □/о □(□)du - D(t) (4)
и удовлетворяющие следующим условиям малости:
Vt > 0 \U(t)\ < □ + ^ и \U(t)\ < 2UUA + □. 3 Полагаем t) = g(t) — x(t), где g(t) - кусочно-линейная функция, интегрируемая в микроконтроллере вместо функции х( t). Если не учитывать погрешность вывода, то для произвольного момента времени t>2T
«(О = u0 - D^CD)du.
Здесь 6 - ближайший слева к t момент чтения входной величины, после которого
осуществлено изменение выхода. В общем случае t — ¡J < 2Д Отсюда
t О
и(о - У(0 = +□ J *Ш)du - □ J gffl)du
о о
Или М(о - и(о = -□ /о (яШ) - *(ГО)dU + □ £ д(П)du
□(t) = -□/□ д(Л)dU, ID(t)| <ОА20 4
Рассмотрим пример применения сформулированной характеристики точности к исследованию процессов в системе регулирования.
Утверждение 7. Пусть параметр а в уравнении интегратора выбран так, что процессы в системе, описываемой уравнениями (1) и (2) - апериодические. Пусть функции X:[0,<»)^R, U:[0,<»)^R описывают процесс в системе (1)-(2), обладающий следующими свойствами:
Vt > 0 |ВД1 < А - Qv |ü(t)| < 1 - П2,
где Д1 = □ + 2 - A + —, Д2 = — + 2 - + 2Q,
i т 2-т-П' 2 2A t
Пусть идеализированный регулятор (2) заменен контроллером с характеристикой точности, описанной утверждением 6. Тогда процессы x:[0,<»)^R и u:[0,<»)^R изменения величин в полученной системе с теми же начальными условиями х( 0) = Х(0) = х0 и и(0) = í/(0) = и0 обладают свойством
vt > о |х(о -X(t)\ < игП К0 - U(t)\ < и2.
3 Система объект-регулятор описывается уравнениями:
. , х А X +- = - • U,
т т '
< 0 = "о - □ /0 < ГО dU - □ /о Di ГО dU - D(t). Обозначим tL = sup [t > 0 VOO[0, t] | x(01 < А О I w(01 < 1} . (5)
Рассмотрим эволюцию системы в промежутке [0,tL]. Обозначим 0 = ио —
□ j! x(Q)dU. Тогда V = — Qx, х = — ^, х = — ^ и единое уравнение для v(0 такое:
V + ! + Di V = D2! í! üi. □) dU + Di D(t} . (6)
Это уравнение линейно по V, поэтому его решение можно представить в виде суммы
! ПА
v(t)=V(t)+w(t). В данной сумме V(t) - решение уравнения v + - + — v = 0 с
начальными условиями v(0) = — Цх0, v(0) = и0, а w(t) - решение уравнения (6) с нулевыми начальными условиями. Функция V(t) определяет идеализированный
процесс: U(t)=V(t), X(t) = — ^^р поэтому
x(t) - ВД = - <0 - U(t) = w(t) - □/о! □(□)dU - D(t).
Функцию w(t) найдем методом вариации постоянной [Шилов 1970]. По условию корни
-2 D DA
характеристического многочлена = и + - + ~ системы (1)-(2) отрицательны.
Обозначим их -Х1 и -Х2 (Х2>Х1>0). Далее, обозначим Q(t) = □)^D. Функция w(t) определяется выражением
rfA rt e-Oi^-D)-e-n2(.t-® пА rt e-01ít-n)_e-D2(t-Д)
= IT ti --!--™ dD+ Di /0!-_--rn da
Это выражение является линейной комбинацией интегралов вида
t
/с^) =1 е• /Щ) dO = ееап • /Щ) йО
о о
В качестве параметров I могут быть Х=Х\ или Х=Х2 и/=о или/=ц Если £=а, то интегрированием по частям получаем:
ееш • авап=ш - л • П(Вйа
Отсюда, с учетом равенства П1П = — (теорема Виета), получаем:
ff А '
AD т.
о
t
(е-п^- е-п2() • [¡(О) ¿д = С п е-П2(!~П) - п е-П^-П)
= Ш( О + п\ --^--а® ^о
о
и далее,
«СО - исо = □ £—-¿р--ПШ)ли - е----□(□) ¿П . (7)
Производная интеграла I
К0 = -П- е/0! • /до ^ + /Щ) . (8)
В случае £=а
'(о = Р^т - /о нет • Ма = £е• П® ^ .
Отсюда
Т = т /О е—---□(□) ^+А /О -—¿л--а(а) аи . (9)
Для того, чтобы оценить по модулю правые части равенств (7) и (9), необходимо оценить интегралы
= /О!-_--/СП) ¿П и /2( о = /о—-¿л--Г(П)
Так как--—--Ц0, то верна оценка
^(О! < 5ир0!Д!!|/Щ) |/0! !-^-йО.
1 □ -□ /е е
Интеграл-сомножитель справа равен — [ 2 _ 1 — I —----— I], причем выражение в
"Ш Ш^г \ Ш! и2 ) !
круглых скобках положительно. Отсюда |/1(£)| < — $ир0<д<! \fijj) |.
Далее, |/2(Г) < |/Щ)| • /0'|П2е- ¿[¡. Значения функции
= П2е"^23 — П^положительны, если б<6, и отрицательны, если б>6, где п 1п (П22-1п (Рг)
О =-—— . Следовательно, если 1<6, то
-п2- ^е-п1(¿д = е-а^ - е-а2!.
Воспользуемся теоремой Лагранжа:
е- е-п2! = teП2 - □ ^ = доte-ао^2 - □ ^, где Х1<^0<Х2.
ио
Но тахд>0( Ое-0) = - поэтому
|/2(0| < ^ • зир0!П!^/Ш)| . (10)
Если 1>6, то £1 и2е"П2- ¿и = 2(е~и!и) + е'^ - е.
Но функция ^ = е— еубывает по 1 при 1>6, поэтому при 1>6
д2е-и2а-а - -□1(!-Д)| ао < е-П1П-е-П2П.
Следовательно, и в случае 1>6 для |^^ (| верна оценка (10). Таким образом, КО - У(01 < • тах0£иц!□(□) + 2 • шах0<п<с|□(□)! ,
□ о -
|х(0 - *(01 < *ир0£и! !□(□) + ^ • 5ир0<а<!|□(□) |. Отсюда, с учетом неравенств из утверждения (6) и оценки
0
* И = 5"л/£-Т = ¡Тр" > ^
получаем итоговые неравенства:
□+? □ □
КО - и(01 < + 2 • (2ППА + Го < А-е + Т- + 4 • ППА + 2П =
= £+?(! +4 •+ 2а ^+2! + 2а =
КО - х (01 < □ + + ^ < □ + 3 А + А ^ + < □ + 2 а А + Л = А! •
I V у V Я и 2 и т !•! и т 1
В момент ^ в силу непрерывности х( 0 и и( 0 должно выполняться равенство |х(0| = А или |и(= 1. Но согласно полученным неравенствам этого быть не может, то есть неравенства верны на всей полуоси [0,<»). ►
7. Релейное регулирование
Релейный двухпозиционный закон управления с нижним пороговым значением Ь и верхним пороговым значением Н [Фрумкин 2015] может быть реализован программой следующего вида:
М: ЧТЕНИЕ_ВХОДНОГО_ЗНАЧЕНИЯ ВЫЧИСЛЕНИЕ_РАЗНОСТИ Хс-Ь
ЕСЛИ Хс-Ь<0 ПЕРЕХОД_К М1 ВЫЧИСЛЕНИЕ_РАЗНОСТИ Хс-Н ЕСЛИ Хс-Н>0 ПЕРЕХОД_К М0 ПЕРЕХОД_К М
М1 ЗАПИСЬ_ВЫХОДНОГО_ЗНАЧЕНИЯ 1 ПЕРЕХОД_К М
М0 ЗАПИСЬ_ВЫХОДНОГО_ЗНАЧЕНИЯ 0 ПЕРЕХОД_К М.
В цикле выполнения данной программы в зависимости от считанного входного значения Хс запись нового значения выходной переменной может осуществляться или не осуществляться. Если запись осуществляется, то время между моментами чтения и записи может быть различным при различных входных значениях. Соответственно, длительность цикла выполнения программы, равная времени между последовательными моментами чтения, меняется от цикла к циклу. Для несложной оценки точности реализации закона управления будем использовать один параметр -максимальное время цикла т. Соответственно, промежуток времени между чтением и записью не превышает т, а промежуток времени между текущим моментом и моментом установки текущего выходного значения не превышает 2т.
Релейный закон может быть аналитически описан уравнениями У(0 = /(Уо, *(0)), Vt > 0 у(0 = /(у(t -, х(0), в которых х(0 - входной сигнал, у(0 - выходной сигнал, —) - предел слева функции у( 0, Уо - исходное значение выходного сигнала, /- функция переключений:
' 0, если х < Ь г (б, х) = 5, если Ь < х < Н. . 1, если х > Н
Релейный закон как оператор не обладает свойством непрерывности. Можно представить два как угодно близких в смысле равномерной нормы [Шилов 1970] сигнала, для одного из которых выходной сигнал будет постоянным нулем, а для
другого - постоянной единицей. Погрешность чтения приводит к тому, что для некоторых входных сигналов выходные сигналы идеализированного и микропроцессорного регулятора кардинально различаются. Поэтому характеристика точности формулируется громоздко: для каждого 1>2х найдутся моменты чтения 1:ч и записи 1:з и измеренное значение 2Е[х(1:ч)-6, х(1:ч)+6] такие, что 1-2т<1:ч<1:з<1 и У^Е[1:з,1:] у©=%(1ч),4
Утверждение 8. Пусть объект описывается уравнением (1), причем и£{0,1} -бинарная управляющая переменная. Пусть пороги релейного регулирования равны Ь и Н (0<L<H<A), точность аналого-цифрового преобразования равна 6, максимальное время цикла т<Т.
Тогда при любом начальном значении регулируемая величина, начиная с некоторого момента, оказывается в промежутке
[Ь - □ - (Ь - © ^, Н + □ + (А - Н - ГО у]. (11)
3 Обозначим последовательности моментов чтения и записи как 6П и Оп, последовательность результатов измерения входного сигнала в моменты 6п - как 2п (п=0,1,2,...).
Пусть в момент О0 на выходе контроллера установлена единица, то есть 20<Н. Найдем п=шт{к>0: 2к>Н}. В предыдущем цикле в момент 6п-1>6п-т зафиксировано условие 2п-1<Н. Так как для соответствующего точного значения х(6п-1) имело место неравенство | х(6п-1) - гп-1|<6, то х(6п-1) <Н+6. Но изменение выходной переменной на ноль происходит только в момент времени Оп >6п, причем 'д,п<6п+т. Согласно теории дифференциальных уравнений [Шилов 1970], в промежутке [6п-1, Оп] регулируемая переменная изменяется по закону
*(0 = [х(Дп_1) - А) е ! + А.
Так как х < А, функция х монотонно растет и ее значение в момент Оп не
( . Пп.1-Рп
превышает ( х(Дг1) - А) е т + А .Но Оп-6п-1<2х и х шп-1) < Н + О, Поэтому
х(пп) < (Я - О-А)е"Т + А.
В момент Оп функция х(1:) начинает убывать. Пусть ш=шт{к>п: 2к<Ь}. Рассуждения проводятся аналогично. В предыдущем цикле г;ш_1>Ь, где величина г;ш_1
измерена в момент 6ш-1>6ш-т. Соответственно, х > Ь — []. Изменение выходной
переменной на единицу происходит в момент времени Ош>6ш, причем Ош<6ш+^. В промежутке [6ш-1,Ош] регулируемая переменная изменяется по закону х(0 = х(Пт-1) •
°т-1~! _2О
е ! , то есть х(Цт) > (Ь — Ц)е т . В промежутке [Оп,Ош] функция х(монотонно
убывает, поэтому в этом промежутке
20 20 (Ь - П)е"г < х(0 < (Я - □ - А)е" + А. (12)
Результирующее неравенство (11) следуют из аппроксимации экспоненты. Теперь мы можем найти п=шт{к>ш: 2к>Н} и аналогичными методами показать, что в промежутке [Ош,Оп] снова выполняется неравенство (12). Далее происходит следующий цикл изменения переменной х с теми же закономерностями, касающимися пределов ее изменения.
Случай, когда в момент 00 на выходе контроллера устанавливается ноль, рассматривается аналогично. 4
8. Широтно-импульсное регулирование
Простейшая процедура широтно-импульсного регулирования не измеряет регулируемую переменную и формирует импульсы с постоянным коэффициентом заполнения.
ШИМ_РЕГУЛИРОВАНИЕ(Ы1 у)
par (real T1, % время выдержки единицы (импульса)
real T0 % время выдержки нуля (пауза) % ) repeat у:=1; delay(Tl); у:=0; delay(Tl); end end
Рассмотрим реализацию такой процедуры без использования периферийных устройств (таймера или ШИМ-генератора).
М: УСТАНОВКА_ЕДИНИЦЫ_НА_ВЫХОДЕ_УСТРОЙСТВА
УСТАНОВКА_ВРЕМЯЗАДАЮЩЕГО_СЧЕТЧИКА М1: УМЕНЬШЕНИЕ_ВРЕМЯЗАДАЮЩЕГО_СЧЕТЧИКА
ЕСЛИ СЧЕТЧИК_НЕ_СОДЕРЖИТ_НУЛЯ ПЕРЕХОД_К М1 УСТАНОВКА_НУЛЯ_НА_ВЫХОДЕ_УСТРОЙСТВА УСТАНОВКА_ВРЕМЯЗАДАЮЩЕГО_СЧЕТЧИКА М0: УМЕНЬШЕНИЕ_ВРЕМЯЗАДАЮЩЕГО_СЧЕТЧИКА
ЕСЛИ СЧЕТЧИК_НЕ_СОДЕРЖИТ_НУЛЯ ПЕРЕХОД_К МО ПЕРЕХОД_К М
Согласно данной реализации, выдержки времени постоянны, но несколько отличаются от выдержек, заданных идеализированным описанием. Характеристика точности может быть сформулирована так: временные расстояния между моментами скачков выходного сигнала реального устройства отличаются от соответствующих расстояний для выходного сигнала идеализированного устройства на величину, не превышающую 6.
Утверждение 9. Пусть объект описывается уравнением (1), причем u£{0,1} -бинарная управляющая переменная. При описанном ШИМ-регулировании в системе существует локально устойчивый установившийся периодический процесс с периодом, равным сумме двух выдержек. Если выдержки времени т0 и т1 ШИМ-регулятора реализуются с погрешностью 6<<min{x0,x1}, то относительное отклонение Д состояния системы в начале периода от соответствующего состояния в идеализированном
^ О
процессе не превышает е т —.
U-!
3 Разделим процесс на циклы. Обозначим состояние объекта в начале n-ого
цикла как xn. Состояние, в которое перейдет объект через время т1,
Pi
уп = On - Л)е т + А.
Начальное состояние (п+1)-ого цикла, в которое объект перейдет далее через время т0,
По Пг По
*п+1 = Упе ! = [(хп - А)е ! + А]е ! .
Пг По
Производная функции /(х) = [(х — А)е т + А]е т, рекуррентно
. П0+П1
определяющей последовательность состояний, равна /(х) = е т и по модулю меньше единицы. Следовательно [Бромберг 1967], в системе существует локально устойчивый периодический процесс. Состояние системы в начале каждого цикла этого
gi По
процесса определяется уравнением х = [(х — А)е т + А]е т, откуда
По Ж f _Ü!
х = д !-!(V_7) = J 1
П0+П1 "I gp+g!
1-е ! \ 1-е ! /
Левый вариант формулы показывает, что x монотонно убывает с то. Правый вариант формулы показывает, что x монотонно возрастает с Ti. Если отклонения выдержек, реализуемых микропроцессором, от требуемых значений не превышают 5, то состояние x лежит в промежутке
По+П\ ( По~Пу
М i --Lf^U < х < А 1 1"е"Т
П0+П1 - л - л 1 ^ Пр+П1
1-е Т / \ 1-е Т Ро □ е Т (еТ-1)
Максимальное отклонение значения x А ^.
1-е т~
□
. е Т-1
его относительное значение Д=-¡г-.
1-е Т
Так как ö<x1 (точнее, ö<<x1) и экспонента выпукла вниз, то
п Ol
а =1 + ц П1
п Oí п
U р т -1 П Ul п
ет < 1 + • ^ = 1 + (е ! - 1) • ^ .
Ui т у J П-
т
□i п ^ Отсюда Д< е т — .4
Di
9. Выводы
Рассмотренные примеры показывают, что различные законы управления требуют различных способов описания точности своей реализации. С другой стороны, большинство выходов промышленного контроллера предназначены для отображения информации и логического управления, для которых приемлемы характеристики слежения. При построении компилятора для формального языка желательно обеспечить возможность строить управляющую программу из фрагментов, написанных на формальном языке и на языке ассемблера.
Библиографический список
Александров Е.К., Грушвицкий Р.И., Куприянов М.С. Микропроцессорные системы. СПб.: Политехника, 2012. 935 с.
Бромберг П.В. Матричные методы в теории релейного импульсного регулирования. М.: Наука, 1967. 324 с.
Жмакин А.П. Архитектура ЭВМ. СПб.: БХВ-Петербург, 2010. 352 с.
Поспелов Д.А. Логические методы анализа и синтеза схем. М.: Энергия, 1974.
368 с.
Фихтенгольц Г.М. Курс дифференциального и интегрального исчисления. Т. 2. М.-Л.: ГИТТЛ, 1948. 860 с.
Фрумкин А.М. К определению понятия события при описании процессов в системах управления // Ученые записки: электронный научный журнал Курского государственного университета. 2013. №1. URL: http://scientific-notes.ru/pdf/029-01.pdf (дата обращения: 29.04.2013).
Фрумкин А.М. Об объектах языка описания законов управления // AUDITORIUM Электронный научный журнал Курского государственного университета. 2015. №3. URL: http://auditorium .kursksu.ru/pdf/007-001.pdf (дата обращения: 13.01.2016).
Шалыто А.А. Логическое управление. Методы аппаратной и программной реализации. СПб.: Наука, 2000. 780 с.
Шилов Г.Е. Математический анализ. Функции одного переменного. Ч. 1-2. М.: Наука, 1969. 528 с.
Шилов Г.Е. Математический анализ. Функции одного переменного. Ч. 3. М.: Наука, 1970. 352 с.