Русский
English
Главная
RastrWin
Программа
Последние изменения
Часто задаваемые вопросы
Аннотация
Лицензирование и защита от копирования
Права Windows для пользователя RastrWin
Курсы
Компонентная архитектура
Интерфейс
Инструкция по установке
Документация, видео, презентации
Свидетельство о регистрации
RastrKZ
RastrMDP
RastrOS
ZamerSeti
Архив
Bars-Lincor
Расчетная модель
Система моделирования
Последние изменения
Программа
Инструкция пользователя
Инсталляция
RUStab
Загрузка
Последние изменения
Поддержка
Поддержка
Форум
Техподдержка
Персональная
Макро студия
Макро студия
Автоматизация
Работа с SQL
Оценка параметров ЛЭП и ТР
Эффективность размыкания сети
Анализ напряжений в Excel
Автоматизация с "AutoIt"
Создание графа сети из режима
Передача графики в SVG
Вариантные расчеты
Импортозамещение
О нас
О компании
Фотогалерея
Пользователи
Отчеты об использовании своего имущества
Реквизиты
Поддержка
Форум
Техподдержка
Персональная
Авторизация
Запомнить меня на этом компьютере
Забыли свой пароль?
Регистрация
Поиск по сайту
Подписка
Новости Bars- Lincor
Новости RastrWin
Общие новости
Новости RUStab
Изменение параметров
Hits
67418823
10173
Hosts
3609082
2119
Visitors
53571352
9822
99
Главная
/
Поддержка
/
Форумы
/
Макро
Форум «Макро»
Версия для печати
Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация
Тема: «
Изменение значений мощности в узлах
» в форуме:
Макро
Просмотров: 3091
Vikus Kisl
Посетитель
Всего сообщений:
30
Дата регистрации:
07.10.2022
Создано:
30.01.2023 14:52:15
Существует макрос "КорректировкаНагрузкиКэф
фициент.rbs"? отличный макрос, пользуюсь им постоянно, но он работает только по номерам районов, т.е. достаточно "грубо" - нагрузка в узлах может быть мала или не подлежит изменению, например мощность СН.
Можно сделать такой же, но по перечню номеров узлов, аналогично перечню районов???
Нужно для проверки эффективности действия УВ типа ОН по конкретным ПС.
Профиль
Наверх
Станислав Богданов
Модератор
Всего сообщений:
61
Дата регистрации:
11.10.2012
Создано:
31.01.2023 13:23:19
Речь идет про макрос "Задать потребление района"?
Если, да, то тут сложно будет просто поправить макрос, ибо он опирается на таблицу районы с рассчитанными параметрами.
Придется воспроизвести расчеты потерь в линиях, с учетом коэф. деления и прочее...
Вариант: исключить узлы из района с помощью групповой коррекции (слить их в отдельный район), провести требуемые расчеты (корректировки), вернуть обратно узлы в р-он.
Профиль
Наверх
Vikus Kisl
Посетитель
Всего сообщений:
30
Дата регистрации:
07.10.2022
Создано:
01.02.2023 03:56:51
нет не макрос "Задать потребление района"!
а именно "КорректировкаНагрузкиКэф
фициент.rbs"
с точки зрения количества английских буков, он достаточно прост:
'Если нужно только корректировать нагрузку района на заданный коэффициент (активную и
'реактивную пропорционально), то можно сделать следующий макрос:
r=setlocale("en-us")
Sub CorPQN(raion,koeff)
Set ptabl=Rastr.Tables("node"
)
Set ppn=ptabl.Cols("pn")
Set pqn=ptabl.Cols("qn")
ptabl.SetSel("na="&raion)
ppn.Calc("pn*"&koeff)
pqn.Calc("qn*"&koeff)
End Sub
'
' И вызывать его так:
CorPQN 15000,1.01
'CorPQN 903,0.98
очень удобен, например для задания нагрузок сезонных режимов, задания перспективного роста нагрузок, потом корректируешь в некоторые,
или если нужно проверить разгрузку от ПА, но только к сожалению по району!
Надо составить список-задние для макроса именно для узлов или ПС!
понимаю, что это наверно просто, но нет времени разбираться...
поэтому, если можете помогите, пожалуйста!
Профиль
Наверх
Delphim
Посетитель
Всего сообщений:
10
Дата регистрации:
31.01.2023
Создано:
01.02.2023 12:47:51
Добрый день! Сделал небольшую вырезку из своего макроса, который использовался для других целей. В тексте макроса добавил комментарии. Заводите файл эксель со списком узлов в колонке А1, задаете путь к нему как указано ниже. В теле макроса меняете нужные Вам коэффициенты.
Не проверял, но должно заработать.
Профессиональные программисты - не судите строго за кривой код, я сам пока начинающий. Понимаю что это можно реализовать изящно в несколько строк. Кроме того, я его взял из своего макроса, который использовался в иных целях.
Заработало?
Sub GrCor(tabl,param,viborka,
formula)
Set ptabl=Rastr.Tables(tabl)
Set pparam=ptabl.Cols(param)
ptabl.SetSel(viborka)
pparam.Calc(formula)
End Sub
Set oXL = CreateObject("Excel.Appli
cation")
'В строчке ниже указываете путь к файлу эксель между кавычек со списком узлов в колонке А1
Set OWB = OXL.Workbooks.Open("")
Set oSheet = oWB.Worksheets(1)
TotalRow = oSheet.Range("A1048576").
End(-4162).Row
for i=1 to TotalRow
ny="ny=" & oSheet.Cells(i,1).value
'Здесь задаете нужный коэффициент для активной и реактивной мощности
GrCor "node","pn",ny, Rastr.calc("sum", "node", "pn", ny)*1.5
GrCor "node","qn",ny, Rastr.calc("sum", "node", "qn", ny)*1.5
next
OXL.Quit
Профиль
Наверх
Vikus Kisl
Посетитель
Всего сообщений:
30
Дата регистрации:
07.10.2022
Создано:
01.02.2023 15:46:17
Спасибо!
уже поздно, завтра с утра попробую... и отпишу
Профиль
Наверх
Vikus Kisl
Посетитель
Всего сообщений:
30
Дата регистрации:
07.10.2022
Создано:
03.02.2023 05:07:37
Уважаемый, Delphim!
Макрос не работает, выдаёт ошибку
Sub GrCor(tabl,param,viborka,
formula)
Set ptabl=Rastr.Tables(tabl)
Set pparam=ptabl.Cols(param)
ptabl.SetSel(viborka)
pparam.Calc(formula)
End Sub
Set oXL = CreateObject("Excel.Appli
cation")
'В строчке ниже указываете путь к файлу эксель между кавычек
'со списком узлов в колонке А1
Set OWB = OXL.Workbooks.Open("d:\OH
1.xlsx")
Set oSheet = oWB.Worksheets(1)
TotalRow = oSheet.Range("A1048576").
End(-4162).Row
for i=1 to TotalRow
ny="ny=" & oSheet.Cells(i,1).value
'Здесь задаете нужный коэффициент для активной и реактивной мощности
GrCor "node","pn",ny, Rastr.calc("sum", "node", "pn", ny)*0.5
GrCor "node","qn",ny, Rastr.calc("sum", "node", "qn", ny)*0.5
next
OXL.Quit
Ошибка Строка
Недопустимый знак 1
Может сделать так.
в ексел в столбце А задавать узлы, а в В (,С) коэффициенты, не обязательно для активной и реактивной разные, т.к. СХН всё равно сделают своё "кровавое дело" так чего гадать, хотя если не трудно то можно и так, но всё же для каждого узла задавать свой коэфф.
Профиль
Наверх
Delphim
Посетитель
Всего сообщений:
10
Дата регистрации:
31.01.2023
Создано:
03.02.2023 12:53:33
Обратите внимание, что при копировании отсюда могут вставляться "лишние" символы. Лишние "-" добавляет.
Да, можно сделать свой коэффициент. Пишу с телефона, не на работе. Как буду - сделаю.
Профиль
Наверх
Delphim
Посетитель
Всего сообщений:
10
Дата регистрации:
31.01.2023
Создано:
03.02.2023 13:07:47
В какой строке недопустимый знак?
Профиль
Наверх
Vikus Kisl
Посетитель
Всего сообщений:
30
Дата регистрации:
07.10.2022
Создано:
03.02.2023 14:12:54
в первой
Sub GrCor(tabl,param,viborka,
formula)
Профиль
Наверх
Delphim
Посетитель
Всего сообщений:
10
Дата регистрации:
31.01.2023
Создано:
03.02.2023 20:55:49
Очень странно, что не работает. GrCor это макрос, который входит в набор Растра.
Попробуйте для начата так:
Sub GrCor(tabl,param,viborka,
formula)
Set ptabl=Rastr.Tables(tabl)
Set pparam=ptabl.Cols(param)
ptabl.SetSel(viborka)
pparam.Calc(formula)
End Sub
GrCor "node","pn","ny=13",10
Описали процедуру и вызвали её потом. В итоге активная мощность нагрузки в узле 13 должна стать равно 13 МВт. Работает?
Профиль
Наверх
Delphim
Посетитель
Всего сообщений:
10
Дата регистрации:
31.01.2023
Создано:
03.02.2023 20:58:27
Вот макрос, который будет брать из первой колонки файла эксель номер узла, а из второй - нужный коэффициент и корректировать на него активную и реактивную мощность. На этот раз запустил у себя - вроде работает как надо.
Sub GrCor(tabl,param,viborka,
formula)
Set ptabl=Rastr.Tables(tabl)
Set pparam=ptabl.Cols(param)
ptabl.SetSel(viborka)
pparam.Calc(formula)
End Sub
Set oXL = CreateObject("Excel.Appli
cation")
Set OWB = OXL.Workbooks.Open("C:\co
r.xlsx")
Set oSheet = oWB.Worksheets(1)
TotalRow = oSheet.Range("A1048576").
End(-4162).Row
for i=1 to TotalRow
ny="ny=" & oSheet.Cells(i,1).value
GrCor "node","pn",ny, replace(Rastr.calc("sum",
"node", "pn", ny)*oSheet.Cells(i,2).val
ue,",",".")
GrCor "node","qn",ny, replace(Rastr.calc("sum",
"node", "qn", ny)*oSheet.Cells(i,2).val
ue,",",".")
next
OXL.Quit
Профиль
Наверх
Vikus Kisl
Посетитель
Всего сообщений:
30
Дата регистрации:
07.10.2022
Создано:
04.02.2023 05:59:52
Огромное СПАСИБО!!!
Работает!!!
Как понял, что бы задавать коэфф. для акт. и реакт. мощностей индивидуально, нужно в строке
GrCor "node","qn",ny, replace(Rastr.calc("sum",
"node", "qn", ny)*oSheet.Cells(i,2).val
ue,",",".")
поменять
2
на
3
, так? и будет браться коэфф. из колонки С!
Профиль
Наверх
Vikus Kisl
Посетитель
Всего сообщений:
30
Дата регистрации:
07.10.2022
Создано:
04.02.2023 06:13:20
проверил точно, работает
тогда можно включать какое-либо СКРМ
если в макросе заменить
в строке
GrCor "node","qn",ny, replace(Rastr.calc("sum",
"node", "qn", ny)
*
oSheet.Cells(i,3).value
,",",".")
заменить на -
GrCor "node","qn",ny, replace(Rastr.calc("sum",
"node", "qn", ny)
+
oSheet.Cells(i,3).value
,",",".")
но в колонке С задавать, например, мощность БСК - "-16",
попробую...
Профиль
Наверх
Delphim
Посетитель
Всего сообщений:
10
Дата регистрации:
31.01.2023
Создано:
04.02.2023 11:37:37
БСК лучше все-таки шунтом моделировать. Пересчитать те же 16 МВА в "-B".
Профиль
Наверх
Delphim
Посетитель
Всего сообщений:
10
Дата регистрации:
31.01.2023
Создано:
04.02.2023 11:39:56
>>Как понял, что бы задавать коэфф. для акт. и реакт. мощностей индивидуально, нужно в строке
>>
>>GrCor "node","qn",ny, replace(Rastr.calc("sum",
"node", "qn", ny)*oSheet.Cells(i,2).val
ue,",",".")
Да.
Профиль
Наверх
Delphim
Посетитель
Всего сообщений:
10
Дата регистрации:
31.01.2023
Создано:
04.02.2023 11:59:11
>БСК лучше все-таки шунтом моделировать. Пересчитать те же 16 МВА в "-B".
Ой, конечно же МВАр.
Профиль
Наверх
Vikus Kisl
Посетитель
Всего сообщений:
30
Дата регистрации:
07.10.2022
Создано:
04.02.2023 16:03:08
Конечно, ШР/БСК лучше шунтом, просто имелось в виду работать в одном "поле", а СКРМ же можно вводить и не целиком, а ступенькой, т.е. не много увеличили или уменьшил реактивку, а так получается ещё и каждый шаг пересчитывать!
в принципе переделать этот макрос и в любом узле можно поставить любое СКРМ,
поэтому ещё раз спасибо!!!
Профиль
Наверх
Читают тему
гостей:
1
, пользователей:
0
, из них скрытых:
0
Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация
Программный комплекс «RastrWin»
© «RastrWin», 1988-2019