Иван
Постоянный посетитель
Всего сообщений: 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").Calc 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
|
Спасибо за консультацию, разобрался.
|
|
|