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

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

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

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

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

Параметрические Модули

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

Однако с модулями измерения температуры возникает дополнительная проблема применения линейного или аффинного преобразования (см. «Преобразования тепловых модулей»). Поэтому, когда вы объявляете параметр с модулями измерения температуры, можно задать только неаффинные модули (kelvin или rankine). Когда пользователь блока вводит значение параметров в аффинных модулях (Цельсий или Фаренгейт), это значение автоматически преобразуется в модули, заданные в объявлении параметра. По умолчанию применяется преобразование аффина. Если параметр задает относительную, а не абсолютную температуру (другими словами, изменение температуры), задайте ее 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 нет конфликта и нет проблем с генерацией блока из источника компонента.

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

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

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

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

Похожие примеры

Подробнее о