Программа, которая отображает количество каждого элемента в Системной сетке 39 автобусов Новой Англии с использованием языка программирования DIgSILENT (DPL).

Введение

В этом уроке я хочу поделиться уроком о языке программирования DIgSILENT (DPL): подсчет элементов сетки. Вещи, которые необходимо подготовить, чтобы следовать этому руководству:

  1. Установлено программное обеспечение DIgSILENT PowerFactory.
  2. Файл PFD системной сети 39-Bus New England.

А. Этап подготовки

Спецификация программы

Программа должна соответствовать спецификациям со следующими деталями.

  1. Эта программа может обнаруживать клеммы, сборные шины, генераторы, линии и двухобмоточные трансформаторы в системе Grid 39 Bus New England.
  2. Эта программа может подсчитывать количество элементов каждого типа (терминал, сборная шина, генератор, линия и двухобмоточный трансформатор).
  3. Эта программа может отображать результаты расчетов в окне вывода программного обеспечения DIgSILENT PowerFactory.

Дизайн вывода программы

Ниже приведен окончательный дизайн ожидаемого отображения выходных данных программы. Этот дизайн был адаптирован к спецификациям программы, чтобы пользователям было проще понять результаты расчета сценария DPL.

[Program Output Design]
Num. of Terminal = x
Num. of Busbar = x
Num. of Generator = x
Num. of Line = x
Num. of 2-Winding Trafo = x

B. Этап программирования

Ниже приведен исходный код программы, который разделен на три части, а именно:

  1. Документация — это раздел, содержащий важную информацию в виде комментариев (неисполняемого кода). Обычно эта информация может быть в виде имени программы, имени автора и описания программы.
  2. Словарь — это часть, которая определяет тип переменных, используемых в скрипте (объект, набор, целое число, строка, двойное число).
  3. Алгоритм — это часть, которая процедурно выполняет код/команду для реализации дизайна проекта и спецификаций программы, которые были определены ранее.
!Title: GRID INFO PROGRAM
!Author: Jonathan Fedrico Simorangkir
!Date: July 2022
!Code Version: 1.0
!Availability:
!Descriptions:
!1) This program can detect Terminal, Busbar, Generator, Line, and 2-Winding Transformer elements on the Grid 39 Bus New England System.
!2) This program can count the number of each type of element (Terminal, Busbar, Generator, Line, and 2-Winding Transformer).
!3) This program can display the calculation results in the Output Window of DiGSILENT PowerFactory software.
!---------------------------
!DICTIONARY
object term,gen,line,trf;
set TERMs,GENs,LINEs,TRFs;
int ctr;
!---------------------------
 
!ALGORITHM
ClearOutput();
TERMs=AllRelevant('*.ElmTerm');
GENs=AllRelevant('*.ElmSym');
LINEs=AllRelevant('*.ElmLne');
TRFs=AllRelevant('*.ElmTr2');
!calculating amount of each element
!--TERMINAL
ctr=0;
for(term=TERMs.First();term;term=TERMs.Next()){
  ctr+=1;
}
printf('Num. of Terminal = %d',ctr);
!--BUSBAR
ctr=0;
for(term=TERMs.First();term;term=TERMs.Next()){
  if(term:iUsage=0){
    ctr+=1;
  }
}
printf('Num. of Busbar = %d',ctr);
!--GENERATOR
ctr=0;
for(gen=GENs.First();gen;gen=GENs.Next()){
  ctr+=1;
}
printf('Num. of Generator = %d',ctr);
!--LINE
ctr=0;
for(line=LINEs.First();line;line=LINEs.Next()){
  ctr+=1;
}
printf('Num. of Line = %d',ctr);
!--2 WINDING TRAFO
ctr=0;
for(trf=TRFs.First();trf;trf=TRFs.Next()){
  ctr+=1;
}
printf('Num. of 2-Winding Trafo = %d',ctr);

C. Этап выполнения программы

Ниже приведен результат выполнения программы в окне вывода DIgSILENT PowerFactory.

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

Ссылка

Документация DIgSILENT PowerFactory