MATLAB è Simulink íà ðóññêîì

https://hub.exponenta.ru/

Simulink Blocksets\SimPowerSystems

В оглавление\ К следующему разделу \ К предыдущему разделу

6. Основные команды Matlab для управления SPS-моделью.

При разработке графического интерфейса пользователя, создании S-функций и т.п. задач требующих управления конфигурацией, параметрами и работой Simulink и SimPowerSystem моделей допускается использовать специальные команды (функции) языка MATLAB. Для работы с SPS-моделью допускается применять те же самые команды, что и для Simulink моделей (add_line, add_block, get_param, set_param и т.д.). При этом следует иметь в виду, что некоторые Simulink-команды будут иметь ограничения. Так, например, команда set_param не позволяет изменять параметры SPS-блоков в процессе расчета как для Simulink-блоков.

Для SPS-моделей есть и свои особенные команды. Их всего три:
  • powerinit - задание начальных условий SPS-модели,
  • circ2ss - нахождение математического описания линейной модели электрической цепи в уравнениях пространства состояний,
  • power2sys - анализ SPS-модели.

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

powerinit Инициализация SPS-модели

Назначение:

Задание начальных условий.

Синтаксис:

powerinit(system,'look')
Команда выводит начальные значения переменных модели system.

powerinit(system,'reset')
Команда устанавливает нулевые начальные значения переменных модели system.

powerinit(system,'steady')
Команда устанавливает начальные значения переменных модели system таким образом, чтобы расчет начался из точки установившегося режима.

powerinit(system,'set',p)
Команда устанавливает начальные значения переменных модели system заданные в векторе p. Порядок следования переменных можно определить командой powerinit(system,'look').

powerinit(system,'setb',state,value)
Команда устанавливает начальное значение value переменной state модели system.

Пример:

На рис. 6.1 показана модель последовательного колебательного контура подключенного к источнику постоянного тока. Имя файла модели - sys.mdl.


Рис. 6.1

Выполнение команды powerinit(sys,'look') в окне MATLAB позволяет увидеть начальные значения переменных модели:

Il_Series RLC  Branch = 34.8138
Uc_Series RLC  Branch = -3.8626
На осциллограмме видно, что начальное значение тока контура равно значению найденному с помощью функции powerinit.

Пример:

Команда powerinit('sys','setb','Il_Series RLC Branch',-50) задает значение тока в RLC-цепи равное -50А. На рис. 6.2 показана осциллограмма тока для расчета схемы с указанным начальным значением тока.


Рис. 6.2

Скачать пример (sys.zip)

circ2ss Определение математической модели электрической схемы

Назначение:

Функция рассчитывает матрицы A, B, C, В уравнений пространства-состояния, описывающих модель:
x = Ax + Bu
y = Cx + Du
где

x - вектор состояния,
u - вектор входных воздействий,
y - вектор выходных сигналов,
A, B, C, D - матрицы: системы, входа, выхода и обхода, соответственно.

Функция circ2ss вызывается автоматически функцией power2sys при начале расчета модели. Можно также запускать функцию на выполнение непосредственно из командного окна MATLAB или из m-файла.

Синтаксис:

Вызов функции должен выполняться минимум для 7 аргументов:

[A,B,C,D,states,x0,x0sw,rlsw,u,x,y,freq,Asw,Bsw,Csw,Dsw,Hlin] = circ2ss(rlc,switches,source,line_dist,yout,y_type,unit),
где
  • A, B, C, D - матрицы: системы, входа, выхода и обхода, соответственно.
  • states - строковая матрица, содержащая имена переменных состояния. Каждое имя должно находиться в отдельной строке и иметь следующий формат:
    Il_bxx_nzz1_zz2 - ток индуктивности,
    Uc_bxx_nzz1_zz2 - напряжение на конденсаторе, 
    
    где

    xx - номер ветви,
    zz1 - номер первого узла ветви,
    zz2 - номер второго узла ветви.
  • x0 - вектор начальных значений переменных состояния.
  • x0sw - вектор начальных значений токов ключей.
  • rlsw - матрица размерностью (nswitch, 2) содержащая значения R(Ом) и L(Гн) ключей, где nswitch - число ключей в схеме.
  • u, x, y - матрицы содержащие комплексные значения установившихся величин: u(ninput,nfreq) - входные величины, y(noutput,nfreq) - выходные величины, x(nstates,nfreq) - переменные состояния, где: nfreq - размерность вектора freq, содержащего значения частот источников схемы.
  • Asw,Bsw,Csw,Dsw - матрицы уравнений пространства-состояния схемы для закрытых состояний ключей. Каждый закрытый ключ имеющий внутреннюю индуктивность добавляет одну переменную состояния схемы.
  • Hlin - трехмерный массив (nfreq, noutput, ninput) комплексных взаимных сопротивлений вход-выход для каждого значения частоты.
  • rlc - матрица, задающая топологию схемы.
  • switches - матрица ключей, содержащая параметры ключей.
  • source - матрица источников, содержащая параметры источников.
  • line_dist - матрица линий передачи, содержащая параметры линий передачи.
  • yout - строковая матрица, задающая выражения для расчета выходных переменных. Каждое выражение может содержать линейную комбинацию значений переменных состояния и их производных.
  • y_type - вектор целых чисел, определяющий вид выходной переменной (0 - напряжение, 1 - ток).
  • unit - строковый параметр задающий единицы измерения. Если значения параметра равно 'OHM', то значения R, L и С задаются в Ом для базовой частоты, определяемой параметром freq_sys (по умолчанию - 60 Гц). Если значение параметра равно 'OHU', то значение R задается в Ом, L - в mГн и С - в мкФ. Функция circ2ss может вызываться также с 12, 13, 14 или 16 аргументами. Подробности о форматах каждого аргумента можно найти в руководстве пользователя для SimPowerSystem.
power2sys Определение математической модели электрической схемы, созданной в SimPowerSystem

Назначение:

Функция рассчитывает матрицы A, B, C, В уравнений пространства-состояния, описывающих модель:
x = Ax + Bu
y = Cx + Du
где

x - вектор состояния,
u - вектор входных воздействий,
y - вектор выходных сигналов,
A, B, C, D - матрицы: системы, входа, выхода и обхода, соответственно.

Функция power2sys вызывается автоматически из Simulink при начале расчета модели. Можно также запускать функцию на выполнение непосредственно из командного окна MATLAB или из m-файла.

Синтаксис:

power2sys('sys','structure')
Команда создает структуру для модели sys. Поля структуры имеют тот же смысл, что и данные, возвращаемые функцией circ2ss.

Подробности о способах использования функции power2sys можно найти в руководстве пользователя для SimPowerSystem.

Пример:

Для модели, показанной на рис. 6.1 вызов функции:

psb = power2sys('sys','structure')
дает следующий результат:
psb = 

             circuit: 'sys'
              states: [2x21 char]
              inputs: 'U_AC Voltage Source'
             outputs: 'I_Current  Measurement'
                   A: [2x2 double]
                   B: [2x1 double]
                   C: [1 0]
                   D: 0
                  x0: [2x1 double]
             Aswitch: [2x2 double]
             Bswitch: [2x1 double]
             Cswitch: [1 0]
             Dswitch: 0
            x0switch: [0x1 double]
                 uss: 100
                 xss: [2x1 double]
                 yss: 1.2135+34.8138i
                Hlin: 0.0121+ 0.3481i
         frequencies: 50
            LoadFlow: []
    OscillatoryModes: [2x39 char]

Значения полей структуры psb могут быть найдены следующим образом:

>> A=psb.A

A =

        -100       -1000
        1000           0

>> B=psb.B

B =

        1000
           0

>> C=psb.C

C =

     1     0

>> D=psb.C

D =

     1     0

Остальные поля структуры могут быть найдены аналогично.

В оглавление\ К следующему разделу \ К предыдущему разделу


Поиск по сайту:


Система Orphus