Опубликован: 31.07.2008 | Доступ: свободный | Студентов: 3286 / 1102 | Оценка: 4.10 / 4.00 | Длительность: 14:55:00
ISBN: 978-5-94774-896-3
Лекция 3:

Алгоритмы отдельных функций, выполняемые в станциях с программным управлением

Пример реализации алгоритма передачи команд

Ниже рассмотрен один из возможных вариантов реализации алгоритма передачи команд. Основные его особенности:

  1. Рассматривается наиболее сложный случай — передача в медленные устройства.
  2. Считается, что периферийные устройства дублированы, что также усложняет алгоритм.
  3. При невыполнении команды предусматривается ее повтор.

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

Структурная схема алгоритма передачи команд приведена на рис. 3.5.

Структурная схема передачи команд в периферийные устройства

Рис. 3.5. Структурная схема передачи команд в периферийные устройства

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

Остальная информация вводится до начала работы алгоритма и является информацией настройки.

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

Признаки выполнения записываются в каждую команду и указывают на способ выполнения команд (последовательное, по условию, по времени).

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

Алгоритм представлен на рис. 3.6. Он начинает работу при получении заявки на передачу последовательности команд (оператор 1). Эта заявка содержит два состояния (предыдущее и последующее). Иногда эти пары нумеруются, и тогда передается информация о номере пары, называемая номером последовательности команд. По этой информации выбирается последовательность команд (оператор два), соответствующая этой входной информации. Далее ставится текущий номер первой команды последовательности (оператор 3), после чего проводится формирование текущей команды (оператор 4). Формирование заключается в том, что по номеру типа устройства, который содержится в первой команде, считанной из таблицы последовательности, подставляется номер комплекта из области процесса управляющего соединением. Далее эта команда передается в буфер для вывода с признаком "ожидание передачи".

При выводе команды проверяется наличие этого признака — оператор 5 (возможны и другие признаки, например "ожидание контроля").

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

увеличить изображение
Рис. 3.6. Алгоритм передачи команд
Алгоритм контроля правильности передачи команд.

увеличить изображение
Рис. 3.7. Алгоритм контроля правильности передачи команд.

Оператор 6 проверяет свободность ПУУ. При включении медленных периферийных устройств оно может быть занято и есть смысл перейти к передаче следующей команды, если она направлена в другое ПУУ.

Оператор осуществляет передачу команд, после чего снимается признак "ожидание передачи" устанавливается признак "контроль", и когда все команды будут переданы, включается вторая часть этого алгоритма — "контроль над передачей команд" (операторы 8-9).

Затем проверяется необходимость дальнейшей передачи хотя бы еще одной команды (оператор 11), и если это необходимо, то счетчик команд увеличивается на единицу (оператор 10). В случае передачи последней команды запускается алгоритм контроля (оператор 12). Далее алгоритм переходит в исходное состояние.

Рассмотрим теперь второй этап выдачи команд — контроль правильности выдачи (рис. 3.7). Алгоритм показывает, что передача команд инициируется центральной программой, и при обнаружении заявок начинает выполнение контроля. Проверяется наличие у данной последовательности команд признака "ожидания контроля". Если такой признак имеется, то проверяется, выполнена команда или нет. Если же она выполнена, определяется, произошло ли это с первого раза или нет; далее выясняется, каким устройством это было выполнено — основным или резервным. В соответствии с результатами проверки этих условий осуществляются действия, отображенные в операторах, которые не требуют пояснений. В конце делаются обычные проверки на окончание передачи.

Алгоритм приема номера вызываемого абонента

Алгоритм предназначен для фиксации номера вызываемого абонента.

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

Алгоритм приема номера обеспечивает:

  • прием и накопление импульсов от дискового и многочастотного номеронабирателей;
  • определение межцифрового интервала;
  • прием и накопление либо цифр от номеронабирателя, либо накопленного числа импульсов от дискового номеронабирателя;
  • определение конца набора номера;
  • формирование заявок на алгоритмы дальнейшей обработки вызова;
  • обращение к алгоритму "таймер" для отсчета межцифрового интервала и прием сигналов от этого алгоритма.

Выходными данными (результатами) являются (см. рис. 3.8):

  • заявки на алгоритм анализа номера;
  • заявки на отключение акустического сигнала "готовность станции";
  • заявки на включение алгоритма "таймер";
  • заявки на обработку сигнала "отбой".

Алгоритм использует следующие области памяти:

  • зона накопления принимаемой цифры;
  • числа цифр номера;
  • область хранения первой, второй, третьей и других цифр.

Конкретный пример работы алгоритма приведен на рис. 3.9.

Работа алгоритма начинается с анализа буфера заявок (оператор 2).

При отсутствии заявок управление возвращается алгоритму-диспетчеру.

Если имеются заявки на работу, то:

  1. по одной из них определяется номер оборудования (оператор 3), принимающего номер (приемник набора — ПНН);
  2. формируется заявка на включение таймера для отсчета 200 мс (оператор 4).
Функциональная схема приема номера

Рис. 3.8. Функциональная схема приема номера
Алгоритм приема импульсов

увеличить изображение
Рис. 3.9. Алгоритм приема импульсов
Алгоритм приема цифр

увеличить изображение
Рис. 3.10. Алгоритм приема цифр

Часто отсчет времени ведется самим алгоритмом приема номера. Для этого данному алгоритму передается управление через каждые 100 мс. Если шлейф разомкнулся, т. е. состояние сменилось с 1 на 0 (оператор 5), то анализируется номер поступившего импульса (оператор 6). Если это первый импульс, то формируется заявка на отключение сигнала "ответ станции" (оператор 8) и отмечается, что первый импульс первой цифры принят (оператор 7).

Содержимое счетчика увеличивается на 1 (оператор 9). Если импульс не первый, то выполняется тот же оператор 9, а указанные выше действия не проводятся. Затем фиксируется состояние шлейфа, равное 0 (оператор 11), и снова читается заявка. Если тип перехода от 0 к 1, то фиксируется состояние шлейфа, равное 1 (оператор 11), включается таймер 200 мс и снова читается заявка буфера.

Вторая часть алгоритма приема номера (рис. 3.10) начинается с анализа наличия заявок на таймер (оператор 1). Если заявок нет, то алгоритм заканчивает работу. Если заявки есть, то алгоритм определяет номер приемника набора номера (оператор 2) и анализируется состояние шлейфа. В случае замкнутого шлейфа работа алгоритма зависит от числа цифр, зафиксированного счетчиком Сч.Ц (оператор 5). Если число цифр превышает заданное максимальное значение (оператор 6), то алгоритм заканчивает работу. В противном случае цифра, зафиксированная в счетчике импульсов, переписывается в соответствующую область памяти (оператор 7), а значение счетчика (цифра) увеличивается на 1 (оператор 8). Счетчик импульсов приводится в исходное положение (оператор 9), после чего анализируется, достаточно ли накоплено цифр для начала установления соединения (оператор 10). В случае положительного результата формируется заявка на алгоритм анализа номера (оператор 12). Если заявок на алгоритм нет (оператор 2), то формируется заявка на алгоритм обработки сигнала "отбой" (оператор 11).

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

Гульсим Калакова
Гульсим Калакова
Олег Сергеев
Олег Сергеев