Параметры компонента позволяют вам задать корректируемые параметры для блока Simscape™, сгенерированного из файла компонента. Параметры появятся в диалоговом окне блока и могут быть изменены при создании и симуляции модели.
Вы объявляете каждый параметр как значение с модулем. Определение дополнительного комментария позволяет вам управлять названием параметра в диалоговом окне блока. Для получения дополнительной информации смотрите, Задают Понятные имена для Параметров блоков и Переменных.
Следующий пример объявляет параметр k
, со значением по умолчанию 10 N*m/rad
, определение коэффициента упругости вращательной пружины. В диалоговом окне блока этот параметр назовут Spring rate.
parameters k = { 10, 'N*m/rad' }; % Spring rate end
Когда вы объявляете параметр компонента, используйте модули, которые целесообразны в контексте блочного приложения. Например, если вы моделируете соленоид, более удобно для пользователя блока ввести диапазон в миллиметрах, а не в метрах. Когда параметр используется в уравнениях и других разделах файла компонента, директор производства Simscape обрабатывает преобразования.
С температурными модулями, однако, существует дополнительная проблема того, применить ли линейное или аффинное преобразование (см. Тепловые Модульные Преобразования). Поэтому, когда вы объявляете параметр с температурными модулями, можно задать только неаффинные модули (кельвин или rankine). Когда пользователь блока вводит значение параметров в аффинные модули (Цельсия или Фаренгейт), это значение автоматически преобразовано в модули, заданные в объявлении параметра. По умолчанию аффинное преобразование применяется. Если параметр задает родственника, а не абсолютный, температура (другими словами, изменение в температуре), установите ее Conversion
припишите relative
(для деталей смотрите членские Атрибуты).
Членские атрибуты применяются к целому блоку объявлений. Если некоторые ваши параметры относительны, и другие являются абсолютными, объявляют их в отдельных блоках. У вас может быть больше чем один блок объявлений того же типа элемента в файле Simscape.
Язык Simscape является чувствительным к регистру. Это означает, что имена элемента могут отличаться только случаем. Программное обеспечение However, 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 и являются поэтому абсолютно чувствительными к регистру.