Русский
English
Главная
RastrWin
Программа
Последние изменения
Часто задаваемые вопросы
Аннотация
Лицензирование и защита от копирования
Права Windows для пользователя RastrWin
Курсы
Компонентная архитектура
Интерфейс
Инструкция по установке
Документация, видео, презентации
Свидетельство о регистрации
RastrKZ
RastrMDP
RastrOS
ZamerSeti
Архив
Bars-Lincor
Расчетная модель
Система моделирования
Последние изменения
Программа
Инструкция пользователя
Инсталляция
RUStab
Загрузка
Последние изменения
Поддержка
Поддержка
Форум
Техподдержка
Персональная
Макро студия
Макро студия
Автоматизация
Работа с SQL
Оценка параметров ЛЭП и ТР
Эффективность размыкания сети
Анализ напряжений в Excel
Автоматизация с "AutoIt"
Создание графа сети из режима
Передача графики в SVG
Вариантные расчеты
Импортозамещение
О нас
О компании
Фотогалерея
Пользователи
Отчеты об использовании своего имущества
Реквизиты
Поддержка
Форум
Техподдержка
Персональная
Авторизация
Запомнить меня на этом компьютере
Забыли свой пароль?
Регистрация
Поиск по сайту
Подписка
Новости Bars- Lincor
Новости RastrWin
Общие новости
Новости RUStab
Изменение параметров
Hits
66851579
7682
Hosts
3525170
1310
Visitors
53087792
7503
69
Главная
/
Поддержка
/
Форумы
/
Макро
Форум «Макро»
Версия для печати
Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация
Тема: «
Rastr.rgm("")
, Rastr.rgm("") и Rastr.rgm("с") » в форуме:
Макро
Просмотров: 8884
oReg Rotanov
Посетитель
Всего сообщений:
12
Дата регистрации:
14.03.2012
Создано:
15.03.2012 18:03:50
Здравствуйте, друзья !
Помогите ,пожалуйста , разобраться в следующем вопросе.
Реализую макро в котором алгоритм с большим количеством итераций. По заданию необходимо выполнить расчет Rastr.rgm(""). При этом на каждой интреции выводится большое количество информативных сообщений об узлах и ветвях. Это сильно увеличивает время выполнения алгоритма.
Если провести расчет с параметром Rastr.rgm("с"), то информативные сообщения не выводятся.
В справке указано , что установка параметра "с" отключает контроль данных.
1. О каких данных идет речь?
2. Можно ли утверждать, что сообщения об узлах и ветвях, выводящиеся при расчете Rastr.rgm(""), носят чисто информативный характер, или это свидетельствует о том , что в ход расчета вносятся некоторые корректировки?
3. Можно ли утверждать, что ход расчета Rastr.rgm("") совпадает с ходом расчета Rastr.rgm("c"), за исключением вывода информативных сообщений(и соответствующих им прцедур сбора данных об узлах и ветвях)?
Заранее благодарен!
Профиль
Наверх
Евгений Машалов
Администратор
Всего сообщений:
1042
Дата регистрации:
23.04.2007
Создано:
15.03.2012 19:37:28
Ключ "с" отключает контроль данных, но никак не влияет на вывод в протокол, разве только в него не идут сообщения об отключениях ветвей. Чтобы отключить протокол - воспользуйтесь свойством LockEvent, а раcчет контролируйте по rgm() <> AST_OK. Подробнее можете почитать
в этой теме
.
1. Контроль устанавливает целостность графа сети и корректность параметров. Например, если Вы отключили узел, все ветви, инцидентные этому узлу тоже должны быть отключены и т.д. Отключение контроля используется тогда, когда эта операция однократно уже проделана при начальном расчете режима, а следующие расчеты идут с небольшими изменениями параметров и без изменения топологии. Например так работает утяжеление.
2. Свидетельствует.
3. Нет.
Профиль
Наверх
oReg Rotanov
Посетитель
Всего сообщений:
12
Дата регистрации:
14.03.2012
Создано:
15.03.2012 20:47:44
При расчете Rastr.rgm "" выводятся в протокол сообщения следующего вида
узел 1314 : отсутствует информация о районе N 7 - проверьте !
Ветвь 21-1103 : KT_max=0.1059 < KT=0.5360 - проверьте !
Отсутствует узел, ограничивающий ветвь:
Ветвь 1237 - 1239, Узлы 1237, 1239
Приведу фрагмент алгоритма
Rastr.rgm "" ' начальный расчет режима
for i=0 to 1000
qg.Z(i)=qg.Z(i)+5
Rastr.rgm "c"
if Rastr.Status<>0 then
Rastr.rgm "p"
end if
Rastr.printp pg.Z(175)
Next
Здесь
1. однократно проделан начальный расчет режима
2. Последовательно по узлам меняется qg
3.производится расчет
4.переход на следующую итерацию, т.о. топология не
меняется
А) Коректно ли будет в таком фрагменте кода применять Rastr.rgm "c" вместо Rastr.rgm ""? (при этом исполнение кода ускоряется и не выводятся предупреждающие сообщения)
Б) Не приведет ли это к искажению результатов ? (в задании указано использовать расчет режима идентичный нажатию F5)
Заранее благодарю!
Профиль
Наверх
Евгений Машалов
Администратор
Всего сообщений:
1042
Дата регистрации:
23.04.2007
Создано:
15.03.2012 21:14:31
Да, корректно, только схему-то исправьте. Или технологов озадачте. Район заведите, скорректируйте Kt, с топологией разберитесь. Контроль ведь и придуман затем, чтобы технологу указать на ошибки в схеме. Судя по коду Вы желаете сделать утяжеление, которое уже в общем-то сделано. Может быть лучше воспользоваться этой функцией, она работать будет полюбому быстрее.
Профиль
Наверх
oReg Rotanov
Посетитель
Всего сообщений:
12
Дата регистрации:
14.03.2012
Создано:
16.03.2012 15:06:43
Спасибо, оперативную консультациию. Приведу уточненный код.
Rastr.rgm "" ' начальный расчет режима
for i=0 to 1000
qg.Z(i)=qg.Z(i)+5
Rastr.rgm "c"
if Rastr.Status<>0 then
Rastr.rgm "p"
end if
Rastr.printp pg.Z(175)
qg.Z(i)=qg.Z(i)-5
Next
Насколько я разобрался в утяжелениии, строка qg.Z(i)=qg.Z(i)-5 отличает приведенный фрагмент кода от утяжеления.
В прведенном коде параметр изменяется, проводится расчет, значение параметра установливается (возвращается) в первоначальное .
При утяжелении значения измененных параметров после расчета не возвращается в первоначальное ?
Заранее спасибо!
Профиль
Наверх
oReg Rotanov
Посетитель
Всего сообщений:
12
Дата регистрации:
14.03.2012
Создано:
16.03.2012 15:10:25
Как то нечетко предпоследняя строка просматривается.
Привожу уточнение.
Rastr.rgm "" ' начальный расчет режима
for i=0 to 1000
qg.Z(i)=qg.Z(i)+5
Rastr.rgm "c"
if Rastr.Status<>0 then
Rastr.rgm "p"
end if
Rastr.printp pg.Z(175)
qg.Z(i)=qg.Z(i) - 5 ' здесь минус 5
Next
Профиль
Наверх
Евгений Машалов
Администратор
Всего сообщений:
1042
Дата регистрации:
23.04.2007
Создано:
16.03.2012 16:57:39
Нет, не возвращается, но можно же сделать новый столбец, в него с помощью Calc скопировать все изменяющиеся параметры, выполнить расчет и вернуть тем же Calc исходные значения. В первоначальном варианте Вашего кода восстановления исходных значений не было, кажется.
Повнимательней посмотрев на новый код я вижу что Вы по очереди нагружаете узлы. Для чего это я пока не пойму, но наверное это зачем-то нужно. Может какие коэффициенты влияния посчитать. Тогда действительно, утяжеление Вам не подойдет.
Профиль
Наверх
oReg Rotanov
Посетитель
Всего сообщений:
12
Дата регистрации:
14.03.2012
Создано:
16.03.2012 17:24:32
Спасибо за разъяснения. На момент все прояснилось.
Профиль
Наверх
Читают тему
гостей:
1
, пользователей:
0
, из них скрытых:
0
Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация
Программный комплекс «RastrWin»
© «RastrWin», 1988-2019