Алгоритм передачи команд

Рассматриваемый алгоритм в соответствии с общей моделью выполняет оператор ВЫХОД. Он формирует и передает команды во внешнюю среду. В современных системах такого ро­да команды передаются в следующие устройства:

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


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

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

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

Устройства обмена информацией. Они могут быть отнесены к быстрым. От предыду­щих эти устройства отличает то, что в их функции может входить последующая обработка информации для обеспечения помехоустойчивости и других функций, отнесенных к пер­вым трем уровням в модели открытых систем [20,49, 74].

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

Например, при переходе процесса из состояния «свободно» в состояние «ожидание набора номера», необходимо подключить к абонентскому комплекту приемник набора номера. Для этого следует, как минимум, выработать команды на включение комму­тационного поля и соответствующих реле комплекта. В связи со сказанным выше, смена состоя­ний в большинстве случаев вызывает передачу последовательности команд во внешнее (по от­ношению к компьютеру) оборудование. Состав команд определяется парой состояний, опреде­ляющих ПЕРЕХОД (предыдущее и последующее состояние). Алгоритм передачи команд рабо­тает в соответствии с характеристиками команд, которые рассматриваются ниже.

Команды могут выдаваться одним из следующих способов:

последовательно одна за другой;

при условии правильного исполнения предыдущей команды;

по истечении определенного времени после выдачи предыдущей команды. Указанные условия должны быть записаны совместно с кодом команды. Сами команды

могут иметь самый различный вид, в частности, содержать координаты устройства, на кото­рое они воздействуют. Например, для включения реле комплекта команда может содержать номер комплекта и номер реле в комплекте. Для коммутационного поля нужны координаты коммутационного поля, которых может быть много. Это, например, номер блока, номер группы, номер матрицы, номер тракта, номер канала и пр.

И последнее уточнение, характеризующее этот процесс, — передача команд проводится в несколько этапов.

Первый этап — формирование команд. Уже говорилось, что один и тот же ПЕРЕХОД, как правило, сопровождается выдачей одной и той же последовательности команд. Однако все команды имеют определенный адрес. Другими словами, все одноименные процессы ус­тановления соединения одинаковы, но каждый «экземпляр процесса» имеет конкретные адреса, так как каждый вызов поступает от определенного источника и требует индивидуаль­ной маршрутизации. Поэтому на этапе формирования команды она считывается последова­тельно из памяти, и к ней присоединяется конкретный адрес. Исходными данными для него могут быть данные, хранящиеся в области памяти процессов. Это может быть адрес, содер­жащийся во входном сигнале, в номере вызывающего абонента, в результате поиска и выбо­ра новых путей и приборов.

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

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

«горячего резерва» (одно устройство работает, а второе находится в рабочем состоянии, но не выполняет никаких функций (программ) и подключается в случае аварии первого);

разделения нагрузки (в нормальном режиме каждое устройство работает на «свое» оборудование, а при аварии одно принимает всю нагрузку на себя);

в синхронном режиме (в нормальном режиме оба устройства работают параллельно, при аварии неисправное устройство отключается).

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

Третий этап — контроль выполнения команды. При этом производится опрос кон­трольных точек устройства, в которое передана команда. Эти точки сканируются, и форми­руется информация о правильности выполнения команды. При положительном результате формируется сигнал «команда выполнена». Отрицательный результат требует принятия мер по доставке команды. Если после этого команда не передана, то вырабатывается признак «команда не выполнена».

Связь данного модуля с центральным алгоритмом проявляется следующим образом. В центральный модуль передается результат выполнения команды. В случае положительно­го результата («команда выполнена») возможны следующие варианты:

а) если ВЫХОД предназначен для передачи команд в быстрые устройства, то централь­ная программа завершает ПЕРЕХОД тем, что устанавливает в области памяти процесса следующее состояние и начинает обработку следующего процесса;

б) если команда предназначена для передачи в медленные устройства, то устанавливается следующее состояние. С точки зрения центральной программы — это такой же процесс, как и предыдущий. Но в алгоритме передачи обязательно должно быть состояние ожидания выполнения команды (обычно оно именуется «ожидание перехода [имя следующего
состояния]»);

в) при отрицательном результате передачи команд в область памяти процесса записыва­ется входной сигнал «команда не выполнена», там же модуль передачи команд записывает
следующее состояние «команда не выполнена в состоянии [имя предыдущего состояния]»,
после чего в центральную программу передается сигнал на повторную обработку этого про­цесса с новыми данными. Естественно, что новое состояние и новый выходной сигнал вызо­вут новый переход, действия которого зафиксированы в других состояниях центральной
программы.

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

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

После рассмотрения алгоритмов, связанных с функциями ввода/вывода, рассмотрим коммутационные алгоритмы выполняющие задачи, которые

применяются во всех типах коммутационных станций.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: