2.8.1 Открытие и закрытие СЕАНСОВОГО уровня
СЕАНСОВЫЙ уровень, как только он приведен в готовность, переходит в состояние ожидания флага синхронизации LISES от более низкого КАНАЛЬНОГО уровня. Этот флаг разрешает выполнение действий, связанных с СЕАНСОВЫМ уровнем. Когда СЕАНСОВЫЙ уровень синхронизирован с КАНАЛЬНЫМ, подразумевается, что более низкие уровни выполнили свои задачи без обнаружения ошибок или аномалий.
Главная функция СЕАНСОВОГО уровня - интерпретировать содержание поля команды в полученной структуре, чтобы затем предпринять соответствующее действие и передать флаг синхронизации ПРИКЛАДНОМУ уровню. При возврате от ПРИКЛАДНОГО уровня СЕАНСОВЫЙ устанавливает командный байт, специально приготовленный для ответа, который нужно передать, и синхронизирует выполнение более низкого КАНАЛЬНОГО уровня.
СЕАНСОВЫЙ уровень отключается, когда он посылает флаг синхронизации SESLI = 1 более низкому уровню.
СЕАНСОВЫЙ уровень отключается только ФИЗИЧЕСКИМ уровнем при нормальном завершении обмена или истечении одной из допустимых временных задержек.
2.8.2 Поле команды в режиме приема
Возможные команды в начальной последовательности запрос-ответ это: ENQ (дистанционное считывание), REC (дистанционное программирование), IB (инициализация шины), ASO (запрос забытой станции).
В последующих последовательностях, в зависимости от соответствующего выполнения, а не от типа обмена, команды могут быть:
- ENQ (перезапуск или дистанционное считывание нескольких последовательностей);
- REC (перезапуск для дистанционного программирования);
- AUT (только при дистанционном программировании).
Если команда ENQ была распознана в начальной последовательности, следующая последовательность, в случае перезапуска, может содержать только ту же самую команду. Иначе обнаруживается ошибка СЕАНСОВОГО уровня.
Любое неправильное формирование цепочки последовательностей генерирует ошибку СЕАНСОВОГО уровня посредством ERSES = 1. Эта ошибка обуславливает быстрое отключение более низких уровней для последующего перезапуска.
2.8.3 Поле команды в режиме ответа
Любая команда запроса, полученная устройством (см. 2.8.2), систематически ассоциируется с командой ответа (кроме IB).
Тип команды | Поле команды | |
Запрос | Ответ | |
Дистанционное считывание | ENG | DAT или DRJ |
Дистанционное программирование | REC | ЕСН |
AUT | EOS | |
Инициализация шины | IВ | - |
Запрос забытой станции | ASO | RSO |
Эта команда ответа помещается в передаваемый(е) буфер(а), возвращаемый(е) от ПРИКЛАДНОГО уровня (APSES = 1) прежде, чем флаг SESLI = 1 передается к более низкому КАНАЛЬНОМУ уровню.
Если идентификатор TAB(i) структуры ENQ неизвестен вторичной станции и данные дистанционного программирования не подтверждены или если идентификация AUT первичной станции не выполнена, ПРИКЛАДНОЙ уровень устанавливает флаг DNA (флаг отсутствия подтверждения), указывающий, что была передана отрицательная структура подтверждения, включающая команду DRJ (данные отклоняются) или команду ARJ (идентификация отклоняется) соответственно:
- DNA = 1 означает, что должна быть передана DRJ-структура;
- DNA = 2 означает, что должна быть передана ARJ-структура.
2.8.4 Возможные примеры интерпретации команды
Чтобы интерпретировать команды, необходимо знать, первая ли это или последующая последовательность. Для этой цели предназначена переменная APREC (предыдущий запрос). Четыре других флага показывают команду предыдущей последовательности: