13. Режим реального времени в системах управления (1245071), страница 2
Текст из файла (страница 2)
После отмены режимаспециальной маски предшествующий порядок приоритетов уровней сохраняется.Обработчик прерываний – подпрограмма обработки прерываний (ПРОП), являющаяся частью ОС,предназначенная для выполнения ответных действий на условие, вызвавшее прерывание.ПрограммаАПрерываниеОбработчикпрерываний(подпрограммаобработкипрерыванийПРОП)Возврат изпрерыванияПри обработке каждого прерывания должна выполняться следующая последовательность действий:- восприятие запроса на прерывание: прием сигнала и идентификация прерывания;- запоминание состояния прерванного процесса: значение счетчика команд и содержимое регистров ПРЦ;- передача управления прерывающей программе;- обработка прерывания;- восстановление прерванного процесса и возврат в прерванную программу..Типы прерываний (см. рис.)ПрерыванияИнициализируютсяэлектрическими сигналамина входах процессораАппаратныеВнутренниеINTRМаскируемыеПрограммныеИнициализируютсяпо команде(INTxx)ВнешниеНемаскируемыеNMIАппаратные прерывания вызываются физическими устройствами и возникают по отношению к программе асинхронно, т.е.
в общем случае невозможно предсказать время и причину прерывания программы.Внешние прерывания возникают по сигналу какого-либо внешнего устройства, например:а) прерывание, которое информирует систему о возникновении нештатной ситуация;б) прерывания по нарушению питания;в) прерывание по таймеру; и другие.Внешние прерывания подразделяются на немаскируемые и маскируемые. Наличие сигнала прерывания необязательно должно вызывать прерывание исполняющейся программы.
Процессор может обладать средствами3защиты от прерываний: отключение системы прерываний, маскирование (запрет) отдельных сигналов прерываний. Прерывания, которые замаскировать нельзя - это немаскируемые прерывания.Внутренние прерывания вызываются событиями, связанными с работой процессора и являются синхронными с его операциями (при делении на нуль; при переполнении; при обнаружении ошибок четности, и др.).Программные прерывания. Программы могут сами вызывать прерывания с заданным номером. Дляэтого они используют команду (INT), по которойпроцессор осуществляет практически те же действия, что и приобычных прерываниях, но только это происходит в предсказуемой точке программы – там, где программистпоместил данную команду.
Поэтому программные прерывания не являются асинхронными (программа «знает»,когда она вызывает прерывание). Они в прямом смысле прерываниями не являются, т.к. представляют собойлишь специфический способ вызова процедур - не по адресу, а по номеру в таблице.В упрощенном виде схему обработки прерываний можно представить следующим образом (см. рис.).Программируемый контроллер прерываний (ПКП), имеет несколько уровней (линий) для подключениявнешних устройств (ВУ). В случаях, когда ПКП представляют собой отдельные микросхемы, возможноихкаскадное подключение (на один из входов ПКП подключается еще одни ПКП). ЦП – центральный процессор.Может возникнуть одновременно несколько прерываний.
Выбор одного из них для обработки осуществляется на основе приоритетов, приписанных каждому типу прерывания. Система прерываний отдает предпочтение самому высокоприоритетному, откладывая на время обработку остальных прерываний.В случае прерывания самой программы обработки прерывания говорят о вложенном прерывании.NMIВУ1ПКПЦПВУ … ВУ2nINTRСистемныйтаймерРежим реального времени (РВ) в системах на основе ПРКВремя реакции промышленных программируемых контроллеров (ПРК) должно быть согласовано сдинамикой объекта управления (ОУ), т.е. с реально протекающими физическими процессами.
Запаздываниевыдачи управляющих воздействий и замедление скорости вычислений могут привести к потере устойчивостисистемы. К этому же может привести и увеличение шага дискретизациипо времени сигналов, поступающих отдатчиков в ПРК.В общем случае шаг дискретизации по времени определяется на основе теоремы Котельникова (дляслучайных процессов с ограниченным спектром).
Для детерминированных процессов его выбирают часто исходяиз условия непревышения выходной (управляемой) для ОУ величиной шага квантования по уровню за время,равное шагу дискретизации по времени. Суть теоремы Котельникова - если процесс происходит с определеннойчастотой, то для дискретизации сигналов по временинужно использовать частоту, как минимум в 2 разабольшую.Время расчета выходных величин в ПРКпринципиально представляет собой конечную величину.
Поэтомуможно говорить только о допустимом интервале времени расчета воздействий и периоде его повторения,который является функцией скорости изменения состояния ОУ, т.е. его инерционности, и скорости изменениявозмущающих воздействий.Важное значение для обеспечения режима реального времени (РВ) имеет наличие в ПРК механизмовприоритетного обслуживания тех или иных устройств, т.е. системы многоуровневых приоритетных прерываний– совокупности аппаратных и программных средств, обеспечивающих переключение процессора с выполненияодной программы на другую, имеющую более высокий приоритет, при этом сохраняется возможность возврата кпрерванной программе (рис. 1).Как было отмечено выше, прерывание может быть внешним, в том числе и формируемым оператором, таки внутренним, формируемым в результате контроля неисправности системы управления.4ВремяТ0Т1Т2Т3Т4Т5Т6РПП1П2П3СтекРПП1РПРПП1РПРПРис.
1. Схема многоуровневых приоритетных прерываний: РП – рабочая программа;П1, П2, П3 – соответственно прерывания 1,2,3; приоритет П3 выше чем у П2 и П1,а у П2 - выше чем у П1; (адрес возврата, слово состояния программы и др. заносятся в стек)Рассмотрим вопросы обеспечения реального времени на примере, когда непрерывный закон регулирования трансформируется к виду, который может быть реализован на вычислительных средствах, в частности –ПРК, которые реализуют закон управления, устанавливающий зависимость между управляющим воздействиемu(t) и ошибкой/рассогласованием (t), т.е.
u(t)=F((t)). В непрерывных системах широко используютсяпропорционально-интегро-дифференциальные (ПИД) регуляторы, которые описываются следующим уравнением:t1d (t ) u (t ) K (t ) ( ) d T2,T1 0dt (1)где К– коэффициент передачи, Т1, Т2 – постоянныевремени интегрирования и дифференцирования соответственно.
Далее преобразуем уравнение (1) к виду,который может быть реализован в ПРК. Для малых шагов дискретизации по времени это уравнение можетбыть преобразовано в разностное – производная заменяется обратной конечной разностью первого порядка, аинтеграла - конечной суммой.Следует учесть, что шаг дискретизации по времени фактически равен времени цикла ПРК.Непрерывное интегрирование может быть представлено, например, с помощью метода прямоугольников уравнение (l) в дискретной форме запишется в виде: k 1Tu ( k ) K ( k ) (i) 2 ( k ) ( k 1) (2)T1 i 0k 1f ( k ) f (i )конечная суммаi 0В итоге получим нерекуррентный алгоритм управления, когда для вычисления суммы необходимопомнить все предыдущие значения сигнала ошибки (k) и каждый раз значение управляющего сигнала u(k)вычисляется заново.
Для реализации такого алгоритма в ПРК более удобным является рекуррентный алгоритм,когда для вычисления текущего значения управляющего сигнала u(k) используется его предыдущее значениеu(k-1) и некоторые коэффициенты. Для его нахождения вычтем из переменной u(k) переменную u(k-1): k 2Tu (k 1) K (k 1) (i ) 2 (k 1) (k 2) (3)T1 i 0В результате вычитания и преобразований (группирование и приведение подобных) получим: T T Tu ( k ) u ( k 1) K 1 2 ( k ) 1 2 2 ( k 1) 2 ( k 2) T1 T 2 T2 T2u ( k ) u ( k 1) K 1 2 (k ) 1 ( k 1) ( k 2) T15u(k ) u(k 1) C0 (k ) C1 (k 1) C2 (k 2),где C0 K 1 T2 ,2 T2 T2C1 K 1 , C2 K T1Для малых шагов/периодов дискретизации коэффициенты С1,С2,С3 вычисляются с использованиемпараметров К, Т1 и Т2 аналогового ПИД-регулятора.Рассмотрим более подробно операции, выполняемые за время цикла ПРК, введя обозначения (рис.2):Ti - допустимый период времени расчета i-го управляющего воздействия;ti - полное время расчета i-го управляющего воздействия;tввi - время ввода в ПРК исходных величин для расчета i-го управляющего воздействия;tрасчi - время расчета величины i-го управляющего воздействия;tпрi - время на принятие решения о выдаче на объект управления (ОУ) i-го управляющего воздействия;tвывi - время непосредственного вывода на ОУ вычисленного i-го воздействия.Тогда можно утверждать, что система с ПРК в контуре управления будет работать в реальном времени,если выполняется условие Ti ti или после подстановки ti = tввi+ tрасчi+ tпрi+ tвывi, с учетом заменыtввi+ tвывi = tобмi.
Сумма величин tввi и tвывi представляет собой время обмена tобмi с ОУ в процессе вычисленияi-го управляющего воздействия. В результате получим ti = tрасчi + tпрi+ tобмi.x(t)x dx T xдоп dt maxTittввtрасчtпрtвыв(kT), u(kT)Tititi(kT)tвв + tвыв = tобм ; Titi = tобм + tрасч + tпрu(kT)u (t ) f ( (t )) u (kT ) f1[ ((k 1)T ] ,т.е. имеет место запаздывание в формированииуправляющего воздействия u(k) относительно(k-1) на интервал Т0 Т 2Т 3Т …iT …k TРис. 2. Иллюстрация преобразования и ввода-вывода аналоговых сигналов в ПРКПри выборе шага дискретизации по времени (Т) принимаются во внимание:- динамические свойства непрерывной части системы (постоянные времени);- предъявляемые требования к качеству замкнутой системы;- структура цифрового алгоритма управления (предполагаемого для реализации);- спектральный состав воздействий;- разрядность цифровой части (АЦП, ЦАП, микропроцессора, памяти – хотя при выборе разрядности, в своюочередь, необходимо учитывать шаг дискретизации по времени);- шаг квантования по уровню;- стоимостные характеристики.6Часто выбор шага дискретизации по времени предшествует решению задачи синтеза алгоритма управления.
На основании теоремы Котельникова можно определить верхнюю границу Т:fд = 1/Т – частота дискретизации; fmax – максимальная частота в спектре сигнала;fд 2fmax ,1/Т 2fmax , Т 1/ (2fmax). max = 2fmax , д = 2fд , откуда Т / max .Иногда принимают max 3с,с - частота среза, определяется соотношением |Wнч(j)| 0,1.На практике можно брать (с определенным запасом) д (5…10)с .Требуется, чтобы х не превышало единицы младшего разряда. Тогда для n-разрядного АЦП должновыполняться приведенное выше условие для максимальной частоты (ширины спектра) преобразуемого сигнала,т.е. величину погрешности можно определить, если задаться шириной спектра сигнала и временемпреобразования (быстродействием) АЦП.Временной (рабочий) цикл ПРКЗадачи управления требуют непрерывного циклического контроля, поэтому вычисления в ПРК всегдаповторяются циклически.