Табличное представление конечного автомата для модальной логики
Используйте 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.