СБА>Платформа для построения распределенных систем «Базис»Автор(ы): Соловьев Борис Александрович
Дата: 17.04.2015
Читателю предлагается оценить актуальность и необходимость создания новой платформы для построения распределенных систем управления
Какие DCS, промышленные протоколы реализованы поддерживает? Интеграция с MES-уровнем есть? Какая?
СБА>Читателю предлагается оценить актуальность и необходимость создания новой платформы для построения распределенных систем управления.
Как оценивать? Ничего же не понятно. В чем фишка системы? Можно ли увязать уровни автоматизации от разных вендоров? Например, у меня половина контроллеров Siemens, четверть от Honeywell, какая-то автоматика от Yoko и Shneider, MES уровень частично от Invensys, частично Excel. Часть задвижек автоматизирована, часть нет. В качестве уровнемера — баба Клава с рулеткой и гроссбухом. Как может помочь ваша система?
Здравствуйте, Соловьев Борис Александрович, Вы писали:
СБА>Платформа для построения распределенных систем «Базис»Автор(ы): Соловьев Борис Александрович
Дата: 17.04.2015
Читателю предлагается оценить актуальность и необходимость создания новой платформы для построения распределенных систем управления
А собственно на каких платформах это все работает? И как построено распределенное взаимодействие (протоколы, наличие очередей с гарантией доставки сообщений / подтверждениями обработки и т.п.).
Еще не хватает картинки со схемой размещения компонентов программы на ПК/серверах (возможно она есть в начале статьи, но не отображается?).
Здравствуйте, andrey82!
Разработка проводилась в рамках диссертационной работы (
http://www.dissercat.com/content/matematicheskie-modeli-i-programmnye-sredstva-raspredelennykh-sistem-videonablyudeniya-i-id-0), по этому, имеется только прототип Фреймворка, работающий под виндами из-за использования COM, WPF и сервисов Windows.
При создании связи между объектами, расположенными на разных машинах выставляется тип передачи: multicasting или tcpip. Объекты не в курсе каким образом получены его входные данные. При передаче данных между шинами (компьютерами) используется прозрачный для них протокол обеспечивающий целостность пакетов и их верную последовательность. На сами данные ограничений не накладывается, поэтому, при необходимости они могут быть оформлены в соответствии с необходимым протоколом (взаимодействующие объекты должны знать этот протокол).
Для того, чтобы обеспечить гибкость и универсальность платформы, модель объекта и механизм взаимодействия сделан так, чтобы ни источник данных, ни приемник друг о друге ни чего не знали (в этом случае как источник, так и приемник могут быть повторно использованы в любом месте строящейся подсистемы, не накладывая ограничения на своих пиров). Поэтому — обратная связь между объектами на уровне платформы ограничена возможностью пула данных. Такая обратная связь как подтверждение обработки должна быть реализована на уровне системы явно (объект приемник через один из своих выходов сообщает источнику информацию о состоянии приема и обработки). Пример такой связи, симулирующей взаимодействие "запрос-ответ" есть на рисунке 1 в схеме "Stream":
— опосредованная обратная связь — Test.Control:output01 -> Test.Stream.G2:input01;
— прямая обратная связь — Test.Stream.Compare:output01 -> Test.Stream.G1:input01;
Распределение взаимодействующих объектов между компьютерами остается на усмотрение человека, конструирующего систему. Он решает какой объект где лучше расположить. Если взглянуть на первый рисунок из статью, то каждый из показанных объектов может находиться на отдельной машине. Для распределения объектов по разным машинам, человеку не нужно прыгать с места на место — установить объект на любой машине и создать с ним любую связь он может с одного рабочего места (естественно на удаленной машине должен быть установлен "Базис").
Большое спасибо за интерес, надеюсь мне удалось ответить на все Ваши вопросы.