y(nT)=K∙x(nT). (3.1)

Программа для усилительного звена записывается таким образом:

y=K*x;

3.1.2.  Сумматор

Алгоритм сумматора, записанный в виде решетчатой функции выглядит так:

y(nT)=x1(nT)+ x2(nT). (3.2)

Программа для усилительного звена записывается таким образом:

y=x1+x2;

3.1.3.  Интегратор

Интегратор нулевого порядка описывается таким образом:

y(nT)= y(nT-T)+x(nT) ∙T/ Ti. (3.4)

Программа данного интегратора следующая:

y=y+x*T/Ti;

Необходимо отметить, что в модуле инициализации должно быть присвоено начальное значение переменной интегратора:

y=0;

Для линейного интегратора алгоритм работы следующий:

y(nT)= y(nT-T)+(x(nT)+ x(nT-T)) ∙T/(2∙Ti). (3.5)

В этом случае требуется информация о текущем и предыдущем «вчерашнем» состоянии переменной x. Для этого вволится промежуточная переменная p, а программа записывается в две строки:

y=y+(x+p)*T/(2*Ti);

p=x;

В модуле инициализации промежуточная переменная также должна быть обнулена:

y=0;

p=0;

3.1.4.  Дифференцирующее звено

Алгоритм дифференцирующего звена:

y(nT)=(x(nT)- x(nT-T)) ∙Ti /T. (3.6)

Программа также требует введения промежуточной переменной и выглядит так:

y=(x-p)*Ti/T;

p=x;

В модуле инициализации промежуточная переменная обнуляется:

p=0;

3.1.5.  ПИ-регулятор

В общем случае ПИ-регулятор может быть представлен так, как показано на рис. 3.1.

Рис.3.1. Общая структура ПИ-регулятора

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

НЕ нашли? Не то? Что вы ищете?

y1(nT)=x1(nT)– x2(nT);

y2(nT)=K∙ y1(nT).

y3(nT)= y3(nT-T)+y1(nT) ∙T/ Ti; (3.7)

y4(nT)= y2(nT)+ y3(nT);

В этом случае программа ПИ-регулятора выглядит так:

y1=x1-x2;

y2=K*y2;

y3=y3+y1*T/Ti;

y4=y2+y3;

Если требуется выполнить ограничение выхода регулятора в предложенный алгоритм, следует включать два звена ограничения. Первое ограничивает общий выход регулятора, а второе – выход интегральной части. Если интегральная часть не ограничена возникают внутренние переходные процессы, нарушающие работоспособность регулятора. Структурная схема с учетом блоков ограничений выглядит так:

Рис.3.2. Общая структура ПИ-регулятора с ограничением

В этом случае программа модифицируется так:

y1=x1-x2;

y2=K*y2;

y3=y3+y1*T/Ti;

if (y3>yb)

y3=yb;

end;

if (y3<-yb)

y3=-yb;

end;

y4=y2+y3;

if (y4>yb)

y4=yb;

end;

if (y4<-yb)

y4=-yb;

end;

Уровень ограничения в программе назван переменной yb. Звено ограничения программируется с помощью двух операторов условия.

3.1.6.  Фильтр первого порядка

Простейший фильтр первого порядка может быть преобразован так, как показано на рис.3.3.

Рис.3.3. Фильтр первого порядка:

а – исходная схема; б – преобразованная схема; в – импульсная схема

С учетом рис.3.3в, фильтр представляет собой интегратор охваченный единичной обратной связью. В этом случае программа, реализующая выглядит так:

e=x-y;

y=y+e*T/Ti;

Эти две строки можно объединить, записав выражение таким образом:

y=y+(x-y)*T/Ti;

3.2.  Программирование нелинейных элементов

Функциональные зависимости в микропроцессорных системах управления традиционно реализуются либо с помощью таблиц данных, либо с помощью механизма сплайновой интерполяции.

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

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

, (3.8)

где – точка начала k-го интервала или узловая точка;

– начальное значение выходной величины на k-м интервале;

- – коэффициенты сплайна на k-м интервале.

Выражение (3.8) поясняет рис. 3.4.

x1

 

x2

 

x3

 

x2

 

x1

 

x3

 

Рис. 3.4. Формирование кривой с помощью сплайнов:

а – исходная кривая; б – аппроксимированная кривая

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

Когда известны все параметры сплайна, а именно: узловые точки , начальные значения и коэффициенты -, – вычисление заданной зависимости ведется по следующему алгоритму:

1)  определяется номер интервала аппроксимации k-й кривой сравнением текущего значения входной величины с массивом узловых точек;

2)  выбираются параметры сплайна, соответствующие текущему интервалу;

3)  по формуле (3.8) вычисляется значение заданной функции.

Пример реализации алгоритма сплайновой аппроксимации в среде MATLAB:

for q=1:1:pieces,

if x>=breaks(q) & x<breaks(q+1),

y=coefs(q,1)*(x-breaks(q))^3...

+coefs(q,2)*(x-breaks(q))^2...

+coefs(q,3)*(x-breaks(q))+coefs(q,4);

end;

end;

В программе приняты обозначения:

pieces – количество узловых точек;

breaks – массив координат узловых точек;

coefs – массив коэффициентов сплайна;

q – переменная цикла;

x – входная переменная;

y – значение функции.

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

3.3.  Программирование циклических алгоритмов

Здесь под циклическими алгоритмами понимаются алгоритмы формирования какой-либо циклически повторяющейся последовательности операций. Например, формирование тахограммы привода, отработка заданной циклограммы или процесс первого включения технологического объекта. Во всех перечисленных случаях должна последовательно происходить смена состояний объекта и программы, причем момент наступления нового состояния определяется некоторым логическим условием или выдержкой времени.

В случае использования метода программирования на основе языка релейно-контакторных схем эта задача решается достаточно просто, однако, это приводит к необходимости проверки всех условий на каждом такте квантования независимо от состояния программы. Сократить время выполнения можно введя дополнительную переменную, отвечающую за состояние программы. Назовем ее state.

В качестве примера рассмотрим простейшую задачу. Требуется по нажатию кнопки включить лампочку и отключить ее по прошествии 100 тактов. Программа может находиться в двух состояниях: ожидание включения (state=0), т. е. нажатия кнопки и ожидание завершения интервала отсчета таймера (state=1). Текст программы выглядит так:

if (state=0) /* Состояние ожидания включения */

{

if (button=1) /* проверка нажатия кнопки */

{

state=1; /* переход в режим счета */

Light=1; /* включение света */

}

end;

}

end;

if (state=1) /* Состояние счета */

{

counter=counter+1; /* Работа счетчика */

if (counter>99) /* Проверка счетчика */

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4

Основные порталы (построено редакторами)

Домашний очаг

ДомДачаСадоводствоДетиАктивность ребенкаИгрыКрасотаЖенщины(Беременность)СемьяХобби
Здоровье: • АнатомияБолезниВредные привычкиДиагностикаНародная медицинаПервая помощьПитаниеФармацевтика
История: СССРИстория РоссииРоссийская Империя
Окружающий мир: Животный мирДомашние животныеНасекомыеРастенияПриродаКатаклизмыКосмосКлиматСтихийные бедствия

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организации
МуниципалитетыРайоныОбразованияПрограммы
Отчеты: • по упоминаниямДокументная базаЦенные бумаги
Положения: • Финансовые документы
Постановления: • Рубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датам
Регламенты
Термины: • Научная терминологияФинансоваяЭкономическая
Время: • Даты2015 год2016 год
Документы в финансовой сферев инвестиционнойФинансовые документы - программы

Техника

АвиацияАвтоВычислительная техникаОборудование(Электрооборудование)РадиоТехнологии(Аудио-видео)(Компьютеры)

Общество

БезопасностьГражданские права и свободыИскусство(Музыка)Культура(Этика)Мировые именаПолитика(Геополитика)(Идеологические конфликты)ВластьЗаговоры и переворотыГражданская позицияМиграцияРелигии и верования(Конфессии)ХристианствоМифологияРазвлеченияМасс МедиаСпорт (Боевые искусства)ТранспортТуризм
Войны и конфликты: АрмияВоенная техникаЗвания и награды

Образование и наука

Наука: Контрольные работыНаучно-технический прогрессПедагогикаРабочие программыФакультетыМетодические рекомендацииШколаПрофессиональное образованиеМотивация учащихся
Предметы: БиологияГеографияГеологияИсторияЛитератураЛитературные жанрыЛитературные героиМатематикаМедицинаМузыкаПравоЖилищное правоЗемельное правоУголовное правоКодексыПсихология (Логика) • Русский языкСоциологияФизикаФилологияФилософияХимияЮриспруденция

Мир

Регионы: АзияАмерикаАфрикаЕвропаПрибалтикаЕвропейская политикаОкеанияГорода мира
Россия: • МоскваКавказ
Регионы РоссииПрограммы регионовЭкономика

Бизнес и финансы

Бизнес: • БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумаги: • УправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги - контрольЦенные бумаги - оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудит
Промышленность: • МеталлургияНефтьСельское хозяйствоЭнергетика
СтроительствоАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством