Рассматриваемый алгоритм в соответствии с общей моделью выполняет оператор ВЫХОД. Он формирует и передает команды во внешнюю среду. В современных системах такого рода команды передаются в следующие устройства:
Комплекты, содержащие реле. Например, команда может поступать в комплекты аналоговых абонентских линий, где осуществляется контактная коммутация сигнала посылки вызова и подключение линии к измерительной аппаратуре. Такого рода работа требует передачи аналоговых сигналов высокой мощности или малого сопротивления контактов, коммутирующих сигналы. Несмотря на прогресс техники, контакты еще не скоро будут полностью заменены другими средствами. Обмотки, управляющие реле, компонуются в специальные линейки, и сигналы, поступающие из процессора, перекодируются и при необходимости усиливаются. Особенности передачи команд в такие устройства обусловлены
тем, что объекты коммутации имеют относительно большое время срабатывания и отпускания. Поэтому при передаче команд обычно неэффективно дожидаться реакции, а целесообразно возвратиться к процессу по прошествии времени, достаточного для выполнения команды устройством.
|
|
Устройство, скорость выполнения команды которым ниже скорости работы процессора, будем называть медленным.
Коммутационные поля. Устройства этого типа, несмотря на их различия, из которых наиболее существенными являются временное и пространственное разделение, содержат специальные области памяти, обычно называемые «адресная память», куда записывается информация о каналах, выбранных в результате работы программы поиска путей. Эти области памяти используют ту же элементную базу, что и устройства управления, и поэтому работают с такой же скоростью. Поэтому устройства называют быстрыми. Коммутационные поля, как правило, содержат несколько каскадов, и команды управления передаются по каскадам.
Устройства обмена информацией. Они могут быть отнесены к быстрым. От предыдущих эти устройства отличает то, что в их функции может входить последующая обработка информации для обеспечения помехоустойчивости и других функций, отнесенных к первым трем уровням в модели открытых систем [20,49, 74].
В начале настоящей главы было оговорено, что алгоритмы будут изображаться на основе модели конечного автомата. Это, в частности, означает, что работа алгоритма отображается последовательностью переходов из одного состояния в последующее в зависимости от поступившего сигнала. Изменение состояния процесса обычно вызывает необходимость изменения внешней среды, например, включения или выключения реле, передачи сигналов на соседнюю станцию и др. В общем случае говорят, что состояние внешней среды приводится в соответствие с состоянием процесса.
|
|
Например, при переходе процесса из состояния «свободно» в состояние «ожидание набора номера», необходимо подключить к абонентскому комплекту приемник набора номера. Для этого следует, как минимум, выработать команды на включение коммутационного поля и соответствующих реле комплекта. В связи со сказанным выше, смена состояний в большинстве случаев вызывает передачу последовательности команд во внешнее (по отношению к компьютеру) оборудование. Состав команд определяется парой состояний, определяющих ПЕРЕХОД (предыдущее и последующее состояние). Алгоритм передачи команд работает в соответствии с характеристиками команд, которые рассматриваются ниже.
Команды могут выдаваться одним из следующих способов:
последовательно одна за другой;
при условии правильного исполнения предыдущей команды;
по истечении определенного времени после выдачи предыдущей команды. Указанные условия должны быть записаны совместно с кодом команды. Сами команды
могут иметь самый различный вид, в частности, содержать координаты устройства, на которое они воздействуют. Например, для включения реле комплекта команда может содержать номер комплекта и номер реле в комплекте. Для коммутационного поля нужны координаты коммутационного поля, которых может быть много. Это, например, номер блока, номер группы, номер матрицы, номер тракта, номер канала и пр.
И последнее уточнение, характеризующее этот процесс, — передача команд проводится в несколько этапов.
Первый этап — формирование команд. Уже говорилось, что один и тот же ПЕРЕХОД, как правило, сопровождается выдачей одной и той же последовательности команд. Однако все команды имеют определенный адрес. Другими словами, все одноименные процессы установления соединения одинаковы, но каждый «экземпляр процесса» имеет конкретные адреса, так как каждый вызов поступает от определенного источника и требует индивидуальной маршрутизации. Поэтому на этапе формирования команды она считывается последовательно из памяти, и к ней присоединяется конкретный адрес. Исходными данными для него могут быть данные, хранящиеся в области памяти процессов. Это может быть адрес, содержащийся во входном сигнале, в номере вызывающего абонента, в результате поиска и выбора новых путей и приборов.
Местоположение исходных данных в области памяти процессов должно быть указано в заявке на формирование команды.
Второй этап — выдача команд. Как правило, пути передачи команд могут быть различными и по соображениям надежности пути передачи, как минимум, дублируются. Кроме того, устройства бывают основные и резервные. Они могут работать в режимах:
«горячего резерва» (одно устройство работает, а второе находится в рабочем состоянии, но не выполняет никаких функций (программ) и подключается в случае аварии первого);
разделения нагрузки (в нормальном режиме каждое устройство работает на «свое» оборудование, а при аварии одно принимает всю нагрузку на себя);
в синхронном режиме (в нормальном режиме оба устройства работают параллельно, при аварии неисправное устройство отключается).
При различных режимах необходимы различные алгоритмы маршрутизации команд. Например, первая попытка передачи команды проходит через основное устройство. В случае неудачной передачи команда повторяется второй раз, а затем выполняется попытка передачи через другое устройство. Возможны и другие алгоритмы, один из них будет приведен далее.
Третий этап — контроль выполнения команды. При этом производится опрос контрольных точек устройства, в которое передана команда. Эти точки сканируются, и формируется информация о правильности выполнения команды. При положительном результате формируется сигнал «команда выполнена». Отрицательный результат требует принятия мер по доставке команды. Если после этого команда не передана, то вырабатывается признак «команда не выполнена».
|
|
Связь данного модуля с центральным алгоритмом проявляется следующим образом. В центральный модуль передается результат выполнения команды. В случае положительного результата («команда выполнена») возможны следующие варианты:
а) если ВЫХОД предназначен для передачи команд в быстрые устройства, то центральная программа завершает ПЕРЕХОД тем, что устанавливает в области памяти процесса следующее состояние и начинает обработку следующего процесса;
б) если команда предназначена для передачи в медленные устройства, то устанавливается следующее состояние. С точки зрения центральной программы — это такой же процесс, как и предыдущий. Но в алгоритме передачи обязательно должно быть состояние ожидания выполнения команды (обычно оно именуется «ожидание перехода [имя следующего
состояния]»);
в) при отрицательном результате передачи команд в область памяти процесса записывается входной сигнал «команда не выполнена», там же модуль передачи команд записывает
следующее состояние «команда не выполнена в состоянии [имя предыдущего состояния]»,
после чего в центральную программу передается сигнал на повторную обработку этого процесса с новыми данными. Естественно, что новое состояние и новый выходной сигнал вызовут новый переход, действия которого зафиксированы в других состояниях центральной
программы.
Во всех случаях, указанных в пунктах а), б), в), центральная программа переходит к обработке следующего процесса.
Модуль передачи команд для формирования команд использует данные, хранящиеся в области памяти процесса. В основном они используются для формирования конкретных адресов в типовых наборах команд.
После рассмотрения алгоритмов, связанных с функциями ввода/вывода, рассмотрим коммутационные алгоритмы выполняющие задачи, которые
применяются во всех типах коммутационных станций.