Параметры компонента позволяют задать настраиваемые параметры для блока 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 и поэтому полностью чувствительны к регистру.