Stateflow® Объекты API имеют свойства, которые соответствуют значениям, которые вы обычно задаете через Редактор Stateflow. Для примера, чтобы изменить положение состояния, обычно щелкните и перетащите состояние. С помощью Stateflow API вы изменяете положение состояния, изменяя Position
свойство соответствующего Stateflow.State
объект:
st.Position = [10 20 100 80];
Кроме того, функции объекта обеспечивают услуги, которые обычно предоставляются редактором Stateflow. Например, чтобы открыть диалоговое окно Свойства для перехода, обычно щелкните правой кнопкой мыши переход и выберите Properties. С помощью Stateflow API вы открываете это диалоговое окно, вызывая dialog
функция соответствующего Stateflow.Transition
объект:
dialog(tr);
Чтобы вызвать функцию объекта API, используйте стандартные обозначения вызова функции. Например, чтобы открыть диалоговое окно Свойства графика, вызовите dialog
функция соответствующего Stateflow.Chart
ch объекта
:
dialog(ch)
Для доступа к свойству объекта API используйте запись через точку. Для примера, чтобы увидеть значение StateMachineType
свойство для Stateflow.Chart
ch объекта
, введите:
ch.StateMachineType
Точно так же, чтобы изменить язык действий графика, измените его ActionLanguage
свойство:
ch.ActionLanguage = 'MATLAB'
Для доступа к подсвойствам свойства API можно вложить несколько имена свойства в одно выражение, которое использует запись через точку. Например, можно задать точку останова входа на графике путем изменения подсвойства Debug.Breakpoints.OnEntry
соответствующего Stateflow.Chart
объект:
ch.Debug.Breakpoints.OnEntry = true;
Когда свойство или функция возвращает другой объект API, вы также можете получить доступ к свойствам и функциям для второго объекта, используя вложенную запись через точку. Для примера, Machine
свойство Stateflow.Chart
возвращает Stateflow.Machine
объект, содержащий соответствующий график. Для доступа к Name
свойство этого Stateflow.Machine
введите выражение:
machineName = ch.Machine.Name;
Точно так же, defaultTransitions
функция возвращает массив Stateflow.Transition
объекты, которые соответствуют переходам по умолчанию на графике. Если график содержит только один переход по умолчанию, можно получить его метку путем ввода:
label = defaultTransitions(ch).LabelString;
Если график содержит несколько переходов по умолчанию, необходимо сначала сохранить массив, а затем использовать индекс массива, чтобы получить каждую метку:
transitions = defaultTransitions(ch); label1 = transitions(1).LabelString; label2 = transitions(2).LabelString;
Вы можете получить доступ к нескольким свойствам объекта API, вызвав get
функция. Например, чтобы получить имя и описание для Stateflow.Chart
ch объекта
, введите:
chartInfo = get(ch,{'Name','Description'});
Точно так же можно изменить значение нескольких свойств, вызвав set
функция. Например, чтобы изменить имя и описание Stateflow.Chart
ch объекта
, введите:
set(ch,{'Name','Description'},{'Rectifier','Half-wave rectifier.'})
Вы можете использовать get
и set
функций для доступа или изменения свойств для каждого объекта в массиве. Например, эта команда возвращает массив ячеек с именами и описаниями Stateflow.Chart
объекты в массиве chartArray
:
chartInfo = get(chartArray,{'Name','Description'});
get
функция отображает имена и значения свойств объекта. Для примера, чтобы увидеть значения свойств Stateflow.Chart
ch объекта
, введите:
get(ch)
Вы также можете вызвать get
отображение значений подсвойства объекта. Для примера, чтобы увидеть значения подсвойств StateFont
свойство Stateflow.Chart
ch объекта
, введите:
get(ch.StateFont)
Многие свойства API принимают ограниченное число возможных значений. Чтобы отобразить список допустимых значений для свойства, вызовите set
функция. Например, эта команда отображает перечисленные значения, разрешенные для Decomposition
свойство Stateflow.Chart
объект:
set(ch,'Decomposition')
Вы можете отобразить дополнительную информацию о свойствах объекта при помощи функции classhandle
. Например, эта команда отображает список имен свойства и типов данных Stateflow.Chart
объект:
get(classhandle(ch).Properties,{'Name','DataType'})
Чтобы увидеть поля, которые можно использовать с этим синтаксисом, введите:
get(classhandle(ch).Properties)
classhandle
| defaultTransitions
| dialog
| fitToView
| get
| set