ГОСТ Р МЭК 61107: оптический порт и прямой обмен со счётчиком
ГОСТ Р МЭК 61107 (в международной нумерации — МЭК 62056-21) описывает простой текстовый обмен со счётчиком через оптическую головку, токовую петлю или последовательный интерфейс. Это самый «низкий» способ получить данные прибора: без сервера, без настроек сети, головкой на корпусе счётчика и ноутбуком.
Протокол старый и намеренно примитивный: команды — печатные символы, данные — строки вида «код(значение*единица)». Именно поэтому он до сих пор жив: им снимают показания при поверке и обходах, читают приборы, у которых нет других портов, и через него же переключаются на современный обмен.
Режимы обмена
| Режим | Как работает | Где встречается |
|---|---|---|
| A | Обмен на одной скорости, без переключения. Счётчик отвечает и сразу выдаёт данные | Простые приборы, редко |
| B | Счётчик сообщает свою рабочую скорость, обе стороны переключаются на неё | Старые приборы |
| C | Переключение скорости по подтверждению, плюс доступ к режиму программирования | Основной режим у большинства счётчиков |
| D | Односторонняя выдача данных по нажатию кнопки на приборе | Бытовые счётчики |
| E | Тем же запросом стороны договариваются перейти на другой протокол обмена | Современные приборы: текстовый обмен служит только для установления связи |
Как выглядит сеанс
Начало всегда одинаково и делается на скорости 300 бод, форматом 7 бит данных, чётность, один стоп-бит:
- Клиент отправляет запрос вида
/?!с завершающими символами возврата каретки и перевода строки. Если на линии несколько приборов, между?и!ставится адрес счётчика. - Счётчик отвечает строкой идентификации: три буквы изготовителя, символ скорости и произвольный идентификатор прибора. Символ скорости — цифра от 0 до 6, где 0 — это 300 бод, а 5 — 9600.
- Клиент подтверждает и одновременно выбирает, что делать дальше: считать данные, войти в режим программирования или перейти на другой протокол.
- Обе стороны переключаются на согласованную скорость, и счётчик выдаёт блок данных.
Блок данных — это строки между управляющими символами начала и конца, с контрольной суммой в самом конце. Каждая строка выглядит как код(значение*единица), например показания активной энергии с тарифом и единицей измерения. Коды — те же OBIS-обозначения, что и в современных протоколах, только записанные текстом. Завершается блок восклицательным знаком.
Контрольная сумма — побайтовое исключающее ИЛИ по всем символам блока. Ошибки в ней почти всегда означают не искажение данных, а неверный формат порта: лишний бит данных или не та чётность.
Режим программирования
Если при подтверждении выбран режим программирования, после переключения скорости счётчик принимает команды: чтение отдельного параметра, запись значения, выполнение служебной операции. Доступ к изменению параметров закрывается паролем, который передаётся отдельной командой, а неудачные попытки прибор, как правило, фиксирует в журнале.
Через этот же режим у многих приборов выполняется чтение архивов — по блокам, с указанием диапазона. Читать длинные архивы на низких скоростях мучительно: именно поэтому современные приборы используют текстовый обмен только для установления связи, а дальше переходят на режим E.
Оптикалық бас
Физически обмен идёт инфракрасным светом через головку, прижатую к оптопорту счётчика магнитом. Отсюда особенности, которых нет у проводных линий:
- Головку нужно ставить строго на посадочное место: смещение на несколько миллиметров даёт обрывы и ошибки контрольной суммы.
- Яркий свет — солнце, прожектор — может засветить приёмник; в поле счётчик иногда приходится прикрывать.
- Многие приборы «засыпают» и требуют паузы после установки головки: первый запрос уходит впустую, повторный проходит.
- Скорость обмена ограничена оптикой — выше 9600 бод в этом режиме поднимаются редко.
Типовые ошибки
| Симптом | Где искать |
|---|---|
| Счётчик не отвечает на запрос | Не тот формат порта: нужно 7 бит данных, чётность, один стоп-бит на скорости 300; либо прибор «спит» — повторить запрос |
| Идентификация прошла, данные не приходят | Не выполнено переключение на согласованную скорость либо переключение сделано раньше, чем счётчик успел его подтвердить |
| Данные приходят «мусором» | Скорость переключена не на ту, что указана в строке идентификации |
| Постоянные ошибки контрольной суммы | Формат порта, смещённая головка, засветка приёмника |
| На линии несколько приборов, отвечают все сразу | В запросе не указан адрес счётчика |
| Не проходит запись параметров | Не выполнен вход в режим программирования либо не передан пароль нужного уровня |
С чего начать
Сначала — параметры порта: 300 бод, 7 бит, чётность, один стоп-бит, и только потом всё остальное. Отправить запрос и получить строку идентификации — это уже половина дела: в ней видно изготовителя и рабочую скорость прибора. Дальше подтвердить обмен, переключить скорость и снять блок данных. Если планируется регулярный опрос, а не разовый съём показаний, проверьте, поддерживает ли прибор переход на другой протокол: постоянно читать архивы текстовым обменом на низкой скорости не стоит.





















































































































