ЭВМ для управления в реальном времени (Глава 13 книги "Роботы и автоматизация производства"), страница 11

1 -период квантования; 2 - скорость изменения параметра за период квантования

13.4. ПРЕРЫВАНИЯ

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

Генератор реального времени. Управление таймерными прерываниями осуществляется с помощью генератора реального времени, который имеется в составе управляющей ЭВМ. Генератор позволяет синхронизировать работу ЭВМ с внешним периферийным оборудованием, в том числе с контролируемым и управляемым производственным оборудованием. Как правило, генератор является высокочастотным, в то время как в счетчиках, используемых в режимах, описанных в гл. 11 и 12, в соответствии с требованиями программ применяются низкочастотные импульсы. Поскольку генератор функционирует в реальном времени, формирование импульсов производится непрерывно, независимо от программируемой логики. При использовании генератора для реализации управляющей программы должен быть организован доступ к адресным регистрам. В соответствующий регистр записывается некоторое положительное целое число. Подающиеся на вход регистра импульсы вычитают из этого числа по единице, до тех пор пока содержимое регистра не станет равным нулю. По достижении нуля в регистре генератор автоматически организует прерывание. Это прерывание может быть использовано программистом для назначения программы, с помощью которой реализуется функция, представляющая собой ответ на это прерывание. Такая программа может проанализировать технологические параметры с целью определения необходимости ввода функции, соответствующей условиям с отклонением от нормы.

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

Несмотря на высокое быстродействие ЭВМ может сложиться ситуация, при которой становится затруднительным проанализировать большое количество условий. Отклонение каждого условия от нормы обусловливает прерывание и выдает ЭВМ запрос на реализацию соответствующей функции. Типовой пример может предусматривать потенциальную возможность прерывания работы ЭВМ в любой момент по одному из 50 условий или по всем условиям одновременно, если к этому добавить периодическое таймерное прерывание для опроса других 200 условий работы в интервалы длительностью, например, 5 с. Хотя время, необходимое для обслуживания любого из прерываний, может измеряться в миллисекундах, наличие большого количества условий с отклонением от нормы может обусловить неспособность ЭВМ завершить обслуживание всех прерываний. Эта особенность работы ЭВМ в реальном времени привела к необходимости разработки сложных алгоритмов программного обеспечения, в функции которого входит назначение приоритетов для различного рода прерываний работы.