Разбор обмена: от установления связи до чтения объекта
Теория объектной модели становится понятной, когда видишь реальный обмен. Разберём типовой сеанс: что улетает в линию, что возвращается и как понять, на каком шаге что-то пошло не так. Примеры установления соединения и обмена приведены в разделе 12 ГОСТ Р 58940-2020 — здесь мы объясняем ту же последовательность словами практика.
Шаг 1. Канальный уровень
На последовательном канале или оптопорте клиент открывает соединение HDLC: посылает запрос установления режима, прибор отвечает подтверждением и сообщает параметры — максимальные размеры окна и информационного поля. Дальше обе стороны обязаны эти размеры соблюдать.
Что смотреть в дампе: кадр начинается и заканчивается флагом 0x7E, за ним поле формата с типом кадра и длиной, адреса, поле управления и две контрольные суммы — на заголовок и на весь кадр. Если ответа нет вовсе, проблема ниже уровнем: скорость, адрес прибора, физика линии.
Шаг 2. Ассоциация
Поверх канала устанавливается логическое соединение — ассоциация. Клиент отправляет запрос на установление с указанием версии протокола, предлагаемого размера PDU, требуемого уровня аутентификации и адреса клиента, который и определяет права. Прибор отвечает согласием либо отказом с причиной.
Здесь чаще всего и обрываются попытки:
- отказ по аутентификации — не тот пароль или не тот уровень;
- отказ по правам — адрес клиента не соответствует запрошенным операциям;
- согласованный размер PDU меньше запрошенного — дальше ответы будут приходить блоками.
При высоком уровне аутентификации добавляется обмен вызовом и ответом: стороны доказывают друг другу знание ключа, и только после этого ассоциация считается установленной.

Установление соединения в журнале: запрос и подтверждение канального уровня, затем ассоциация с аутентификацией
Шаг 3. Чтение объекта
Дальше всё однообразно: клиент запрашивает атрибут объекта, указывая интерфейсный класс, логическое имя и номер атрибута. Прибор возвращает данные с типом — целое, строка октетов, структура, массив.
Типовой пример — чтение заводского номера. Запрос адресует объект паспортных данных, ответ приходит строкой октетов, которую нужно расшифровать как текст. Ровно здесь появляется первая ловушка для новичка: строка октетов не обязана быть текстом, и по типу данных этого не видно — смысл задаёт модель.
Второй пример — мгновенное напряжение. В ответе придёт целое число, а рядом, в атрибуте единиц и масштаба, — множитель. Значение 2219 при масштабе −1 и единице «вольт» означает 221,9 В.
Шаг 4. Длинные ответы
Профиль за месяц в один пакет не помещается. Прибор передаёт ответ блоками: клиент подтверждает получение каждого блока и запрашивает следующий, пока не придёт признак последнего. Если клиент не умеет собирать блоки, он увидит первый фрагмент и решит, что связь оборвалась.
Шаг 5. Завершение
Корректный сеанс завершается разрывом ассоциации и закрытием канала. Пропущенный разрыв — не безобидная мелочь: у прибора ограничено число одновременных соединений, и «повисшая» сессия может помешать следующему опросу, пока не сработает таймаут.
Чек-лист при разборе проблем
- Есть ли ответ на канальном уровне — если нет, дело в физике или адресации.
- Чем закончилась ассоциация — согласием или отказом, и с какой причиной.
- Совпадает ли уровень аутентификации с настройками прибора.
- Не пришёл ли отказ по правам доступа — тогда нужен другой тип соединения.
- Не потерялись ли блоки длинного ответа.
- Применён ли масштаб к числовым значениям и учтён ли часовой пояс при выборке по времени.
Чем смотреть
Всё перечисленное видно в журнале обмена Телескоп+ Конфигуратор СПОДЭС: каждый кадр можно развернуть в структурный разбор, посмотреть в виде XML или побайтово с подсветкой. Программа бесплатна, работает под Windows и Linux.






















































































































