Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > SCADA-системы и контроллеры стандарта IEC (МЭК) > Посоветуйте СКАДУ (лабиринтные автоматы) |
Автор: ДокторТуамОсес 13.11.2013, 22:15 |
Поясню о чём речь Представьте себе сеть трубопровода. Она представляет собой большой сложный граф (лабиринт). Каждое ребро графа — труба, которая может содержать вентиль. Если вентиль открыт — проход открыт, и вода может течь через ребро/трубу. Если вентиль закрыт — вода через ребро/трубу течь не может. Соответственно, вода между двумя произвольно выбранными узлами может протекать если В ДАННЫЙ КОНКРЕТНЫЙ МОМЕНТ существует путь/маршрут (т.е. непрерывная последовательность рёбер) между этими узлами и у всех ребёр этого пути вентили открыты в данный момент. Некоторые вентили управляются извне по неизвестному нам закону. А некоторыми вентилями мы может управлять, т.е. можем открывать или закрывать их в любой момент когда захотим. Задача состоит в том, чтобы написать программу, которая бы отслеживала текущее состояние лабиринта/трубопровода и включая или выключая вентили динамически формировала бы и поддерживала путь протока воды от узла/точки А к узлу/точке Б. Причем не абы какой, а такой, чтобы этот путь обязательно содержал как минимум 3(4, 5 или сколько Вам нужно) точки из заданного множества точек. Посоветуйте тулзу, в которой удобно и просто решаются подобного плана задачи. Плюс чтобы в этой тулзе генерировалась бы интерактивная мнемосхема, на которой бы АВТОМАТОМ выделялось бы цветом состояние вентилей включен/выключен и кроме того подсвечивалась бы группа клапанов, состояние которых нужно изменить (включить или выключить) на данном такте, чтобы поддержать поток жидкости от точки А к точки Б, протекающий через заданные промежуточные точки Гуглением я вышел не пару десяток SCADA. Беглое знакомство с ними показало, что подобные задачи в них сделать нельзя или крайне гиморно. |
Автор: ДокторТуамОсес 14.11.2013, 05:57 |
чо не хлэпаем? ![]() |
Автор: ama_kid 14.11.2013, 09:38 |
Как бэ у софта класса "SCADA" немного другие задачи. Твоя задача, конечно, решается частично с помощью SCADA, но алгоритмический модуль обработки состояния графа тебе в любом случае писать самому, хоть в виде внешней библиотеки, хоть в виде внутреннего модуля. Либо искать спец-софт, который заточен под теорию графов и сопрягать его со SCADA, какой-нибудь математический пакет типа MathCad или Maple с возможностью цепляться по внешнему интерфейсу. |
Автор: ДокторТуамОсес 14.11.2013, 17:37 |
неужели нет стандартных решений (реализованных в виде софта или специализированных языков программирования) для такого класса задач? Просто очень уж не хочется "изобретать велосипед" если есть уже готовые, стандартные, "заточенные" под такой класс задач программные средства |
Автор: ДокторТуамОсес 26.11.2013, 21:53 |
В том-то и дело, что ВООБЩЕ НЕТУ ![]() Серьёзных инструментов |
Автор: ДокторТуамОсес 18.1.2014, 15:55 | ||
А вот в какой тулзе лучше моделировать мозаичные алгоритмы? На каком языке кульней и рулезней описывать и такого род зависимости:
При том, что координаты "точек" мозаики реально могут быть не двумерными, а n-мерными. И прога должна определять все возможные варианты подстановок, которые приведут к появлению на мозаике заданного изображения Зачем мне нужно моделировать мозаичные алгоритмы? Хочу на экране монитора смоделировать реальный пульт управления. С кучей кнопочек и светодиодов. И дать поиграться заказчику. И при этом чтобы поведение индикации было такое же как на пульте реального объекта. А для этого, мне нужно как-то описать зависимости между состояниями отдельных как видимых на экране так и не видимых элементов системы и скормить набор логических уравнений спец. тулзе, которая схавает их и будет использовать при обработке действий юзверя и отображении "мозаики" на экране монитора Т.е. наверное придётся задавать правила типа как в грамматиках Хомского. Ведь элементы пульта - это фактически цепочка символов. А множество допустимых состояний элементов - это фактически множество допустимых цепочек языка. Наверное для анализа придётся использовать генераторы синтаксических парсеров. Типа YACC или LEX Оператора я посажу на двумерную модель. А n-мерная нужна чиста для моих ЛИЧНЫХ теоретических научно-исследовательских задач в области теории программирования. Моделирование мозаичных алгоритмов дл меня представляет чисто научный интерес. И мне не важно какой от этого практический выхлоп. Т.е. как это можно использовать кому-то на практике |
Автор: ДокторТуамОсес 23.1.2014, 20:19 |
Так кто-нибудь ответит мне? Или как? ![]() |
Автор: BlackRu 30.6.2014, 22:18 |
Идея напоминает клеточный автомат. Интересно... |
Автор: Kuroki2223 1.11.2020, 22:48 |
Может есть готовые решения? |