В данном примере показан вариант реализации макроса в RastrWin, который записывает информацию о напряжениях в выбранных узлах расчетной схемы в книгу Excel.
Данный макрос может пригодиться, когда необходимо оперативно проанализировать уровни напряжения в отдельно взятых узлах расчетной схемы.
'********************************** Код макроса '**********************************
save_exl=1
' 1- Разрешаем запись данных в Excel, 0- запрещаем
' Объявляем переменную, в которую будет занесена Таблица с необходимыми узлами.
' Необходимо для переменной iUserNode задать расчетные узлы.
dim iUserNode
iUserNode = Array("524719","524702","524727","524710")
' Объявляем переменную, в которой будет хранится информация об узлах и напряжениях расчетной схемы. Информация для Excel
dim iExcelNodeTabl (99)
'********************************** Тело программы
Set Tnode=Rastr.Tables("node")
'Поиск необходимых узлов и формирование матрицы iExcelNodeTabl
For k=0 to UBound(iUserNode)
For j=0 to Tnode.Count-1
if Tnode.Cols("ny").ZS(j)=iUserNode(k) then
iExcelNodeTabl (2*k) = Tnode.Cols("ny").ZS(j) & " | " & Tnode.Cols("name").ZS(j)
iExcelNodeTabl(2*k+1) = Tnode.Cols("vras").ZS(j)
end if
next
next
'********************************** Вывод данных в Excel
'Создание в Excel главной строки (шапка таблицы)
if save_exl=1 then
Set Excel = CreateObject("Excel.Application")
Excel.SheetsInNewWorkbook = 1
Excel.Workbooks.Add
Set ExWs = Excel.worksheets(1)
ExWs.Cells(1,1)= "№ узла"
ExWs.Cells(1,2)="Напряжение в узле"
end if
'Выгрузка в Excel матрицы с напряжениями в узлах
For i=0 to UBound(iUserNode)
if save_exl=1 then
ExWs.Cells(i+2,1)=iExcelNodeTabl (2*i)
ExWs.Cells(i+2,2)=iExcelNodeTabl(2*i+1)
end if
next
'Выводим на экран Excel с записанными в нее данными
if save_exl=1 then
Excel.Visible = 1
end if
'********************************** Конец '**********************************
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Рассмотрим небольшую модификацию программы.
Инструкция <Set Tnode=Rastr.Tables("node")> переписывает в переменную Tnode полную информацию об узлах расчетной схемы. Данная информация храниться в строгой иерархии (последовательности) и к хранящейся информации можно обратиться и вывести ее на экран.
Так, например, переменная Tnode.Count показывает сколько узлов в расчетной модели.
Переменная Tnode.Cols("XXX").ZS(YYY) позволяет обратиться к данным, которые находятся в строке “YYY” (узел расчетной схемы) и в столбце «XXX» (название переменной, которую нужно вывести).
Значение "YYY" может быть в диапазоне от “0” до “Tnode.Count-1”
Значение "XXX" может принимать одно из разрешенных наименований:
sta - состояние узла , tip - тип узла , ny - номер узла, name - название узла , uhom- номинальное напряжение, nsx – номер статической характеристики нагрузки
na – номер района, pn –нагрузка - значение активной мощности в узле, qn – нагрузка -значение реактивной мощности в узле, pg – генерация - значение активной мощности в узле , qg – генерация --значение реактивной мощности в узле, vzd – заданный модуль напряжения
vras – расчетный модуль напряжения, delta – расчетный угол напряжения
.......... и т.д.
В результате изменяя представленный код программы можно выводить в Excel различную информацию об узлах (заданные нагрузки в узлах, расчетные уровни напряжений, мощность шунтов в отдельных узлах и т.д.).
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Another essential reason to modify to solar technology could be the financial savings it gives. Solar panel systems are designed for generating electricity for businesses, reducing or eliminating the...
Say thank you you an eye to sharing this!
analxxx.one/categories/mature/
It’s every time attractive to espy distinguishable perspectives on this topic.
I rate the creation and detail put...
Choosing from BookMyEssay ensures your academic papers are professionally crafted, plagiarism-free, and well-structured. BookMyEssay’s team of expert writers covers diverse subjects, delivering...