Stateflow® structure - тип данных, заданный из Simulink.Bus
(Simulink) объект. Используя структуры Stateflow, можно объединить данные разного размера и типа, чтобы создать:
Входы и выходы, которые получают доступ к Simulink® сигналы шины от диаграмм Stateflow, блоков Таблица и блоков MATLAB Function.
Локальные данные в диаграммах Stateflow, таблицах истинности, графических функциях, MATLAB® функций и коробок.
Временные данные в графических функциях Stateflow, таблицах истинности и функциях MATLAB.
Для примера в модели sf_bus_demo
диаграмма Stateflow получает входной сигнал шины при помощи структуры inbus
и выводит сигнал шины от структуры outbus
. Входной сигнал поступает из блока Bus Creator Simulink COUNTERBUSCreator
, который связывает сигналы от двух других блоков Bus Creator. Область структуры output outbus
соединяется с блоком Bus Selector Simulink. Оба inbus
и outbus
вывести свой тип из Simulink.Bus
COUNTERBUS объекта
.
Элементы массива типа данных структуры Stateflow называются полями. Поля могут быть любой комбинацией отдельных сигналов, мимикрированных сигналов, векторов и других структур (также называемых подструктурами). Каждое поле имеет свой тип данных. Тип данных не должен совпадать с типом любого другого поля в структуре. Для примера в модели sf_bus_demo
, каждая из структур inbus
и outbus
имеет два поля:
inputsignal
является подструктурой с одним полем, input
.
limits
является подструктурой с двумя полями, upper_saturation_limit
и lower_saturation_limit
.
Чтобы определить тип данных структуры, создайте объект шины Simulink в базовом рабочем пространстве, как описано в разделе «Создание и задание объектов Simulink.Bus (Simulink)».
Добавьте объект данных к графику, как описано в Add Stateflow Data.
Чтобы задать временные структуры в таблицах истинности, графических функциях и функциях 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 поле замените
|
Для примера, в sf_bus_demo
модель, структура входа inbus
и структура output outbus
выведите их тип через спецификацию типа формы Bus: COUNTERBUS
.
type
ОператорЧтобы задать типы структур, можно использовать выражения, которые вызывают Stateflow type
оператор. Этот оператор устанавливает тип одной структуры на тип другой структуры на диаграмме Stateflow. Для примера, в sf_bus_demo
модель, a type
выражение оператора задает тип локальной структуры counterbus_struct
в терминах входной структуры inbus
. Обе структуры определены из Simulink.Bus
COUNTERBUS объекта
. Для получения дополнительной информации смотрите Деривация типов данных из других объектов данных.
Модели Simulink поддерживают виртуальные и невиртуальные шины. Невиртуальные шины считывают свои входы от структур данных, хранящихся в смежной памяти. Виртуальные шины считывают свои входы из несмежной памяти. Для получения дополнительной информации смотрите Типы составных сигналов (Simulink).
Диаграммы Stateflow поддерживают только невиртуальные шины. Входные структуры Stateflow могут принимать сигналы виртуальной шины и преобразовывать их в невиртуальные сигналы шины. Входные структуры Stateflow не могут наследовать свойства от сигналов виртуальной шины. Если вход на график является виртуальной шиной, задайте свойство Type входной структуры через спецификацию типа формы Bus:
.<object name>
Чтобы отлажить структуру Stateflow, откройте окно Stateflow Breakpoints и Watch и исследуйте значения структурных полей во время симуляции. Чтобы просмотреть значения полей структуры в командной строке, используйте запись через точку для индекса в структуру. Для получения дополнительной информации см. раздел «Просмотр и изменение данных и сообщений во время отладки».
Задайте каждую структуру из Simulink.Bus
объект в базовом рабочем пространстве.
Структуры не могут иметь постоянных возможностей.
Структуры возможностей должны быть настраиваемыми.
Объекты массива данных не могут содержать структуры.
Вы не можете задать структуры для машин Stateflow. Для получения дополнительной информации см. Обзор объектов Stateflow.
Simulink.Bus
(Simulink)