State Transition Table

Представление модальной логики в табличном формате

  • Библиотека:
  • Stateflow

  • State Transition Table block

Описание

Когда вы хотите представлять модальную логику в табличном формате, используйте этот блок. Блок таблицы переходов состояний использует только MATLAB® как язык действий.

Используя Редактор таблиц переходов состояний, можно:

  • Добавьте состояния и введите состояния активности.

  • Добавьте иерархию между состояниями.

  • Введите условия и действия для переходов состояния в состояние.

  • Задайте переходы по умолчанию, внутренние переходы и самоцикл переходы.

  • Добавьте входные или выходные данные и события.

  • Установите точки останова для отладки.

  • Запустите диагностику, чтобы обнаружить ошибки синтаксического анализатора.

  • Просмотр автоматически сгенерированного содержимого при редактировании таблицы.

Дополнительные сведения о редакторе таблиц переходов состояний см. в разделе Операции таблицы переходов состояний.

Порты

Вход

расширить все

Когда вы создаете входные данные на панели «Символы», Stateflow® создает входные порты. Входные данные, которые вы создаете, имеют соответствующий входной порт, который появляется после создания данных.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Выход

расширить все

Когда вы создаете выходные данные на панели «Символы», Stateflow создает выходные порты. Созданные выходные данные имеют соответствующий выходной порт, который появляется после создания данных.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Параметры

расширить все

Параметры на вкладке Генерация Кода требуют Simulink® Coder™ или Embedded Coder®.

Главный

Выберите способ отображения меток портов на значке Chart блока.

none

Не отображать метки портов.

FromPortIcon

Если соответствующий значок порта отображает имя сигнала, отобразите имя сигнала на блоке Chart. В противном случае отобразится имя блока портов.

FromPortBlockName

Отобразите имя соответствующего блока портов на блоке Chart.

SignalName

Если имя сигнала существует, отобразите имя сигнала, соединенного с портом на блоке Chart. В противном случае отобразится имя соответствующего блока портов.

Программное использование

Параметр: ShowPortLabels
Тип: Вектор символов
Значение: 'FromPortIcon' | 'FromPortBlockName' | 'SignalName'
По умолчанию: 'FromPortIcon'

Управление доступом пользователя к содержимому графика.

ReadWrite

Включите открытие и изменение содержимого графика.

ReadOnly

Включите открытие, но не изменение графика. Если график находится в библиотеке блоков, можно создавать и открывать ссылки на график и создавать и изменять локальные копии графика, но нельзя изменять разрешения или содержимое исходного образца библиотеки.

NoReadOrWrite

Отключите открытие или изменение графика. Если график проживает в библиотеке, Вы можете создать ссылки к графику в модели, но Вы не можете открыть, изменить, разрешения изменения, или создать местные копии графика.

Программное использование

Параметр: Permissions
Тип: Вектор символов
Значение: 'ReadWrite' | 'ReadOnly' | 'NoReadOrWrite'
По умолчанию: 'ReadWrite'

При определении порядка выполнения блочных методов заставляет Simulink рассматривать график как модуль.

прочь

При определении порядка выполнения блочного метода обрабатывайте все блоки на графике как находящиеся на том же уровне иерархии модели, что и график. Эта обработка иерархии может привести к тому, что выполнение методов блоков на графике будет перемежаться с выполнением методов блоков за пределами диаграммы.

на

При определении порядка выполнения блочных методов обрабатывайте график как модуль. Для примера, когда Simulink нужно вычислить выход диаграммы, Simulink вызывает методы выхода всех блоков на графике, прежде чем вызывать методы выхода других блоков на том же уровне, что и блок диаграммы.

Зависимость

Если вы выбираете этот параметр, вы включаете параметры Minimize algebraic loop occurrences, Sample time и Function packaging. Function packaging требуется программное обеспечение Simulink Coder.

Программное использование

Параметр: TreatAsAtomicUnit
Тип: Вектор символов
Значение: 'off' | 'on'
По умолчанию: 'off'

См. также

прочь

Не пытайтесь устранить какие-либо искусственные алгебраические циклы, которые включают атомарную субдиаграмму.

на

Попытайтесь исключить любые искусственные алгебраические циклы, которые включают атомарную субдиаграмму.

Зависимость

Чтобы включить этот параметр, выберите параметр Treat as atomic unit.

Программное использование

Параметр: MinAlgLoopOccurrences
Тип: Вектор символов
Значение: 'off' | 'on'
По умолчанию: 'off'

Укажите, должны ли все блоки на этом графике запускаться с одной скоростью или могут запускаться с различными скоростями.

  • Если блоки на графике могут запускаться с различными скоростями, задайте шаг расчета на графике как унаследованное (-1).

  • Если все блоки должны запускаться с одной скоростью, задайте шаг расчета, соответствующее этой скорости, как значение параметра Sample time.

  • Если какой-либо из блоков на графике задает другой шаг расчета (кроме -1 или inf), Simulink отображает сообщение об ошибке, когда вы обновляете или симулируете модель. Например, предположим, что все блоки на графике должны запускаться 5 раз в секунду. Чтобы гарантировать это время, задайте шаг расчета графика следующим 0.2. В этом примере, если любой из блоков на графике задает шаг расчета, отличное от 0.2, -1, или infSimulink отображает ошибку при обновлении или симуляции модели.

-1

Задайте унаследованный шаг расчета. Если блоки на графике могут запускаться с различными скоростями, используйте этот шаг расчета.

[Ts 0]

Задайте периодические шаги расчета.

Зависимость

Чтобы включить этот параметр, выберите параметр Treat as atomic unit.

Программное использование

Параметр: SystemSampleTime
Тип: Вектор символов
Значение: '-1' | '[Ts 0]'
По умолчанию: '-1'

При распространении вариантов условий из блоков Variant Source или в блоки Variant Sink, Simulink обрабатывает график как модуль.

на

Simulink рассматривает график как модуль при распространении вариантов условий из блоков Variant Source или в блоки Variant Sink. Например, когда Simulink вычисляет условие варианта диаграммы, это условие распространяется на все блоки на графике.

прочь

Simulink рассматривает все блоки на графике как находящиеся на том же уровне иерархии модели, что и сам график, при определении их вариантного условия.

Программное использование

Параметр: TreatAsGroupedWhenPropagatingVariantConditions
Тип: Вектор символов
Значение: 'on' | 'off'
По умолчанию: 'on'

Генерация кода

Выберите формат сгенерированного кода для атомарной (невиртуальной) субдиаграммы.

Auto

Simulink Coder выбирает оптимальный формат для вашей системы на основе типа и количества образцов графика, которые существуют в модели.

Inline

Simulink Coder строит график безоговорочно.

Nonreusable function

Simulink Coder явным образом генерирует отдельную функцию в отдельном файле. Графики с этим параметром генерируют функции, которые могут иметь аргументы в зависимости от настройки параметра Function interface (Simulink). Вы можете назвать сгенерированную функцию и файл с помощью параметров Имени функции (Simulink) и File имени (без расширения) (Simulink). Эти функции не являются повторяющимися.

Reusable function

Simulink Coder генерирует функцию с аргументами, которая позволяет повторно использовать код графика, когда модель включает несколько образцы графика.

Эта опция генерирует функцию с аргументами, которая позволяет повторно использовать график код в сгенерированном коде иерархии модели-ссылки, которая включает несколько образцы графика между ссылочными моделями. В этом случае график должен находиться в библиотеке.

Совет

  • Когда вы хотите, чтобы несколько образцы графика были представлены как одна переиспользуемая функция, можно обозначить каждый из них как Auto или как Reusable function. Лучше всего использовать один, потому что использование обоих создает две переиспользуемые функции, по одной для каждого обозначения. Результаты этого выбора различаются только тогда, когда повторное использование невозможно. Выбор Auto не позволяет управлять функцией или именем файла для кода графика.

  • The Reusable function и Auto опции пытаются определить, существует ли несколько образцов графика и можно ли повторно использовать код. Различие между поведением опций заключается в том, что, когда повторное использование невозможно. В этом случае Auto приводит к inlined код, или если обстоятельства запрещают inlining, отдельные функции для каждого образца графика.

  • Если вы выбираете Reusable function пока ваш сгенерированный код находится под системой контроля версий, установите File name options равным Use subsystem name, Use function name, или User specified. В противном случае имена файлов кода изменяются каждый раз, когда вы изменяете модель, что препятствует системе контроля версий в файлах.

Зависимость

  • Этот параметр требует Simulink Coder.

  • Чтобы включить этот параметр, выберите Treat as atomic unit.

  • Установка этого параметра на Nonreusable function или Reusable function включает следующие параметры:

    • Function name options

    • File name options

    • Раздел памяти для инициализации/завершения функций (требует Embedded Coder и системного целевого файла на основе ERT)

    • Раздел памяти для функций выполнения (требует Embedded Coder и системного целевого файла на основе ERT)

  • Установка этого параметра на Nonreusable function включает Function with separate data (требует лицензии для Embedded Coder и системного целевого файла на основе ERT).

Программное использование

Параметр: RTWSystemCode
Тип: Вектор символов
Значение: 'Auto' | 'Inline' | 'Nonreusable function' | 'Reusable function'
По умолчанию: 'Auto'

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.

Генерация кода ПЛК
Сгенерируйте структурированный текстовый код с помощью Coder™ Simulink ® PLC

.

Преобразование с фиксированной точкой
Разрабатывайте и моделируйте системы с фиксированной точкой с помощью Fixed-Point Designer™.

Введенный в R2012b