В статье «Моделирование РЗА. Часть первая.» нам удалось записать файл в формате 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 Гц.
Продолжение следует…
Приложение к материалу можно скачать здесь.
Содержание приложения:
- Protection.m – основной файл-сценарий расчета.
- fourier_calc.m – функция дискретного преобразования Фурье.
- comtrade_generator.m – генератор файлов Comtrade.
- channel.m – вспомогательная функция генератора Comtrade.
- M.slx – модель энергосистемы в MATLAB Simulink
Для расчета достаточно запустить основной сценарий «Protection.m».