Объекты API Stateflow ® имеют свойства, соответствующие значениям, которые обычно задаются с помощью редактора Stateflow Editor. Например, чтобы изменить положение состояния, обычно следует щелкнуть и перетащить состояние. С помощью API Stateflow можно изменить положение состояния, изменив Position свойство соответствующего Stateflow.State объект:
st.Position = [10 20 100 80];
Кроме того, функции объектов предоставляют услуги, которые обычно предоставляются редактором Stateflow Editor. Например, чтобы открыть диалоговое окно «Свойства» для перехода, обычно щелкните его правой кнопкой мыши и выберите «Свойства». С помощью 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'});Аналогично, можно изменить значение нескольких свойств, вызвав 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