Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.5.183] |
|
Сообщ.
#1
,
|
|
|
Посоветуйте тулзу для прототипирования/моделирования программы (алгоритм + GUI + динамическая анимация)
В каких программах вы "обкатываете"/моделируете свои идеи? Нужно по быстрому накидать GUI (кнопочки, окошки, менюшки), чтобы дать юзверю поиграться, чтобы он сказал удобно ему так работать или нет. А вместо "движка" (т.е. программы которая будет выполнять все действия) засунуть пока "пустышку" на некотором обобщённо-абстрактном языке моделирования, которая позволила бы "обкатать" общую идею/логику программы. И пока реального движка для обработки данных нет, генерить данные "в ручную" (записав их предварительно, к примеру, в EXCEL-евский). Да. И кроме окошек/менюшек нужна ещё динамическая анимация. Типа отображать как вода потекла по трубам. Как открылся кран и т.п. Нагуглил: T-Factory, Archestra+IDE, CitectSCADA, CoDeSys, DataRate, DESIGO+INSIGHT, Factory Link, Genesis, iFix, ISaGRAF, Master SCADA, Matrikon+OPC+Explorer, OpenSCADA, PcVue, RSView, Scada+, TRACE MODE, WinCC, FactorySuite::InTouch, AnyLogic, Automation Studio, CPN Tools, LabView, MatLab::Simulink::Stateflow, MvStudium, PoweSim, Proteus, Stella, MatLab::Virtual Reality Toolbox, xPC Target Turnkey, ZETLab Studio. Спец.языки:(GPSS, DOT, РЕФАЛ, РЕФЛЕКС, ДРАКОН, UML) Глубоко изучить конечно всё вышеперечисленное не смог, но общее ощущение складывается такое, что это не совсем то, что мне нужно. А прога, которую мне нужно "обкатывать" в искомой тулзе, представляет собой что-то типа SCADA. Юзверь кликая мышкой по картинкам/мнемосхемам и менюшкам, вводя данные в окошках будет управлять неким технологическом процессом или сложной разветвленной системой с множеством связей. Соответственно состояние управляемой системы или каких-то частей системы будет изменяться во времени. И программа, которую я буду писать, должна всё это отображать в динамике. Получается типа как мультики своеобразные. Поэтому тулза, которую я ищу, должна ещё позволять проектировать и "обкатывать" динамическую анимацию |
Сообщ.
#2
,
|
|
|
Чо не хлэпаем-то?
|
Сообщ.
#3
,
|
|
|
Очевидно, нечем помочь.
|
Сообщ.
#4
,
|
|
|
deilНо тут же, как я понимаю, форум программистов?
А программисты, как я понимаю, пишут программы? А прежде чем написать программу, как я понимаю, программисты сначала разрабатывают алгоритм или хотя бы общую идеологию. А этот алгоритм/идеологию проектируют и "обкатывают" в какой-то спец. тулзе? Так? |
Сообщ.
#5
,
|
|
|
Цитата Бифуркатор @ А этот алгоритм/идеологию проектируют и "обкатывают" в какой-то спец. тулзе? Так? Не обязательно. Зачем какие-то спец.тулзы для этого? |
Сообщ.
#6
,
|
|
|
Нет, лично я не обкатываю. Для моей области подобных спец. тулзов нет.
|
Сообщ.
#7
,
|
|
|
Цитата korvin @ Зачем какие-то спец.тулзы для этого? В смысле? |
Сообщ.
#8
,
|
|
|
Цитата Бифуркатор @ В смысле? В прямом. |
Сообщ.
#9
,
|
|
|
korvin а как же Вы тогда пишите программу не имея работающего обкатанного алгоритма/идеологии?
|
Сообщ.
#10
,
|
|
|
Ну вот в к примеру есть десять тракторов, 2 камаза и один экскаватор.
В какой тулзе можно создать их анимированные модели, записать в каждый свою программу/управляющий скрипт и погонять? Т.е. мне нужна тулза для моделирования и обкатки ПАРАЛЛЕЛЬНЫХ алгоритмов Потому что я хочу моделировать сложную разветвлённую СЕТЬ папаллельно работающих девайсов |
Сообщ.
#11
,
|
|
|
Все-таки... Вам математическое моделирование надо или прототипирование программ?
Это абсолютно разные, практически не связанные, понятия. Прототипирование алгоритмов - не слышл такое. С моей точки зрения эта фраза не имеет смысла. И еще я хочу сказать, что за любым алгоритмом стоит какая-то математика. И фраза "погонять управляющие алгоритмы" да еще и "параллельные" - не ясна. Так и хочется спросить: Цель какая? Что вы пытаетсь моделировать? |
Сообщ.
#12
,
|
|
|
Цитата grgdvo @ Прототипирование алгоритмов - не слышл такое. С моей точки зрения эта фраза не имеет смысла. Ну так введите в яндексе Цитата прототипирование /+1 алгоритма ~~ ПЛИС Добавлено Цитата grgdvo @ И еще я хочу сказать, что за любым алгоритмом стоит какая-то математика. Скорей уж логика и идеология Добавлено Цитата grgdvo @ Все-таки... Вам математическое моделирование надо или прототипирование программ? И то и другое. И моделирование и прототипирование программы. Т.е. мне нужно сначала "обкатать" свои идеи в обобщённо-абстрактном виде. А потом по быстрому выразить эти идеи в виде на скорую руку созданных GUI и анимации. При этом используя для "движка", который будет обслуживать этот GUI и анимацию, пока-что некую по-быстрому написанную "заглушку". Написанную на некоем абстрактно-обобщённом языке Добавлено Цитата grgdvo @ И фраза "погонять управляющие алгоритмы" да еще и "параллельные" - не ясна. Так и хочется спросить: Цель какая? Что вы пытаетсь моделировать? Хочу написать прогу для проектирования SCADA, т.е. прогу в которой можно было: 1) Проектировать и "обкатывать" на некоем обобщенно-абстрактном языке алгоритмы и программы управления для сложной системой/процессом с множеством разветвленных взаимосвязей, состоящих из множества ПАРАЛЛЕЛЬНО фунционирующих компонент 2) Создавать GUI и динамическую визуализацию. (анимацию) 3) Создавать спец. технологические языки для управления тех.процессами и многокомпонентными системами 4) Отлаживать технологические программы управления |
Сообщ.
#13
,
|
|
|
Цитата Бифуркатор @ а как же Вы тогда пишите программу не имея работающего обкатанного алгоритма/идеологии? А зачем писать программу, если уже есть работающий обкатанный алгоритм? Что за идеология? Это как-то связано с религией? Есть методологии и стратегии разработки, например, http://en.wikipedia.org/wiki/Agile_software_development , http://en.wikipedia.org/wiki/Top-down_and_bottom-up_design Добавлено Цитата Бифуркатор @ Хочу написать прогу для проектирования SCADA, т.е. прогу в которой можно было: 1) Проектировать и "обкатывать" на некоем обобщенно-абстрактном языке алгоритмы и программы управления для сложной системой/процессом с множеством разветвленных взаимосвязей, состоящих из множества ПАРАЛЛЕЛЬНО фунционирующих компонент 2) Создавать GUI и динамическую визуализацию. (анимацию) 3) Создавать спец. технологические языки для управления тех.процессами и многокомпонентными системами 4) Отлаживать технологические программы управления http://en.wikipedia.org/wiki/Language-oriented_programming |
Сообщ.
#14
,
|
|
|
Цитата korvin @ А зачем писать программу, если уже есть работающий обкатанный алгоритм? Т.е. Вы пишите программу методом научного тыка? Не прорабатывая предварительно ОБЩУЮ идею, логику и алгоритм? Добавлено Не. ну может какие-то простейшие задачи можно так решать: т.е. не продумывая основную идею, логику и алгоритм сразу начинать кодить. Но есть и сложные задачи.Которые так сразу, наскоком, не возьмёшь Добавлено Или всякие UML и прочие тулзы моделирования придуманы для лохов? А "правильные чОткие пацаны"© сразу пишут код. И причём сразу набело и без ошибок? |
Сообщ.
#15
,
|
|
|
Цитата Бифуркатор @ 1) Проектировать и "обкатывать" на некоем обобщенно-абстрактном языке алгоритмы и программы управления для сложной системой/процессом с множеством разветвленных взаимосвязей, состоящих из множества ПАРАЛЛЕЛЬНО фунционирующих компонент 2) Создавать GUI и динамическую визуализацию. (анимацию) 3) Создавать спец. технологические языки для управления тех.процессами и многокомпонентными системами 4) Отлаживать технологические программы управления Эммм... Когда напишите такое - поделитесь. На самом деле, такие системы стоят немалых денег. Ибо вам нужен качественный эмулятор тех. процесса, системы сопряжения этого эмулятора с контроллером (или эмулятор контроллера, а то и нескольких - они разные, с разными протоколами и проч.), средства разработки собственно SCADA, стенды, модели и всякие прочие подобные ништяки - это если вы хотите отлаживать в том числе и программы PLC. Можете поступить несколько проще (если речь только об прототипировании GUI) - написать mock-программу для контроллера, которая будет как-то реагировать на нужные команды от SCADA-терминала, и набросать SCADA-проект, который будет эти команды контроллеру посылать и получать ответы. Это даст пользователю некоторое представление о том, как и что будет устроено. Но серьёзные средства мат. моделирования стоят серьёзных денег. За бесплатно это не достанешь. А бесплатные (типа OpenModelica) не содержат некоторых весьма полезных компонент. |
Сообщ.
#16
,
|
|
|
Цитата Бифуркатор @ Т.е. Вы пишите программу методом научного тыка? Не прорабатывая предварительно ОБЩУЮ идею, логику и алгоритм? Я пишу минимальный прототип, потому что, как показывает практика, «общая идея, логика и алгоритм» могут в результате резко поменяться и окончательно формируются в ходе тестирования и уточнения прототипа. Цитата Бифуркатор @ Не. ну может какие-то простейшие задачи можно так решать: т.е. не продумывая основную идею, логику и алгоритм сразу начинать кодить. Но есть и сложные задачи.Которые так сразу, наскоком, не возьмёшь Никто и не говорил про «сразу, наскоком». Цитата Бифуркатор @ А "правильные чОткие пацаны"© сразу пишут код. И причём сразу набело и без ошибок? Ты бы ссылки-то почитал, прежде чем глупые вопросы не задавать. |
Сообщ.
#17
,
|
|
|
Цитата korvin @ Ты бы ссылки-то почитал Почитал. Это не то, что мне нужно |
Сообщ.
#18
,
|
|
|
Бифуркатор, а ты пост №15 внимательно прочитал? Какие выводы сделал?
|
Сообщ.
#19
,
|
|
|
Цитата Бифуркатор @ Вывод сделал, что форум - тухляк. Что здесь можно по полгода ждать хелпа, но так и не дождаться Странный, однако, вывод. Тогда ещё раз повторюсь, для тех, кто в танке: то, что вам требуется, стоит определённых, гм... денег. Открытые версии такого софта, как Modelica, MathLab и т. п. не позволят вам обсчитывать модели в реальном времени. Закрытые - требуют определённых плясок с бубнами. Кроме того, вам будут нужны контроллеры (реальные, железячные), и средства построения SCADA (хотя бы OpenSCADA). Всё это требует определённых финансовых вложений и усилий на скрещивание. Самый простой путь - это взять два контроллера, для одного написать программу, которая эмулирует нужный вам техпроцесс, второй, с ним связанный, отвечает за приём команд от SCADA-терминала, отправки на этот контроллер, и приём данных с него. В этом случае ничего, кроме SCADA-системы, вам не потребуется. Ну и, конечно, умение программировать промышленные контроллеры будет не лишним. Если и такой ответ вам не понятен, то, наверное, лучше вам поспрошать где-то в другом месте. |
Сообщ.
#20
,
|
|
|
Цитата Flex Ferrum @ то, что вам требуется, стоит определённых, гм... денег. А как же дружба и взаимопомощь? Неужели коллеги по цеху откажут мне в хлэпе? |
Сообщ.
#21
,
|
|
|
Цитата Бифуркатор @ А как же дружба и взаимопомощь? Неужели коллеги по цеху откажут мне в хлэпе? Эммм... А какого рода помощь требуется то? Ключиками поделиться? На такую помощь здесь рассчитывать не надо (это я вам как администратор ресурса говорю) - варез ищется в других местах. Советом? Это можно. Но требуется конкретика. |
Сообщ.
#22
,
|
|
|
M Бифуркатор, не отклоняемся от темы. а то прикрою быстро это попрошайничество!!!! Предупреждение |
Сообщ.
#23
,
|
|
|
Цитата Flex Ferrum @ А какого рода помощь требуется то? Читайте мои сообщения внимательней. В них всё сказано |
Сообщ.
#24
,
|
|
|
Цитата Бифуркатор @ Читайте мои сообщения внимательней. В них всё сказано Вот мне кажется, что я на как раз на ваши сообщения и ответил. |
Сообщ.
#25
,
|
|
|
Flex Ferrum Нет. Я ещё спрашивал про мозаичные алгоритмы
|
Сообщ.
#26
,
|
|
|
Ну всё. Видать сдох форум программистов.
|
Сообщ.
#27
,
|
|
|
Просто народ не может понять, что тебе нужно. Попробу ещё раз описать свою проблему, на этот раз не опуская даже очевидные на твой взгляд моменты.
|
Сообщ.
#28
,
|
|
|
Да нужно мне алгоритмы моделировать, визуализировать и отлаживать
В самом обобщенном виде |
Сообщ.
#29
,
|
|
|
Боюсь, большинство людей это делают в каком-нибудь простом ЯП. Вообще не уверен, что кто-то для таких нужд какую-то особую тулзу писал.
|
Сообщ.
#30
,
|
|
|
amk
Вы хотите что в ГИГАНТСКИХ программистских корпорациях (например в конторе, пишущей венду) не используются никакие спец. тулзы для предварительного прототипирования/моделирования алгоритмов в обобщенном виде? И код сразу лабАется на C#? |
Сообщ.
#31
,
|
|
|
Лично я прототипирование делаю на питоне. Это такой же язык программирования, как и C++, на котором я пишу конечную программу, просто на нём я пишу быстрее, и иногда могу кое-что упростить при написании. Также на нём удобно делать некоторые простые расчёты. Программа позволяет получше осмыслить алгоритм, иногда поменять структуру конечной программы.
Не знаю, что мне дала бы какая-то специальная тулза для прототипирования. Алгоритм-то мне всё равно пришлось бы писать самому. |
Сообщ.
#32
,
|
|
|
Цитата amk @ Не знаю, что мне дала бы какая-то специальная тулза для прототипирования. Алгоритм-то мне всё равно пришлось бы писать самому. Как что? Облегчила бы придумывание, разработку и обкатку алгоритма. Это разница как разница как писать венду в нотепаде или MS Visual Studio. Т.е. в принципе (теоретически) можно писать программы и в нотепаде, но на порядки более эффективно писать проги в IDE типа Visual Studio |
Сообщ.
#33
,
|
|
|
Цитата Бифуркатор @ Нотепад - неудачный пример. В нём даже простые заметки писать неудобно. Я когда им приходится попользоваться складывается ощущение, что он даже в Win3.1 был лучше, а теперь деградировал. Я "IDE типа Visual Studio" обычно не пользуюсь - редактор там немногим лучше упомянутого нотепада. Единственное, что в нём хорошего, так это выскакивающие временами подсказки, какие методы объекта можно вызывать, и какие у этих методов параметры. Но я эти методы и сам помню, тем более одного знания параметров для правильного вызова всё равно недостаточно. можно писать программы и в нотепаде, но на порядки более эффективно писать проги в IDE типа Visual Studio |
Сообщ.
#34
,
|
|
|
Вообщем, никто не знает таких программ.
Так и запишем |
Сообщ.
#35
,
|
|
|
На предыдущей странице по-моему уже был дан полный и верный ответ на поставленный вопрос.
|
Сообщ.
#36
,
|
|
|
deil Вы имеете в виду питон?
|
Сообщ.
#37
,
|
|
|
Да что угодно.
Я например долгое время, пока не обнаружил питона, пользовался для этих целей AWK. Годится любой язык, на котором можно быстро написать программу и который имеет достаточно хорошую диагностику. |
Сообщ.
#38
,
|
|
|
Цитата Бифуркатор @ Я ещё спрашивал про мозаичные алгоритмы у вас дикая смесь разных уровней: одновременно спрашиваете про концептуальное прототипирование и низкоуровневую оптимизацию. Ссылки вам таки правильно дали Цитата Бифуркатор @ Да нужно мне алгоритмы моделировать, визуализировать и отлаживать В самом обобщенном виде http://ideone.com С визуализацией суть сложнее, но на этапе "самого общего вида" она не требуется. Либо вы под словом "алгоритм" понимаете не то, что участники этого форума. Цитата Бифуркатор @ в ГИГАНТСКИХ программистских корпорациях (например в конторе, пишущей венду) не используются никакие спец. тулзы для предварительного прототипирования/моделирования алгоритмов в обобщенном виде не используются. инструментарий используется богатый, но для других задач. а для разработки алгоритмов ничего придумать в принципе нельзя, т.к. нет методики разработки алгоритма, есть лишь методология. Цитата Бифуркатор @ И код сразу лабАется на C#? сразу видно специалиста. Цитата Бифуркатор @ придумывание, разработку и обкатку алгоритма алгоритм, как вам уже сказали, понятие математическое. и придумывание его суть бумажная работа. можно строить модели, но они просты, достаточно обычного компилятора. подозреваю, что вам требуется не разработка алгоритмов, а прототипирование систем для продумывания их функционала и структуры. поскольку системы очень разные, средства для их прототипирования тоже разные, сильно зависящие от предметной области. поэтому вас и спрашивают о конкретике. |
Сообщ.
#39
,
|
|
|
Цитата liss @ вас и спрашивают о конкретике Просто я искал шкаду в которой можно было решать ТАКОГО ПЛАНА ЗАДАЧИ(по ссылке мной созданная тема). И не нашёл. Поэтому сам решил написать. А для этого мне нужен инструмент для моделирования/прототипирования |
Сообщ.
#40
,
|
|
|
а, Доктор ТуамОсес, велкам...
Цитата Задача состоит в том, чтобы написать программу, которая бы отслеживала текущее состояние лабиринта/трубопровода и включая или выключая вентили динамически формировала бы и поддерживала путь протока воды от узла/точки А к узлу/точке Б. Причем не абы какой, а такой, чтобы этот путь обязательно содержал как минимум 3(4, 5 или сколько Вам нужно) точки из заданного множества точек. тут не программа моделирования нужна, а учиться, учиться, как дедушка завещал |
Сообщ.
#41
,
|
|
|
Учиться всегда нужно. И никогда не поздно. И хоть мне уже 51 стукнуло я не прекращаю учиться. Как говорится "век живи - век учись. ... Всё равно дураком помрёшь"©
А по тему есть что сказать? |
Сообщ.
#42
,
|
|
|
Цитата Бифуркатор @ А по тему есть что сказать? ага. тут нечего моделировать. |
Сообщ.
#43
,
|
|
|
Цитата liss @ Цитата Бифуркатор @ А по тему есть что сказать? ага. тут нечего моделировать. На самом деле, в общем случае такая постановка задачи - валидна (есть тестовые стенды, которые эмулируют работу тех или иных агрегатов). И я об этом писал где-то в начале темы. Другое дело, что стоимость её решения довольно высока. |
Сообщ.
#44
,
|
|
|
Flex Ferrum, вы считаете задачу поиска пути объектом моделирования?
я еще понимаю прототипирование системы управления, но это другая задача |
Сообщ.
#45
,
|
|
|
Дык я и говорил о протипировании/моделировании системы управления лабиринтным автоматом.
Причем с динамической анимацией. |
Сообщ.
#46
,
|
|
|
Цитата Бифуркатор @ Так систему для такого прототипирования/моделирования можно найти у тех, кто занимается разработкой лабиринтных автоматов. Другим она попросту не нужна.Дык я и говорил о протипировании/моделировании системы управления лабиринтным автоматом.Причем с динамической анимацией. Много известно таких разработчиков? |