Свежие обсуждения
Проектирование и моделирование

Посоветуйте САПР для моделирования управления лабиринтными и мозаичными автоматами

Представьте себе сеть трубопровода. Она представляет собой большой сложный граф (лабиринт).
Каждое ребро графа — труба, которая может содержать вентиль. Если вентиль открыт — проход открыт, и вода может течь через ребро/трубу. Если вентиль закрыт — вода через ребро/трубу течь не может.

Соответственно, вода между двумя произвольно выбранными узлами может протекать если В ДАННЫЙ КОНКРЕТНЫЙ МОМЕНТ существует путь/маршрут (т.е. непрерывная последовательность рёбер) между этими узлами и у всех ребёр этого пути вентили открыты в данный момент.

Некоторые вентили управляются извне по неизвестному нам закону. А некоторыми вентилями мы может управлять, т.е. можем открывать или закрывать их в любой момент когда захотим.

Задача состоит в том, чтобы написать программу, которая бы отслеживала текущее состояние лабиринта/трубопровода и включая или выключая вентили динамически формировала бы и поддерживала путь протока воды от узла/точки А к узлу/точке Б. Причем не абы какой, а такой, чтобы этот путь обязательно содержал как минимум 3(4, 5 или сколько Вам нужно) точки из заданного множества точек.

Посоветуйте тулзу, в которой удобно и просто решаются подобного плана задачи. Плюс чтобы в этой тулзе генерировалась бы интерактивная мнемосхема, на которой бы АВТОМАТОМ выделялось бы цветом состояние вентилей включен/выключен и кроме того подсвечивалась бы группа клапанов, состояние которых нужно изменить (включить или выключить) на данном такте, чтобы поддержать поток жидкости от точки А к точки Б, протекающий через заданные промежуточные точки
Гуглением я вышел не пару десяток SCADA. Беглое знакомство с ними показало, что подобные задачи в них сделать нельзя или крайне гиморно.

Зачем мне нужно моделировать мозаичные алгоритмы?
Хочу на экране монитора смоделировать реальный пульт управления. С кучей кнопочек и светодиодов.
И дать поиграться заказчику. И при этом чтобы поведение индикации было такое же как на пульте реального объекта.

А для этого, мне нужно как-то описать зависимости между состояниями отдельных как видимых на экране так и не видимых элементов системы и скормить набор логических уравнений спец. тулзе, которая схавает их и будет использовать при обработке действий юзверя и отображении "мозаики" на экране монитора

Т.е. наверное придётся задавать правила типа как в грамматиках Хомского.
Ведь элементы пульта - это фактически цепочка символов. А множество допустимых состояний элементов - это фактически множество допустимых цепочек языка.
Наверное для анализа придётся использовать генераторы синтаксических парсеров. Типа YACC или LEX

 

Это практически маршрутизация в интернете...

 

Да много есть в природы технических систем "лабиринтного типа".
И в каких программах их моделируют?

 

Скайнет3000: И в каких программах их моделируют?

Читайте http://nkras.ru/vmno/ru/issues/articles/2010/6-1.pdf, я бы посоветовал AnyLogic " Имитационное моделирование систем в среде AnyLogic" http://www.anylogic.ru/upload/Books_ru/Kisileva_Simulation_Modeling_In_AnyLogic.pdf и другие книги http://www.anylogic.ru/books

 

kreking: Имитационное моделирование систем в среде AnyLogic

Про неё слышал.
Только она уж больно монстрообразная.
Да и кряка на неё я так и не нашёл.