Функции выходного сигнала

LibBlockAssignOutputSignal (portIdx, ucv, lcv, sigIdx, rhs)

На основе номера выходного порта (portIdx), переменная контроля за работой пользователей (ucv), контрольная переменная цикла (lcv), индекс сигнала (sigIdx) и место назначения выходного сигнала, LibBlockAssignOutputSignal присваивает вывод блока заданному значению правой стороны, (rhs).

Смотрите LibBlockAssignOutputSignal в customstoragelib.tlc.

LibBlockNumOutputPorts (блок)

Возвращается количество портов вывода данных блока (исключает управление и порты состояния).

Смотрите LibBlockNumOutputPorts в blocklib.tlc.

LibBlockOutputPortIndexMode (блок, pidx)

Цель

Определяет режим индексации выходного порта блока.

Описание

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

Пример

%if LibBlockOutputPortIndexMode(block, idx) == "Zero-based"
  ...
%elseif LibBlockOutputPortIndexMode(block, idx) == "One-based"
  ...
%else
  ...
%endif

Аргументы

block — Запись блока

pidx — Индекс порта

Возвращается

"" для неиндексного порта, и "Zero-based" или "One-based" в противном случае.

Смотрите LibBlockOutputPortIndexMode в blkiolib.tlc.

LibBlockOutputSignal (portIdx, ucv, lcv, sigIdx)

На основе номера выходного порта (portIdx), переменная контроля за работой пользователей (ucv), контрольная переменная цикла (lcv), индекс сигнала (sigIdx) и место назначения выходного сигнала, LibBlockOutputSignal возвращает ссылку на выходной сигнал блока.

Возвращенным значением является допустимый lvalue (значение левой стороны) для выражения. Выходное место назначения блока может быть местоположением в векторе блока I/O (вход другого блока), вектор состояния или внешний вывод.

Примечание

Не используйте LibBlockOutputSignal, чтобы получить доступ к адресу выходного сигнала.

Генератор кода отслеживает, когда к переменной (например, сигнал или параметр) получает доступ его адрес. Чтобы получить доступ к адресу выходного сигнала, используйте LibBlockOutputSignalAddr в качестве в следующем примере:

%assign yAddr = LibBlockOutputSignalAddr(0, "", lcv, sigIdx)
x = %<yAddr>;

Смотрите LibBlockOutputSignal в blkiolib.tlc.

LibBlockOutputSignalAddr (portIdx, ucv, lcv, sigIdx)

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

Когда адрес выходного сигнала требуется, необходимо использовать LibBlockOutputSignalAddr вместо того, чтобы брать адрес, который возвращен LibBlockOutputSignal. Например, LibBlockOutputSignal может возвратить литеральную константу, такой как 5 (т.е. инвариантный выходной сигнал). Когда LibBlockOutputSignalAddr называется на инвариантном сигнале, сигнал объявляется как const вместо того, чтобы быть помещенным как литеральная константа в сгенерированный код.

Обратите внимание на то, что различающийся LibBlockOutputSignal, последний аргумент, sigIdx, не перегружается. Следовательно, если выходной сигнал является комплексным, адрес комплексного контейнера возвращен.

Пример

Чтобы получить адрес широкого выходного сигнала и передать его функции пользователя для обработки, вы могли использовать

%assign u = LibBlockOutputSignalAddr(0, "", "", 0)
%assign y = LibBlockOutputSignal(0, "", "", 0)
%<y> = myfcn (%<u>);

Смотрите LibBlockOutputSignalAddr в blkiolib.tlc.

LibBlockOutputSignalAliasedThruDataTypeName
(portIdx, reim)

Возвращает строку имени типа (например, int_T, ... creal_T) искаженного типа данных, соответствующего заданному выходному порту блока.

Задайте аргумент reim как "", если вы хотите полное имя типа сигнала. Например, если reim == "" и первый выходной порт являются действительными и комплексными, типом данных, помещенным в dtname, является creal_T:

%assign dtname = LibBlockOutputSignalAliasedThroughDataTypeName(0x,"")

Задайте reim аргумент как tRealPart, если вы хотите необработанное имя типа элемента. Например, если reim == tRealPart и первый выходной порт являются действительными и комплексными, возвращенным именем типа данных является real_T.

%assign dtname = LibBlockOutputSignalAliasedThroughDataTypeName(0,tRealPart)

Смотрите LibBlockOutputSignalAliasedThruDataTypeName в blkiolib.tlc.

LibBlockOutputSignalBeingMerged (portIdx)

Возвращается, соединяется ли заданный выходной порт с блоком Merge.

Смотрите LibBlockOutputSignalBeingMerged в blkiolib.tlc.

LibBlockOutputSignalConnected (portIdx)

Возвращается 1, если заданный выходной порт соединяется с блоком кроме блока Ground и 0 в противном случае.

Смотрите LibBlockOutputSignalConnected в blkiolib.tlc.

LibBlockOutputSignalDataTypeId (portIdx)

Возвращает числовой ID, соответствующий типу данных заданного выходного порта блока.

Если сигнал выходного порта является комплексным, LibBlockOutputSignalDataTypeId возвращает тип данных действительного (или мнимое) часть сигнала.

Смотрите LibBlockOutputSignalDataTypeId в blkiolib.tlc.

LibBlockOutputSignalDataTypeName (portIdx, reim)

Возвращает строку имени типа (например, int_T... creal_T) типа данных, соответствующего заданному выходному порту блока.

Задайте аргумент reim как "", если вы хотите полное имя типа сигнала. Например, если reim=="" и первый выходной порт являются действительными и комплексными, именем типа данных, помещенным в dtname, является creal_T.

%assign dtname = LibBlockOutputSignalDataTypeName(0x,"")

Задайте аргумент reim как tRealPart, если вы хотите необработанное имя типа элемента. Например, если reim==tRealPart и первый выходной порт являются действительными и комплексными, возвращенным именем типа данных является real_T.

%assign dtname = LibBlockOutputSignalDataTypeName(0,tRealPart)

Смотрите LibBlockOutputSignalDataTypeName в blkiolib.tlc.

LibBlockOutputSignalDimensions (portIdx)

Возвращает размерности заданного выходного порта блока.

Смотрите LibBlockOutputSignalDimensions в blkiolib.tlc.

LibBlockOutputSignalIsComplex (portldx)

Возвращается 1, если заданный выходной порт блока является комплексным, 0 в противном случае.

Смотрите LibBlockOutputSignalIsComplex в blkiolib.tlc.

LibBlockOutputSignalIsExpr (portldx)

Возвращает 1 (TRUE), если выходной сигнал является выражением и 0 (FALSE) в противном случае.

Смотрите LibBlockOutputSignalIsExpr в blkiolib.tlc.

LibBlockOutputSignalIsFrameData (portIdx)

Возвращается 1, если заданный выходной порт блока является базирующимся кадром, 0 в противном случае.

Смотрите LibBlockOutputSignalIsFrameData в blkiolib.tlc.

LibBlockOutputSignalLocalSampleTimeIndex
(portIdx)

Возвращает локальный индекс шага расчета, соответствующий заданному выходному порту блока.

Смотрите LibBlockOutputSignalLocalSampleTimeIndex в blkiolib.tlc.

LibBlockOutputSignalNumDimensions (portIdx)

Возвращает количество размерностей заданного выходного порта блока.

Смотрите LibBlockOutputSignalNumDimensions в blkiolib.tlc.

LibBlockOutputSignalOffsetTime (portIdx)

Возвращает время смещения, соответствуя заданному выходному порту блока.

Смотрите LibBlockOutputSignalOffsetTime в blkiolib.tlc.

LibBlockOutputSignalSampleTime (portIdx)

Возвращает шаг расчета, соответствующий заданному выходному порту блока.

Смотрите LibBlockOutputSignalSampleTime в blkiolib.tlc.

LibBlockOutputSignalSymbolicDimensions (portIdx)

Возвращает символьные размерности заданного выходного порта блока.

Смотрите LibBlockOutputSignalSymbolicDimensions в blkiolib.tlc.

LibBlockOutputSignalSymbolicWidth (portIdx)

Возвращает символьную ширину заданного выходного порта блока.

Смотрите LibBlockOutputSignalSymbolicWidth в blkiolib.tlc.

LibBlockOutputSignalSampleTimeIndex (portIdx)

Возвращает индекс шага расчета, соответствующий заданному выходному порту блока.

Смотрите LibBlockOutputSignalSampleTimeIndex в blkiolib.tlc.

LibBlockOutputSignalWidth (portIdx)

Возвращает ширину заданного выходного порта блока.

Смотрите LibBlockOutputSignalWidth в blkiolib.tlc.

Похожие темы