Максим Озеров
Заглянувший
Всего сообщений: 1
Дата регистрации: 26.06.2024
|
Создано:
26.06.2024 11:55:22
|
Подскажите пожалуйста, нужен макрос для увеличения текущего потребления на определенную величину. Пробовал изменить этот макрос не получается:
r=setlocale("en-us")
Sub CorPotr(raion,potr)
max_it=10 ' максимальное число итераций
eps=0.001 ' точность расчета
reac_p=True ' менять реактивное потребление пропорционально
Set pnode=Rastr.Tables("node")
pnode.SetSel("na="&raion)
Set pn=pnode.Cols("pn")
Set qn=pnode.Cols("qn")
Rastr.printp "Район=" & raion
Rastr.printp "Задано потребление=" & potr
for i=1 to max_it
pop=Rastr.Calc("val","area","pop","na="&raion)
koef=potr/pop
Rastr.printp "Текущее потребление =" & pop
Rastr.printp "Отношение заданное/текущее =" & koef
if( abs(koef -1) > eps) then
pn.Calc("pn*"&koef)
if(reac_p) then qn.Calc("qn*"&koef)
kod=Rastr.rgm("")
if(kod <> 0) then
Rastr.printp "---------Аварийное завершение расчета режима----------- "
exit sub
end if
else exit sub
end if
next
end Sub
|
Николай Некрасов
Постоянный посетитель
Всего сообщений: 194
Дата регистрации: 23.04.2007
|
Создано:
01.07.2024 20:46:04
|
Здравствуйте! Т.к. нужно увеличить текущее потребление на определенную величину, то, как я понимаю, новое потребление = текущее потребление + определенная величина. А почему бы не задать новое потребление с помощью встроенных макросов: Расчеты – Выполнить – Коррекция – Задать потребление объединения/района/территории?
|