Редактор электрических схем
Подскажите, пожалуйста, каким образом можно реализовать пограмотней редактор электрических схем?
Цель - в любой точке схемы посмотеть кривые напряжения и тока и их значения при коммутационном перенапряжении на выключателях. Математические модели для отдельных элементов есть, а вот как сделать, что бы схема вцелом работала в режиме, максимально приближенном к реальному, понятия не имею.
Каким образом подобные программы реализуются?
Попробую подробней. У меня есть всё что касается формул и электротехнической части. По отдельности всё можно посчитать. А что касается программирования, то, допустим, есть элемент "сопротивление", то есть нагрузка какя-то. Допустим, отрисовать её ещё хоть как-то можно на форме, а вот задать свойства для каждого элемента нужные для расчёта, это уже проблема для меня. Есть предположение, что тут ООП надо знать и с классами хорошо уметь обращаться. А ведь схема может быть не простой и элементы могут повторяться. Как и где хранить все эти данные, что бы можно было их в эти формулы мои впихать и что бы всё считало ещё как надо, я не знаю. вот. =)
могу подсказать некоторые идеи... например должен быть объект - он же элемент который получает на вход какие то параметры, скорее всего, это будет сила тока. а в самом объекте хранятся его свойства - сопротивление например.... ну и в зависимости от типа элемента на выходе получается какое-то другое значение.. токо вот проблема как всякие конденсаторы обрабатывать и катушки и контуры всякие.... надо физику хорошо знать...
Приветствую.
Подскажите, пожалуйста, каким образом можно реализовать пограмотней редактор электрических схем?
Цель - в любой точке схемы посмотеть кривые напряжения и тока и их значения при коммутационном перенапряжении на выключателях. Математические модели для отдельных элементов есть, а вот как сделать, что бы схема вцелом работала в режиме, максимально приближенном к реальному, понятия не имею.
Каким образом подобные программы реализуются?
Насколько можно судить- вы представляете как моделировать отдельные элементы. Тогда примерно можно начать работу так: электрическая схема представляется как прямоугольная сетка узлов. Узел – это соединение элементов. В линиях соединяющих соседние узлы могут располагаться проводимости (уж какая она активная , реактивная или смешанная уже не важно). На этом этапе внутри программы схема может выглядеть как несколько двумерных таблиц (число таблиц зависит от того как вы будете представлять ту проводимость которая располагается между узлами, их может быть например 5 – активная, реактивная емкостная, реактивная индуктивная, источник напряжения, источник тока). После того как вам удастся расписать такую программку для общего случая хотя бы на 100 узлов (10х10), можно двигаться дальше. Следующий шаг- компилятор описания схемы. Таблица проводимостае генерируется по текстовому описанию вида : от узла № .. к узлу №.. такая то проводимость. Если и это удастся расписать, то тогда надо по графическому образу генерировать текст. И задача решена, землекопа полтора.
В вашем случае наверное проще пойти конем. Показывать рисунок (bmp) в котором на простом участке схемы нарисована сетка проводимостей. А мы ручками для каждой из граней задаем тип проводимости. Кого не задали- там бесконечность. Некрасиво, но работать в обозримом будующем будет.
А ООП.. Это просто способ задания функции программистом. Винды вон писались изначально на паскале, а в паскале ООП не было
:)