Пакет: Simulink
Создайте различный объект контрольной переменной
Simulink.VariantControl
класс создает различный объект контрольной переменной сопоставить значение различной контрольной переменной с различным временем активации. Используйте Simulink.VariantControl
объект определить активное значение различного параметра в процессе моделирования.
создает различный объект контрольной переменной без значения и variantControlVariable
= Simulink.VariantControl'ActivationTime'
установите на 'update diagram'
.
создает различный объект контрольной переменной, как задано variantControlVariable
= Simulink.VariantControl(Name,Value
)Name,Value
парные аргументы. Используя этот синтаксис, вы создаете объект и сопоставляете его значение с различным временем активации.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Value', 1, 'ActivationTime', 'update diagram'
Value
— Значение различного объекта контрольной переменнойSimulink.Parameter
Значение различной контрольной переменной возражает в виде скалярных переменных, перечислимых типов или Simulink.Parameter
объект.
Примечание
Поскольку различная контрольная переменная возражает с startup
время активации, задавая значение перечислимого типа не поддерживается.
Пример: 'Value', 1
ActivationTime
— Время активации активного значения'update diagram'
(значение по умолчанию) | 'update diagram analyze all choices'
| 'code compile'
| 'startup'
Simulink® может установить активное значение различных параметров на различных этапах рабочего процесса генерации кода и симуляции. На основе этапа вы задаете использование этого свойства, Simulink определяет, должен ли сгенерированный код содержать только активные значения или и активные и неактивные параметры варианта значений. Свойство также определяет, анализировать ли все значения различных параметров для несовместимостей в атрибутах сигнала. Для Активируют Вариант Во время Различных Этапов Рабочего процесса Симуляции и Генерации кода.
Когда вы задаете различное время активации как:
'update diagram'
– Simulink не анализирует значения различных параметров для несовместимостей в атрибутах сигнала. Это генерирует код только для активных значений различных параметров.
'update diagram analyze all choices'
– Simulink анализирует и активные и неактивные значения различных параметров для несовместимостей в атрибутах сигнала, однако он генерирует код только для активных значений различных параметров.
'code compile'
– Simulink анализирует и активные и неактивные значения различных параметров для несовместимостей в атрибутах сигнала, и он также генерирует код и для активных и для неактивных значений различных параметров. Значения заключены в условные операторы препроцессора C #if
и #endif
это условно скомпилировано, когда вы компилируете сгенерированный код.
'startup'
– Simulink анализирует и активные и неактивные значения различных параметров для несовместимостей в атрибутах сигнала, и он также генерирует код и для активных и для неактивных значений различных параметров. Значения заключены в регулярный if
условия в model_initialize
функция сгенерированного кода, которые условно оценены, когда вы запускаете исполняемый файл, который создается из кода.
Пример: 'ActivationTime', 'code compile'
Переменные Scalar MATLAB® позволяют вам значениям варианта быстрого прототипирования, когда вы все еще создаете свою модель. Они помогают вам фокусироваться больше на создании ваших различных значений, чем на разработке выражений, которые активируют тот выбор.
Можно задать скалярные контрольные переменные в местоположениях, перечисленных в Местах хранения для Различных Контрольных переменных (Операнды) в Различных Выражениях условия.
В редакторе MATLAB задайте варианты в их самой простой форме как скалярные переменные в Simulink.VariantVariable
объект.
vpObj = Simulink.VariantVariable('Choices',{'VCtrl==1', 1000, 'VCtrl==2', 2000})
vpObj = VariantVariable with 2 choices: Condition Value __________ _____ VCtrl == 1 1000 VCtrl == 2 2000 Specification: '' Use getChoice, setChoice, addChoice, removeChoice to access, modify, add or remove choices
Активируйте одно из различных значений путем определения контрольной переменной, VCtrl
, и устанавливание его значения к 1
в Simulink.VariantControl
объект. Это условие активирует значение 1000
и присвоения это значение к vpObj
.
VCtrl = Simulink.VariantControl('Value', 1, 'ActivationTime', 'update diagram')
VCtrl = VariantControl with properties: Value: 1 ActivationTime: 'update diagram'
Если вы изменяете значение VCtrl
к 2
, Simulink® устанавливает значение vpObj
к 2000
.
VCtrl.Value = 2;
Используйте перечислимые типы, чтобы дать понятные имена целым числам, используемым в качестве различных значений управления.
Вы можете контрольные переменные варианта define перечислимых типов в местах хранения, как перечислено в Местах хранения для Различных Контрольных переменных (Операнды) в Различных Выражениях условия.
В Редакторе MATLAB® задайте классы, которые сопоставляют перечисляемые значения с понятными именами.
Здесь, EngType
основанный на целом числе класс перечисления, который выведен из встроенного типа данных, int32
. Класс имеет две перечислимых величины, Small
и Big
. Эти перечисляемые значения имеют базовые целочисленные значения 1
и 2
.
type EngType.m
classdef EngType < Simulink.IntEnumType enumeration Small (1) Big (2) end end
Задайте имена как варианты в Simulink.VariantVariable
объект.
vpObj = Simulink.VariantVariable('Choices', {'VCtrl == EngType.Small',3.5,'VCtrl == EngType.Big',8.5})
vpObj = VariantVariable with 2 choices: Condition Value ______________________ _____ VCtrl == EngType.Big 8.5000 VCtrl == EngType.Small 3.5000 Specification: '' Use getChoice, setChoice, addChoice, removeChoice to access, modify, add or remove choices
Активируйте одно из различных значений путем определения контрольной переменной VCtrl
и устанавливание его значения к EngType.Small
в Simulink.VariantControl
объект. Это условие активирует значение 3.5
и присвоения это значение к vpObj
.
Примечание: Для различной контрольной переменной возражают с 'startup'
время активации, задавая значение перечислимого типа не поддерживается.
VCtrl = Simulink.VariantControl('Value',EngType.Small,'ActivationTime','code compile')
VCtrl = VariantControl with properties: Value: Small ActivationTime: 'code compile'
Используя перечислимые типы упрощает сгенерированный код, потому что он содержит имена значений, а не целых чисел.
Если вы намереваетесь сгенерировать код для модели, содержащей различные значения параметров, задайте различные контрольные переменные как переменные MATLAB® или Simulink.Parameter
объекты. Simulink.Parameter
объекты позволяют вам задавать другие атрибуты (такие как тип данных), которые требуются для генерации кода.
Примечание:
Можно задать различную контрольную переменную типа Simulink.Parameter
только в базовом рабочем пространстве или в словаре данных. Определение Simulink.Parameter
тип различных контрольных переменных в маске или рабочем пространстве модели не поддерживается. Для получения дополнительной информации о местах хранения для различных контрольных переменных смотрите Места хранения для Различных Контрольных переменных (Операнды) в Различных Выражениях условия.
Simulink.Parameter
объекты в структурах и которые имеют типы данных кроме Simulink.Bus
объекты не поддерживаются.
В редакторе MATLAB задайте Simulink.Parameter
объект.
VSSMODE = Simulink.Parameter; VSSMODE.Value = 1; VSSMODE.DataType = 'int32'; VSSMODE.CoderInfo.StorageClass = 'Custom'; VSSMODE.CoderInfo.CustomStorageClass = 'ImportedDefine'; VSSMODE.CoderInfo.CustomAttributes.HeaderFile ='rtwdemo_importedmacros.h';
Различные контрольные переменные, заданные как Simulink.Parameter
объекты могут иметь один из этих классов памяти:
Define or ImportedDefine
с заданным заголовочным файлом
CompilerFlag
SystemConstant
(AUTOSAR)
Ваш собственный класс памяти, который задает данные как макрос
Можно также преобразовать скалярную различную контрольную переменную в Simulink.Parameter
объект. Для получения дополнительной информации смотрите, Преобразуют Различные Контрольные переменные в Объекты Simulink.Parameter.
Задайте объект как различное управление с помощью Simulink.VariantVariable
объект.
vpObj = Simulink.VariantVariable('Choices', {'VCtrl == 1',1000,'VCtrl == 2',2000});
Активируйте одно из различных значений путем определения контрольной переменной VCtrl
и устанавливание его значения к VSSMODE
в Simulink.VariantControl
объект. Это условие активирует значение 1000
и присвоения это значение к vpObj
.
VCtrl = Simulink.VariantControl('Value',VSSMODE,'ActivationTime','code compile')
VCtrl = VariantControl with properties: Value: [1x1 Simulink.Parameter] ActivationTime: 'code compile'
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.