SCADA, WMS и маркировка DataMatrix на одной линии
Как связать ПЛК, SCADA, печать DataMatrix и складской WMS: кто хранит статус кода, какие протоколы, ошибки внедрения и схема без Excel на линии.
SCADA зелёная, принтер печатает, а на ТСД кода нет — значит, три контура не договорились, кто чем владеет. ПЛК знает такт. Сервис маркировки знает строку DataMatrix. WMS знает ячейку. Если статус кода копируют через Excel или пишут «заодно» в регистры контроллера, к обеду физика и база уже расходятся.
В чём проблема и почему она возникает
На упаковочной линии одновременно живут три разных задачи:
- Держать оборудование в такте: насос, этикетировщик, отбраковщик.
- Нанести и проверить код маркировки.
- Учесть, куда единица уехала после линии — в короб, на палету, в ячейку.
Их часто склеивают в один «проект автоматизации». На практике это три контура с разной задержкой и разной ценой ошибки. Простой этикетировщика — секунды. Ошибка в иерархии палеты — простой фуры на РЦ сети.
Проблема возникает не от «нехватки цифровизации». Она возникает от того, что SCADA отлично показывает давление и скорость, но не умеет быть складом, а WMS не должен крутить соленоид отбраковки.
Ниже — как это обычно собирают, какие есть рабочие схемы и где ломается внедрение. Печать без Excel на линии подробнее разобрана в интеграции печати КМ с MES. Складской контур — в статье WMS для склада с маркировкой.
Как это обычно устроено на практике
Типовой объект: линия розлива или фасовки, один ПЛК, панель оператора, принтер этикеток или лазер, камера или сканер после нанесения, дальше ручной или полуавтоматический паллетайзер и склад ГП.
Данные на объекте ходят так:
ПЛК --Modbus / OPC UA--> SCADA / HMI
|
такт, reject, счёт
|
ГИС МТ --> буфер КМ --> печать --> камера/сканер
|
v
короб / палета / WMS <-- ТСД
|
v
1С --> УПД / ГИС МТ
На бумаге стрелки есть. В цехе часто так:
- Оператор выгружает заказ кодов из ГИС МТ в xlsx.
- Файл кладут на общий диск. Принтер берёт «следующую строку».
- Камера даёт OK/NOK в сухой контакт ПЛК. SCADA рисует счётчик брака.
- Кладовщик на ТСД сканирует то, что видит, в свою таблицу.
- Вечером 1С получает «факт выпуска» из третьего файла.
Ни один узел не знает, какой именно КМ сейчас под камерой. ПЛК знает только «единица прошла / не прошла». WMS узнаёт состав палеты, когда уже поздно её перекладывать.
Техническое ограничение, которое игнорируют чаще всего: полный КМ не является тегом ПЛК. В строке есть GTIN, серийник, GS (ASCII 29) и криптохвост. Это десятки байт переменной длины. Holding-регистр Modbus — 16 бит. Пихать КМ в контроллер «чтобы SCADA всё видела» — ломать и линию, и маркировку.
Основные технические варианты
1. Excel и ручной контур
Коды в файле. Печать с компьютера у линии. Склад в 1С или в таблице. SCADA живёт отдельно и показывает только оборудование.
Подходит для пилота и штучных партий. На серийной смене не переживает копирование, фильтры Excel и двух операторов на одном файле.
2. Сервис маркировки как буфер, SCADA только линия, WMS отдельно
Отдельное ПО держит заказ КМ, атомарно выдаёт код на принтер, принимает результат верификации, пишет статусы. SCADA по OPC UA или Modbus забирает с ПЛК такт, скорость, причину останова и сухой контакт камеры. WMS получает событие «единица/короб готова» по API, не из файла.
Это рабочая схема для большинства производств, которые уже имеют ПЛК и 1С.
3. Печать и статусы КМ внутри SCADA
Вендор SCADA «умеет SQL и TCP», поэтому печать вешают на ту же runtime. На панели появляется кнопка «печать кода».
Имеет смысл только если линия крошечная и нет склада с пересортом. Иначе обновление HMI, архив трендов и очередь печати начинают мешать друг другу: рестарт SCADA останавливает и этикетку, и насос в голове у смены.
4. WMS как хозяин печати
Складская система выдаёт КМ на линию «под заказ отгрузки». На производстве с нанесением в момент выпуска это обычно перевёрнутая ответственность: линия не должна ждать ячейку, чтобы напечатать код. WMS подключается после верифицированной единицы — к коробу, палете, ячейке.
Исключение: отложенная этикетка на складе (перемаркировка, экспортная этикетка). Тогда печатает складской контур, а не линия.
Плюсы и минусы подходов
| Подход | Когда живёт | Где ломается |
|---|---|---|
| Excel + отдельная SCADA | Пилот, малый тираж | GS, дубли, нет статуса «напечатан» |
| Буфер маркировки + SCADA + WMS | Серийная линия и склад ГП | Нужно явно описать события между узлами |
| Печать внутри SCADA | Одна короткая линия без склада | Рестарт HMI бьёт по печати и по ПЛК-опросу |
| WMS печатает за линию | Складская перемаркировка | Такт линии зависит от склада и сети Wi‑Fi ТСД |
Протоколы тоже не взаимозаменяемы:
| Канал | Что по нему возить | Что не возить |
|---|---|---|
| Modbus | Биты, счётчики, уставки, reject | Строку КМ, криптохвост, SSCC |
| OPC UA | Теги линии, рецепт, статусы узлов | Файл заказа из ГИС МТ |
| TCP принтера | Полный КМ с GS, шаблон этикетки | Юридический ввод в оборот |
| HTTP API буфера | Резерв кода, статус, журнал | Управление сервоприводом |
| ТСД → WMS | Скан факта, ячейка, палета | Команду «стоп линии» |
OPC UA удобнее Modbus, когда тегов много и нужны подписки, а не опрос циклом. Это не повод тащить в OPC-сервер заказ кодов. Заказ — в буфер маркировки, документация обмена — в интеграции API.
Типичные ошибки при внедрении
КМ в регистрах ПЛК. Интегратор «для простоты» кладёт серийник в несколько Word. Криптохвост обрезается. Сканер на кассе читает одно, в базе другое. Проверка структуры — в онлайн-разборе DataMatrix, а не в таблице регистров.
Камера OK равна «код в обороте». Верификатор подтверждает читаемость и, если настроен, разбор AI. Ввод в оборот — отдельная операция в ГИС МТ. Путать эти два события — получить красивую этикетку, которую сеть не примет по статусу.
Обмен раз в сутки. Линия пишет в буфер. WMS забирает CSV ночью. Дневная отгрузка уходит с составом вчерашней палеты. Для маркировки нужен событие-ориентированный обмен: printed, verified, rejected, packed, pallet_closed.
Один Wi‑Fi на ТСД и на камеру. Складской радиоканал падает — и почему-то останавливают этикетировщик. Контуры должны переживать обрыв друг друга: линия буферизует факты, ТСД буферизует сканы, синхронизация догоняет.
Разные профили сканеров. На линии Datalogic передаёт GS, на складе Honeywell его глотает. В WMS приезжает склеенная строка. Профиль один — см. настройку сканеров.
SCADA как склад. На HMI рисуют «остаток по КМ». Через неделю это не сходится с ячейками, потому что оператор снял короб руками. Остаток — зона WMS.
Практический пример архитектуры
Условный пример: вода, одна линия, паллетайзер, склад ГП с ТСД, 1С ведёт УПД.
Ответственность узлов:
- ПЛК — такт, блокировки, отбраковщик, счёт единиц. Никаких строк КМ.
- SCADA / HMI — мнемосхема, простои, связь reject камеры с остановом, журнал «почему встали». Не очередь печати.
- Сервис маркировки — заказ из ГИС МТ, выдача КМ на принтер, приём строки с камеры, статусы единицы, агрегация короба если она на линии.
- WMS — приёмка ГП, ячейка, перекладка, отбор, состав палеты, если её собирают или меняют на складе.
- 1С — номенклатура, заказ кодов (или факт из буфера), УПД, юридический обмен с ГИС МТ.
Поток единицы:
1. ПЛК: единица в позиции печати (бит)
2. Буфер: reserve_km(gtin, batch) (HTTP)
3. Принтер: полный КМ с GS (TCP)
4. Камера: decode + OK/NOK (сухой контакт + строка в буфер)
5. ПЛК: reject при NOK (бит от камеры)
6. Буфер: verified | rejected
7. Упаковка: scan короба → агрегат
8. WMS: scan SSCC → ячейка (ТСД)
9. 1С: реализация после pallet_closed
Событие между маркировкой и WMS — короткое:
{
"event": "pallet_closed",
"sscc": "00123456789012345678",
"gtin": "04601234567890",
"items": 120,
"closed_at": "2026-09-12T14:03:11+03:00"
}
Состав палеты WMS при необходимости добирает из буфера по SSCC, а не парсит Excel. Если палету на складе расформировали — WMS шлёт pallet_split, буфер и 1С не должны «угадывать» состав.
SCADA в этой схеме подписывается на теги ПЛК и на счётчики NOK из сервиса маркировки (уже не сырую строку КМ). Оператор видит: «камера NOK 12 подряд — линия стоп». Разбор, какой код не прошёл, он открывает в журнале маркировки, не в тренде давления.
Какой вариант выбирать
Пилот, одна SKU, ручная укладка на палету, нет сети в требованиях к SSCC. Сервис маркировки + 1С. SCADA как есть, к печати её не привязывать. WMS подождёт.
Серийная линия, камера, отбраковка, отгрузка целыми палетами без пересорта. Буфер маркировки + SCADA по OPC UA/Modbus + 1С. WMS не обязателен, пока палету не разбирают.
Склад перекладывает короба, собирает заказы, работает ТСД, есть возвраты. Нужны все три контура. Граница: линия отдаёт верифицированный агрегат, склад владеет ячейкой и дальнейшей иерархией.
Перемаркировка и брак на складе, а не на линии. Печать со склада. Линия в этом сценарии не источник КМ.
Несколько ПЛК разных вендоров. Не унифицировать их «одним Excel». Свести теги в SCADA, КМ оставить в одном буфере. Иначе каждый мастер по своему контроллеру начнёт свою выгрузку кодов.
Критерий готовности схемы — не красивая мнемосхема. Критерий: по одному КМ можно ответить, на каком узле он сейчас, не открывая три программы и почту.
Готовые контуры, если не собираете с нуля: SCADA / HMI, маркировка на производстве, WMS и ТСД.
Вывод
SCADA, маркировка DataMatrix и WMS решают разные задачи на одной линии. ПЛК и панель — такт и безопасность оборудования. Буфер кодов — печать, верификация, статус КМ. Склад — ячейка, палета, ТСД. 1С — документы и ГИС МТ.
Ломается не «интеграция вообще», а конкретная дыра: Excel между заказом и принтером, КМ в регистрах, камера OK вместо ввода в оборот, обмен пачкой раз в сутки.
Если схема сходится по событиям printed → verified → packed → pallet_closed, линия и склад перестают спорить, чей остаток правильный.
Если нужна интеграция подобной системы с существующим оборудованием или ПО, можно обсудить архитектуру под конкретную задачу.
Когда это становится проблемой бизнеса
Пока на складе десятки SKU — хватает таблицы. Когда палеты, партии, сроки годности и DataMatrix должны сходиться с 1С и УПД — в 1С один статус, на складе другой.
- кладовщик ищет палету по памяти или в Excel
- коды есть в файле, но непонятно, какие уже отгружены
- приёмка и отбор без ТСД
- партии и сроки годности путаются
- УПД ушёл, а коды не совпали с фактом
- маркированный товар без истории операций
Нужна WMS с ТСД, ячейками, партиями и связкой с 1С — не ещё один лист Excel.
Когда стоит внедрять систему
Если склад живёт в Excel, палеты ищутся глазами, партии не отслеживаются, а маркировка хранится отдельно от товара — нужна WMS с ячейками, ТСД и историей операций.
WMS для склада →Что можно внедрить под вашу задачу
- номенклатура и ячейки хранения
- приёмка и размещение с ТСД
- поиск палеты и кода маркировки
- партии и сроки годности
- отбор и отгрузка
- УПД и КИ в документах
- интеграция с 1С
- история операций по коду
С чего можно начать
- Разбор проблемы по описаниюот 0 ₽
- Аудит маркировкиот 15 000 ₽
- Модуль проверки DataMatrixот 60 000 ₽
- AI Support Agent (базовая диагностика)от 60 000 ₽
- Интеграция принтера/сканераот 80 000 ₽
- WMS-стартот 120 000 ₽
- SCADA/HMIот 95 000 ₽
- WMS + ТСД + маркировкаот 250 000 ₽
- XRAY/PACS архивот 200 000 ₽
- Ежемесячное сопровождениеот 15 000 ₽/мес
Это ориентиры. Точная стоимость зависит от оборудования, интеграций, объёма данных и состояния текущего процесса. Для оценки достаточно описать задачу и прислать пример ошибки.
Читайте также
1 июл. 2026 г.
Интеграция печати КМ с MES и 1С: архитектура без Excel на линии
Как связать ГИС МТ, MES и принтер DataMatrix: буфер кодов, очередь печати, верификация, ввод в оборот и типовые схемы для линии розлива.
Читать15 февр. 2026 г.
DataMatrix на линии розлива: верификация, камеры и типовые сбои
Верификация DataMatrix на линии розлива: камеры, ISO 15415, структура КМ «Честный ЗНАК», передача GS и типовые сбои считывания.
Читать12 сент. 2026 г.
Почему DataMatrix читается телефоном, но не сканером
Смартфон видит код маркировки, Honeywell или Datalogic молчит. Оптика, символика 2D, расстояние, GS и USB — порядок проверки на одном образце.
ЧитатьЗАЯВКА
Разобрать проблему
Опишите контур: оборудование, симптом, пример кода, ошибки или фрагмент лога. Отвечу, где узкое место — данные, печать, сканер, WMS, 1С или сервер.
Частые вопросы
Можно ли печатать код маркировки напрямую из регистров ПЛК?
Нет. Полный КМ с GS и криптохвостом не помещается в типичные holding-регистры Modbus и не должен жить в ПЛК. ПЛК даёт такт, счётчик, сигнал reject. Строку DataMatrix выдаёт отдельный сервис маркировки.
Кто должен быть источником правды по коду — SCADA, WMS или 1С?
SCADA знает состояние линии. Сервис маркировки знает статус КМ на единице. WMS знает, в какой ячейке или палете код лежит. 1С знает юридический статус в ГИС МТ. Пересекать эти зоны без явного обмена — способ получить три разных остатка.
Нужен ли WMS, если маркируем только на линии и отгружаем целыми палетами?
Если палету не пересобирают и состав SSCC не меняется после линии — часто хватает сервиса маркировки и 1С. WMS нужен, как только появляются пересорт, возврат, сборка заказа из разных партий или отбор по ТСД.