думаю что архитектурные схемы в проработке относят больше к разделу проектирование, поэтому опубликую тут - заметки на полях, для тех кому интересно.
Итак у нас тут активно движется 1С:Вещей - то есть потребность работать в терминах бизнес-логики (писать на 1С) с устройствами… То есть типа следующего
Процедура ПриПолученииДанныхСУстройств(ИмяУстройства, ИмяСобытия, Данные)
РезультатАнализаДанныхУстройств = СделатьСтранноеСДанными(Данными);
Если РезультатАнализаДанныхУстройств.НужноЧтоТоДелать Тогда
ЗапуститьКакойНибудьБизнесПроцесс(РезультатАнализаДанныхУстройств);
КонецЕсли;
КонецПоцедуры
Соответственно нам нужно события телеметрии с устройств получать в 1С системах - то есть необходимо спроектировать систему которая будет выполнять следующее
- подписывать 1С на события с устройств
- получать данные с устройств
Но тут возникает 2 проблемы
- во первых - все боятся принимать управляющие сигналы обратно: из 1С в устройство.
- во вторых - все производители устройств “старого режима” очень не любят реализовывать открытые протоколы, а делают проприетарные.
Первая проблема пока никак не решается в общем виде - есть только наметки на рабочее место сотрудника, который валидирует управляющие сигналы прямо на рабочем месте и нажимает кнопку “Применить”. То есть человеческий фактор остается.
Вторая проблема как раз намечена к решению - исполнением прокси-контролеров.
В порядке проработки проблематики - первое виденье схемы. Суть в том что:
- для бизнес-систем выставляем единый протокол MQTT (ну и AMQP конечно трансформация)
- телеметрию собираем с полевого уровня
- управляющие сигналу отправляем на уровень SCADA чтобы дальше работал валидатор управляющих сигналов уже на уровне АСУТП.
Чего пока неясно и еще в проработке
- у меня в тестовом контролере уже есть Modbus клиент - https://wirenboard.com/wiki/index.php/Modbus-client, фактически у меня уже есть полевой уровень.
- мосты OPC-2-MQTT пока в виде службы (сервиса) не нашел
- уровень SCADA систем не имеет в первом ближении единой открытой спецификации, а уже про MQTT вообще ничего не знает. Надо искать дальше
Кстати не только я один работаю в этом направлении:
- https://github.com/ballerina-platform/ballerina-lang/issues/10115
- https://github.com/ballerina-platform/ballerina-lang/issues/10117
“Балеринщики” также смотрят на сервисы которые могут AMQT-MQTT, соответственно скоро под влиянием рынка все больше контролеров “цехового уровня” должны будут переходить на MQTT протокол: таковы реалии.