Нужна ли сообществу открытая программно-аппаратная платформа модульного типа (Шасси, модули ЦП, УСО, БП, и т.д.) построенная на принципах событийно-ориентированного управления?
То есть управление построено не на классическом алгоритме "сканирования" всей входо-выходной части и последовательном выполнении всех заданных алгоритмов на ПЛК, а на каждом УСО происходит автономный опрос/чтение/обработка сигналов (в том числе по прерываниям) и уведомление всех узлов сети о произошедшем событии (изменении состояния сигнала). На УСО может быть реализован алгоритм последовательного управления (SFC) или зашита микропрограмма (алгоритм) на языке C98 или C++11 для организации необходимой скорости реакции на обрабатываемые сигналы (от 10мкс, до 10-25мс в зависимости от способа обработки сигналов).
ПЛК в этом случае можеть являться как головной системой управления с поддержкой языков МЭК (в интерпретируемом виде), системой сбора и интерфейсом SCADA. Программное обеспечение ПЛК так же является открытым, масштабируемым и его запуск возможен как на ПЛК, так и на планшетах, телефонах, сетевых хранилищах и серверах, что может сделать его доступным в системах управления умного дома. SCADA реализуется на базе HTML5+CSS3 представления и работает через веб-интерфейс. Проектирование системы возможно так же в реальном времени при подключенном оборудовании (ПНР) с последующей выгрузкой конфигурации на внешний накопитель (USB).
На настоящий момент имеется разработанное ядро системы управления, API и чертежи корпусов со спецификацией на схемно-техническую часть. Организовано двухканальное резервирование связи на микроконтроллерах. Вся основная документация предполагается к выкладыванию в общий доступ, включая чертежи, спецификацию и большую часть ядра и программного обеспечения.
Характеристики системы:
- Модульность
- Резервирование 1:1, 1:n
- Открытая архитектура
- Автономность (работа без ПЛК)
- Высокая скорость реакции на внешние события
Если подобная открытая платформа не интересна сообществу, я буду сворачивать её разработку в связи с её нецелесообразностью.
P.S. Программная часть разрабатывается на языке C98 для ядра LinuxRT-Preempt (ядро реального времени) 3.18 и выше. Но может быть запущено и на стандартном ядре Linux (Для системы сбора, SCADA, либо для не критичных к задержкам систем управления).