Проников А.С. 1995 Т.2 Ч.2 (830967), страница 38
Текст из файла (страница 38)
Рассмотрим пример контроллера ввода-вывода сигналов электро- автоматики (рис. 10.35). В состав контроллера входят узлы оптронной Рис. 10.35. Контроллер ввода — вывода сигналов алектроавтоматики Рис. 10.36. Интерфейс контроллера внешних устройств гсм. рис. 10.35) 195 развязки, интерфейса, вывода, ввода. Контроллер предоставляет вычислителю устройства ЧПУ массив входных и выходных адресуемых 16-разрядных регистров.
Выходные регистры программно устанавливаются и считываются вычислителем, входные — только считываются и к устройству ЧПУ не относятся. Интерфейс контроллера осуществляет: связь с системной магистралью устройства ЧПУ; дешифрацию адресов регистров; хранение оперативной информации, поступающей из магистрали, передачу информации в выходные регистры.
Оптронная развязка гальванически развязывает системную магистраль и контроллер. Дешифраторы входных и выходных регистров выбирают из массива регистров один кон- кретный. Выходные регистры * хранят информацию, выводимую на станок, а входные регистры принадлежат самому станку. При включении устройства ЧПУ вычислитель записывает информацию, подлежащую вы- I я в г г воду на станок, в буфер интер- фейса контроллера (рис. 10.36). 5 с г Затем коммутатор адресов бу- Э 4 фера последовательно опрашивает по адресам ячейки буфера, и б б в результате чего производится перезапись информации в вы- У и б ходные регистры. Если вычислитель не обращается к выход- 7 ным регистрам, то записанная в г и и и них информация постоянно подтверждается.
При записи у 1 г и информации в буфер перепись информации в выходные регистры временно прекращается и возобновляется только по окончании цикла записи. Если вы- 1 гг ,числитель производит ввод дан- ных из входных регистров, дебг шифратор входных регистров последовательно подключает конкретные входные регистры к инр гб терфейсу магистрали. Таким образом, цикл работы рнс. 10.37. Кнопочная матрица панели интерфейса контроллера сооператора устройства ЧПУ стоит в том, что задающий ге- нератор, счетчик адреса и коммутатор адресов организуют опрос ячеек буфера выходных данных.
Блок логики чтения и записи в зависимости от состояния дешифратора адреса подключает к интерфейсу магистрали данные входных или выходных регистров. На рис. 10.37 показан пример подключения к устройству ЧПУ панели оператора. Клавиатура информационных полей панели оператора составляет матрицу, включающую 8 столбцов по 16 строк.
Нажатая клавиша соединяет строку и столбец. Номер строки соответствует коду клавиши, а номер столбца — признаку информационного поля. В числе информационных полей — адресное и цифровое (показаны на рисунке), поля циклов, режимов и подрежимных признаков (соответствующие клавиши на рисунке оставлены пустыми). Шифратор панели оператора (рис. 10.38) подчиняется циклу работы двух двоичных последовательно соединенных счетчиков С1 и С2. Счетчики заполняются импульсами генератора, который на рис. 10.38 не показан. Цикл счетчика С1 — 16 импульсов, а счетчика С2 — 8 импульсов. Таким образом, первый счетчик генерирует коды клавишей, а второй — признаки информационных полей.
За перебором всех кодов РИС Р1 Рг РР СО С1 сг СР а Р5 Б Р7 СС С7 Синлраи- СОРас l Жар данных мк ф ь 77дсрыганна АО А1 Аг 197 О l г 5 5 5 7 О Я 1О и тг 25 7Е 15 Рпс. )19.38. Схема шифратора павела оператора га г,' 25 г г' га г 2х 25 ге ге 27 следует смена признака. Коды и признаки поступают на вход много- режимного восьмиразрядного буферного регистра ЯО, построенного на й-триггерах. Выходные буферные схемы регистра имеют три устойчивых состояния (нуль, единица и высокий импеданс, при котором регистр отключается от информационной шины).
Передача информации в буферный регистр происходит с появлением сннхроимпульса, который генерируется, если оператор нажимает клавишу. Дешифратор ВС последовательно опрашивает строки матрицы; и, если клавиша в строке нажата, на выходе столбца, отвечающего текущему признаку, появляется сигнал и передается на вход (нз группы входов 0 — 7) коммутатора МХ. Тот же признак, но в двоичном коде поступает и на другую группу входов АΠ— Ай коммутатора МХ; коммутатор устанавливает совпадение кодов и генерирует сннхроимпульс.
В этот момент н вносится информация в буферный регистр, причем эта информация соответствует коду клавиши (т. е. номеру опрашиваемой в данный момент строки) и текущему признаку (т. е. столбцу, в котором опрашиваемая клавиша находится). После записи информации вырабатывается запрос на прерывание, по которому микопроцессор приостанавливает работу и читает информацию, поставленную на информационную шину.
Затем вырабатывается сигнал окончания ввода, и содержимое регистра сбрасывается. Теперь устройство готово к вводу очередного байта. 10.5. Организация программно-математического обеспечения ЧПУ Особенности программно-математического обеспечения ЧПУ как комплекса прикладных программ состоят в следующем: все программы комплекса резндентны, причем некоторые из них активны, а остальные пассивны; программы комплекса развиваются как параллельные процессы, некоторые из которых являются процессами реального времени; параллельные процессы программного комплекса независимы или зависимы; в последнем случае они синхронизируются и обмениваются сообщениями. Резидеятность прикладных программ означает, что все функции ЧПУ, связанные с решением геометрической, логической, технологической и терминальной задач, заранее программно поддержаны, т.
е. для выполнения прикладной программы необходимо лишь инициировать ее. Инициация возможна с помощью управляющей программы ЧПУ, клавиатуры панели оператора, другой прикладной программы или по прерыванию. Параллельность процессов вытекает из существования одновременно выполняемых задач ЧПУ (геометрической, логической, технологической и терминальной). Параллельность порождает проблему разделения процессора и других ресурсов (например, общей памяти, используемой несколькими процессами для чтения и записи), а также проблему синхронизации связанных процессов. При разделении процессора процессы становятся квазипараллельными, поскольку их отдельные фрагменты выполняются только последовательно. Проблему параллельности нельзя решить путем предоставления отдельного процессора каждой задаче ЧПУ, так как и любая отдельно взятая задача может потребовать осуществления параллельных процессов.
Например, при решении геометрической задачи протекают параллельные процессы: подготовка буферного кадра, отработка рабочего кадра, управление приводами подачи. 198 Работа прикладных программ в режиме реального времени необходима потому, что она должна быть синхронизирована с развитием реальных технологических и вспомогательных процессов на станке: резания, перемещений и переключений механизмов станка н др.
Режим реального времени работы системы управления обеспечивает прием к отработке данных по мере их поступления без каких-либо ограничений, а также выдачу результатов в требуемые интервалы времени. Внешними событиями, определяющими реальное время, являются сигналы обратной связи, сопровождающие изменение состояния объекта управления (станка), и, кроме того, директивы, вводимые оператором через клавиатуру панели.
Внешние события прерывают функционирование процессора; прерывание обрабатывается программой- драйвером, которая преобразует внешние события во внутренние. Из-за необходимости синхронизации и обмена сообщениями система параллельных процессов нетождественна их совокупности. Пусть в какой-то момент процесс ожидает сосбщения от другого процесса или выполнения условия. Этот момент должен быть особым образом отмечен, т. е.
кроме внутренней корректности процессы должны обладать еще н свойствами, обусловленными их местом в системе процессов. Рассмотрим принципы организации программно-математического обеспечения ЧПУ. Из представления об устройстве ЧПУ как о виртуальной ЭВМ следует, что комплекс прикладных программ ЧПУ опирается на архитектуру виртуальной вычислительной машины. Многомашинная конфигурация устройства ЧПУ должна включать в себя, естественно, соответствующее число таких машин с набором параллельных процессов в каждой. Виртуальный вычислитель помимо вычислительных услуг должен предоставить зависимым параллельным процессам возможность обмениваться сообщениями, взаимно синхронизироваться, поддерживать некоторую дисциплину разделения вычислительных ресурсов.
Эти дополнительные услуги реализуются одним из трех механизмов поддержания параллельности: децентрализованным, распределенным по самим параллельныл~ процессам (механизмом сигналов и семафоров); специализированным централизованным (диспетчером процессов ЧПУ); универсальным централизованным (многопроцессной операционной системой реального времени ОС РВ). В условиях дефицита вычислительной мощности устройства ЧПУ предпочтительны два первых механизма поддержания параллельности, как наиболее экономичные, При достаточной вычислительной мощности предпочтительна ОС РВ.
Именно этот вариант поддержания параллельности процессов наиболее перспективен. С точки зрения ОС РВ процесс — это программный модуль, сформированный так, чтобы ОС РВ могла руководить его исполнением (приостанавливать, ставить в очередь для ожидания некоторого события, предоставлять запрашиваемые им ресурсы и т. д.). ОС РВ различает состояния процессов, но не имеет сведений об их содержании.