Задача: придумать техническое решение, позволяющее управлять различными сортировочными линиями без внесения принципиальных изменений в программное обеспечение.
Решение:
в соответствии с задачей мы разработали концепцию модульной системы, состоящей из трех подсистем.
- Подсистема принятия решений, отвечающей за бизнес-логику сортировки. Подсистема должна позволять настроить процесс сортировки, не привязываясь к оборудованию, которое может изменяться от линии к линии. В качестве основы предполагалось использовать платформу исполнения бизнес-процессов Camunda.
- Подсистемs взаимодействия с оборудованием, отвечающей за программное взаимодействие и обмен данными с оборудованием, из которого состоит линия, в том числе за проверки состояние и работоспособность («health check») компонентов сортировочной линии.
Для организации взаимодействия предполагалось использовать протоколы: Modbus,Profibus, MQTT. взаимодействовать с ним посредством различных протоколов (Modbus, Profibus, MQTT)
- Подсистема взаимодействия с внешними сервисами отвечает за взаимодействие с внешними системами, влияющими на процесс сортировки. Принятие решение, куда должна отправится посылка осуществляется не самой сортировочной линией, а приходит из центра обработки данных. Данная подсистема должна выполнять интеграцию между внешним сервисом принятия решения и бизнес-процессом сортировочной линии.
При разработке технического решения учитывалась спецификация OPC UA сервера, определенная заказчиком, так как все сортировочные линии должны иметь возможность управления согласного данной спецификации.
Техническое решение было подготовлено и передано заказчику точно в срок.