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

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

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

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

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

Модули параметра

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

С температурными модулями, однако, существует дополнительная проблема того, применить ли линейное или аффинное преобразование (см. Тепловые Модульные Преобразования). Поэтому, когда вы объявляете параметр с температурными модулями, можно задать только неаффинные модули (кельвин или 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 и являются поэтому абсолютно чувствительными к регистру.

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

Больше о