
- •Методические указания
- •Содержание
- •О дноконтурные системы регулирования
- •С истемы регулирования по инвариантной схеме
- •3. Системы регулирования по каскадной схеме
- •4. Системы многомерного управления. Общие сведения
- •6. Синтез системы управления для простейшего многомерного объекта
- •7. Синтез апериодического регулятора
- •8. Реализация управляющих воздействий
7. Синтез апериодического регулятора
Для
простейшего многомерного объекта,
модель которого описана в п.6., производится
по условию
,
откуда регулятор получается в виде
,
.
Программа реализации регулятора имеет вид
8. Реализация управляющих воздействий
При
использовании электромоторного
исполнительного механизма, не
оборудованного широтно-импульсным
преобразователем, такое преобразование
надо выполнить в контроллере. Направление
включения (открытие, закрытие) определяется
простыми соотношениями: если вновь
рассчитанное значение
больше предыдущего
,
то включить двигатель надо в сторону
открытия, если же
– то закрытия. Время включения
рассчитывается по формуле
,
где
- время полного хода ИМ, а управление
измеряется в % хода ИМ. Ясно, что должно
выполняться условие
,
что является одним из оснований для
выбора ИМ по
.
Программно реализовать такое управление можно одним из 2 способов:
организовать работу системы с периодом, ориентировочно в 10 раз меньшим требуемого , вычисляя новое управление при каждом 10 вызове и держа включенным ИМ такое количество вызовов, пока не будет достигнуто рассчитанное положение ИМ, полученное от сигнала обратной связи от исполнительного механизма uim;
запустить отдельный параллельный процесс, держащий ИМ включенным время
в жестком реальном времени, после чего процесс должен самоуничтожиться.
Примерная программа реализации управляющего воздействия по первому алгоритму для нескольких исполнительных механизмов, может иметь вид
function[u,x,takt]=inreg(Ak, Bk, Ck, kp, f ,z, y,x, uim, minport, maxport, takt)
takt=takt+1
if
takt=10,
takt=0;
end
for i=1:length(uim);
if u(i)>uim(i), relay (maxport(i)); end
if u(i)<uim(i), relay(minport(i)); end;
end
При выборе пропорционального исполнительного механизма (например, пневматического) та же программа имеет вид
function[x]=anreg(Ak, Bk, Ck, kp, f ,z, y, x, portt)
for i=1:length(u);
output( u(i));
end