Табличное представление конечного автомата для модальной логики
Использовать Stateflow.StateTransitionTableChart создание табличного представления конечного конечного автомата для модальной логики. Преимущества использования таблиц переходов состояний включают в себя:
Простота моделирования train-подобных конечных автоматов, где модальная логика включает в себя переходы из одного состояния в соседнее
Сжатый, компактный формат конечного автомата
Сокращение объема обслуживания графических объектов
Дополнительные сведения см. в разделе Таблицы перехода состояний в потоке состояний.
Создание Stateflow.StateTransitionTableChart объект, вызовите функцию sfnew с -STT аргумент. Например, чтобы создать блок таблицы перехода состояния в новой модели 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'. Дополнительные сведения см. в разделе Обзор машин Mealy и Moore.
SupportVariableSizing - Поддерживает ли таблица перехода состояния данные переменного размераtrue или 1 (по умолчанию) | false или 0Поддерживает ли таблица перехода состояния данные переменного размера, указанные как числовые или логические 1 (true) или 0 (false). Только данные переменного размера могут изменять размеры во время моделирования. Дополнительные сведения см. в разделе Объявление данных переменного размера в диаграммах потока состояний.
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). Если это свойство отключено, данные в таблице перехода состояния переносятся при переполнении целых чисел. Дополнительные сведения см. в разделе Обработка переполнения целых чисел для данных диаграммы.
TreatAsFi - Унаследованные сигналы Simulink для обработки как fi объекты'Fixed-point' (по умолчанию) | 'Fixed-point & Integer'Унаследованные сигналы Simulink для обработки как 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 I/O.
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 ® Editor.
Visible - Отображает ли редактор таблицу перехода состоянийtrue или 1 | false или 0Отображается ли в окне Stateflow Editor таблица перехода состояния, заданная как числовая или логическая 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, содержащей пустой блок таблицы перехода состояния.
sfnew -STTДоступ к Simulink.Root путем вызова sfroot функция.
rt = sfroot;
Доступ к Stateflow.StateTransitionTableChart путем вызова find для функции Simulink.Root объект.
table = find(rt,'-isa','Stateflow.StateTransitionTableChart');
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.