Stateflow® Объекты API имеют свойства, которые соответствуют значениям, которые вы устанавливаете в редакторе Stateflow. Например, чтобы использовать редактор, чтобы сменить положение состояния, вы перетаскиваете состояние. С API Stateflow вы меняете положение состояния путем изменения Position
свойство соответствующего Stateflow.State
объект:
st.Position = [10 20 100 80];
Кроме того, объектные функции предоставляют услуги, которые соответствуют действиям в редакторе Stateflow. Например, чтобы использовать редактор, чтобы открыть диалоговое окно Properties для перехода, вы щелкаете правой кнопкой по переходу и выбираете Properties. С API Stateflow вы открываете это диалоговое окно путем вызова 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'});
Можно также использовать get
к свойствам доступа нескольких объектов API. Например, эта команда возвращает массив ячеек, который содержит имена и описания Stateflow.Chart
объекты в массиве chartArray
:
chartInfo = get(chartArray,{'Name','Description'});
Точно так же можно изменить значение нескольких свойств путем вызова set
функция. Например, чтобы изменить название и описание Stateflow.Chart
объект ch
, Введите:
set(ch,{'Name','Description'},{'Rectifier','Half-wave rectifier.'})
Определять имена и описания Stateflow.Chart
объекты в массиве chartArray
, Введите:
set(chartArray,{'Name','Description'},chartInfo);
chartInfo
должен быть N
- 2 массива ячеек, где N
равняется количеству графиков в chartArray
. Первый столбец в chartInfo
содержит новые имена графика, и второй столбец содержит новые описания.