Структура Stateflow® является типом данных, который вы задаете от объекта Simulink.Bus
. Используя структуры Stateflow, можно связать данные различного размера и ввести, чтобы создать:
Вводы и выводы, о которых доступ шина Simulink® сигнализирует от диаграмм Stateflow, блоков Таблицы истинности и блоков MATLAB function.
Локальные данные в диаграммах Stateflow, таблицах истинности, графических функциях, функциях MATLAB® и полях.
Временные данные в графических функциях Stateflow, таблицах истинности и функциях MATLAB.
Например, в модели sf_bus_demo
, диаграмма Stateflow получает входной сигнал шины при помощи структуры inbus
и выводит сигнал шины от структуры outbus
. Входной сигнал прибывает из блока Simulink Bus Creator COUNTERBUSCreator
, который связывает сигналы от двух других блоков Создателя Шины. Выходная структура outbus
соединяется с блоком Селектора Шины Simulink. И inbus
и outbus
выводят их тип от объекта Simulink.Bus
COUNTERBUS
.
Элементы типа данных структуры Stateflow называются полями. Поля могут быть любой комбинацией отдельных сигналов, мультиплексированных сигналов, векторов и других структур (также названный подструктурами). Каждое поле имеет свой собственный тип данных. Тип данных не должен совпадать с типом никакого другого поля в структуре. Например, в модели sfbus_demo
, каждой из структур inbus
и outbus
имеют два поля:
inputsignal
является подструктурой с одним полем, input
.
limits
является подструктурой с двумя полями, upper_saturation_limit
и lower_saturation_limit
.
Чтобы задать тип данных структуры, создайте объект шины Simulink в базовом рабочем пространстве, как описано в Создают Объекты Шины с Редактором Шины (Simulink).
Добавьте, что объект данных к графику, как описано в Добавляют Данные Stateflow.
Чтобы задать временные структуры, по правде говоря, таблицы, графические функции и функции MATLAB, добавляют объект данных в вашу функцию. Для получения дополнительной информации смотрите, Добавляют Данные Через Model Explorer.
Установите свойство Scope для структуры. Ваш выбор:
Input
Output
Local
Parameter
Temporary
Установите свойство Type для структуры. В зависимости от его осциллографа структура Stateflow может иметь один из этих типов данных.
Ввод | Описание |
---|---|
Inherit: Same as Simulink | Эта опция доступна для входных структур только. Входная структура наследовала свой тип данных от сигнала шины Simulink в вашей модели, которая соединяется с ним. Сигнал шины Simulink должен быть невиртуальной шиной. Для получения дополнительной информации смотрите Виртуальные и Невиртуальные Шины. В базовом рабочем пространстве задайте объект
Если входной сигнал прибывает из блока Bus Creator в диалоговом окне Bus Creator, задайте соответствующий объект шины для поля Output data type. Когда вы задаете объект шины, Simulink проверяет, что свойства объекта |
Bus: <object name> | В поле Type замените Для структур ввода или вывода вы не обязаны задавать сигнал шины в своей модели Simulink, которая соединяется со структурой Stateflow. Если вы действительно задаете сигнал шины, его свойства должны совпадать с объектом |
<date type expression> | В поле Type замените
|
Например, в модели sfbus_demo
, входная структура inbus
и выходная структура outbus
выводят их тип через спецификацию типа формы Bus: COUNTERBUS
.
type
Чтобы задать типы структуры, можно использовать выражения, которые вызывают оператор type
Stateflow. Этот оператор устанавливает тип одной структуры к типу другой структуры в диаграмме Stateflow. Например, в модели sf_bus_demo
, выражение оператора type
задает тип локальной структуры counterbus_struct
с точки зрения входной структуры inbus
. Обе структуры заданы от объекта Simulink.Bus
COUNTERBUS
. Для получения дополнительной информации смотрите, Выводят Типы данных от Других Объектов данных.
Модели Simulink поддерживают виртуальные и невиртуальные шины. Невиртуальные шины читают свои входные параметры из структур данных, сохраненных в непрерывной памяти. Виртуальные шины читают свои входные параметры из памяти, состоящей из нескольких несмежных участков. Для получения дополнительной информации смотрите Виртуальные и Невиртуальные Шины (Simulink).
Диаграммы Stateflow поддерживают только невиртуальные шины. Структуры входа Stateflow могут принять виртуальные сигналы шины и преобразовать их в невиртуальные сигналы шины. Структуры входа Stateflow не могут наследовать свойства от виртуальных сигналов шины. Если вход к графику является виртуальной шиной, установите свойство Type входной структуры через спецификацию типа формы
.Bus: <object name>
Чтобы отладить структуру Stateflow, откройте окно Stateflow Breakpoints и Watch и исследуйте значения полей структуры во время симуляции. Чтобы просмотреть значения полей структуры в командной строке, используйте запись через точку, чтобы индексировать в структуру. Для получения дополнительной информации смотрите, Смотрят Stateflow Data Values и Index Substructures и Fields.
Задайте каждую структуру от объекта Simulink.Bus
в базовом рабочем пространстве.
Структуры не могут иметь постоянного осциллографа.
Структуры осциллографа параметра должны быть настраиваемыми.
Объекты массива данных не могут содержать структуры.
Вы не можете задать структуры для машин Stateflow. Для получения дополнительной информации смотрите Иерархию Объектов Stateflow.