Программа определения места повреждения на воздушной линии электропередачи, страница 14

    do iMP=1,NPhMP    - Цикл по строкам

      i=Cxema(iMP)

      if (i/=0 .and. j/=0) Y(i,j)=Y(i,j)+YMP(iMP,jMP)

    end do

  end do

end subroutine

2.2.8 Процедура формирования матрицы узловых проводимостей       мно­гополюсника-вредителя

subroutine DevelopYfault(kindKZ,r,Yfault,NPhFI,kfaseMP,kz)

Входными параметрами являются: вид короткого замыкания KindKZ , со­противление короткого замыкания R, количество фаз неповрежденного многопо­люсника. Выходными параметрами являются: матрица Yfault многополюсника – вредителя, количество фаз NphFI многополюсника вредителя.

integer*2::kindKZ,NPhFI,kfaseMP,i,j

integer*2::kz(2)

Размерность матрицы Yfault определяется количеством фаз неповрежден­ного многополюсника

real*4::YFault(kfaseMP,kfaseMP)

 real*4:: r

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

NPhFI=2

 Обнуляем матрицу Y многополюсника вредителя:

Yfault=0

Перебираем различные виды коротких замыканий                

select case(kindKZ)

          Однофазные короткие замыкания:

                       case(10) - Замыкание фазы "А" на землю

                               i=1

                       case(20)  - Замыкание фазы "В" на землю

                               i=2

                       case(30)  - Замыкание фазы "С" на землю

                               i=3

          Двухфазные короткие замыкания:

                       case(12) - Двухфазное замыкание "АВ"

                               i=1;j=2

                       case(23) - Двухфазное замыкание "BC"

                               i=2;j=3

                       case(13)  - Двухфазное замыкание "AC"

                               i=1;j=3

                      end select

Формируем схему подключения фаз многополюсника вредителя к месту по­вреждения для различных видов коротких замыканий.                    

kz=(/i,j/)

          Для различных видов коротких замыканий формируем матрицу Y многопо­люсника – вредителя.

                     Yfault(j,j)=1/r   

                     Yfault(i,i)=1/r

                     Yfault(i,j)=-1/r

                     Yfault(j,i)=-1/r

          end subroutine

end module  

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

2.3 Процедура ОМП как компонента программы «Маскарад»

2.3.1 Вызов процедуры ОМП в программе «Маскарад»

Поскольку заданием не предусматривалась программирование диалоговых средств ведения базы данных, то для отладки расчётного модуля ОМП было ре­шено использовать модификацию пакета данных с заказом на расчёт режима. В нём нужно  указать номер поврежденного многополюсника, вид короткого замы­кания и признак того, что заказ на расчёт режима следует трактовать как заказ на ОМП. Номер поврежденного многополюсника указывается в поле «максимальные небалансы мощностей в фазах узла», вид короткого замыкания указывается в поле «число итераций», признак заказа ОМП указывается в поле «максимальные неба­лансы мощностей в фазах нелинейного МП», то есть в этом поле должен стоять «0». Вид короткого замыкания указывается следующим образом:

Однофазные короткие замыкания:

Замыкание фазы «А» на землю – «10»

Замыкание фазы «В» на землю – «20»

Замыкание фазы «С» на землю – «30»

Двухфазные короткие замыкания:

Двухфазное корткое замыкание «АВ» - «12»

Двухфазное корткое замыкание «АС» - «13»

Двухфазное корткое замыкание «ВС» - «23»

2.3.2 Процедура ОМП

Процедура определение места повреждения (ОМП) описана в Фортран – мо­дуле «OMP»

module OMP

use OMPData – Описание процедур используемых целевой функцией

use Blk2Fctr – Двойная  факторизация скелета структурно симметричной матрицы