На главную страницу RastrWin

Форум «Макро»


Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация

Сообщения 26 - 47 из 47
Начало | Пред. | 1 2 | След. | Конец 

Тема: «Расчет динамики » в форуме: Макро   Просмотров: 40584
 
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 25.09.2019 22:01:46
 
 
Если кому надо - макрос, который очищает таблицы АЛАР в RUSTab от мусора. Полезен для переноса АЛАР из одного файла модели в другой, и вообще, для окружающей среды.

Никаких гарантий. Если найдете ошибки - жалуйтесь или предлагайте исправления.
 
Профиль
Наверх
ale
Заслуженный посетитель
 
Всего сообщений: 270
Дата регистрации: 31.03.2009
Создано: 26.09.2019 07:52:00
 
 
А что за мусор? можно же наверное через csv перекинуть?
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 26.09.2019 17:29:16
 
 
Ну вот намутили мы с Вами АЛАР dz/dt. По 4 элементарных зоны в грубой и чувствительной в каких-то комбинациях. Потом взяли и удалили этот АЛАР и ставим, скажем, КПА-М. АЛАР-то мы удалили, а вот все из чего он состоял (зоны, комбинации и пр.) в БД останется. Если мы начнем объединять модели (пусть даже через csv) могут вылезти проблемы с дублирующимися идентификаторами.
 
Профиль
Наверх
Михаил Реутов
Постоянный посетитель
 
Всего сообщений: 224
Дата регистрации: 21.11.2007
Создано: 16.10.2019 12:44:26
 
 
Приветствую.

Новую тему создавать не буду, так как мои вопросы связаны с расчетами динамики и макропрограммирование. В самих расчетах динамики разбираюсь не очень, мне интересен расчет динамики с точки зрения его расчета макросом.

Метод FWDynamic.Run() запускает расчет ЭМПП в режиме аналогичном, используемому командой пользовательского интерфейса ?Динамика?. В процессе расчета результаты сохраняются в *.sna ? файл в соответствии с настройками, заданными в параметрах динамики. Расчет выполняется на всем заданном интервале времени.

Метод FWDynamic.MacroControl.Pr­oceed(Time) выполняет расчет ЭМПП на интервале времени от FWDynamic.MacroControl.Ti­me до FWDynamic.MacroControl.Ti­me + Time.

В чем разница между этими двумя способами расчета ЭМПП? Возможностью во втором случае в процессе выполнения макроса "посмотреть" контролируемые величины?
Если я запущу WDynamic.MacroControl.Pro­ceed(FWDynamic.TotalTime)­, то это будет аналогично FWDynamic.Run()?


 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 16.10.2019 14:29:51
 
 
Здравствуйте,
Да.
Вопросы пожалуйста в СД. У нас перестали принимать работу, сделанную для СО по телефону, на форуме и в почте.
 
Профиль
Наверх
ale
Заслуженный посетитель
 
Всего сообщений: 270
Дата регистрации: 31.03.2009
Создано: 16.10.2019 14:59:36
 
 
А как тогда остальным? И сайт тогда станет не особо нужным.
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 16.10.2019 15:23:35
 
 
Ладно сайт...
 
Профиль
Наверх
Мария
Заглянувший
 
Всего сообщений: 2
Дата регистрации: 07.01.2021
Создано: 07.01.2021 20:26:20
 
 
Добрый день!

После расчета динамики в RUSTab есть возможность посмотреть активное и реактивное сопротивления на графике (ПКМ на ветви - графики - импенданс). Подскажите, пожалуйста, с помощью GetChainedGraphSnapshot()­ хочу вытащить эти параметры из таблицы, в какой таблице они хранятся и как называются?

Также возник вопрос, при следующих параметрах GetChainedGraphSnapshot("­vetv", "v_ip", 0, 0) возникает ошибка: "Значение не попадает в ожидаемый диапазон", с чем это может быть связано?
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 09.01.2021 17:05:59
 
 
Здравствуйте Мария

Цитата
После расчета динамики в RUSTab есть возможность посмотреть активное и реактивное сопротивления на графике (ПКМ на ветви - графики - импенданс). Подскажите, пожалуйста, с помощью GetChainedGraphSnapshot()­­ хочу вытащить эти параметры из таблицы, в какой таблице они хранятся и как называются?

Подсказываю. Если Вы внимательно читали раздел 20.3 в руководстве, то знаете, что результаты расчетов не хранятся в таблицах. Упомянутый раздел посвящен добыче результатов расчета и содержит законченный пример записи выбранных значений в XL. Параметры, которые Вам нужны называются zr, zx, zre, zxe.

Цитата
Также возник вопрос, при следующих параметрах GetChainedGraphSnapshot("­­vetv", "v_ip", 0, 0) возникает ошибка: "Значение не попадает в ожидаемый диапазон", с чем это может быть связано?

Это может быть связано с тем что Вы написали какое-то рандомное значение в поле нужного параметра. Динамика не рассчитывает v_ip. Динамика вообще ничего не рассчитывает по ветвям. Все нужные данные по ним считаются при запросе уже внутри GetChainedGraphSnapshot. Если Вы хотите получить напряжение в начале - то возьмите напряжение непосредственно с узла начала. v_ip это ссылка на напряжение узла начала и работает только внутри БД. БД, в свою очередь, не умеет работать с графиками.

Уточните Ваш статус: лицензированный пользователь, студент, энтузиаст, другое. Это нужно для того чтобы мы правильно распоряжались нашим общим временем.
 
Профиль
Наверх
Мария
Заглянувший
 
Всего сообщений: 2
Дата регистрации: 07.01.2021
Создано: 11.01.2021 07:30:39
 
 
Евгений Машалов, спасибо! Была установлена старая версия, в которой отсутствовал раздел 20.3.

Статус: лицензированный пользователь.
Необходимо зарегистрировать данное обращение в СД? (прочитала после публикации сообщения)
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 11.01.2021 17:42:54
 
 
Безусловно
 
Профиль
Наверх
Игорь Бессонов
Посетитель
 
Всего сообщений: 27
Дата регистрации: 09.10.2013
Создано: 21.04.2022 13:18:21
 
 
Добрый день! Подскажите, пожалуйста, чем может быть обусловлено появление сообщения в протоколе: CCommandSocket - Ошибка соединения 274dd с localhost:a3e9d in at line 1
 
Профиль
Наверх
Игорь Бессонов
Посетитель
 
Всего сообщений: 27
Дата регистрации: 09.10.2013
Создано: 21.04.2022 14:31:27
 
 
Ещё пара вопросов. Функцией GetChainedGraphSnapshot не пользуюсь, данные читаю в цикле:
Код

Set spFWDynamic = Rastr.FWDynamic
Set spMacroControl = spFWDynamic.MacroControl
Set spValues = spMacroControl.Values
spMacroControl.Start
spMacroControl.Proceed(4)­
for i = 0 to spValues.Count-1
     Set spVal = spValues(i)
     for each val in spVal.Value
            Rastr.PrintP "val = " &val
    next
next
spMacroControl.Stop
Set spFWDynamic = Nothing
Set spMacroControl = Nothing
Set spValues = Nothing

Код многократно вызывается в цикле. Некоторое количество расчётов проходит как надо, но затем
1) либо возникает ошибка: "Значение не попадает в ожидаемый диапазон".
либо 2) на строку spMacroControl.Start сообщает, что инициализация уже выполнялась.
Подскажите, пожалуйста, куда копать
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 22.04.2022 00:11:29
 
 
По первому вопросу - ошибка сетевого подключения, которое нужно для передачи данных в окно графиков реального времени от контролируемых величин. Если их не использовать ошибка возникать не будет.

По второму - не могу сказать. Надо более подробные данные с моделькой и описанием как такое получается.
 
Профиль
Наверх
Игорь Бессонов
Посетитель
 
Всего сообщений: 27
Дата регистрации: 09.10.2013
Создано: 26.04.2022 23:46:16
 
 
Добрый день! Выполнил аналогичные расчёты на тестовой модели test9.rst, которая шла в составе пакета РУСТАБ. Результат тот же, только отличается количество выполненных расчётов динамики до возникновения ошибки (в данном случае прервалось после 68 циклов с Proceed).
Кроме того, вышеприведенный код обернул в цикл, на каждом шаге минимально менял параметр в действиях (DT). Расчёт так же завершается аварийно после 68 расчётов.
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 27.04.2022 01:13:19
 
 
Я думаю что в оболочке с окнами, да еще и с графиками реального времени такие расчеты выполнять не стоит. Там одно рисование графиков может и память и CPU нагрузить. Я вот в обычной консольке запустил 1000 расчетов и никаких проблем. Даже память ровно стояла, в отличие от расчета под оболочкой. Скрипт запускать через csctript. Проект на ссылке. Единственное - в консоль выдается туча всего от компрессора результатов. Но тут уж ничего не поделаешь. Для RUSTab я этот модуль давно не обновлял, потому что сделал форк для linux.

Для всяких массовых расчетов есть RunEMSMode. Он занимается тупо вычислениями, без всяких результатов и графиков реального времени.

Есть и другой вариант - для смелых. Насчитать консолью нужное количество режимов, а потом потрошить файлы результатов. Там вообще все данные есть какие душе угодно. Народ вон так пытался научить нейронную сеть считать переходные процессы.
 
Профиль
Наверх
Игорь Бессонов
Посетитель
 
Всего сообщений: 27
Дата регистрации: 09.10.2013
Создано: 28.04.2022 12:47:19
 
 
Спасибо за ответ! Наверное придётся с консольным вариантом разбираться плотнее.
А у RunEMSMode выявился вот такой момент. При провороте генератора, тем не менее возвращается SYNC_LOSS_NONE = 0
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 28.04.2022 22:30:40
 
 
А чего там разбираться. Все то же самое, только CreateObject.

Если Вы уверены в том что проворот не ловится - можете выложить пример с пояснениями на файлообменник. Посмотрим. В промышленном применении после 07.12.21 жалоб вроде бы не было. В это время я капитально переделал фиксацию проворотов.
 
Профиль
Наверх
Игорь Бессонов
Посетитель
 
Всего сообщений: 27
Дата регистрации: 09.10.2013
Создано: 05.05.2022 13:51:01
 
 
Спасибо за ответ.
Да, вызов из VBA Excel решил проблему аварийных завершений.
За проворотом понаблюдаю пристальней. После изменения модели и условий больше не проявляется
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 05.05.2022 14:49:35
 
 
В пределе вообще на сервере считать надо бы без всяких интерфейсов.
 
Профиль
Наверх
Игорь Бессонов
Посетитель
 
Всего сообщений: 27
Дата регистрации: 09.10.2013
Создано: 05.05.2022 19:45:23
 
 
Цитата
после 07.12.21 жалоб вроде бы не было. В это время я капитально переделал фиксацию проворотов

Скажите, а это в виде какого то патча существует?
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 05.05.2022 20:34:44
 
 
Существует. Они все в СО идут по мере необходимости.
 
Профиль
Наверх


Сообщения 26 - 47 из 47
Начало | Пред. | 1 2 | След. | Конец 

Читают тему
гостей: 1, пользователей: 0, из них скрытых: 0


Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация





Работает на «Битрикс: Управление сайтом» © «Битрикс», 2001-2006