На главнуюКонтактыКарта сайта
В коробке инженера
В коробке инженера
Обзоры программ, интересных блогов и программирование
Заметки о Rastrwin, Matlab
  • Twitter Colee

ПО Rastrwin: комплекс для расчетов SaveLoadStateF5

Автор: colee | Рубрика: Программы » Rastrwin
Понедельник, 25 августа 2014 г.
Теги: , , Просмотров: 4228

Какая самая популярная функция в программе Rastrwin? А какая кнопка на клавиатуре при работе в программе самая нажимаемая? Я думаю, F5 или расчет режима.

Допустим, режимщик загружает модель электрической сети с целью проведения расчетов режимов, при этом контролирует определенные параметры. Зачастую приходится изменять режим путем манипуляции со схемой (отключение/включение линий и трансформаторного оборудования), изменение генерации и нагрузки. При изменении модели есть два способа получить исходную схему: провести обратные манипуляции (более сложный вариант) и загрузка исходного файла (просто, но более затратно по времени).

В принципе, загрузка исходного файла оправдывает себя, так как не надо волноваться о правильности возврата к исходному режиму. Но у этого метода есть свои отрицательные стороны, и главная проблема - это постоянная загрузка исходного файла (средний файл грузится около 3-4 секунд). А если вся работа заключается в поиске оптимальной схемы для аварийных и ремонтных схем, то загрузка исходного файла - это головная боль. Сегодня попробуем избавиться от части проблем и внести в работу немного радости.

Комплекс SaveLoadStateF5 представляет собой набор макросов, которые позволяют сохранять, загружать и рассчитывать режим без повторной загрузки файла. Рассмотрим на примере.

Загружаем небольшую схему

Тестовая схема

Сначала сохраняем модель с помощью макроса SaveRegim.rbs, в протоколе выводится соответствующее сообщение

Протокол сохранения

Здесь важно отметить, что режим сохраняется по определенным колонкам в таблице ветви и узлы (то, что указано в протоколе).

Изменим какой-нибудь параметр схемы, в нашем случае - это сопротивление первой цепи между узлами 1 и 2 (r=0, x=6.3, b=0)

Изменения схемы

Давайте рассчитаем режим с помощью макроса RunRegim.rbs, и посмотрим в протокол

Протокол расчета при изменении сопротивления

Попробуем изменить генерацию 4 узла, и выставим в колонку Pg значение 30, и пересчитаем режим

Графика при изменении генерации

Протокол расчета при изменении генерации

При расчете режима в протокол заносятся все изменения, которые найдены в сохраненных столбцах относительно исходного (сохраненного) состояния в модели, что очень удобно для режимщика, точно не запутается в отключениях.

Попробуем вернуть все на свои места с помощью макроса LoadRegim.rbs, и посчитаем режим заново

Графика после восстановления режима

Протокол после восстановления режима

Видим на графике, что значения вернулись к сохраненным до этого, да и в протоколе видим, что режим исходный.

Я лично настроил комплекс следующим образом:

  • F2 - SaveRegim.rbs
  • F3 - LoadRegim.rbs
  • F1 - RunRegim.rbs
Заменить F5 не решился, вдруг что-нибудь да заглючит, не пользоваться же кнопкой на панели или, не дай бог, в меню Расчеты лезть LOL

Но это еще не все, что я хотел показать. Какой же режим без сохранения контрольных величин при разных изменениях в модели? Как по умолчанию это происходит: режимщик считает режим по кнопке F5, потом нажимает F8 для того, чтобы сохранить контролируемые величины для текущего режима. А почему бы не объединить эти две кнопки в одну.

Добавим пару контрольных величин и посмотрим, как это работает.

Таблица описания контрольных величин

Для чистоты эксперимента вернем модель к исходному состоянию через LoadRegim.rbs и рассчитаем через RunRegim.rbs

Таблица результатов контрольных величин

Обратите внимание, что в контрольных величинах записано строковое значение мощности slb, что при использовании стандартной функции добавления в КВ по кнопке F8 не сработает. Стоит отметить, что пока формулы в КВ не поддерживаются (по F8 все работает), но можно просто завести столбец в таблице и вывести его уже в КВ.

Изменим все те же параметры линий 1-2 и генерацию, и опять посчитаем режим

Таблица результатов контрольных величин

Как видно на картинке, в названии режима отображены все параметры, которые изменены для данного расчета. Для стандартной функции добавления название, к сожалению, всегда пусто.

Все было бы хорошо, если б можно было сохранять свои таблицы и колонки. И для этого есть файла настроек SaveLoadStateF5.ini, который находится в корне папки Rastrwin3 в моих документах.

Файл настроек SaveLoadStateF5.ini

В секции (их может быть сколько угодно, и они обрамляются в []) должны помещаться названия таблиц. Имя таблицы можно посмотреть в программе Rastr3 (Файлы - Настройки программы - Параметры - Данные - Таблицы). В каждой секции должно быть два обязательных параметра cols2save (те колонки в таблице, что физически будут сохранены) и cols2KV (что будет выводится в протокол и в КВ). Тем самым можно сохранять необходимые для режима колонки, но не выводить в протокол.

Секция Main отвечает за основные настройки:

  • в опции RegimSave, RegimLoad и RegimRun находятся параметры для расчета режима при сохранении, загрузке и расчете режима. Это нужно, потому что перед сохранением или при попытке восстановления рассчитывается режим, чтобы не возникло ошибки в дальнейшем. И, например, можно для восстановления режима отключить контроль исходных данных и так далее. В общем, нужная штука
  • опция SameColsSaveKv позволяет не прописывать специально параметр cols2KV, все данные берутся из cols2save
  • опция IgnoreBaseNode игнорирует изменения в базисных узлах, так как при любом изменении в них будет изменяться мощность
Подведем итоги по комплексу SaveLoadStateF5, что имеем в результате:
  1. Умеет сохранять и восстанавливать режим по указанным пользователем таблицам и колонкам
  2. При расчете выводит все изменения относительно сохраненного режима в протокол
  3. Если таблица описаний контрольный величин непустая, то при расчете режима автоматически идет добавление в таблицу значений контрольных величин (для инициализации нужно очистить таблицу КВ из меню Расчеты - Расчеты - Контр-е величины - Очистить таблицу КВ либо поставить на команду горячую клавишу)
  4. Очистка таблицы КВ

Установка не отличается от других макросов. Кладем файлы макросов в папку macro в Rastrwin3, что находится в моих документах. Обязательно ставим на них горячие клавиши, и пользуемся на здоровье. Перед первым запуском обязательно нужно скопировать SaveLoadStateF5.ini в Мои документы - Rastrwin3 или запустить макрос установки setup_SaveLoadStateF5.rbs.

Как обычно, всем удобной работы...

Скачать одним архивом SaveLoadStateF5_v1.1.zip 6


Поделиться с друзьями:
twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru digg.com blogger.com livejournal.ru google.com yandex.ru del.icio.us
Оставьте комментарий!

Используйте нормальные имена

Ваш E-mail не публикуется, используется для обратной связи и для выбора аватара с сайта gravatar.com

Публикуется вместе с комментарием

усмешка LOL сыр улыбка подмигнуть ухмылка глаза в сторону в тупике удивление большое удивление малинка пустое лицо сдвинутая бровь Оо гррр ох ох неудачник смущенный больной Тау хммм бешенный злой клевый поцелуй шок крутой недовольный

Запрещается оскорблять окружающих и использовать ненормативную лексику

Вы должны включить JavaScript, чтобы оставить сообщение