exponenta event banner

Линейный резистор модели на языке Simscape

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

Линейный резистор - простая электрическая составляющая, описываемая следующим уравнением:

V = I· R

где

VНапряжение на резисторе
IТок через резистор
RСопротивление

Файл Simscape, реализующий такой линейный резистор, может выглядеть следующим образом:

component my_resistor
% Linear Resistor
% The voltage-current (V-I) relationship for a linear resistor is V=I*R,
% where R is the constant resistance in ohms.
%
% The positive and negative terminals of the resistor are denoted by the
% + and - signs respectively.

  nodes
    p = foundation.electrical.electrical; % +:left
    n = foundation.electrical.electrical; % -:right
  end
  variables
    i = { 0, 'A' };     % Current
    v = { 0, 'V' };     % Voltage
  end
  parameters
    R = { 1, 'Ohm' };   % Resistance
  end

  branches
    i : p.i -> n.i;
  end

  equations
    assert(R>0)
    v == p.v - n.v;
    v == i*R;
  end

end

Рассмотрим структуру файла Simscape my_resistor.ssc.

Первая строка указывает, что это файл компонента, а имя компонента - my_resistor.

После этой строки имеются дополнительные комментарии, которые настраивают имя блока и предоставляют краткое описание в диалоговом окне блока. Комментарии начинаются с % персонаж.

Следующим разделом файла Simscape является раздел объявления. Для линейного резистора он объявляет:

  • Два электрических узла, p и n (для + и - клемм соответственно).

  • Сквозные и поперечные переменные, текущие i и напряжение v, для подключения к переменным Через (Through) и Поперек (Across) электрической области в дальнейшем в файле. Переменные компонента и домена соединяются путем указания соединения между переменными компонента и узлами.

    Все открытые переменные компонента отображаются на вкладке «Переменные» диалогового окна блока, созданного из файла компонента. Чтобы указать, как имя переменной отображается в диалоговом окне, используйте комментарий сразу после объявления переменной (Current и Voltage).

  • Параметр R, со значением по умолчанию 1 Ohm, указывая значение сопротивления. Этот параметр появляется в диалоговом окне блока, созданного из файла компонента, и может быть изменен при построении и моделировании модели. Комментарий, следующий непосредственно за объявлением параметра, Resistanceопределяет способ отображения имени параметра блока в диалоговом окне.

branches раздел устанавливает связь между переменной Through компонента и узлами компонента (и, следовательно, с переменной Through домена). i : p.i -> n.i оператор указывает, что ток через резистор протекает от узла p к узлу n.

Последний раздел содержит уравнения:

  • assert выполняет проверку параметров, проверяя, что значение сопротивления больше нуля. Если параметр блока задан неправильно, то assert инициирует ошибку времени выполнения.

  • Первое уравнение, v == p.v - n.vустанавливает связь между переменной Across компонента и узлами компонента (и, следовательно, переменной Across домена). Он определяет напряжение на резисторе как разность между напряжениями узла.

  • Второе уравнение, v == i*Rописывает работу линейного резистора на основании закона Ома. Он определяет математическую связь между переменными «Через» и «Поперек» компонента, текущий i и напряжение vи параметр R.

    == операнд, используемый в этих уравнениях, определяет непрерывное математическое равенство между левым и правым выражениями. Это означает, что уравнение представляет не назначение, а скорее симметричное математическое соотношение между левым и правым операндами. Это уравнение вычисляется непрерывно на протяжении всего моделирования.

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

Дополнительные сведения о записи файлов Simscape и преобразовании текстовых компонентов в пользовательские блоки Simscape см. в следующей таблице.

Для...Видишь...
Семантика, правила и примеры объявленияОбъявление доменов и компонентов
Подробная информация о написании уравнений компонентовОпределение уравнений компонентов
Аннотирование файла компонента для улучшения косметики и удобства использования созданного блокаНастройка имени и внешнего вида блока
Создание блоков Simscape из файлов компонентовСоздание пользовательских блоков из файлов компонентов Simscape

Связанные примеры

Подробнее