Табличное представление конечного автомата для модальной логики
Используйте 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');
Stateflow® Объекты API имеют свойства, которые соответствуют значениям, которые вы устанавливаете в редакторе Stateflow. Чтобы получить доступ или изменить свойство, используйте запись через точку. Чтобы получить доступ или изменить несколько свойств для нескольких объектов API, используйте get
и set
функции, соответственно. Для получения дополнительной информации см. Изменение свойств и Вызов функций Объектов Stateflow.
Name
— Имя таблицы изменения состояния'State Transition Table'
(значение по умолчанию) | вектор символовИмя таблицы изменения состояния в виде вектора символов.
ActionLanguage
— Язык действия'MATLAB'
(значение по умолчанию) | 'C'
Язык действия раньше программировал таблицу изменения состояния в виде 'MATLAB'
или 'C'
. Для получения дополнительной информации смотрите Различия Между MATLAB и C как Синтаксис языка Действия.
StateMachineType
— Семантика конечного автомата'Classic'
(значение по умолчанию) | 'Mealy'
| 'Moore'
Семантика конечного автомата реализована таблицей изменения состояния в виде 'Classic'
, 'Mealy'
, или 'Moore'
. Для получения дополнительной информации см. Обзор машин Мили и Мура.
SupportVariableSizing
— Поддерживает ли таблица изменения состояния данные переменного размераtrue
или 1 (значение по умолчанию) | false
или 0Поддерживает ли таблица изменения состояния данные переменного размера в виде числового или логической единицы (true
) или 0 (false
). Только данные переменного размера могут изменить размерность в процессе моделирования. Для получения дополнительной информации смотрите, Объявляют Данные Переменного Размера в диаграммах Stateflow.
ExecuteAtInitialization
— Инициализировать ли настройку состоянияfalse
или 0 (значений по умолчанию) | true
или 1Инициализировать ли настройку состояния таблицы изменения состояния в начальный момент времени вместо в первом входном событии в виде числового или логической единицы (true
) или 0 (false
). Для получения дополнительной информации смотрите Выполнение Графика при Инициализации.
StatesWhenEnabling
— Поведение состояний, когда событие повторно включает таблицу изменения состояния''
(значение по умолчанию) | 'held'
| 'reset'
Поведение состояний, когда вызов функции ввел событие, повторно включает таблицу изменения состояния в виде одного из этих значений:
''
— Таблица изменения состояния не содержит входные события вызова функции.
'held'
— Таблица изменения состояния обеспечивает новые значения состояний.
'reset'
— Таблица изменения состояния возвращается к начальным условиям состояний.
Для получения дополнительной информации смотрите состояния Управления в Графиках, Enabled Входными Событиями Вызова функции.
InitializeOutput
— Инициализировать ли выходные данныеfalse
или 0 (значений по умолчанию) | true
или 1Инициализировать ли выходные данные каждый раз, когда таблица изменения состояния просыпается в виде числового или логической единицы (true
) или 0 (false
). Для получения дополнительной информации смотрите Initialize выходные параметры, которые будит каждая временная диаграмма.
HasOutputData
— Создать ли активный вывод данных состоянияfalse
или 0 (значений по умолчанию) | true
или 1Создать ли активный порт вывода данных состояния для таблицы изменения состояния в виде числового или логической единицы (true
) или 0 (false
). Для получения дополнительной информации смотрите Действие Состояния монитора Через Активные Данные состояния.
OutputData
— Активный объект данных состоянияStateflow.Data
объектЭто свойство доступно только для чтения.
Активный объект данных состояния для таблицы изменения состояния в виде Stateflow.Data
объект. Это свойство применяется только когда HasOutputData
свойством для таблицы изменения состояния является true
.
OutputPortName
— Имя активного объекта данных состоянияИмя активного объекта данных состояния для таблицы изменения состояния в виде вектора символов. Это свойство применяется только когда HasOutputData
свойством для таблицы изменения состояния является true
.
OutputMonitoringMode
— Режим Monitoring для активного выхода состояния'ChildActivity'
(значение по умолчанию) | 'LeafStateActivity'
Режим Monitoring для активных выходных данных состояния в виде 'ChildActivity'
или 'LeafStateActivity'
.
EnumTypeName
— Имя перечислимого типа данных для активного объекта данных состоянияИмя перечислимого типа данных для активного объекта данных состояния для таблицы изменения состояния в виде вектора символов. Для получения дополнительной информации смотрите Перечислимое Имя.
DoNotAutogenerateEnum
— Задать ли перечислимый тип данных вручнуюfalse
или 0 (значений по умолчанию) | true
или 1Задать ли перечислимый тип данных для активного вывода данных состояния вручную в виде числового или логической единицы (true
) или 0 (false
). Для получения дополнительной информации смотрите, Задают Перечисляемый тип Действия состояния.
ChartUpdate
— Метод активации для таблицы изменения состояния'INHERITED'
(значение по умолчанию) | 'CONTINUOUS'
| 'DISCRETE'
Метод активации для таблицы изменения состояния в виде 'CONTINUOUS'
, 'DISCRETE'
, или 'INHERITED'
. Для получения дополнительной информации см. Метод Обновления.
SampleTime
— Шаг расчета для активации таблицы изменения состояния
(значение по умолчанию) | вектор символовШаг расчета для активации таблицы изменения состояния в виде вектора символов. Это свойство применяется только когда ChartUpdate
свойством для таблицы изменения состояния является 'DISCRETE'
.
EnableZeroCrossings
— Разрешить ли обнаружение пересечения нулемtrue
или 1 (значение по умолчанию) | false
или 0Разрешить ли обнаружение пересечения нулем на изменениях состояния в таблице изменения состояния в виде числового или логической единицы (true
) или 0 (false
). Это свойство применяется только когда ChartUpdate
свойство для таблицы изменения состояния установлено в 'CONTINUOUS'
. Для получения дополнительной информации смотрите, Отключают Обнаружение Пересечения нулем.
EnableNonTerminalStates
— Разрешить ли супер семантику шагаfalse
или 0 (значений по умолчанию) | true
или 1Разрешить ли супер семантику шага для таблицы изменения состояния в виде числового или логической единицы (true
) или 0 (false
). Для получения дополнительной информации смотрите Супер Семантику Шага.
NonTerminalMaxCounts
— Максимальное количество переходов на одном супер шаге
(значение по умолчанию) | скалярМаксимальное количество переходов таблица изменения состояния может взять в одном супер шаге в виде целочисленного скаляра. Это свойство применяется только когда EnableNonTerminalStates
свойством для таблицы изменения состояния является true
.
NonTerminalUnstableBehavior
— Поведение, если супер шаг превышает максимальное количество переходов'Proceed'
(значение по умолчанию) | 'Throw Error'
Поведение, если супер шаг для таблицы изменения состояния превышает максимальное количество переходов, заданных в NonTerminalMaxCounts
свойство прежде, чем достигнуть устойчивого состояния в виде одного из этих значений:
'Proceed'
— Таблица изменения состояния засыпает с последней активной настройкой состояния.
'Throw Error'
— Таблица изменения состояния генерирует ошибку.
Это свойство применяется только когда EnableNonTerminalStates
свойством для таблицы изменения состояния является true
.
SaturateOnIntegerOverflow
— Насыщают ли данные на целочисленном переполненииtrue
или 1 (значение по умолчанию) | false
или 0Насыщают ли данные в таблице изменения состояния на целочисленном переполнении в виде числового или логической единицы (true
) или 0 (false
). Когда это свойство отключено, данные в таблице изменения состояния переносятся на целочисленном переполнении. Для получения дополнительной информации смотрите Целочисленное переполнение Указателя для Данных о Графике.
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 в виде числового или логической единицы (true
) или 0 (false
). Это свойство применяется только к таблицам переходов состояний, которые используют C в качестве языка действия. Для получения дополнительной информации смотрите Использование сильный ввод данных с вводом-выводом Simulink.
EnableBitOps
— Использовать ли битовые операцииfalse
или 0 (значений по умолчанию) | true
или 1Использовать ли битовые операции в состоянии и действия перехода в таблице изменения состояния в виде числового или логической единицы (true
) или 0 (false
). Это свойство применяется только к таблицам переходов состояний, которые используют C в качестве языка действия. Для получения дополнительной информации смотрите, Включают операции C-bit.
Debug
— Свойства отладчикаStateflow.ChartDebug
объектСвойства отладчика для таблицы изменения состояния в виде Stateflow.ChartDebug
объект с этим свойством:
Breakpoints.OnEntry
— Установить ли On Chart Entry
установите точки останова в виде числового или логической единицы (true
) или 0 (false
).
Для получения дополнительной информации смотрите Установку точек останова, чтобы Отладить Графики.
Пример: table.Debug.Breakpoints.OnEntry = true;
Editor
РедакторStateflow.Editor
объектЭто свойство доступно только для чтения.
Редактор для таблицы изменения состояния в виде Stateflow.Editor
объект. Можно использовать этот объект управлять положением, размером и уровнем увеличения окна Stateflow Editor.
Visible
— Отображает ли редактор таблицу изменения состоянияtrue
или 1 | false
или 0Отображает ли окно Stateflow Editor таблицу изменения состояния в виде числового или логической единицы (true
) или 0 (false
).
ChartColor
BackgroundColor
(значение по умолчанию) | [red green blue]
Цвет фона для графика, который автоматически сгенерирован для таблицы изменения состояния в виде трехэлементного числового вектора из формы [red green blue]
это задает красные, зеленые, и синие значения. Каждый элемент должен быть в области значений между 0 и 1.
StateColor
— Цвет для состояний
(значение по умолчанию) | [red green blue]
Цвет для состояний в графике, который автоматически сгенерирован для таблицы изменения состояния в виде трехэлементного числового вектора из формы [red green blue]
это задает красные, зеленые, и синие значения. Каждый элемент должен быть в области значений между 0 и 1.
TransitionColor
— Цвет для переходов
(значение по умолчанию) | [red green blue]
Цвет для переходов в графике, который автоматически сгенерирован для таблицы изменения состояния в виде трехэлементного числового вектора из формы [red green blue]
это задает красные, зеленые, и синие значения. Каждый элемент должен быть в области значений между 0 и 1.
JunctionColor
— Цвет для соединений
(значение по умолчанию) | [red green blue]
Цвет для соединений в графике, который автоматически сгенерирован для таблицы изменения состояния в виде трехэлементного числового вектора из формы [red green blue]
это задает красные, зеленые, и синие значения. Каждый элемент должен быть в области значений между 0 и 1.
StateFont
— Шрифт для меток состоянияStateflow.STTStateFont
объектШрифт для состояния помечает в графике, который автоматически сгенерирован для таблицы изменения состояния в виде Stateflow.STTStateFont
объект с этими свойствами:
Name
— Название шрифта в виде вектора символов.
Angle
— Угол шрифта в виде 'NORMAL'
или 'ITALIC'
.
Weight
— Толщина шрифта в виде 'NORMAL'
или 'BOLD'
.
Size
— Размер стандартного шрифта для новых состояний в виде скаляра.
Пример: table.StateFont.Name = 'Arial';
Пример: table.StateFont.Angle = 'ITALIC';
Пример: table.StateFont.Weight = 'BOLD;
Пример: table.StateFont.Size = 8;
StateLabelColor
— Цвет для меток состояния
(значение по умолчанию) | [red green blue]
Цвет для состояния помечает в графике, который автоматически сгенерирован для таблицы изменения состояния в виде трехэлементного числового вектора из формы [red green blue]
это задает красные, зеленые, и синие значения. Каждый элемент должен быть в области значений между 0 и 1.
TransitionFont
— Шрифт для меток переходаStateflow.STTTransFont
объектШрифт для перехода помечает в графике, который автоматически сгенерирован для таблицы изменения состояния в виде Stateflow.STTTransFont
объект с этими свойствами:
Name
— Название шрифта в виде вектора символов.
Angle
— Угол шрифта в виде 'NORMAL'
или 'ITALIC'
.
Weight
— Толщина шрифта в виде 'NORMAL'
или 'BOLD'
.
Size
— Размер стандартного шрифта для новых переходов в виде скаляра.
Пример: table.TransitionFont.Name = 'Arial';
Пример: table.TransitionFont.Angle = 'ITALIC';
Пример: table.TransitionFont.Weight = 'BOLD';
Пример: table.TransitionFont.Size = 8;
TransitionLabelColor
— Цвет для меток перехода
(значение по умолчанию) | [red green blue]
Цвет для перехода помечает в графике, который автоматически сгенерирован для таблицы изменения состояния в виде трехэлементного числового вектора из формы [red green blue]
это задает красные, зеленые, и синие значения. Каждый элемент должен быть в области значений между 0 и 1.
Machine
— Машина, которая содержит таблицу изменения состоянияStateflow.Machine
объектЭто свойство доступно только для чтения.
Машина, которая содержит таблицу изменения состояния в виде Stateflow.Machine
объект.
Path
— Местоположение таблицы изменения состояния в иерархии моделиЭто свойство доступно только для чтения.
Местоположение таблицы изменения состояния в иерархии модели в виде вектора символов.
Dirty
— Изменилась ли таблица изменения состоянияtrue
или 1 | false
или 0Изменилась ли таблица изменения состояния, будучи открытым или сохраненный в виде числового или логической единицы (true
) или 0 (false
).
Locked
— Заблокирована ли таблица изменения состоянияfalse
или 0 (значений по умолчанию) | true
или 1Заблокирована ли таблица изменения состояния в виде числового или логической единицы (true
) или 0 (false
). Включите этому свойству предотвратить изменения в таблице изменения состояния.
Iced
— Заблокирована ли таблица изменения состоянияfalse
или 0 (значений по умолчанию) | true
или 1Это свойство доступно только для чтения.
Заблокирована ли таблица изменения состояния в виде числового или логической единицы (true
) или 0 (false
). Это свойство эквивалентно свойству Locked
, но используется внутренне, чтобы предотвратить изменения в таблице изменения состояния в процессе моделирования.
Description
Описание''
(значение по умолчанию) | вектор символовОписание для таблицы изменения состояния в виде вектора символов.
Document
— Ссылка на документ''
(значение по умолчанию) | вектор символовСсылка на документ для таблицы изменения состояния в виде вектора символов.
Tag
— Пользовательский тег[]
(значение по умолчанию) | любой тип данныхПользовательский тег для таблицы изменения состояния в виде данных любого типа.
Id
— Уникальный идентификаторЭто свойство доступно только для чтения.
Уникальный идентификатор в виде целочисленного скаляра. Используйте это свойство отличить таблицу изменения состояния от других объектов в модели. Значение этого свойства повторно присвоено каждый раз, когда вы запускаете новый сеанс работы с MATLAB и можете быть переработаны после того, как объект удален.
find | Идентифицируйте заданные объекты в иерархии |
getChildren | Идентифицируйте дочерние элементы объекта |
dialog | Открытое диалоговое окно свойств |
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.