Автоматизация · 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 — для постоянной линии опроса нескольких счётчиков на одной шине.
Узнайте также сетевой адрес счётчика (для однофазных обычно совпадает с последними цифрами серийного номера, для трёхфазных задаётся отдельно), уровень доступа и пароль. Заводской пароль первого уровня обычно известен из документации, но энергосбытовая организация могла его сменить — без корректного пароля чтение данных будет отклонено.
Индексы показывают наличие RS-485, CAN, оптопорта, GSM
Совпадает с частью серийника или задан при программировании
Заводской пароль может быть изменён энергосбытом
Скорость и чётность должны совпадать на приборе и в ПО
Способ 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Установите и настройте ПО опроса: добавьте счётчики, сетевые адреса, расписание опроса
- 2Проверьте, что показания читаются и сохраняются в архив сборщика
- 3Настройте выгрузку в файл или таблицу: адрес прибора, дата/время, показания по тарифам
- 4В 1С создайте справочник счётчиков с полем сетевого адреса для сопоставления
- 5Напишите обработку загрузки и создания документов показаний
- 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С, а в базовые вещи: неверный сетевой адрес, сменённый энергосбытом пароль, перепутанные A/B на RS-485 или несовпадение скорости порта. Диагностируйте слоями: сначала конфигуратор производителя, потом простой терминал порта, и только потом обработку 1С.
Отдельное ограничение — лицензионное: если счётчик опечатан и введён в расчёт, сам факт подключения к его интерфейсу обычно не запрещён (чтение не меняет учётные данные), но доступ к клеммам и изменение параметров требуют согласования. Для расчётных приборов используйте только чтение и храните журнал опросов.
Что важно запомнить
Оптимальная схема для большинства внедрений: отдельное ПО или служба опрашивает счётчики Меркурий по RS-485/GSM по расписанию, а 1С загружает готовые показания через файл, таблицу или HTTP и создаёт документы учёта. Прямой опрос из 1С возможен, но требует разработки и стабильного сеанса. Начинайте диагностику с фирменного конфигуратора и проверяйте сопоставление адресов счётчиков со справочником.
Частые вопросы
Можно ли подключить Меркурий к 1С без программирования?
Частично. Если использовать готовую обработку опроса или готовый коннектор из маркетплейса решений, настройка сводится к указанию COM-порта, адресов и расписания. Но сопоставление со справочниками и документами конкретной конфигурации почти всегда требует хотя бы минимальной доработки.
Какой кабель нужен для подключения по RS-485?
Подойдёт экранированная витая пара (например, кабель для сигнализации или слаботочных сетей). Подключение — шлейфом от одного счётчика к следующему, без ответвлений-«звёзд». Для длинных линий на концах ставят согласующие резисторы около 120 Ом.
Счётчик не отвечает на запросы — с чего начать?
Проверьте по порядку: правильность сетевого адреса, пароль уровня доступа, полярность A/B на шине, скорость и чётность порта. Удобнее всего — фирменным конфигуратором: если и он не видит прибор, проблема в физике или параметрах, а не в 1С.
Можно ли опрашивать несколько счётчиков на одной линии?
Да, RS-485 рассчитан на шину с несколькими приборами — у каждого свой сетевой адрес. Опрашивайте их последовательно с паузами, не параллельно: одновременные запросы к разным приборам на одной шине вызовут коллизии и ошибки контрольных сумм.
Подойдёт ли эта схема для счётчиков с GSM-модемом?
Да, но опрос идёт не по локальной шине, а через сервер: модем передаёт данные в облако или на ваш сервер сбора, а 1С забирает их оттуда по API или из базы. Уточните у поставщика ПО формат доступа к данным и возможные ограничения на частоту запросов.
Нарушит ли подключение к счётчику пломбы энергосбыта?
Чтение данных через интерфейс само по себе пломб не нарушает. Но если для подключения нужно вскрыть клеммную крышку, а она опломбирована, работы согласуйте с сетевой организацией — самовольное вскрытие может привести к признанию прибора нерасчётным.