НЗ — начало заголовка сообщения;
НТ — начало текста сообщения.
Приемная станция, получив знак НЗ или НТ, должна начинать прием данных, включать схему формирования КПБ и схему контроля поступления знаков КБ, РЭ, КТ, КТМ.
После приема знака КБ, КТ или РЭ приемная станция должна провести проверку правильности принятого блока данных или всего сообщения (при передаче сообщения без разбивки на блоки данных) путем сравнения принятой КПБ со сформированной КПБ. Если принятые (после КБ или КТ) и сформированные приемной станцией контрольные последовательности блоков равны, то приемная станция должна выдать необходимый положительный ответ (ДА 0 или ДА 1), в противном случае передать ответ НЕТ или знак КП в зависимости от конкретной реализации программных и аппаратных средств.
Результат сравнения принятой и сформированной после приема РЭ контрольных последовательностей блока должен быть зафиксирован, после чего, независимо от данного результата, приемная станция должна перейти к приему следующего промежуточного блока.
Если принятые и сформированные контрольные последовательности блока равны, но приемная станция не может (например по причине занятости буфера данных) принять следующий блок данных, она не позже чем за Та2 = 2 с должна передать последовательность ПДЖ. Передающая станция после приема последовательности ПДЖ может передать запрос КТМ. На этот запрос приемная станция должна повторять последовательность ПДЖ до появления возможности приема.
Если во время приема очередного блока данных или сообщения в целом у приемной станции появилось сообщение на передачу с более высоким приоритетом, чем принимаемое, то она должна завершить прием данного блока или сообщения, после чего вместо положительного ответа (при безошибочном блоке или сообщении) выдать последовательность ОБР. Если же принятый блок данных или сообщение имели ошибку, то приемная станция должна и в этой ситуации выдать ответ НЕТ и передать последовательность ОБР лишь после приема неискаженных данных.
Если принимаемый блок данных заканчивается знаком КТМ (вместо КБ, КТ), который ввела передающая станция с целью ликвидации данного блока, то приемная станция должна передать в ответ знак НЕТ.
Если после передачи ответа на принятый блок данных приемная станция получает знак КТМ, то она должна повторно выдать ответ на последний принятый блок.
При ошибке формата (в переданном блоке данных отсутствует или исказился знак НТ или НЗ) приемная станиця нс должна выдавать ответ. Передающая станция по истечении Та3 = 3 с должна послать знак КТМ, на который приемная станция должна повторно выдать соответствующий ответ ДА 0 или ДА 1 или НЕТ на последний принятый блок данных. Если же в переданном блоке данных отсутствует или исказился знак КБ (КТ), то передающая станция, не получив ответа по истечении ТаЗ == 3 с, должна послать знак КТМ. Приемная станция, получив в блоке данных знак КТМ, должна выдать ответ НЕТ. Этот ответ приемная станция должна повторить по приему запроса КТМ. При невозможности продолжения работы (например при невозможности восстановления содержимого буферной памяти путем повторения ошибочно принятого блока) приемная станция вместо ответа НЕТ должна передать ответ КП.
Передающая станция после передачи каждого блока данных должна переключаться в состояние приема и ожидать ответаот приемной станции в течение ТаЗ = 3 с. При приеме правильного чередующегося ответа ДА 0 или ДА 1 на переданный блок передающая станция должна передать очередной блок данных. Получив знак НЕТ, передающая станция должна повторить предыдущий блок. Число повторных запросов и повторных передач блока данных зависит от конкретной реализации аппаратных и программных средств. После достижения заданного числа безуспешных повторений должна осуществляться процедура восстановления звена.
При отсутствии ответа на переданный блок или сообщение в течение Та3=3 с, а также при ошибке в чередовании положительных ответов ДА 0, ДА 1 передающая станция должна послать знак запроса КТМ и взвести Та3 = 3 с. Число повторных запросов зависит от конкретной реализации аппаратных и программных средств. После заданного числа безуспешных запросов должен осуществляться переход к процедуре восстановления звена.
При приеме в ответ на переданный блок последовательности ПДЖ передающая сторона должна послать знак КТМ и взвести ТаЗ = 3 с. Диалог между станциями в форме чередования последовательностей ПДЖ и КТМ должен продолжаться до тех пор, пока приемная станция не передаст положительный ответ на последний принятый блок или пока одна из станций не передаст знак КП (некоммутируемый канал) или API КП (коммутируемый канал).
При приеме в ответ на переданный блок последовательности ОБР передающая станция должна передать знак КП или продолжить передачу до удобного места (например до освобождения буфера), после чего передать знак КП.
При временной неготовности к передаче передающей стороны она при получении ответа на последний переданный блок должна по истечении Та2 = 2 с посылать последовательность НТ КТМ. Приемная станция должна выдать в ответ знак НЕТ. Диалог между станциями в форме чередования последовательностей НТ КТМ и НЕТ должен продолжаться до готовности передающей станции к передаче следующей части сообщения или до выхода звена к процедуре восстановления.
При получении в ответ на переданный блок данных знака КП передающая станция должна закончить передачу и звено должно перейти к процедуре восстановления.
Процедура передачи данных нормально завершается при приеме положительного ответа ДА 0 или ДА 1 на последний блок данных или сообщение в целом, получив который передающая станция должна выдать знак КП и звено должно перейти в дежурное состояние. На коммутируемых каналах связи для разъединения соединения должна передаваться последовательность API КП.
ПРОЦЕДУРА ДИАЛОГОВОЙ ПЕРЕДАЧИ ДАННЫХ
Диалоговая передача данных используется для ускорения обмена информацией и может происходить как на двухпунктовых, так и на многопунктовых каналах связи между управляющей и одной из подчиненных станций.
При диалоговой передаче данных на полученное без ошибок сообщение, заканчивающееся знаком КТ (API КТ), станция может послать в ответ свое сообщение, начинающееся знаком НЗ или НТ (API НТ) и заканчивающееся знаком КТ (API КТ). Противоположная станция воспринимает знаки НЗ, НТ (API НТ) как положительный ответ на переданное сообщение.
Если станция, передавшая сообщение, не может по каким-либо- причинам принимать ответное сообщение или блок данных, она должна воспринять его начальный знак НЗ, НТ (API НТ) как положительный ответ на свое сообщение.
На блок данных, заканчивающийся знаком КБ (API КБ), недопустима диалоговая передача ответного сообщения.
На искаженное сообщение (несовпадение КПБ) станция должна отвечать знаком НЕТ. Если в ответном сообщении появилась ошибка формата (искажение НТ), то обе станции должны периодически по истечении ТаЗ = 3 с обмениваться знаками КТМ. По окончании заданного числа попыток восстановления передачи станция должна послать КП, прекращая диалог. На блок данных, заканчивающийся знаком КБ и принятый без ошибок, станция должна выдать положительный ответ (ДА 0 или ДА 1).
При отсутствии у станции сообщения на передачу, она должна выдать на принятое сообщение обычный ответ.
Станция, передав свое сообщение и получив в ответ сообше- .
ние противоположной станции, нс может ответить еще одним своим сообщением, а должна выдать на него обычный ответ. (
В процессе каждой передачи должна осуществляться сквозная нумерация блоков от знака НЗ (или первого знака НТ в сообщении без заголовка) до знака КП (API КП).
ПРОЦЕДУРА ПЕРЕДАЧИ ДАННЫХ В КОДОНЕЗАВИСИМОМ РЕЖИМЕ
Вход в кодонезависимый режим должен осуществляться управляющей последовательностью API НТ, выход из кодонезависимого режима — одной из последовательностей API КТ, API КБ, API РЭ, API КТМ по истечении ТаЗ = 3 с. В передаваемых между этими управляющими последовательностями данных допустимы любые 8-битовые кодовые комбинации, в том числе управляющие знаки и управляющие последовательности основного режима, которые здесь не воспринимаются как управляющие. Функции управляющих последовательностей API НТ, API КБ,. API РЭ, API КТ и АРІ СИН в кодонезависимом режиме анало-
гичны функциям управляющих знаков НТ, КБ, РЭ, КТ и СИН, соответственно, в основном режиме.
Для управления передачей данных в кодонезависимом режиме следует использовать управляющие последовательности API НТ, API КБ, API РЭ, API КТ, АРІ СИН, API КТМ, которые должны передаваться в основном режиме, с учетом следующих особенностей.
Последовательность АРІ СИН может использоваться для заполнения информационных пауз и может вводиться в любое место сообщения, за исключением следующих случаев:
между API КБ (API КТ, API РЭ) и КПБ;
внутри перечисленных выше управляющих последовательностей и между удвоенными знаками API.
Отдельный знак API, встречающийся в кодонезависимом тексте, должен удваиваться на передающей станции.
Этот знак не следует учитывать при формировании КПБ.
При разбиении кодонезависимого текста на промежуточные блоки каждый блок должен начинаться последовательностью API НТ.
Управляющие последовательности API НТ в начале блока и АРІ СИН не следует учитывать при формировании КПБ. В последовательностях API КБ, API РЭ и API КТ в формировании КПБ следует учитывать только знаки КБ, РЭ и КТ.
Управляющая последовательность API КТМ должна формироваться передающей станцией, вводиться в передаваемый блок данных и указывать приемной станции на то, что данный блок кодонезависимого текста необходимо вычеркнуть из принимаемого сообщения.
Приемная станция в кодонезависимом режиме должна осуществлять поиск управляющих последовательностей и действовать по следующим правилам:
при приеме последовательностей API API, API КТ, API КБ и API РЭ станция должна исключать первый API и не учитывать его при формировании КПБ; вторые знаки последовательностей API, КТ, КБ и РЭ должны учитываться при формировании КПБ;
принятая последовательность АРІ СИН должна исключаться из принимаемых данных и не учитываться при формировании КПБ;
при приеме последовательности API КТМ принятый блок кодонезависимого текста должен вычеркиваться, передаваться ответ НЕТ и приемная станция должна переходить в основной режим;
при приеме одной из последовательностей API РЭ, API КБ или API КТ приемная станция должна переходить в основной режим.
ПРОЦЕДУРЫ ОБНАРУЖЕНИЯ И ИСПРАВЛЕНИЯ ОШИБОК
Повышение достоверности передаваемых данных должно быть основано на использовании решающей обратной связи с обнаружением искаженных блоков (сообщений) методом циклического и матричного контроля по СТ СЭВ 6185—88 и повторной их передачей, а также на использовании временных пауз (таймаутов), в течение которых контролируется выполнение определенной операции по табл. 2.
Таблица 2
Код передачи |
Способ повышения достоверности |
||
Не установлена возможность кодонезависимого режима |
Установлена возможность кодонезависимого режима |
||
Кодонезависимый текст |
Нет кодонезависимого текста |
||
дкои |
Циклический КОД |
||
КОИ-7 |
Матричный код с дополнением до нечета |
Циклический код Управляющие символы дополняются дс нечета |
Циклический код с дополнением до нечета |
В методах синхронной позначной передачи данных могут использоваться следующие тайм-ауты:
Таї = 1 с, по истечении которого:
одна из станций (определенная как первичная) в двухпунктовом звене должна послать другой станции (вторичной) знак запроса КТМ;
передающая станция вставляет СИН СИН (АРІ СИН в кодонезависимом режиме) для поддержания синхронизации при передаче блоков;
Та2 = 2 с, по истечении которого:
передающая станция должна послать приемной станции последовательность временной неготовности к передаче НТ КТМ;
приемная станция должна послать передающей станции последовательность временной задержки передачи ПДЖ;
ТаЗ == 3 с, по истечении которого:
вторичная станция в двухпунктовом звене должна послать первичной станции знак запроса КТМ,
в течение которого:
передающая станция должна получить ответ на переданный блок, последовательность выборки опроса, знак запроса КТМ и последовательность идентификации;
приемная станция должна получить два знака СИН (или API *СИН в кодонезависимом режиме) для поддержания позначной синхронизации;
подчиненная станция в многопунктовом звене данных остается в состоянии управления после получения знака КП и ожидает свой адрес.
Тайм-аут сбрасывается и заново запускается каждым управляющим знаком КП, НЕТ или КТМ и каждой управляющей последовательностью НТ КТМ, ДА 0, ДА 1, ПДЖ или ОБР, которую подчиненная станция за время, в течение которого она еще находится в состоянии управления, распознает на линии;
Та4 = 20 с, в течение которого контролируется отсутствие передачи на коммутируемом канале. При отсутствии данных в течение Та4 осуществляется разъединение канала связи.
Допускаются отклонения ±15% указанных в п. 9.2 значений тайм-аутов.
ПРИЛОЖЕНИЕ f
Справочное
ПРИМЕРЫ ГРАФИЧЕСКОГО ИЗОБРАЖЕНИЯ ПРОЦЕДУР