Разработка каркаса и выбор технологии для автоматизированного контроля аппарата?

Имеется аппарат, состоящий из множества физических устройств. Устройства соединены в бортовую сеть с выходом на ПК. Для каждого устройства имеется программный модуль управления на ПК, реализованный в виде плагина (дочернего окна в MDI-приложении). Контроль аппарата производится в ручном режиме: через контролы плагинов подаются команды на физические устройства, ответы устройств также отображаются на плагинах.

Стоит задача сделать контроль аппарата автоматическим (автоматизированным). Поскольку подобных проектов (различных аппаратов) предполагается много, задача усложняется. Нужно разработать каркас (архитектуру) программы контроля (речь идет только о программе на ПК), пригодный для многократного повторного использования в разных проектах. Отсюда требования к гибкости, наращиваемости и пр. Очевидно, что программа контроля должна настраиваться скриптами. Выглядит привлекательным использование Qt+Python, хотя не обязатально.

Где можно получить детальную консультацию (в том числе платную) по разработке каркаса указанной программы и по выбору соотвествующих технологий?

Рассматриваются также варианты привлечения специалиста на временную или постоянную работу. Одно из основных требований - опыт проектирования и совершенное владение соответсвующими технологиями.
  • Вопрос задан
  • 3019 просмотров
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Вариантов много. Зависит от того, как физически происходит взаимодействие и открыт ли протокол (документация), есть ли API/SDK и для какой платформы.
Ответ написан
xakpc
@xakpc
full-stack .net developer, CEO Leecero.com
Если бы вы рассматриваете C# и .NET то там есть "расширяемость" и "модульность" из коробки. Называется Managed Extensibility Framework (MEF).
Например мы его используем для сервиса опроса оборудования, когда возникает новое устройство, пишется отдельная сборка реализующая интерфейс
interface IDeviceControllerPlugin : IControllerPlugin
и вызывающая событие
event EventHandler<DataPacketEventArgs> OnDataPacket;

которое уже обрабатывается в самом сервисе.

Добавление нового модуля осуществляется путем бросания его в папку с программой и перезапуском. И повторюсь - все это доступно как часть .NET
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы