Табличное представление конечного автомата для модальной логики
Использование Stateflow.StateTransitionTableChart
объект для создания табличного представления конечного конечного автомата для модальной логики. Преимущества использования таблиц переходов состояний включают:
Простота моделирования поездоподобных машин состояний, где модальная логика включает переходы от одного состояния к своему соседу
Краткий, компактный формат для конечного автомата
Сокращение времени на работу с графическими объектами
Для получения дополнительной информации смотрите Таблицы переходов состояний в Stateflow.
Как создать Stateflow.StateTransitionTableChart
объект, вызовите функцию sfnew
с -STT
аргумент. Например, чтобы создать State Transition Table блок в новом Simulink® модель называется myModel
, введите:
sfnew -STT myModel
Кроме того, можно добавить новый блок State Transition Table к существующей модели с помощью функции add_block
(Simulink):
add_block('sflib/State Transition Table','myModel/State Transition Table')
Затем, чтобы получить доступ к Stateflow.StateTransitionTableChart
объект, вызовите find
функция для Simulink.Root
объект:
rt = sfroot; table = find(rt,'-isa','Stateflow.StateTransitionTableChart', ... 'Path','myModel/State Transition Table');
Name
- Имя таблицы переходов состояний'State Transition Table'
(по умолчанию) | вектор символовИмя таблицы переходов состояний, заданное как вектор символов.
ActionLanguage
- Язык действий'MATLAB'
(по умолчанию) | 'C'
Язык действия, используемый для программирования таблицы переходов состояний, задается как 'MATLAB'
или 'C'
. Для получения дополнительной информации смотрите Различия между MATLAB и C как синтаксис языка действий.
StateMachineType
- Семантика конечного автомата'Classic'
(по умолчанию) | 'Mealy'
| 'Moore'
Семантика конечного автомата, реализованная таблицей переходов состояний, заданная как 'Classic'
, 'Mealy'
, или 'Moore'
. Для получения дополнительной информации смотрите Обзор машин Мили и Мура.
SupportVariableSizing
- Поддерживает ли таблица переходов состояний данные переменного размераtrue
или 1 (по умолчанию) | false
или 0Поддерживает ли таблица переходов состояний данные переменного размера, заданные в виде числа или логического 1 (true
) или 0 (false
). Только данные переменного размера могут изменить размерность во время симуляции. Для получения дополнительной информации см. «Объявление данных переменного размера в диаграммах Stateflow».
ExecuteAtInitialization
- Следует ли инициализировать строение состоянияfalse
или 0 (по умолчанию) | true
или 1Является ли инициализация строения состояния таблицы перехода состояния в начальный момент времени вместо при первом входном событии, заданная в виде числа или логического 1 (true
) или 0 (false
). Для получения дополнительной информации смотрите Выполнение графика при инициализации.
StatesWhenEnabling
- Поведение состояний, когда событие снова включает таблицу переходов состояний''
(по умолчанию) | 'held'
| 'reset'
Поведение состояний, когда входное событие вызова функции вновь включает таблицу переходов состояний, заданную как одно из следующих значений:
''
- Таблица переходов состояний не содержит входных событий вызова функции.
'held'
- Таблица переходов состояний поддерживает самые последние значения состояний.
'reset'
- Таблица переходов состояний возвращается к начальным условиям состояний.
Для получения дополнительной информации смотрите Состояния управления в Графиках, активируемых входными Событиями вызова функции.
InitializeOutput
- Следует ли инициализировать выходные данныеfalse
или 0 (по умолчанию) | true
или 1Является ли инициализация выходных данных каждый раз, когда таблица перехода состояния просыпается, задается в виде числа или логического 1 (true
) или 0 (false
). Для получения дополнительной информации смотрите Инициализация выходов каждый раз, когда график просыпается.
HasOutputData
- Создавать ли выход данных о активном состоянииfalse
или 0 (по умолчанию) | true
или 1Создайте ли активный выходной порт данных о состоянии для таблицы переходов состояний в виде числа или логического 1 (true
) или 0 (false
). Для получения дополнительной информации смотрите Мониторинг активности состояния через данные активного состояния.
OutputData
- Объект данных активного состоянияStateflow.Data
объектЭто свойство доступно только для чтения.
Объект данных активного состояния для таблицы переходов состояний, заданный как Stateflow.Data
объект. Это свойство применяется только когда HasOutputData
свойство для таблицы переходов состояний true
.
OutputPortName
- Имя объекта данных активного состоянияИмя объекта данных активного состояния для таблицы переходов состояний, заданное как вектор символов. Это свойство применяется только когда HasOutputData
свойство для таблицы переходов состояний true
.
OutputMonitoringMode
- Режим мониторинга для выхода активного состояния'ChildActivity'
(по умолчанию) | 'LeafStateActivity'
Режим мониторинга данных выходов активного состояния, заданный как 'ChildActivity'
или 'LeafStateActivity'
.
EnumTypeName
- Имя перечисляемого типа данных для объекта данных активного состоянияИмя перечисляемого типа данных для объекта данных активного состояния для таблицы переходов состояний, заданное как вектор символов. Для получения дополнительной информации см. раздел «Имя перечисления».
DoNotAutogenerateEnum
- Задавать ли перечисляемый тип данных вручнуюfalse
или 0 (по умолчанию) | true
или 1Задавать ли перечисляемый тип данных для выхода данных о активном состоянии вручную, задается в виде числа или логического 1 (true
) или 0 (false
). Для получения дополнительной информации смотрите Задать перечисляемый тип действий состояния.
ChartUpdate
- Метод активации для таблицы переходов состояний'INHERITED'
(по умолчанию) | 'CONTINUOUS'
| 'DISCRETE'
Метод активации для таблицы переходов состояний, заданный как 'CONTINUOUS'
, 'DISCRETE'
, или 'INHERITED'
. Для получения дополнительной информации см. «Метод обновления».
SampleTime
- Шаг расчета для активации таблицы переходов состояний'-1'
(по умолчанию) | вектор символовШаг расчета для активации таблицы переходов состояний, заданный как вектор символов. Это свойство применяется только когда ChartUpdate
свойство для таблицы переходов состояний 'DISCRETE'
.
EnableZeroCrossings
- Включить ли обнаружение пересечения нулемtrue
или 1 (по умолчанию) | false
или 0Активировать ли обнаружение пересечения нулем при переходах состояний в таблице переходов состояний, заданной в виде числа или логического 1 (true
) или 0 (false
). Это свойство применяется только когда ChartUpdate
свойство для таблицы переходов состояний установлено в 'CONTINUOUS'
. Для получения дополнительной информации смотрите Отключение обнаружения пересечения нулем.
EnableNonTerminalStates
- Включить ли семантику супер-шагаfalse
или 0 (по умолчанию) | true
или 1Активировать ли семантику супер-шага для таблицы переходов состояний, заданную в виде числа или логического 1 (true
) или 0 (false
). Для получения дополнительной информации см. Раздел «Семантика супер-шагов».
NonTerminalMaxCounts
- Максимальное количество переходов за один супершаг1000
(по умолчанию) | скаляромМаксимальное количество переходов, которые может взять таблица переходов за один супер шаг, заданный как целочисленный скаляр. Это свойство применяется только когда EnableNonTerminalStates
свойство для таблицы переходов состояний true
.
NonTerminalUnstableBehavior
- Поведение, если супер-шаг превышает максимальное количество переходов'Proceed'
(по умолчанию) | 'Throw Error'
Поведение, если супершаг для таблицы переходов состояний превышает максимальное количество переходов, заданное в NonTerminalMaxCounts
свойство до достижения устойчивого состояния, заданное в качестве одного из следующих значений:
'Proceed'
- Таблица перехода состояния переходит в состояние ожидания с последним активным строением состояния.
'Throw Error'
- Таблица переходов состояний генерирует ошибку.
Это свойство применяется только когда EnableNonTerminalStates
свойство для таблицы переходов состояний true
.
SaturateOnIntegerOverflow
- Насыщаются ли данные при целочисленном переполненииtrue
или 1 (по умолчанию) | false
или 0Насыщаются ли данные в таблице переходов состояний при целочисленном переполнении, заданном в виде числа или логического 1 (true
) или 0 (false
). Когда это свойство отключено, данные в таблице переходов состояний переносятся при целочисленном переполнении. Для получения дополнительной информации смотрите Handle Integer Overflow для данных графика.
TreatAsFi
- Унаследованные сигналы Simulink для обработки как fi
объекты'Fixed-point'
(по умолчанию) | 'Fixed-point & Integer'
Унаследованные сигналы Simulink для обработки как Fixed-Point Designer™ fi
объекты, заданные как одно из следующих значений:
'Fixed-point'
- Таблица переходов состояний обрабатывает все входы с фиксированной точкой следующим fi
объекты.
'Fixed-point & Integer'
- Таблица переходов состояний обрабатывает все входы с фиксированной точкой и целое число следующим fi
объекты.
Это свойство применяется только когда ActionLanguage
свойство таблицы переходов состояний 'MATLAB'
.
EmlDefaultFimath
- По умолчанию fimath
свойства'Same as MATLAB Default'
(по умолчанию) | 'Other:UserSpecified'
Значения по умолчанию fimath
свойства для таблицы переходов состояний, заданные в качестве одного из следующих значений:
'Same as MATLAB Default'
- Использовать ту же fimath
свойства как текущее значение по умолчанию fimath
объект.
'Other:UserSpecified'
- Используйте InputFimath
свойство для задания fimath
по умолчанию объект.
Это свойство применяется только когда ActionLanguage
свойство таблицы переходов состояний 'MATLAB'
.
InputFimath
- По умолчанию fimath
объектЗначения по умолчанию fimath
объект, заданный как вектор символов. Когда EmlDefaultFimath
свойство для таблицы переходов состояний 'Other:UserSpecified'
, вы можете использовать это свойство для:
Введите выражение, которое создает fimath
объект.
Введите имя переменной для fimath
объект в MATLAB® или моделировать рабочую область.
Это свойство применяется только когда ActionLanguage
свойство таблицы переходов состояний 'MATLAB'
.
StrongDataTypingWithSimulink
- Использовать ли сильное типирование данныхtrue
или 1 (по умолчанию) | false
или 0Использовать ли сильное типирование данных, когда таблица переходов состояний взаимодействует с входными и выходными сигналами Simulink, заданными в виде числа или логического 1 (true
) или 0 (false
). Это свойство применяется только к таблицам переходов состояний, которые используют C в качестве языка действий. Для получения дополнительной информации смотрите Использование сильного набора данных с Simulink ввод-вывод.
EnableBitOps
- Использовать ли битовые операцииfalse
или 0 (по умолчанию) | true
или 1Использовать ли битовые операции в состоянии и переходные действия в таблице переходов состояний, заданной в виде числа или логического 1 (true
) или 0 (false
). Это свойство применяется только к таблицам переходов состояний, которые используют C в качестве языка действий. Для получения дополнительной информации смотрите Включить C-битные операции.
Debug.Breakpoints.OnEntry
- Устанавливать ли On Chart Entry
контрольная точкаfalse
или 0 (по умолчанию) | true
или 1Устанавливать ли On Chart Entry
точка останова для таблицы переходов состояний, заданная в виде числа или логического 1 (true
) или 0 (false
).
Пример: table.Debug.Breakpoints.OnEntry = true;
Editor
- РедакторStateflow.Editor
объектЭто свойство доступно только для чтения.
Редактор таблицы переходов состояний, заданный как Stateflow.Editor
объект. Можно использовать этот объект для управления положением, размером и уровнем увеличения Stateflow® Окно редактора.
Visible
- Отображает ли редактор таблицу переходов состоянийtrue
или 1 | false
или 0Отображает ли Редактора Stateflow окно таблицу переходов состояний, заданную в виде числа или логического 1 (true
) или 0 (false
).
ChartColor
- Цвет фона[1 0.9608 0.8824]
(по умолчанию) | [red green blue]
Цвет фона для графика, которая автоматически генерируется для таблицы переходов состояний, задается как трехэлементный числовой вектор формы [red green blue]
который задает красное, зеленое и синее значения. Каждый элемент должен находиться в области значений от 0 до 1.
StateColor
- Цвет для состояний[0 0 0]
(по умолчанию) | [red green blue]
Цвет для полей, функций и состояний на графике, который автоматически генерируется для таблицы переходов состояний, заданный как трехэлементный числовой вектор формы [red green blue]
который задает красное, зеленое и синее значения. Каждый элемент должен находиться в области значений от 0 до 1.
TransitionColor
- Цвет для переходов[0.2902 0.3294 0.6039]
(по умолчанию) | [red green blue]
Цвет для переходов на графике, который автоматически генерируется для таблицы переходов состояний, заданный как трехэлементный числовой вектор формы [red green blue]
который задает красное, зеленое и синее значения. Каждый элемент должен находиться в области значений от 0 до 1.
JunctionColor
- Цвет для соединений[0.6824 0.3294 0]
(по умолчанию) | [red green blue]
Цвет для соединений на графике, который автоматически генерируется для таблицы переходов состояний, заданный как трехэлементный числовой вектор формы [red green blue]
который задает красное, зеленое и синее значения. Каждый элемент должен находиться в области значений от 0 до 1.
StateLabelColor
- Цвет для меток состояния[0 0 0]
(по умолчанию) | [red green blue]
Цвет для меток поля, функции и состояния на графике, который автоматически генерируется для таблицы переходов состояний, заданный как трехэлементный числовой вектор формы [red green blue]
который задает красное, зеленое и синее значения. Каждый элемент должен находиться в области значений от 0 до 1.
StateFont.Angle
- Угол шрифта для меток состояний'NORMAL'
(по умолчанию) | 'ITALIC'
Угол шрифта для меток поля, функции и состояния на графике, который автоматически генерируется для таблицы переходов состояний, задается как 'NORMAL'
или 'ITALIC'
.
Пример: table.StateFont.Angle = 'ITALIC';
StateFont.Weight
- Толщина шрифта для меток состояний'NORMAL'
(по умолчанию) | 'BOLD'
Толщина шрифта для меток ящика, функции и состояния на графике, который автоматически генерируется для таблицы переходов состояний, задается как 'NORMAL'
или 'BOLD'
.
Пример: table.StateFont.Weight = 'BOLD;
StateFont.Size
- Начальный размер шрифта для меток состояний12
(по умолчанию) | скаляромНачальный размер шрифта для меток аннотации, куба, функции и состояния на графике, который автоматически генерируется для таблицы переходов состояний, задается как скаляр.
Пример: table.StateFont.Size = 8;
StateFont.Name
- Название шрифта для меток состояния'Helvetica'
(по умолчанию) | вектор символовНазвание шрифта для меток аннотации, поля, функции и состояния на графике, который автоматически генерируется для таблицы переходов состояний, задается как вектор символов.
Пример: table.StateFont.Name = 'Arial';
TransitionLabelColor
- Цвет меток переходов[0.2902 0.3294 0.6039]
(по умолчанию) | [red green blue]
Цвет меток переходов на графике, который автоматически генерируется для таблицы переходов состояний, задается как трехэлементный числовой вектор формы [red green blue]
который задает красное, зеленое и синее значения. Каждый элемент должен находиться в области значений от 0 до 1.
TransitionFont.Angle
- Угол шрифта для меток переходов'NORMAL'
(по умолчанию) | 'ITALIC'
Угол шрифта для меток переходов на графике, который автоматически генерируется для таблицы переходов состояний, задается как 'NORMAL'
или 'ITALIC'
.
Пример: table.TransitionFont.Angle = 'ITALIC';
TransitionFont.Weight
- Толщина шрифта для меток переходов на этом графике'NORMAL'
(по умолчанию) | 'BOLD'
Толщина шрифта для меток переходов на графике, который автоматически генерируется для таблицы переходов состояний, задается как 'NORMAL'
или 'BOLD'
.
Пример: table.TransitionFont.Weight = 'BOLD';
TransitionFont.Size
- Начальный размер шрифта для меток переходов12
(по умолчанию) | скаляромНачальный размер шрифта для меток переходов на графике, который автоматически генерируется для таблицы переходов состояний, задается как скаляр.
Пример: table.TransitionFont.Size = 8;
TransitionFont.Name
- Название шрифта для меток переходов'Helvetica'
(по умолчанию) | вектор символовНазвание шрифта для меток перехода на графике, который автоматически генерируется для таблицы переходов состояний в виде вектора символов.
Пример: table.TransitionFont.Name = 'Arial';
Machine
- Машина, которая содержит таблицу переходов состоянийStateflow.Machine
объектЭто свойство доступно только для чтения.
Машина, которая содержит таблицу переходов состояний, заданную как Stateflow.Machine
объект.
Path
- Расположение таблицы переходов состояний в иерархии моделиЭто свойство доступно только для чтения.
Расположение таблицы переходов состояний в иерархии модели, заданное как вектор символов.
Dirty
- Изменилась ли таблица переходов состоянийtrue
или 1 | false
или 0Изменилась ли таблица переходов после открытия или сохранения, заданная в виде числа или логики 1 (true
) или 0 (false
).
Locked
- Является ли таблица переходов состояний заблокированнойfalse
или 0 (по умолчанию) | true
или 1Является ли таблица переходов состояний заблокированной, задается как число или логический 1 (true
) или 0 (false
). Включите это свойство, чтобы предотвратить изменения в таблице переходов состояний.
Iced
- Является ли таблица переходов состояний заблокированнойfalse
или 0 (по умолчанию) | true
или 1Это свойство доступно только для чтения.
Является ли таблица переходов состояний заблокированной, задается как число или логический 1 (true
) или 0 (false
). Это свойство эквивалентно свойству Locked
, но используется внутри для предотвращения изменений в таблице переходов состояний во время симуляции.
Description
- Описание''
(по умолчанию) | вектор символовОписание таблицы переходов состояний, заданное как вектор символов.
Document
- Ссылка на документ''
(по умолчанию) | вектор символовСсылка на документ для таблицы переходов состояний, заданная как вектор символов.
Tag
- Определяемый пользователем тег[]
(по умолчанию) | любой тип данныхПользовательский тег для таблицы переходов состояний, заданный как данные любого типа.
Id
- Уникальный идентификаторЭто свойство доступно только для чтения.
Уникальный идентификатор, заданный как целочисленный скаляр. Используйте это свойство, чтобы отличить таблицу переходов состояний от других объектов модели. Значение этого свойства переназначается каждый раз, когда вы запускаете новый сеанс работы с MATLAB, и может быть повторно использовано после удаления объекта.
classhandle | Предоставьте указатель на класс для объекта |
dialog | Откройте диалоговое окно свойств |
find | Заданные объекты в иерархии |
get | Верните структуру MATLAB, содержащую настройки свойств объекта или массива объектов |
parse | Проанализируйте один график или все графики в модели |
set | Установите свойства с заданными значениями |
view | Отобразите объект в среде редактирования |
Вызовите функцию sfnew
с -STT
аргумент для открытия новой модели Simulink, которая содержит пустой блок State Transition Table.
sfnew -STT
Доступ к Simulink.Root
объект вызовом sfroot
функция.
rt = sfroot;
Доступ к Stateflow.StateTransitionTableChart
объект вызовом find
функция для Simulink.Root
объект.
table = find(rt,'-isa','Stateflow.StateTransitionTableChart');
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.