Скачиваний:
201
Добавлен:
02.05.2014
Размер:
4.99 Mб
Скачать

Щелкните по Add (добавить). Вполе Prompt (подсказка), введите

Nominal voltage (номинальное напряжение) (Volts rms

(Вольты, действующее значение)):

Вполе Variable (переменная), введите имя переменной, связанное с этим полем.

Vnom

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

Nominal frequency (номинальная частота) (Hz): fnom Unsaturated inductance (ненасыщамая индуктивность) (H): L Saturation characteristic (характеристика насыщения) [i1 (pu) phi1 (pu); i2 phi2; ...]: sat

Вполе Initialization commands (инициализация команд), напечатайте следующие команды MATLAB. Этоткод готовитдва вектора Current_vect и Flux_vect, которые нужно использовать в блоке Look-Up table (таблица соответствия) модели.

% Define base current and Flux for p.u. system (Определить основной по-

ток и поток для о.е. системы) I_base=Vnom·sqrt(2)/(L·2·pi·fnom); Phi_base=Vnom·sqrt(2)/(2·pi·fnom);

%Check first two points of the saturation characteristic (Проверить сначала две точки характеристики насыщения)

if ~all(all(sat(1:2,:)==[0 0; 1 1])),

h=errordlg('The first two points of the characteristic must be (первые две точки характеристики должны быть) [0 0; 1 1]','Error');

uiwait(h); end

%Complete negative part of saturation characteristic (Завершите

отрицательную часть характеристики насыщенности) [npoints,ncol]=size(sat);

sat1=[sat ; -sat(2:npoints,:)]; sat1=sort(sat1);

% Current vector (A) and flux vector (V.s) (Вектор тока (A) и вектор потока (В·с))

Current_vect=sat1(:,1)·I_base;

Flux_vect=sat1(:,2)·Phi_base;

81

Поскольку характеристика насыщения определена только в первом квадранте, три строки программы добавлены, чтобы завершить отрицательную часть характеристики насыщения. Обратите внимание на то, как проверяется первый сегментхарактеристики насыщения. Этотсегментдолжен быть определена двумя точками [0 0; 1 1] — определение номинального значения индуктивность равного 1 о.е. для первого сегмента.

Нажмите на кнопке OK, чтобы закрыть окно Mask Editor (редактора маски). Щелкните дважды на значке вашего маскированного блока. Откроется окно с пустыми полями. Введите значения как показано на рисунке 1-24.

Рисунок 1-24: Диалоговое окно Вашей нелинейной индуктивности

Прежде, чем Вы будете использовать маскированный блок, Вы должны применить две внутренние переменные, определенные в поле инициализации к блоку Look-Up table (таблица соответствия). Выберите ваш блок и, в меню Edit (редактирование), выберите Look Under Mask (посмотреть под маску).

Откроется подсистема нелинейная индуктивности. Откройте диалоговое окно блока Look-Up table (таблица соответствия), и введите следующие имена переменной в эти два поля.

Vector of input values (flux) (вектор входных значений (поток)): Flux_vect

Vector of output values (current) (Вектор выходных значений (ток)):Current_vect

Закройте подсистему нелинейную индуктивности, и запустите моделирование. Вы должны получить те же самые кривые, которые представлены на рисунке 1-23.

Значок блока

Вэтом разделе Вы изучите, как настроить значок вашего блока, чтобы сделать его более привлекательным.

82

Выберите ваш блок и, в меню Edit (редактирование), выберите Edit Mask (редактировать маску). Откроется окно Mask Editor (редактор маски). Выберите вкладку Icon (значок).

Вполе Drawing commands (команды рисования), Вы можете определить любой рисунок, который будетпоявляться на вашем блоке, используя графические функции. Вы, например, можете построить график поток в функции тока для вашей индуктивности.

Помните, что токи и потоки нелинейной характеристики сохранены соответственно в Current_vect и Flux_vect внутренних переменных маскированного блока. Напечатайте следующую команду в поле Drawing commands (команд рисования).

plot(Current_vect,Flux_vect)

Нажмите кнопку Apply (применить), и обратите внимание, на то, что характеристика насыщения отобразилась на значке блока. Обратите внимание также, на то, что исчезли имена входа и выхода.

Чтобы сделать их видимыми, во всплывающем меню Icon transparency (прозрачности значка), выберите Transparent (прозрачность). Нажмите на OK, чтобы закрыть окно Mask Editor (редактор маски).

83

Документацияпо блоку

Вэтом разделе, Вы добавите документацию, появляющуюся в диалоговом окне вашего блока. Выберите ваш блок и, в меню Edit (редактирование), выберите Edit Mask (редактор маски). Откроется окно Mask Editor (редактора маски).

Рисунок 1-25: Окно значка и документации редактора маски

Выберите вкладку Documentation (документация), и введите в поле Block description (описание блока) текст, показанный в диалоговом окне на рисунке 1-26. Потом, нажмите на OK, чтобы закрыть окно Mask Editor (редактора маски). Вследующий раз, когдаВы дважды щелкнете на вашем блоке, это описание, будетпоявляться на диалоговом окне блока.

84

Рисунок 1-26: диалоговое окно блокас его документацией

Моделирование нелинейного сопротивления

Методика моделирования нелинейного сопротивления подобна методики моделирования нелинейной индуктивности.

Мы используем как пример metal-oxide varistor (MOV) (металл-окись варистор) имеющий следующую V-I характеристику, определяемую уравнением

i = Io u αUo

где

U, i = мгновенное напряжение и ток Uo = напряжение защиты

Io = рекомендуемый ток, который определяет напряжение защиты

α = экспонента, определяющая нелинейную характеристику (10 ÷ 50)

85

На рисунке 1-27 показано, включение такого нелинейного сопротивления, для моделирования защиты аппаратуры электрической сети на 120 кВ. Для упрощения схемы, представлена только одна фаза схемы.

Рисунок 1-27: Нелинейное сопротивление, включенное в электрическую сеть напряжением 120 kV

Используя блоки библиотеки powerlib и Simulink, постройте схему представленную на рисунке 1-27. Сгруппируйте все блоки, моделирующие нелинейную модель, в подсистему по имени Nonlinear Resistance (нелинейное сопротивление). Используйте блоки X-Y Graph (диаграмма X-Y), чтобы построить V-I характеристику подсистемы Nonlinear Resistance (нелинейное сопротивление).

Обратите внимание на то, что модель не используетблок Look-Up Table (таблица соответствия) как в случае модели нелинейной индуктивности. Так как аналитическое выражение тока в функции напряжения известна, нелинейная характеристика i(U) рассчитывается непосредственно с помощью блока Fcn из библиотеки Fcn & Tables системы Simulink.

86

Эта модель с чисто активным сопротивлением не содержитникаких состояний. Эта схема содержиталгебраический цикл в представлении statespace (состояние – пространство) схемы, как показано на рисунке 1-28. Смотри раздел 4, «Block Reference» («Справочное руководство по блокам») для более подробной информации, как работаетбиблиотека Power System Blockset.

Рисунок 1-28: Алгебраический цикл, представленный нелинейной моделью сопротивления

Хоть Simulink и можетрешать алгебраические циклы, но это может привести к медленному расчету модели. Поэтому рекомендуется разрушать цикл блоком, который не будетизменять нелинейную характеристику. Мы добавили в устройство апериодическое звено H (s) =1 / (1+Ts), с очень малой постоянной времени (T=0.01 μs).

Используя методы, описанные для блока нелинейной индуктивности, замаскируйте и настроите ваш блок нелинейного сопротивления, как показано на рисунке 1-29.

87

Рисунок 1-29: Диалоговое окно блока нелинейного сопротивления

Откройте диалоговое окно вашего нового маскированного блока, и введите параметры, показанные на рисунке 1-29. Обратите внимание на то, что на напряжение защиты Uo равно 2 о.е. номинального напряжения. Скорректируйте напряжение источника равное 2.3 о.е., введяследующую амплитуду.

120e3/sqrt(3)·sqrt(2)·2.3

Сохраните вашу схему под именем circuit8.

Используя алгоритма интегрирования ode23tb, смоделируйте вашу схему circuit8 для t=0.1 c. Результаты показаны на рисунке 1-30.

88

Рисунок 1-30: Кривые тока и напряжения, и V-I характеристика, которая построена с помощью блока график X-Y Graph (диаграмма X-Y)

89

Создание вашей собственной библиотеки

Simulink даетВам возможность создать вашу собственную библиотеку блоков Power System Blockset. Чтобы создать библиотеку, в меню File (файл) выберите позицию New Library (новая библиотека). Откроется новое окно Simulink по имени Library: untitled (библиотека: неназванный). Теперь скопируйте блок Nonlinear Inductance (нелинейной индуктивности) из вашего файла circuit7 и блок Nonlinear Resistance (нелинейного сопротивления) из circuit8 в эту библиотеку. Сохраните эту библиотеку под именем my_PSBlibrary. Вследующий раз, когда Вы будите строить новую модель, Вы сможете добавите её в вашу личную библиотеку. Вы можете также организовать вашу библиотеку в различных подбиблиотеках согласно их функциям, так как это сделано в библиотеке powerlib.

Рисунок 1-31: Блоки Nonlinear Inductance (нелинейной индуктивности) и Resistance (сопротивления) в my_PSBlibrary

Одно преимущество использования библиотеки состоитв том, что все блоки, которые Вы скопируете с той библиотеки, будутиметь ссылку на неё. Другими словами, если Вы сделаете исправление в вашем блокебиблиотеки, исправление будетавтоматически применено на все схемы, использующие этотблок.

Соединение вашей модели с другими нелинейными блоками

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

Power System Blockset.

Точно так же, есливаша нелинейная модель используетблок Controlled Voltage Source (регулируемого источника напряжения), эта модель не может быть короткозамкнутой или соединятся параллельно с конденсатором.

Позвольте нам предположить, например, что Вы хотите изучить скачек тока в нелинейной индуктивности, когда на него подаютпитание с источника напряжения. Используя блоки библиотеки powerlib и my_PSBlibrary, Вы

90