State Reader

Чтение состояния блока

  • Библиотека:
  • Simulink/Маршрутизация сигнала

  • State Reader block

Описание

Блок State Reader считывает текущее состояние поддерживаемого блока владельца состояния.

State Reader блоки могут считать состояние из этих блоков владельцев состояний:

  • Discrete State-Space

  • Discrete-Time Integrator

  • Delay

  • Unit Delay

  • Discrete Transfer Fcn

  • Discrete Filter

  • Discrete FIR Filter

  • Integrator

  • Second-Order Integrator

  • Outport блоков условных подсистем, таких как Enabled Subsystem, Triggered Subsystem и Function-Call Subsystem

  • S-Function с несколькими дискретными состояниями

    Чтобы сконфигурировать блок S-Function как блок владельца состояния, каждый рабочий вектор типа данных должен быть объявлен как дискретный вектор состояния, используя ssSetDWorkUsedAsDState и именованные с использованием ssSetDWorkName или ssSetDWorkRTWIdentifier в mdlInitializeSizes.

Совет

Можно определить, является ли блок поддерживаемым блоком владельца состояния, по значению IsStateOwnerBlock блока параметр. Выражение

get_param(blk,'IsStateOwnerBlock')
где blk - имя блока или указатель, возвращает 'on' если блок является поддерживаемым блоком владельца состояния и 'off' в противном случае.

Чтобы добавить State Reader или State Writer блок к модели, щелкните правой кнопкой мыши по блоку владельца состояния и перетащите мышью к пустому фрагменту Simulink® холст. Когда вы отпустите, появится меню. Выберите Create State Reader Block или Create State Writer Block.

Simulink canvas showing Unit Delay block and quick menu with Paste, Create State Reader Block, Create State Writer block, which is highlighted, and Cancel

После создания State Reader или State Writer блокаdiamond shape with an x inside it над блоком владельца состояния появляется значок, а рядом с блоком State Reader или State Writer появляется имя блока владельца состояния.

Simulink canvas showing Unit Delay block with a badge above it, and a State Writer block with "Unit Delay" appearing next to it

Блок State Reader или State Writer не может оставаться в той же системе, что и блок владельца состояния. После создания State Reader или State Writer блока вырежьте и вставьте его, чтобы переместить его в нужное место в иерархии модели.

Также можно добавить State Reader или State Writer блок к модели из Браузера Библиотеки Simulink, затем задать параметр State owner block из диалогового окна параметров блоков.

Примечание

Когда вы создаете библиотечный блок с State Reader или State Writer блоком, необходимо также включить в библиотечный блок соответствующий блок владельца состояния.

Можно выбрать State Reader или State Writer блок или соответствующий блок владельца состояния, чтобы подсветить блоки, связанные с ним.

Порты

Выход

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

Значение состояния считывается из блока владельца состояния.

Размерность выхода является размерностью полного вектора состояния. См. параметр Initial conditions для конкретных блоков. Например, для блока Delay с Delay length N, блок State Reader возвращает вектор состояния длины [1xN].

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

Параметры

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

Показать блок владельца состояния, состояние которого этот блок читается. Чтобы изменить блок владельца состояния, выберите блок из State Owner Selector Tree.

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

Параметры блоков: StateOwnerBlock
Тип: Вектор символов
Значение: '' | '<model path/block name>'
По умолчанию: ''

Характеристики блоков

Типы данных

Boolean | bus | double | enumerated | fixed point | half | integer | single

Прямое сквозное соединение

no

Многомерные сигналы

yes

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

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

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

.

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