На главную страницу
Русский English
 


Поддержка
Форум
Техподдержка
Закрытый разделПерсональная

Авторизация

Запомнить меня на этом компьютере
  Забыли свой пароль?
  Регистрация



Поиск по сайту


Подписка

Изменение параметров

Hits 62523714
42002
Hosts 3103143
3517
Visitors 49202072
41037

92


Главная / Поддержка / Форумы / Макро

Форум «Макро»

Версия для печати Версия для печати

Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация


Тема: «Эквивалентирование » в форуме: Макро   Просмотров: 5181
 
Иван
Постоянный посетитель
 
Всего сообщений: 231
Дата регистрации: 03.05.2011
Создано: 23.07.2018 18:34:33
 
 
добрый день.
А подскажите параметры эквивалентирования или они такие же как в расчетном методе?
Если так то как тогда мне задать, например Сохранение отмеченных узлов и Пересчет узлов в нагрузке?
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 23.07.2018 18:45:19
 
 
Проще вызывать с пустым параметром. Выбрать нужные параметры можно в таблице "com_ekviv"
 
Профиль
Наверх
Иван
Постоянный посетитель
 
Всего сообщений: 231
Дата регистрации: 03.05.2011
Создано: 23.07.2018 19:34:15
 
 
Ясно. Спасибо.
 
Профиль
Наверх
BRP
Заглянувший
 
Всего сообщений: 5
Дата регистрации: 15.05.2020
Создано: 02.03.2022 13:59:57
 
 
Здравствуйте! Для создания эквивалентной схемы в Растр приходится многократно выполнять однотипные действия по отметке узлов и запуска макроса объединения узлов, что занимает много времени. Как автоматизировать данную работу? Или как правильно изменить существующий макрос объединения узлов, чтобы список узлов для объединения был уже задан заранее в макросе? Спасибо
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 02.03.2022 19:24:09
 
 
Зависит от количества узлов, которые Вы хотите отметить. Если их не очень много (несколько десятков), достаточно просто в макросе поставить отметки таким фрагментом
Код
Set nodeTable = Rastr.Tables("node")
'здесь стандартную растровскую выборку, можно отдельные номера, можно диапазоны
nodeTable.SetSel "ny=1001|ny=1005|ny=1115"­
nodeTable.Cols("sel").Cal­c 1

Если узлов много, то может имеет смысл отметить их в таблице как нужно один раз, вывести таблицу в csv, а перед расчетом загружать эту таблицу с объединением по ключам. Загружать можно вручную с помощью команд экспорт/импорт csv (импорт в режиме "объединить"), или вставить чтение csv в данном режиме в макрос (см. команду ReadCSV в описании программного интерфейса)
 
Профиль
Наверх
BRP
Заглянувший
 
Всего сообщений: 5
Дата регистрации: 15.05.2020
Создано: 03.03.2022 10:59:12
 
 
Я правильно понимаю, что предложенные решения объединяют все отмеченные узлы в один? Возможно я некорректно выразился, внесу ясность. Узлов в расчетной модели до объединения ~200 шт., после эквивалентирования получается ~100 шт., процесс объединения узлов происходит попарно и однократно, т.е. узел 1 объединяется с узлом 3, узел 4 с 5 и т.д.
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 03.03.2022 11:31:30
 
 
Да, давайте уточним что Вы подразумевали.
Цитата
приходится многократно выполнять однотипные действия по отметке узлов и запуска макроса объединения узлов

Я понял что Вы используете макрос "Коррекция/Объединение узлов". Макрос предполагает что некоторые узлы отмечены, находит связи между любыми двумя отмеченными и объединяет эти два в один с соответствующими преобразованиями параметров. Процесс выполняется рекурсивно.
Мне показалось что вопрос состоит в том, как автоматизировать процедуру отметки узлов для многократного использования на разных схемах
Цитата
как правильно изменить существующий макрос объединения узлов, чтобы список узлов для объединения был уже задан заранее в макросе

И вот я предложил два решения.
1. Вставить код с выборкой и отметкой узлов в существующий макрос в начале (можно сделать отдельный, только для ввода отметок и вызывать его перед объединением).
2. Отметить в какой-то схеме все нужные узлы, сохранить эту информацию в csv, и в каждую нужную схему этот загружать этот csv в режиме объединения. Это тоже можно либо с помощью коррекции макроса "Объединить узлы" командой типа ReadCSV, сделать отдельный макрос для загрузки csv или вообще загружать csv вручную.
 
Профиль
Наверх
BRP
Заглянувший
 
Всего сообщений: 5
Дата регистрации: 15.05.2020
Создано: 03.03.2022 12:38:03
 
 
Согласен, неверно описал вопрос/проблему. Попробую снова. В расчетной модели необходимо сэквивалентировать 200 узлов по заранее заданному алгоритму, т.е.:
Найти №узла 1 (заданного нами в тексте макроса) затем найти №узла 2 (также заданного нами в тексте макроса) и объединить эти два узла.
После по аналогии с вышеуказанным найти №узла 3 и № узла 4 - сэквивалентировать.
Повторять данный алгоритм пока не сэквивалентируем все, заданные в макросе узлы (200 шт.) в текущей расчетной модели, чтобы в итоге получить модель с 100 узлами. Как изменить существующий макрос объединения узлов, чтобы он работал по такому сценарию? Спасибо.

П.С.: в тексте макроса конкретные номера узлов какой с каким объединить(сэквивалентиро­вать) намереваюсь вносить вручную.
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 03.03.2022 12:41:21
 
 
Допустим узел 1, заданный в теле макроса, никак напрямую не связан с узлом 2, заданным в теле макроса. Их как объединить ? Вы предлагаете для этих двух узлов сделать эквивалентирование и получить некоторое количество эквивалентных связей ?
 
Профиль
Наверх
BRP
Заглянувший
 
Всего сообщений: 5
Дата регистрации: 15.05.2020
Создано: 03.03.2022 13:10:32
 
 
Объединять планируется однократно, только узлы связанные между собой ветвью, т.е. объединение несвязанных узлов не должно произойти, так как на этапе описания узлов в теле макроса заносятся узлы связанные между собой. Таким образом объединение двух узлов, несвязанных между собой, исключается. Пример: эквивалентируются 1 СШ 110 кВ ПС №1 и 2 СШ 110 кВ ПС №1, затем эвивалентируются 1 СШ 110 кВ ПС №2 и 2 СШ 110 кВ ПС №2 и т.д. (между системами шин каждой из подстанций будет ветвь с нулевым сопротивлением, т.е. выключатель)
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 03.03.2022 14:01:39
 
 
Я наверное что-то упускаю. Если мы говорим об одном и том же макросе "Коррекция/Объединение узлов", то судя по комментариям в его начале он так и работает, как Вам нужно.
Код
' Макрос объединения отмеченных узлов по следующему алгоритму
' находится пара отмеченных узлов (n1,n2) связанных между собой ЛЭП (не трансформатор!)
' нагрузка, генерация, проводимости шунтов суммируются и заносятся в узел с большим
' номером, узел с меньшим номером удаляется и его ветви переносятся в узел с большим номером
' ЛЭП, соединявшая узлы удаляется ее потери добавляются к нагрузке узла с большим номером
' процесс поиски и объединения пар отмеченных узлов повторяется до тех пор пока они есть
' © Владимир Неуймин 26.1.2004


Единственное что в него нужно добавить - это автоматическую расстановку отметок узлов, которую я уже два раза описал в двух вариантах.
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 03.03.2022 16:39:31
 
 
Если есть необходимость - можете обратиться в нашу ТП или СД СО. Можем устно обсудить в чем проблема.
 
Профиль
Наверх
BRP
Заглянувший
 
Всего сообщений: 5
Дата регистрации: 15.05.2020
Создано: 03.03.2022 16:58:16
 
 
Спасибо за консультацию, разобрался.
 
Профиль
Наверх



Читают тему
гостей: 1, пользователей: 0, из них скрытых: 0


Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация







Программный комплекс «RasrWin»
Программный комплекс «RastrWin»
© «RastrWin», 1988-2019