exponenta event banner

Объявить параметры компонента

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

Каждый параметр объявляется как значение с единицей измерения. Указание дополнительного комментария позволяет управлять именем параметра в диалоговом окне блока. Дополнительные сведения см. в разделе Указание значимых имен для параметров блока и переменных.

В следующем примере объявляется параметр k, со значением по умолчанию 10 N*m/rad, задание скорости пружины вращения. В диалоговом окне блока этому параметру будет присвоено имя «Скорость пружины».

parameters
    k = { 10, 'N*m/rad' };   % Spring rate
end

Единицы измерения параметров

При объявлении параметра компонента используйте единицы измерения, которые имеют смысл в контексте приложения блока. Например, при моделировании соленоида пользователю блока удобнее вводить обводку в миллиметрах, а не в метрах. Когда параметр используется в уравнениях и других разделах файла компонента, диспетчер единиц Simscape обрабатывает преобразования.

Однако при использовании единиц измерения температуры возникает дополнительная проблема, связанная с применением линейного или аффинного преобразования (см. Термические преобразования единиц измерения). Поэтому при объявлении параметра с единицами измерения температуры можно указать только неафинные единицы измерения (кельвин или ранкин). Когда пользователь блока вводит значение параметра в аффинных единицах (по Цельсию или по Фаренгейту), это значение автоматически преобразуется в единицы, указанные в объявлении параметра. По умолчанию применяется аффинное преобразование. Если параметр определяет относительную, а не абсолютную температуру (другими словами, изменение температуры), установите его Conversion атрибут для relative (дополнительные сведения см. в разделе Атрибуты элемента).

Примечание

Атрибуты элемента применяются ко всему блоку объявления. Если некоторые параметры относительны, а другие абсолютны, объявите их в отдельных блоках. В файле Simscape может быть несколько блоков объявления одного типа.

Чувствительность к регистру

Язык Simscape чувствителен к регистру. Это означает, что имена членов могут отличаться только в зависимости от регистра. Однако программное обеспечение Simulink ® не учитывает регистр. Имена параметров Simulink (т.е. имена параметров в диалоговом окне блока) должны быть уникальными независимо от регистра. Поэтому при объявлении двух параметров, имена которых различаются только в зависимости от регистра, например,

component MyComponent 
  parameters 
    A = 0; 
    a = 0; 
  end 
end 

невозможно создать блок из этого компонента.

Однако если один из параметров является частным или скрытым, то есть не отображается в диалоговом окне блока,

component MyComponent 
  parameters(Access=private) 
    A = 0; 
  end 
  parameters 
    a = 0; 
  end 
end 

тогда нет конфликта в пространстве имен Simulink и нет проблем с генерацией блока из источника компонента.

Открытые переменные компонента также отображаются в диалоговом окне блока на вкладке «Переменные», поскольку они используются для инициализации модели. Поэтому эти переменные конкурируют друг с другом и с именами параметров блока в пространстве имен Simulink. Если компонент имеет общедоступную переменную и параметр, имена которых различаются только в зависимости от регистра, например,

component MyComponent 
  variables 
    A = 0; 
  end 
  parameters 
    a = 0; 
  end 
end 

невозможно создать блок из этого компонента. В качестве возможного обхода можно объявить переменную частной или скрытой. В этом случае переменная не отображается на вкладке Переменные (Variables) диалогового окна результирующего блока, поэтому конфликт пространства имен отсутствует. Однако если требуется использовать переменную в процессе инициализации модели, оставьте ее открытой и измените ее имя или имя параметра.

Ограничение чувствительности к регистру применяется только к параметрам компонента и открытым переменным компонента, поскольку другие типы элементов не имеют связанного объекта Simulink и поэтому полностью чувствительны к регистру.

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

Подробнее