панель Изменение РМ (в текстовом формате)¶
Каждая инструкция начинается с новой строки.
После знака решётки # текст не выполняется.
При нажатии на поле ввода правой кнопкой мыши открывается меню с подсказками. При выборе пункта меню соответствующий текст вставляется на поле ввода в место, где установлен курсор.

Команды¶
изменить¶
Команда позволяет изменить значение (или группу значений) полей в таблицах RastrWin3 в формате [Выборка в таблицах: Значение параметров].
Выборка в таблицах:
Если несколько выборок, то указываются через ; (например, area.no=2; node.npa=10). Сначала указывается название таблицы, после точки выборка в таблице. Если корректировать необходимо все строки таблицы, то необходимо указать только имя таблицы, например, node; vetv.
Имя таблицы указывать не необходимо, если используются следующие ключи:
ny – таблица узлы (node)
Num, g - таблица генераторы (Generator)
na - таблица районы (area)
npa - таблица территории (area2)
no - таблица объединения (darea)
nga – таблица нагрузочные группы (ngroup)
ns - таблица сечения (sechen)
Например, na=10; g=4
Также можно использовать краткую форму записи:
-
выборка по узлам:
12;21, вместоnode.ny=12; node.ny=21 -
выборка по ветвям:
12,13,2, вместоvetv.ip=12&iq=13&np=2. Еслиnp=0, то выборка по ветвям можно записать еще короче:12,13
При использовании краткой формы название таблицы указывать не следует.
Значение (параметра):
Значение параметра указывается в формате: параметр = значение параметра. Значение параметра может быть задано в виде формулы. Если несколько заданий, то указываются через ;. Например, pn=2; qn=pn*0.4. При задании поля b в таблице ветви или поля bsh в таблице узлы необходимо указать значение, поделённое на 1 000 000. Например, БСК с шунтом -4190 необходимо задать как bsh=-0.004190.
Примеры использования:
изменить [3: name=Промплощадка: 1 сш 110 кВ]
изменить [node.na=11; vetv: sel=1] {years: 2026} # Отметить узлы в таблице узлы 11 района и все ветви только в 2026 г
изменить [vetv; area; area2; darea: Tc=0] # Обнулить температуру
изменить [vetv; node: disable=0; control=0; repair_scheme=; disable_scheme=; double_repair_scheme=]
изменить [Generator: disable=0; repair_scheme=; disable_scheme=; double_repair_scheme=]
изменить [node.npa=1: pn = pn * 0.8; qn = qn * 0.8] # изменить нагрузку территории 1
При корректировке нагрузки в узле следует иметь в виду, что в таблице Load могут содержаться нагрузки, относящиеся к корректируемому узлу, и менять необходимо значения в этой таблице.
Также можно при задании числового значения использовать ссылку на значения таблиц RastrWin3, используя краткую форму выборки (без явного указания имени таблицы). Перед получением значения в формуле выполняется расчёт режима.
Например:
изменить [1: pg=10 + 15: pg] # Значению pg узла 1 присвоить значение 10 + pg узла 15
изменить [1: pn = (10.5 + 2: pn + g=7: P + Load.Num=5: P) * uhom]
изменить [1,2: x = (10.5 + 15,16,2: r) * ip.uhom]
изменить ключ¶
Изменить ключевые поля строки в таблице с возможностью соответствующего изменения полей в других таблицах. Например, при изменении номера узла в таблице ветви будут изменены соответствующие номера начала и конца ветви.
Примеры:
изменить ключ [10: 20] # Изменить ключ узла
изменить ключ* [10: 20] # Изменить ключ узла соответствующим изменением ключевых полей в других таблицах
изменить ключ [10,20: 20,10] # Поменять начало и конец ветви
изменить ключ*[na=11: 1] # Поменять номер района в таблице area, и прочих связанных
дублировать¶
Скопировать строку в произвольной таблице по уникальному ключу и задать уникальное значение ключа новой строки.
Примеры:
дублировать [15: 2] # Дублировать узел 15 и задать ему ключ (ny) 2
дублировать [15,20: 2,2,1] # Дублировать ветвь 15,20 и задать ей ключ (ip,iq,np) 2,2,1
дублировать [g=12: 121] # Дублировать генератор 12 и задать ему ключ (Num) 121
дублировать [Load.Num=3: 121]
добавить¶
Добавить строки в таблицы RastrWin3 в формате:
[имя таблицы: значения полей новой строки в таблице через;].
Например:
добавить [node: ny=3; pn=1; uhom=120; na=11; name=Новый узел]
добавить [vetv: ip=15524; iq=3; np=3; x=2; r=1.5; b=-0.000182]
добавить выключатели¶
Добавить выключатели:
-
для ветви. Добавить выключатели по концам ветви. Параметр
endуказывается с какой стороны добавить выключатель. С начала ветвиip, с конца ветвиiq. Необязательный, по умолчанию имеет значениеip,iq– добавить выключатели в начале и конце ветви -
для узла. Добавить выключатели в цепи отходящих ветвей. Параметр
sel_vetvвыборка в таблице ветви (по умолчанию все ветви). Например,sta=0– все включенные ветви,tip=0– только ЛЭП
В параметре key указывается номер узла или ключ ветви.
Название созданных узлов для ВЛ 220 кВ Юг – Север примыкающего к узлу с именем Юг: 1 сш будет ВЛ 220 кВ Юг – Север со стороны Юг: 1 сш.
Через параметр split_name можно указать разделитель, после которого будет отбрасываться часть имени узла. Например, split_name=: название нового узда будет ВЛ 220 кВ Юг – Север со стороны Юг.
Новые узлы будут создаваться со следующим свободным номером после указанного в параметре start_ny (необязательный, значение по умолчанию 1).
Например:
добавить выключатели [key=3,5]
добавить выключатели [key=12,22,2; start_ny=1; end=ip]
добавить выключатели [key=3; sel_vetv=sta=0; start_ny=10; split_name=:]
удалить¶
Удалить строки в таблицах RastrWin3 в соответствии с выборкой в квадратных скобках (выборка аналогично команде изменить). Команда удалить* позволяет удалять узлы с генераторами и отходящими ветвями.
Например:
удалить [1; 3,4,1; Num=8; g=9] # Удалить узел 1, ветвь 3,4,1 и генераторы 8 и 9
удалить* [1; 2,4] # Удалить узел 1 с отходящими ветвями и генераторами в узле и ветвь 2,4,0
удалить [area.na=2] # Удалить район 2 из таблицы area
импорт¶
Импорт данных из моделей.
Если в поле путь к файлу импорта указать не имя файла, а папку, то импорт будет выполняться из одноименных моделей в указанной папке.
Например:
импорт [папка: (I:\МДП); таблица: node; тип:2; поле: pn, qn; выборка:]
импорт [файл: (I:\pp.rg2); таблица: node, vetv; тип:2; поле: sel,sta; выборка: sel]
Тип: обновить - 2, загрузить - 1, присоединить - 0, присоединить-обновить – 3.
снять отметку¶
Снять отметку (sel=0) во всех таблицах.
текст¶
Данная инструкция делает следующие преобразования с указанными текстовыми полями таблиц:
- Английские буквы, имеющие схожий вид с русскими буквами, меняются на русские буквы
- Удаляются пробелы в начале и в конце строки
- Два пробела заменяются на один
Выборка в формате
[имя_таблицы1: имя_поля1, имя_поля2; имя_таблицы2: имя_поля].
Например:
текст [node: name, dname; vetv: dname; Generator: Name]
СХН¶
Добавить номера статических характеристик нагрузки - СХН в узлах (поле nsx в таблице node). Если uhom > 100, то nsx=1, если uhom < 100, то nsx=2.
Выборка в таблице узлы указывается в квадратных скобках.
Например:
СХН
СХН [na=11]
сечение¶
Изменение перетока активной мощности в сечении. Работает не во всех РМ..
Формат задания:
-
ns: номер сечения -
p_new: требуемый переток мощности (значение,pmaxилиpmin(pmax, pmin берутся из соответствующих полей таблицы сечения)) -
method: pg- изменять генерацию отмеченных узлов и генераторов (если узел отмечен, то используются все генераторы в узле),pn- изменять нагрузку отмеченных узлов -
gen_not_disable: true / false– не отключать генераторы (для сохранения выработки реактивной мощности). По умолчаниюfalse
Узлы (method: pg, pn) и генераторы (method: pg) необходимо предварительно отметить (в таблице генераторы должно присутствовать поле sel).
В процессе выполнения генераторы могут включаться и отключаться, состояние узлов не меняется.
Поле Pmin генераторов и pg_min узлов не учитывается.
Пример:
сечение [ns= 1; p_new= 1500.5; method= pn]
сечение [ns=2; p_new= pmax; method= pg; gen_not_disable= true]
дтн¶
Выполняется расчёт допустимой токовой нагрузки ветвей для температуры, указанной в квадратных скобках или в названии файла (аналогично нажатию F9 в RastrWin3). Если в таблицах ветви, районы, территории, объединения заполнено поле Tc, то оно будет расчётным (для справки, в таблице ветви имеется поле na, npa).
Пример:
дтн [10] # расчёт дтн для 10°C
дтн # расчёт дтн для температуры, указанной в имени файла
расчёт¶
Расчёт режима.
print¶
Вывод заданных параметров из моделей. Команду можно использовать произвольное количество раз и с разными параметрами. В папке с результатами работы программы появится файл Вывод параметров РМ.xlsx.
Пример:
print [2,4: r; x; b / 2; 5: pn; qn / sechen.ns=2: psech]
проверка схемы и исправление схемы¶
Проверяется:
-
наличие узлов без ветвей (
n) -
ветвей без узлов начала или конца (
v) -
генераторов в несуществующих узлах (
g)
Таблицы также проверяются на наличие пустых строк (отсутствие ключевых полей).
Если используется команда исправление схемы, то найденные элементы удаляются.
Пример:
проверка схемы [ngv]
исправление схемы [nv]
задать допустимые напряжения¶
В таблице узлы заполнить пустые поля:
-
umin(uhom* 1.15 * 0.7) -
umin_av(uhom* 1.1 * 0.7), еслиuhom>= 110 -
umax[7.2, 12, 40.5, 126, 252, 363, 525, 787] -
umax_av=umax* 1.1, еслиuhom>= 110
Пример:
задать допустимые напряжения [na=11: umax, umax_av, umin, umin_av] # поля: выборка в таблице узлы
проверка напряжений и исправление напряжений¶
Проверяется:
-
проверка номинального напряжения узлов на соответствие ряду
[35, 110, 220, 330, 500, 750] -
проверка условия
umax > uhom,umin < uhom,umin_av < uhom
Если используется команда исправление напряжений, то изменения вносятся в таблицу узлы:
-
исправляются номинальные напряжения
-
обнуляется
umax, если его значение нижеuhom, обнуляетсяumin,umin_av, если их значение вышеuhom
Пример:
проверка напряжений [na=11] # выборка в таблице узлы
исправление напряжений # исправить все узлы
проверка ветвей¶
Проверка наличия номера зависимости n_it и n_it_av в таблице graphikIT.
Пример:
проверка ветвей [na=11] # выборка в таблице узлы
проверка генераторов и исправление генераторов¶
Контроль параметров генераторов: P > Pmin, P < Pmax, наличие NumPQ в таблице graphik2.
Пример:
проверка генераторов [na=11] # выборка в таблице узлы
исправление генераторов # исправить во всей таблице узлы
добавить тег и удалить тег¶
Добавить или удалить тег в названии файла.
Пример:
добавить тег [МДП] # Имя файла изменится, например, с 2026 зим макс.rg2 на 2026 зим макс (МДП).rg2
удалить тег [МДП]
СКРМ¶
Команда позволяет включать или отключать узел, в котором задано средство компенсации реактивной мощности (СКРМ: БСК и ШР) в зависимости от напряжения:
- при номинальном напряжении < 300 кВ:
- БСК включается, ШР отключается при напряжении ниже 0,95 *
Uном - БСК отключается, ШР включается при напряжении выше 1,14 *
Uном
- БСК включается, ШР отключается при напряжении ниже 0,95 *
- при номинальном напряжении > 300 кВ:
- БСК включается, ШР отключается при напряжении ниже 0,98 *
Uном - БСК отключается, ШР включается при напряжении выше 1,05 *
Uном
- БСК включается, ШР отключается при напряжении ниже 0,98 *
| U | U<300 | U<300 | U>300 | U>300 |
|---|---|---|---|---|
| U | 0.95 | 1.14 | 0.98 | 1.05 |
| 6 | 5.7 | 6.84 | ||
| 10 | 9.5 | 11.4 | ||
| 35 | 33.25 | 39.9 | ||
| 110 | 104.5 | 125.4 | ||
| 220 | 209 | 250.8 | ||
| 500 | 490 | 525 |
СКРМ следует задать в отдельном узле с указанием значения bsh:
-
не должно быть значений в полях
pn,qn,pg,qg -
подключение к сети через одну ветвь

В таблице узлы node расчётных моделей также можно указать в текстовом поле AutoBsh уставки срабатывания по напряжению и указать номер узла, в котором следует контролировать напряжение. Например:
-
для БСК
105-126.5; 100– включить узел с БСК при напряжении ниже 105 кВ, отключать при напряжении выше 126.5 кВ в узле 100 -
для ШР
105-126.5; 101– отключить узел с ШР при напряжении ниже 105 кВ, включить при напряжении выше 126.5 кВ в узле 101 -
105-126.5если узел в полеAutoBshне указан, то напряжение контролируется в узле с СКРМ или в узле, к которому он подключен
Пример:
СКРМ [na=11] # [Выборка в таблице узлы] включать и отключать только узлы, где задано поле AutoBsh
СКРМ* [na=11|na=12] # включать и отключать все узлы с СКРМ, в том числе, где не заполнено поле AutoBsh.
анализ¶
Для сети 110 кВ и выше в РМ определяются:
-
транзитные ветви (поле
transitв таблицеvetvзаполняется номером транзита) -
промежуточные узлы на транзитах (поле
transitв таблицеnodeзаполняется номером транзита) -
узлы, в которых сходятся несколько транзитов (поле
transitв таблицеnodeзаполняется значением, которое соответствует количеству транзитов со знаком минус)
Если в квадратных скобках указать выборку в таблице узлы, например, [na=1], то для указанной выборки в РМ будет отмечено поле disable в таблицах vetv и node.
Пример:
анализ [-]
анализ [na=1]
выход¶
Не выполнять следующие команды внутри текущего задания в текстовом формате. Обычно используется выход по какому-то условию.
настройки¶
Изменение настроек режима (меню RastrWin3: Расчёты -> Параметры -> Режим).
Возможные ключи таблицы com_regim:
-
neb_p -
it_max -
start -
flot -
dv_min -
dv_max -
dd_max -
status -
rr -
wt -
gen_p -
load_p -
method -
method_ogr -
print_mode -
qmax -
min_x -
calc_tr -
nag_p -
rem_breaker -
gram -
ctrl_baza -
itz -
itz_ogr_max -
itz_ogr_min -
min_nodes_in_island -
max_slp_sxn -
min_slp_sxn -
u_krit -
check_det -
it_max_det -
u_step_max -
delta_step_max -
delta_ij_step_max
Пример:
настройки [neb_p = 0.5; dv_max = 4] # Точность расчёта 0.5, макс. допустимое повышение напряжения 4
преобразовать узел в шину¶
Преобразование узла в шину с заданным порядком распределения ветвей. Создаются новые узлы (шины), ветви переподключаются к новым узлам, между соседними узлами создаются связующие ветви с малым сопротивлением (r= 0,001).
Формат задания [ny: new_ny=ip,iq;… ; groupid=_]:
ny: номер преобразуемого узла
new_ny — номер нового узла (шины), к которому переподключается ветвь (для одной из ветвей этот узел должен быть равен ny)
ip,iq,np — ключ ветви
groupid (опционально): номер группы для новых ветвей между узлами шины.
Если исходный ny не использован, то он будет удален.
Примеры:
преобразовать узел в шину [1: 2=1,2; 1=3,4; groupid=10]
Условие выполнения¶
Условие выполнения команд указывается в фигурных скобках. В условии могут быть использованы следующие операторы:
+
-
()
& - и
| - или
*
/
== - проверка на равенство
!= - проверка на не равенство
>, <, <=, >=, =>
not – отрицание (указывается в начале выражения или сразу после ( )
True
False
Если для проверки условия требуются значения из таблиц РМ, то выполняется расчёт УР.
Примеры:
снять отметку {years: 2026 & season: лет & max_min: мин | tags: 0°C}
{years: 2026, 2026…2029== False & (ny=1: vras > 125) | (not (ny=1: na==2))}
Также в условии можно использовать следующие условности:
- Если перед закрывающейся фигурной скобкой поставить
*, то действие будет выполняться пока условие истинно (не более 1000 раз), например:
изменить [15:pn=pn+10] {15: vras > 100*} # Увеличивать нагрузку узла пока напряжение не снизится ниже 100 кВ.
- Получение индекса элемента в таблице. Можно использовать для проверки наличия элемента (например, узла) в РМ. Для несуществующего элемента индекс равен
-1, например:
изменить [1:pn= 1] {1: index > -1} # Задать нагрузку узла, если он имеется в РМ.
удалить* [1] {1: index > -1} # Удалить узел при наличии в РМ.
добавить [node: ny=1] {1: index == -1} # Добавить узел при отсутствии в РМ.
- Проверка режима на сходимость
rgm, например:
выход { (years: 2026) & (not rgm) } # Выход, если год 2026, режим не сошелся.
Полезные задания¶
Переименование файлов РМ¶
добавить тег [5 °C] {season: зим & tags: tср} # Зима ГОСТ
добавить тег [минус 27 °C] {season: зим & (not tags: tср)} # Зима ХП
добавить тег [25 °C ПЭВТ] {tags: tэкст} # ПЭВТ
добавить тег [18 °C] {season: лет & tags: tср} # Лето tср
удалить тег [tср]
удалить тег [tэкст]
Обнулить температуру¶
изменить [vetv; area; area2; darea: Tc=0]
Удалить задание для расчёта УР из РМ¶
изменить [vetv; node: disable=0; control=0; repair_scheme=; disable_scheme=; double_repair_scheme=]
изменить [Generator: disable=0; repair_scheme=; disable_scheme=; double_repair_scheme=]