к model
.rtwСуществует несколько библиотечных функций, которые обеспечивают доступ, чтобы блокировать входные параметры, выходные параметры, параметры, шаги расчета и другую информацию. Рекомендуется, чтобы вы использовали эти библиотечные функции, чтобы получить доступ ко многим из названия параметра / пары значений параметров в записи блока, в противоположность доступу к названию параметра / пары значения параметров непосредственно из вашего кода блока TLC. Для получения дополнительной информации об использовании этих функций (рекомендуемый метод для доступа
), см. Обзор Библиотечных функций Компилятора Выходного языка.к model.rtw
Исключение к использованию этих функций - когда вы получаете доступ к установкам параметров для блока. Установки параметров могут быть выписаны с помощью функции mdlRTW
S-функции MEX C. Они могут содержать данные в форме строк, скалярных значений, векторов и матриц. Они могут использоваться, чтобы передать фиксированные значения и информацию, которая используется, чтобы изменить сгенерированный код для блока или непосредственно как значения в получившемся коде блока.
Следующий пример демонстрирует установки параметров доступа для блока с помощью функции mdlRTW
S-функции MEX C. Для получения дополнительной информации при использовании установок параметров, смотрите S-функции Встраивания.
static void mdlRTW(SimStruct *S) { if (!ssWriteRTWParamSettings( S, 1, SSWRITE_VALUE_QSTR, "Operator", "AND")) { ssSetErrorStatus(S,"Error writing parameter data to .rtw file"); return; } }
model
.rtw файлBlock { Type "S-Function" Name "<Root>/S-Function" ... SFcnParamSettings { Operator "AND" } }
%function Outputs(block, system) Output %% %% Select Operator %switch(SFcnParamSettings.Operator) %case "AND" %assign LogicOp = "&" %break ... %endswitch %endfunction
Когда функции в конечном файле блока вызваны, они передаются блоку и системным записям для этого экземпляра в качестве аргументов. Первый аргумент, block
, находится в осциллографе, что означает, что имена переменных в записи блока этого экземпляра доступны по наименованию. Например:
%assign fast = SFcnParamSetting.Fast
Блокируйтесь конечные файлы могли сгенерировать код для данного блока путем прямого использования полей в записи Блока для блока. Этот процесс не рекомендуется по двум причинам:
Содержимое файла
может измениться от релиза до релиза. Это может вызвать файлы блока TLC, которые получают доступ model.rtw
к файлу
непосредственно, чтобы прекратить работать.model.rtw
Библиотечные функции TLC - то, при условии, что существенно уменьшают сумму кода TLC для реализации блока при обработке различных настроек (ширины, типы данных, и т.д.), блок может иметь. Эти библиотечные функции обеспечиваются системными конечными файлами, чтобы обеспечить доступ к входным параметрам, выходным параметрам, параметрам, и так далее. Используя эти функции в блоке TLC скрипт делает его достаточно гибким, чтобы сгенерировать код для нескольких экземпляров или настроек блока, а также через релизы. Исключения к этому действительно происходят, однако, такой как тогда, когда вы хотите непосредственно получить доступ к полю в записи блока. Это происходит с установками параметров, как обсуждено в Коде TLC к доступу к Установкам параметров.