Перейти к содержанию

панель Изменение РМ (в текстовом формате)

Каждая инструкция начинается с новой строки.

После знака решётки # текст не выполняется.

При нажатии на поле ввода правой кнопкой мыши открывается меню с подсказками. При выборе пункта меню соответствующий текст вставляется на поле ввода в место, где установлен курсор.

Изображение

Команды

изменить

Команда позволяет изменить значение (или группу значений) полей в таблицах 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ном
  • при номинальном напряжении > 300 кВ:
    • БСК включается, ШР отключается при напряжении ниже 0,98 * Uном
    • БСК отключается, ШР включается при напряжении выше 1,05 * Uном
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=]