Как связать машинное зрение, WMS и конвейер: сортировочная линия на 41 направление

Как связать машинное зрение, WMS и конвейер: сортировочная линия на 41 направление

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

Производительность линии — 4000–5000 коробок в час. Однако ключевая цель проекта заключалась не в автоматизации конвейера как такового, а в интеграции трёх независимых систем:

  • системы машинного зрения;
  • складской системы учёта (WMS);
  • системы управления конвейером.

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

Как происходит сортировка коробок

Коробки по конвейеру поступают к сканирующей рамке. Система должна выполнить две задачи: распознать товар по штрихкоду и получить из WMS маршрут — в какой отводящий лоток (шут) направить груз.

После сканирования рамка отправляет данные в WMS. Та возвращает номер шута, и конвейер направляет коробку по указанному маршруту.

Всего предусмотрено 41 направление: 40 — для сортировки, одно — для отбраковки.

Сканирующая рамка: камеры и измерение габаритов

Сканирующая рамка ВГХ оснащена пятью ID-камерами HikRobot и линейной лазерной стереокамерой. Она считывает штрихкоды (1D, 2D, QR), измеряет габариты коробки и фиксирует её вес.

После обработки система формирует HTTP-запрос в формате JSON и отправляет его через API в WMS. Запрос включает:

  • штрихкод товара;
  • габариты;
  • вес.

В нормальном режиме весь процесс занимает менее одной секунды.

Как определяется маршрут коробки

Соответствие между штрихкодом и номером шута хранится в WMS — системе управления складом. После сканирования данные передаются в WMS, откуда поступает номер направления. Этот номер должен быть передан системе управления конвейером.

Почему конвейер не может взаимодействовать напрямую

Конвейером управляет промышленный контроллер Siemens S7-1200. Он отвечает за механику: управляет приводами, диверторами и отслеживает движение коробок. Однако его ПО не поддерживает HTTP-запросы, JSON и REST API. Поэтому контроллер не может напрямую обмениваться данными ни с системой машинного зрения, ни с WMS.

Для связи между системами требуется интеграционный слой.

Кто объединяет все системы

Для интеграции выбрали платформу IntraSCADA. Её модульная архитектура повышает надёжность: при сбое одного плагина остальная система продолжает работать, а проблемный модуль можно перезапустить без остановки линии.

У IntraSCADA есть готовый плагин для взаимодействия с контроллерами Siemens S7, что упростило интеграцию с автоматикой. Система поддерживает HTTP и REST API, поэтому может напрямую принимать данные от сканирующей рамки и запрашивать маршрут в WMS.

Получив номер шута, IntraSCADA передаёт его контроллеру конвейера через плагин Profinet / S7. S7 получает готовую команду — куда направить коробку.

Интеграционный узел: Wiren Board 8

IntraSCADA развернута на контроллере Wiren Board 8, который выступает центральным интеграционным узлом. Он обеспечивает обмен данными, мониторинг и удалённый доступ.

Контроллер выбран за счёт достаточной вычислительной мощности: IntraSCADA активно использует многопоточность, поэтому важно иметь несколько ядер CPU. Также на борту Wiren Board есть Ethernet, GPIO и GSM-интерфейсы.

Контроллер не подключён к внутренней сети заказчика. Для удалённого доступа используется встроенный 3G/4G-модем. Инженеры подключаются к системе через облако, что позволяет обслуживать её дистанционно.

Ещё один плюс — стоимость. Wiren Board 8 обошёлся примерно в 25 000 рублей, тогда как мини-ПК с аналогичными характеристиками стоят от 50 000 рублей.

Пользовательский интерфейс и мониторинг

Человеко-машинный интерфейс (ЧМИ) отображает ключевые показатели: количество обработанных грузов, число ошибок обмена, количество коробок, достигших конечной точки. В левой части — навигационные кнопки для перехода между разделами.

При удалённом подключении открывается веб-интерфейс IntraSCADA. Он показывает параметры груза (габариты, вес, код), статус обмена и возможные ошибки. Ниже — журнал запросов и ответов, используемый для анализа, статистики и отладки.

Схема обмена данными

Когда коробка проходит сканирующую рамку, формируется JSON-пакет с данными. Он отправляется HTTP POST-запросом на Wiren Board 8 с IntraSCADA.

Система уведомляет контроллер S7 о появлении нового груза и одновременно отправляет HTTP GET-запрос в WMS, чтобы получить номер шута. Ответ от WMS приходит в среднем за 400 мс.

Получив маршрут, IntraSCADA передаёт его S7. Тот направляет коробку в нужное направление.

S7 также отслеживает положение коробки по датчикам. Если рамка задерживает передачу данных, а коробка уже прошла контрольную точку, S7 игнорирует запоздавший маршрут — груз направляется в 41-й шут, на отбраковку.

В штатном режиме весь цикл «рамка → Wiren Board → WMS → Wiren Board → S7» занимает от 100 до 800 миллисекунд — этого достаточно, чтобы записать маршрут до достижения первого дивертора.

Итог

Была решена задача интеграции трёх независимых систем: машинного зрения, WMS и автоматики конвейера. Это удалось реализовать с помощью IntraSCADA на базе Wiren Board 8.

Контроллер выступил в роли интеграционного узла: принимает данные от камер, запрашивает маршрут в WMS, передаёт команду S7, обеспечивает мониторинг и удалённый доступ.

Такая архитектура позволила построить сортировочную линию с производительностью до 4000–5000 коробок в час без использования отдельного сервера и без усложнения логики конвейера.

Читать оригинал