Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_бакалавр.doc
Скачиваний:
1
Добавлен:
16.09.2019
Размер:
614.91 Кб
Скачать

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

13

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]