Рис. 2.2. Общая структура управляющей программы

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

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

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

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

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

2.4.  Распределение времени в микропроцессорной системе управления

Рассмотрим пример распределения времени в микропроцессорной системе с одним рабочим прерывание и тактированием фона на каждом 4-том такте рабочего прерывания. Временная диаграмма для данного случая приведена на рис.2.3.

Рис.2.3. Временная диаграмма выполнения программы

В данном варианте обработка рабочего прерывания занимает около 50% такта синхронизации. В остальное время выполняется фоновая задача. Следует заметить, что фоновая задача не укладывается в один такт и занимает больше времени, однако это не приводит к сбоям при условии, что выполнение закончится к 5-му такту. Тактирование фона выполняется с помощью программного счетчика прерываний.

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

2.5.  Обработка прерываний

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

Процедура обработки запроса состоит в следующем. Процессор сохраняет в стековую память текущее значение счетчика команд и записывает в него адрес ячейки вектора данного прерывания. Ячейки векторов прерываний расположены в таблице векторов, которая, обычно, находится в начале адресного пространства. Именно в эти ячейки программист должен записать адреса программ обработки соответствующих прерываний. Таким образом, в таблице векторов устанавливается соответствие между событием и программой его обработки. Мнемонически это может быть пояснено рис. 2.4.

Рис. 2.4. Схема выбора программы обработки прерывания

Процедура формирования таблицы должна быть выполнена на этапе инициализации до разрешения выполнения прерываний.

В программе обработки прерывания должны быть последовательно решены задачи:

— сохранение состояния процессора в стековую память;

— обработка задачи прерывания (выполнение алгоритма регулятора и т. п.);

— восстановление состояния процессора на момент, предшествовавший прерыванию.

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

В языках высокого уровня задачи сохранения и восстановления состояния решаются автоматически.

Если одновременно возникло более одного запроса на прерывание, первым обрабатывается запрос с более высоким приоритетом. Остальные запросы выстраиваются в очередь или игнорируются.

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

2.6.  Выбор периода квантования

При выборе периода квантования микропроцессорной системы T управления необходимо руководствоваться следующими соображениями:

— необходимо, чтобы все импульсные элементы в системе работали с кратными периодами квантования;

— необходимо обеспечить такой период квантования, чтобы в нем программа обработки рабочего прерывания занимала не более 50-60%.

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

Второе требование диктуется необходимостью правильного распределения времени в микропроцессорной системе (См пункт 2.4.). Это требование в многом определяет желаемое быстродействие процессора.

Как правило, лимитирующим элементом при выборе периода квантования является вентильный преобразователь электрической энергии. Для обеспечения синхронизации работы вентильного преобразователя и цифровой системы автоматического регулирования период квантования выбирают кратным периоду несущей частоты ШИМ в частотном электроприводе или кратным периоду пульсаций в приводе постоянного тока. В общем случае эта величина называется периодом дискретности преобразователя Tп. Такой выбор позволяет исключить эффекты биений сигналов на близких, но не равных частотах. Учитывая, что современные микроконтроллеры обладают достаточно высоким быстродействием, целесообразно принимать период квантования равным периоду дискретизации:

T = Tп. (2.1)

Это улучшает динамические показатели САР, с одной стороны, и облегчает разработку алгоритма управляющей программы, с другой.

Если полученное значение не может быть реализовано микроконтроллером, период квантования следует увеличить в целое число раз.

Период квантования датчиков Tд также должен быть учтен при выборе T. Оптимальным считается соотношение:

T = Tп= Tд. (2.2)

2.7.  Типовая структура программы САР

Существует несколько приемов формирование алгоритма программы для системы автоматического регулирования. Для систем подчиненного регулирование наиболее распространенными является способ написания программы от регуляторов старших контуров к младшим.

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

Рис. 2.5. Алгоритм работы однозонной САР ДПТ

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

Данный алгоритм имеет как начало, так и окончание и выполняется при обработке синхронизирующего систему рабочего прерывания.

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

3.  ПРОГРАММИРОВАНИЕ ТИПОВЫХ АЛГОРИТМОВ

В данном разделе рассмотрены наиболее распространенные алгоритмы, используемые при создании управляющих программ для систем автоматического регулирования. Тексты программ приведены на языке C.

3.1.  Программирование типовых звеньев

Далее приняты следующие обозначения переменных:

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

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

p – промежуточная переменная;

К – коэффициент усиления;

T – период квантования;

Ti – инерционная постоянная.

3.1.1.  Усилительное звено

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

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

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

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

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

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

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

Техника

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

Общество

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

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

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

Мир

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

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

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