На работе стоит задача провести анализ и выбрать программный продукт для визуализации систем
HMI, причем имеются требования управления элементами и динамическим обновлением показателей. Несколько упрощенно — надо отрисовать схему электрической сети, считать показания некоторого числа датчиков, отобразить все это на пульте, дать возможность диспетчеру системы проводить не только диагностику, но и настройку/изменение параметров системы. Пока акцент стоит больше на визуализации процессов, логика и операции будут добавлены несколько позже. Платформа и цена решения значения не имеют, хотя лучше бы подошло решение на Java/.NET по понятным причинам.
Что удалось нарыть состоянием на данный момент:
1) GLG Toolkit by Generic Logic (
www.genlogic.com)
Кроссплатформенное (ядро на Java) решение для работы с динамической графикой, визуализацией данных и HMI. Заявлена поддержка риал-тайм систем. Нужная функциональность есть в наличии и все хорошо, только вот встроенный редактор картинок просто дикий, это же касается и кода (if pressed button name equals «exit» then exit() else if button name = «refresh» goto another_crazy_if_then(), дальше думаю еще больше). Вообще складывается впечатление что развитие тулзы остановилось где-то в начале 2000-х. Понятное дело, что нужно ехать, а не шашечки, но полтора часа потратить только на то, чтоб нарисовать обычный датчик электроэнергии — это чуток накладно.
2) CSWorks by Control System Works (
www.controlsystemworks.com)
Silverlight 4 framework для HMI/SCADA/EMI/M2M решений. Есть поддержка разных источников данных, поддержка распределенных операций через веб, гибкая система оповещений и предупреждений, поддержка риал-тайм систем. Если судить по демкам, достаточно неплохой вариант. Единственное не до конца понятно, что у них есть для электросетей — на сайте отдельными пунктами выделено применение фреймворка нефтегазодобывающими, строительными, транспортными, добывающими компаниями, а также компаниями, которые занимаются водоснабжением и M2M. Даже если в этих сферах все отлично, дорисовывать нужное нам естественно никто вручную не станет.
3) Status Vision Designer by Mobiform Software Inc. (
web-hmi.com)
Silverlight 3 решение для HMI/SCADA систем, используется для дизайна систем производства и контроля процессов путем создания дашбордов и отображения данных в реальном времени. Плюсами этого решения выделены высокая степень совместимости, расширяемости, поддержка клиент-серверной архитектуры. Насколько я понимаю это своего рода аналог Blend'a с возможностью публикации в веб. Плюсом является наличие похожих к нашему юзкейсов, заявлено наличие нужных контролов для задач моделирования ЭС.
4) Наборы контролов для WPF/Silverlight от Infragistics, Telerik, ComponentOne etc. Все они красивые и позволят наваять гламурные панельки-кнопочки-датчики, но есть подозрение, что задачу глобально с их помощью не решить.
Задача нетривиальная и специфичная, так что я не надеюсь на то, что кто-то даст совет, который снимет все вопросы. Но может хотя бы поделитесь опытом разработки похожих систем… Спасибо.