Loading...

Моделирование РЗА. Ч.2. Дискретное преобразование Фурье

В статье «Моделирование РЗА. Часть первая.» нам удалось записать файл в формате Comtrade, содержащий токи режима КЗ, воспроизведенного на тестовой модели энергосистемы в среде MATLAB Simulink.

Далее перейдем к созданию цифровой модели устройства РЗА, которая позволит нам протестировать поведение защиты в данном режиме КЗ и других режимах работы энергосистемы.

Ограничим задачу моделирования рамками максимальной токовой защиты, упрощенный алгоритм функционирования которой приведен на рисунке 1.

Рисунок 1. Алгоритм максимальной токовой защиты 

Моделирование РЗА: создание цифровой модели

В рамках этой работы нам потребуется решить три основные задачи:

— выполнить цифровую обработку сигналов осциллограммы для получения интегральных параметров – действующих значений токов основной частоты 50 Гц;

— разработать и реализовать алгоритм пускового органа максимальной токовой защиты, который выполняет сравнение интегральных параметров сигналов с уставкой срабатывания;

— создать модель логической части алгоритма функционирования защиты и объединить между собой все части модели.

Дискретная форма представления сигналов 

Сигналы токов, полученные с модели MATLAB Simulink, представлены в дискретном виде с постоянной частотой дискретизации – последовательность мгновенных значений сигналов, зафиксированных через равные интервалы времени. Подобное представление имеют сигналы токов и напряжений на выходе аналого-цифровых преобразователей (АЦП) устройств РЗА.

Пример дискретного сигнала приведен на рисунке 2. Пунктирной кривой зеленого цвета показан исходный непрерывный сигнал, окружностями красного цвета – его дискретный эквивалент – мгновенные значения («A0», «A1» и «A2»), зафиксированные на интервале времени от «t0» (текущий момент времени) до «t2» с постоянным шагом дискретизации «TS». Величина, обратная шагу дискретизации «TS», носит название частоты дискретизации. Обозначим ее «FS».

Рисунок 2.  Пример дискретного сигнала 

В файле Comtrade, полученном с тестовой модели, шаг дискретизации «TS» составляет 500 мкс, что соответствует частоте дискретизации «FS», равной 2000 Гц, и количеству выборок на период основной частоты сигнала «NS», равному 40.

Цифровая обработка сигналов

Работа алгоритма максимальной токовой защиты, как правило, основана на сравнении действующего значения первой гармонической составляющей измеренного тока с уставкой срабатывания.

Дискретное преобразование Фурье

Для выделения действующего значения гармоник сигналов воспользуемся фильтрацией с помощью дискретного преобразования Фурье по формуле:

Текст m-функции в программе MATLAB, реализующей вычисление действующего значения с помощью дискретного преобразования Фурье приведен ниже:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [Ak] = fourier_calc(A, k)

global Ns;

global n;

ak=2/Ns*sum(A.*cos(k*2*pi.*n/Ns));

bk=-2/Ns*sum(A.*sin(k*2*pi.*n/Ns));

Ak=((ak^2+bk^2)/2)^0.5;

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Расчет действующего значения первой гармоники с помощью данной функции будем производить на каждом шаге дискретизации при получении каждой новой выборки, используя вновь полученное значение выборки и 39 значений выборок сигнала (Ns-1), полученных на предыдущих шагах дискретизации.

Ниже представлен текст «Protection.m» файла-сценария в программе MATLAB, который обеспечивает:

  • запуск на расчет модели энергосистемы в MATLAB Simulink и выгрузку результатов расчета режима КЗ в рабочую область программы;
  • вычисление действующих значений токов;
  • запись в формат Comtrade мгновенных значений токов, полученных из MATLAB Simulink, и действующих значений, рассчитанных в данном файле.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear all

close all

%%%%%%%%%Исходные данные%%%%%%%%%%

global Ns, Ns=40; %количество выборок на период сигнала — глобальная переменная (используется в м-функциях и Simulink-моделях)

global n,  n=0:Ns-1; %порядковый номер выборки в анализируемом окне — глобальная переменная (используется в м-функциях)

Моделирование КЗ

sim(‘M.slx’) %запуск Simulink-модели на расчет

%%%%%%%%%Вычисления%%%%%%%%%%%

for m=1:fix(length(DATA)) %Вычисления выполняем на каждом шаге получения нового значения выборок сигналов токов

    if m>=Ns %имеющееся количество выборок достаточно для выполнения расчета ДПФ

        Ia=(DATA(m:-1:m-(Ns-1),1))’;

        Ib=(DATA(m:-1:m-(Ns-1),2))’;

        Ic=(DATA(m:-1:m-(Ns-1),3))’;

    else %имеющееся количество выборок недостаточно для выполнения расчета ДПФ -> дополняем нулевыми значениями

        Ia=[(DATA(m:-1:1,1))’,zeros(1,Ns-m)];

        Ib=[(DATA(m:-1:1,2))’,zeros(1,Ns-m)];

        Ic=[(DATA(m:-1:1,3))’,zeros(1,Ns-m)];

    end

%%%%%%%вычисление ДПФ%%%%%%%%%%

    [Ia50(m)]=fourier_calc(Ia,1);

    [Ib50(m)]=fourier_calc(Ib,1);

    [Ic50(m)]=fourier_calc(Ic,1);

end

%%%%%%%%%Запись в Comtrade%%%%%%%%%%

DATA_ctr=[DATA, Ia50′, Ib50′, Ic50′]; %формирование массивы выходных данных

comtrade_generator; %запуск сценария генератора comtrade

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Запустим «Protection.m» на расчет и откроем осциллограмму «Osc», записанную MATLAB, в программе для просмотра и анализа осциллограмм «KIWI-Viewer». Как видно из рисунка 3 действующие значения, рассчитанные в программе MATLAB и в программе «KIWI-Viewer», совпадают.

 Рисунок 3. Осциллограмма «Osc» 

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

Особенности моделирования РЗА

Строго говоря, приведенные формулы расчета действующего значения дают достоверный результат в случае, если основная частота сети совпадает с фундаментальным значением 50 Гц. При несовпадении данных частот, приведенный порядок расчета действующих значений не будет корректен и приведет к появлению погрешностей. В устройствах РЗА, использующих постоянную частоту дискретизации, применяют специальные мероприятия, позволяющие решить указанную проблему. Например — программную передискретизацию измеренных сигналов. А мы продолжим наше моделирования используя тестовые сигналы частотой 50 Гц.

Продолжение следует…

Приложение к материалу можно скачать здесь.

Содержание приложения:

  1. Protection.m – основной файл-сценарий расчета.
  2. fourier_calc.m – функция дискретного преобразования Фурье.
  3. comtrade_generator.m – генератор файлов Comtrade.
  4. channel.m – вспомогательная функция генератора Comtrade.
  5. M.slx – модель энергосистемы в MATLAB Simulink

Для расчета достаточно запустить основной сценарий «Protection.m».