К статье
Практический материал

Автоматизация · 11 мин

Как подключить счётчик Меркурий к 1С

Как подключить счётчик Меркурий к 1С: способы обмена данными, драйверы, обработки, настройка COM-порта и опроса, типичные ошибки и проверка результата.

Подключение счётчиков Меркурий к 1С обычно требуется для автоматического сбора показаний электроэнергии: данные с приборов учёта попадают в документы начислений, отчёты по энергопотреблению или в подсистему АСКУЭ без ручного ввода. Задача решается несколькими способами — от готовых обработок опроса до полноценной интеграции через промежуточное ПО, и выбор зависит от модели счётчика, канала связи и используемой конфигурации 1С.

Счётчики Меркурий (серии 200, 230, 233, 234 и другие) обмениваются данными по интерфейсам RS-485, CAN, оптопорту, а часть моделей — по GSM/GPRS, PLC или радиоканалу. Протокол обмена у приборов «Инкотекс» собственный, открытый и документированный производителем, поэтому технически опрос возможен из любой системы, включая 1С. Практическая сложность — в согласовании физического подключения, параметров порта и логики разбора ответов.

Важно понимать: 1С не опрашивает счётчик «из коробки» типовой кнопкой. Потребуется либо внешняя компонента/драйвер, либо обработка, реализующая протокол Меркурий через COM-порт, либо промежуточный сервер сбора данных, который складывает показания в понятный для 1С вид — файл, таблицу SQL или веб-сервис. Ниже разобраны все рабочие сценарии и порядок действий для каждого.

Определите модель счётчика и доступный канал связи

Первый шаг — выяснить, какая именно модификация Меркурий установлена и какие интерфейсы у неё активны. Маркировка на корпусе содержит буквенные индексы, указывающие на наличие интерфейсов: например, «R» — RS-485, «C» — CAN, «O» — оптопорт, «G» — GSM-модем. От этого зависит, как физически добраться до данных.

Для локального подключения к компьютеру с 1С чаще всего используют RS-485 через преобразователь интерфейса USB–RS-485 (например, Меркурий 221 или аналогичный адаптер) либо оптопорт с оптической головкой. Оптопорт удобен для разового снятия показаний, RS-485 — для постоянной линии опроса нескольких счётчиков на одной шине.

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

Модель и индексыМеркурий 230 AR, 233 G и т.п.

Индексы показывают наличие RS-485, CAN, оптопорта, GSM

Сетевой адресИдентификатор прибора на шине

Совпадает с частью серийника или задан при программировании

Пароль доступаУровень 1 для чтения

Заводской пароль может быть изменён энергосбытом

Параметры порта9600 бод, 8N1 (типично)

Скорость и чётность должны совпадать на приборе и в ПО

Способ 1. Прямой опрос из 1С через COM-порт

Протокол Меркурий открыт, поэтому из 1С можно опрашивать счётчик напрямую, отправляя бинарные запросы в COM-порт. Для этого нужна либо внешняя компонента для работы с последовательным портом (например, реализации по технологии NativeAPI или COM-объекты типа MSComm), либо готовая обработка опроса, которых немало в открытом доступе и на маркетплейсах решений для 1С.

Логика обмена такая: 1С формирует запрос по протоколу (адрес прибора, код команды, контрольная сумма CRC16), отправляет в порт, ждёт ответ, проверяет CRC и разбирает полезную нагрузку — показания энергии по тарифам, мощность, напряжение. Команды чтения показаний и мгновенных значений описаны в документации «Системный протокол обмена» от производителя.

Этот способ даёт полный контроль и не требует стороннего ПО, но требует навыков разработки: работа с буферами, таймаутами, преобразованием байтов. Кроме того, компьютер с 1С должен иметь физическую линию до счётчиков — преобразователь USB–RS-485 и проложенную витую пару до шины приборов.

Способ 2. Сбор данных сторонним ПО и загрузка в 1С

Самый надёжный и распространённый на практике вариант — разделить задачи: специализированное ПО опрашивает счётчики по расписанию и сохраняет результаты, а 1С забирает готовые данные. В роли сборщика может выступать конфигуратор «Конфигуратор счётчиков Меркурий» (для ручного снятия), ПО TaskGroup, BQuark, любая АСКУЭ-система или самописная служба.

Обмен между сборщиком и 1С организуют через промежуточный формат: CSV/Excel-файл в сетевой папке, таблицу в промежуточной базе данных (MS SQL, MySQL) или HTTP-сервис. В 1С пишется обработка загрузки: читает файл или таблицу, сопоставляет сетевые адреса счётчиков с элементами справочника «Счётчики» (или «Приборы учёта») и создаёт документы ввода показаний.

Преимущества подхода: опрос идёт независимо от сеансов 1С, сбой линии связи не рушит учёт, данные можно перечитать из архива сборщика. Схема хорошо масштабируется — от пяти счётчиков в цеху до сотен приборов по нескольким объектам.

Порядок настройки обмена через промежуточный сбор
  1. 1
    Установите и настройте ПО опроса: добавьте счётчики, сетевые адреса, расписание опроса
  2. 2
    Проверьте, что показания читаются и сохраняются в архив сборщика
  3. 3
    Настройте выгрузку в файл или таблицу: адрес прибора, дата/время, показания по тарифам
  4. 4
    В 1С создайте справочник счётчиков с полем сетевого адреса для сопоставления
  5. 5
    Напишите обработку загрузки и создания документов показаний
  6. 6
    Настройте регламентное задание загрузки и проверьте на тестовом периоде

Способ 3. Интеграция через веб-сервис или HTTP-запросы

Если данные со счётчиков собирает сервер АСКУЭ или облачный сервис (например, у счётчиков с GSM-модемом данные уходят на сервер производителя или оператора), 1С может забирать показания через API. В 1С это реализуется объектом HTTPСоединение: запрос с авторизацией, получение JSON или XML, разбор и запись в регистры.

Такой вариант избавляет от физических линий связи вообще — счётчик сам передаёт данные в облако, а 1С периодически их скачивает. Ограничения: зависимость от доступности внешнего сервиса, возможные лимиты запросов и задержки в актуальности данных. Перед внедрением уточните у поставщика сервиса наличие и формат API.

Для локальных систем альтернатива — поднять собственный HTTP-сервис на стороне сервера сбора (на любом скриптовом языке) и отдавать 1С данные в удобной структуре. Это сложнее на старте, но удобно при нескольких филиалах: все узлы отдают данные по единому протоколу.

Настройка физического подключения и параметров обмена

Для шины RS-485 используйте витую пару, подключайте клеммы A к A, B к B последовательно от прибора к прибору, избегайте «звёзд». На концах длинной линии желательны согласующие резисторы около 120 Ом. Преобразователь USB–RS-485 установится в системе как виртуальный COM-порт — номер порта смотрите в диспетчере устройств Windows.

Типичные параметры порта для Меркурий: скорость 9600 бод, 8 бит данных, без чётности, 1 стоп-бит, но конкретная модель могла быть перенастроена. Проверить связь удобно фирменной утилитой конфигуратора: если она видит счётчик и читает показания — физика и параметры в порядке, и проблемы следует искать уже на уровне обработки 1С.

Также учитывайте таймауты: при опросе по RS-485 прибору нужно время на ответ, а между опросом разных счётчиков на одной шине — паузы, иначе ответы перемешаются. В обработках 1С закладывайте ожидание ответа не менее нескольких сотен миллисекунд и повторные попытки при ошибке CRC.

Загрузка показаний в учётную систему 1С

Структура хранения зависит от конфигурации. В отраслевых решениях для ЖКХ и энергетики (например, конфигурации для расчётов с населением или «1С:Предприятие 8. Управление тепловодоснабжающей организацией») есть штатные документы «Ввод показаний счётчика» — обработка загрузки должна создавать именно их. В самописных учётах обычно делают регистр сведений «Показания приборов учёта» с измерениями «Счётчик» и «Период».

Ключевой момент — сопоставление: сетевой адрес или заводской номер из файла обмена должен однозначно находить счётчик в справочнике 1С. Ведите в карточке счётчика оба поля и проверяйте дубли перед загрузкой. Показания пишите с датой фактического снятия, а не датой загрузки — иначе начисления за период исказятся.

Контрольные точки

Как проверить результат

Показания в 1С против табло счётчика
Норма

Значения совпадают с точностью до округления

Тревожный признак

Расхождение в разрядах — сбит порядок байтов или тарифов

Полнота загрузки
Норма

Все приборы из файла нашли пары в справочнике

Тревожный признак

Часть адресов не сопоставлена — дубли или пустые поля

Динамика показаний
Норма

Каждое новое значение не меньше предыдущего

Тревожный признак

Скачки и отрицательный расход — перепутаны тарифы или приборы

Регулярность опроса
Норма

Данные появляются по расписанию без пропусков

Тревожный признак

Провалы — проблемы линии связи или сеансов 1С

Типичные ошибки и ограничения

Чаще всего интеграция упирается не в 1С, а в базовые вещи: неверный сетевой адрес, сменённый энергосбытом пароль, перепутанные A/B на RS-485 или несовпадение скорости порта. Диагностируйте слоями: сначала конфигуратор производителя, потом простой терминал порта, и только потом обработку 1С.

Типичные ошибки
01
Опрос из клиентского сеанса 1С: при закрытии сеанса сбор останавливается — выносите в регламентное задание или службу
02
Запись показаний датой загрузки вместо даты снятия: начисления за период искажаются
03
Игнорирование контроля CRC: битые ответы попадают в учёт как реальные показания
04
Один COM-порт опрашивают два процесса одновременно: конфликт доступа и мусор в ответах
05
Хранение сопоставления счётчиков в самой обработке: при замене прибора приходится править код

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

Итог

Что важно запомнить

Оптимальная схема для большинства внедрений: отдельное ПО или служба опрашивает счётчики Меркурий по RS-485/GSM по расписанию, а 1С загружает готовые показания через файл, таблицу или HTTP и создаёт документы учёта. Прямой опрос из 1С возможен, но требует разработки и стабильного сеанса. Начинайте диагностику с фирменного конфигуратора и проверяйте сопоставление адресов счётчиков со справочником.

Частые вопросы

Можно ли подключить Меркурий к 1С без программирования?

Частично. Если использовать готовую обработку опроса или готовый коннектор из маркетплейса решений, настройка сводится к указанию COM-порта, адресов и расписания. Но сопоставление со справочниками и документами конкретной конфигурации почти всегда требует хотя бы минимальной доработки.

Какой кабель нужен для подключения по RS-485?

Подойдёт экранированная витая пара (например, кабель для сигнализации или слаботочных сетей). Подключение — шлейфом от одного счётчика к следующему, без ответвлений-«звёзд». Для длинных линий на концах ставят согласующие резисторы около 120 Ом.

Счётчик не отвечает на запросы — с чего начать?

Проверьте по порядку: правильность сетевого адреса, пароль уровня доступа, полярность A/B на шине, скорость и чётность порта. Удобнее всего — фирменным конфигуратором: если и он не видит прибор, проблема в физике или параметрах, а не в 1С.

Можно ли опрашивать несколько счётчиков на одной линии?

Да, RS-485 рассчитан на шину с несколькими приборами — у каждого свой сетевой адрес. Опрашивайте их последовательно с паузами, не параллельно: одновременные запросы к разным приборам на одной шине вызовут коллизии и ошибки контрольных сумм.

Подойдёт ли эта схема для счётчиков с GSM-модемом?

Да, но опрос идёт не по локальной шине, а через сервер: модем передаёт данные в облако или на ваш сервер сбора, а 1С забирает их оттуда по API или из базы. Уточните у поставщика ПО формат доступа к данным и возможные ограничения на частоту запросов.

Нарушит ли подключение к счётчику пломбы энергосбыта?

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