Задайте доменные или переменные компонента
variables comp_var1 = {value ,'unit'}; end
variables comp_var2 = {value = {value,'unit'}, priority = priority.value, nominal = {value,'unit'} }; end
variables domain_across_var1 = {value,'unit'}; end
variables(Balancing = true) domain_through_var1 = {value,'unit'}; end
variables начинает блок объявлений переменных, который отключен ключевым словом end. В файле компонента этот блок содержит объявления для всех переменных, сопоставленных с компонентом. В доменном файле этот блок содержит объявления для всех переменных Across, сопоставленных с областью. Кроме того, доменные файлы должны иметь блок объявлений отдельных переменных с набором атрибута Balancing к true, который содержит объявления для всех переменных Through, сопоставленных с областью.
В файле компонента следующий синтаксис задает Через, Через, или внутренняя переменная, comp_var1, как значение с модулем. value является начальным значением. unit является допустимой модульной строкой, заданной в модульном реестре.
variables
comp_var1 = { value , 'unit' };
end
Для переменных компонента можно дополнительно задать приоритет инициализации, а также номинальную стоимость и модуль, путем объявления переменной как полевого массива.
variables
comp_var2 = { value = { value , 'unit' }, priority = priority.value, nominal = { value , 'unit' } };
end
Первым полем в массиве является value (значение с модулем). Другие два поля являются дополнительными и могут существовать любого порядка.
Поле priority может быть одним из трех значений, перечисленных в следующей таблице:
| Поле Priority на языке Simscape™ | Получившийся приоритет по умолчанию в диалоговом окне блока |
|---|---|
priority = priority.high | High |
priority = priority.low | Low |
priority = priority.none (это - значение по умолчанию), | None |
MathWorks рекомендует, чтобы вы использовали атрибут priority экономно. Приоритетное значение по умолчанию, priority.none (который эквивалентен игнорированию атрибута priority полностью), подходит в большинстве случаев. Пользователь блока может изменить переменное приоритетное значение, по мере необходимости, во вкладке Variables диалогового окна блока до симуляции.
Поле nominal должно быть значением с модулем, где value является номинальной стоимостью, то есть, ожидаемым значением переменной. unit является допустимой модульной строкой, заданной в модульном реестре.
MathWorks рекомендует, чтобы вы использовали атрибут nominal экономно. Номинальная стоимость по умолчанию, которая поступает из образцовой таблицы модуля значения, подходит в большинстве случаев. Пользователь блока может также изменить номинальную стоимость и модули для отдельных блоков или при помощи Property Inspector или при помощи set_param и функций get_param в случае необходимости. Для получения дополнительной информации смотрите, Изменяют Номинальную стоимость для Основной переменной.
Можно также задать имя переменной, способ, которым вы хотите, чтобы оно появилось во вкладке Variables диалогового окна блока как комментарий:
variables
comp_var1 = { value , 'unit' }; % Variable name
end
В доменном файле следующий синтаксис задает переменную Across, domain_across1, как значение с модулем. value является начальным значением. unit является допустимой модульной строкой, заданной в модульном реестре.
variables
domain_across_var1 = { value , 'unit' };
end
В доменном файле следующий синтаксис задает переменную Through, domain_through1, как значение с модулем. value является начальным значением. unit является допустимой модульной строкой, заданной в модульном реестре.
variables(Balancing = true)
domain_through_var1 = { value , 'unit' };
end
Этот пример инициализирует переменную w (угловая скорость) как 0 рад/с:
variables
w = { 0, 'rad/s' }; % Angular velocity
end
Этот пример инициализирует переменную x (пружинная деформация) как 0 мм с высоким приоритетом:
variables
x = { value = { 0 , 'mm' }, priority = priority.high }; % Spring deformation
end
Этот пример инициализирует доменную переменную Through t (крутящий момент) как 1 N*m:
variables(Balancing = true)
t = { 1, 'N*m' };
end