Строения кода

LibAddSourceFileCustomSection
(файл, builtInSection, newSection)

Добавляет пользовательский раздел к исходному файлу. Необходимо связать пользовательский раздел с одним из встроенных разделов: «Включает», «Определяет», «Типы», «Перечисления», «Определения», «Объявления», «Функции» или «Документация». Ничего не происходит, если раздел уже существует, кроме сообщения об ошибке при попытке несогласованной встроенной связи разделов. LibAddSourceFileCustomSection доступна только с помощью Embedded Coder® продукт.

Аргументы

file - Ссылка на исходный файл

builtInSection - Имя соответствующей встроенной секции

newSection - Имя нового (пользовательского) раздела

См. LibAddSourceFileCustomSection в codetemplatelib.tlc.

Lib Add To Common Includes (inc File Name

)

Добавляет элементы в список #include /package элементы спецификации. Каждый представитель списка уникален. Попытка добавить повторяющийся представитель не делает ничего.

LibAddToCommonIncludes следует вызвать из блока TLC методы, чтобы задать генерацию #include операторы в model.h. Задайте имена файлов на пути включения внутри угловых скобок, например <sysinclude.h>. Задайте имена локальных файлов без угловых скобок, например myinclude.h. Каждый вызов для LibAddToCommonIncludes добавляет указанный файл в список, только если его еще нет. Имена файлов с угловыми скобками и без них (например <math.h> и math.h) считаются различными. The #include операторы помещаются внутрь model.h.

Пример

LibAddToCommonIncludes("tpu332lib.h")

См. LibAddToCommonIncludes в cachelib.tlc.

LibAddToModelSources (newFile

)

LibAddToModelSources служит двум целям:

  • Чтобы уведомить процесс сборки, который он должен создать с указанным исходным файлом

  • Как обновить SOURCES: file1.c file2.c ... комментарий в сгенерированном коде.

Для встроенных S-функций, LibAddToModelSources обычно вызывается из BlockTypeSetup. LibAddToModelSources добавляет имя файла в список источников для создания этой модели. LibAddToModelSources возвращает 1 если имя файла, переданное в, было повторяющимся (т.е. оно уже было в списке источников) и 0 если это не дубликат.

Можно использовать LibAddToModelSources функция для других целей в TLC помимо записи S-функций. Если вы пишете свои собственные S-функции, используйте SFunctionModules параметры блоков вместо LibAddToModelSources. См. LibAddToModelSources в utillib.tlc.

LibCacheDefine (буфер

)

Каждый вызов для LibCacheDefine добавляет буфер к существующему буферу кэша. Для блоков, LibCacheDefine обычно вызывается из BlockTypeSetup.

LibCacheDefine кэши #define операторы для включения в model_private.h или model.c. Функции LibCacheDefine изнутри BlockTypeSetup для кэширования #define оператор. Каждый вызов для LibCacheDefine добавляет буфер к существующему буферу кэша. The #define операторы помещаются внутрь model_private.h или model.c.

Пример

%openfile buffer
#define INTERP(x,x1,x2,y1,y2) ( y1+((y2 - y1)/(x2 - x1))*(x-x1))
#define this that
%closefile buffer
%<LibCacheDefine(buffer)>

См. LibCacheDefine в cachelib.tlc.

LibCacheExtern (буфер

)

LibCacheExtern должен вызываться изнутри BlockTypeSetup для кэширования extern оператор. Каждый вызов для LibCacheExtern добавляет буфер к существующему буферу кэша. The extern операторы помещаются в model_private.h.

Пример

%openfile buffer
 extern real_T mydata;
%closefile buffer
%<LibCacheExtern(buffer)>

См. LibCacheExtern в cachelib.tlc.

LibCacheFunctionPrototype (буфер

)

LibCacheFunctionPrototype должен вызываться изнутри BlockTypeSetup для кэширования прототипа функции. Каждый вызов для LibCacheFunctionPrototype добавляет буфер к существующему буферу кэша. Прототипы помещены внутрь model_private.h.

Пример

%openfile buffer
 extern int_T fun1(real_T x);
 extern real_T fun2(real_T y, int_T i);
%closefile buffer
%<LibCacheFunctionPrototype(buffer)>

См. LibCacheFunctionPrototype в cachelib.tlc.

LibCacheTypedefs (буфер

)

LibCacheTypedefs должен вызываться изнутри BlockTypeSetup в кэш- typedef декларации. Каждый вызов для LibCacheTypedefs добавляет буфер к существующему буферу кэша. The typedef операторы помещаются внутрь model.h (или model_common.h).

Пример

%openfile buffer
typedef foo bar;
%closefile buffer
%<LibCacheTypedefs(buffer)>

См. LibCacheTypedefs в cachelib.tlc.

LibCallModelInitialize ()

Возвращает код для вызова функции инициализации модели (действительна только для ERT).

См. LibCallModelInitialize в codetemplatelib.tlc.

LibCallModelStep (tid

)

Возвращает код для вызова шаговой функции модели (действительна только для ERT).

См. LibCallModelStep в codetemplatelib.tlc.

LibCallModelTerminate ()

Возвращает код для вызова функции завершения модели (действительна только для ERT).

См. LibCallModelTerminate в codetemplatelib.tlc.

LibCallSetEventForThisBaseStep (имя буферизации

)

Возвращает код для вызова функции set events модели (действительна только для ERT).

Аргумент

buffername - Имя переменной, используемой для буферизации событий. Для примера ert_main.c, это eventFlags.

См. LibCallSetEventForThisBaseStep в codetemplatelib.tlc.

LibClearFileSectionContents (fileIdx, attribute

)

Перед записью файла на диск очистите разделы файла с пользовательскими значениями.

Аргументы

fileIdx (возможности или номер) - индекс файла

attrib (string) - Имя атрибута модели

См. LibGetSourceFileAttribute в codetemplatelib.tlc.

LibCreateSourceFile (тип, создатель, имя

)

Создает новый файл C или C++ и возвращает его ссылку. Если файл уже существует, LibCreateSourceFile возвращает ссылку существующего файла.

Синтаксис

%assign fileH = LibCreateSourceFile
                ("Source", "Custom", "foofile")

Аргументы

type (string) - Допустимые значения "Source" и "Header" для .c и .h файлы, соответственно.

creator (string) - Кто создает файл? Если создатели пытаются создать один и тот же файл, появляется сообщение об ошибке.

name (string) - Базовое имя файла (т.е. без расширения). Обратите внимание, что файлы не записываются на диск, если они пусты.

Возвраты

Ссылка на файл модели (возможности).

См. LibCreateSourceFile в codetemplatelib.tlc.

LibGetFileRecordName (файл)

Возвращает имя файла модели (включая путь) без расширения файла. Чтобы получить имя файла (включая путь) с расширением файла, используйте LibGetSourceFileSection.

Аргументы

file - Ссылка на исходный файл

См. LibGetFileRecordName в codetemplatelib.tlc.

LibGetMdlPrvHdrBaseName ()

Возвращает базовое имя частного файла заголовка модели, например model_private.h.

См. LibGetMdlPrvHdrBaseName в codetemplatelib.tlc.

LibGetMdlPubHdrBaseName ()

Возвращает базовое имя общего файла заголовка модели, например model.h.

См. LibGetMdlPubHdrBaseName в codetemplatelib.tlc.

LibGetMdlSrcBaseName ()

Возвращает базовое имя основного исходного файла модели, например model.c.

См. LibGetMdlSrcBaseName в codetemplatelib.tlc.

LibGetMdlDataSrcBaseName ()

Возвращает базовое имя файла данных модели, например model_data.c.

См. LibGetMdlDataSrcBaseName в codetemplatelib.tlc.

LibGetMdlTypesHdrBaseName ()

Возвращает базовое имя файла типов модели, например model_types.h.

См. LibGetMdlTypesHdrBaseName в codetemplatelib.tlc.

LibGetMdlCapiHdrBaseName ()

Возвращает базовое имя файла заголовка модели capi, для примера, model_capi.h.

См. LibGetMdlCapiHdrBaseName в codetemplatelib.tlc.

LibGetMdlCapiSrcBaseName ()

Возвращает базовое имя исходного файла модели capi, для примера, model_capi.c.

См. LibGetMdlCapiSrcBaseName в codetemplatelib.tlc.

LibGetMdlCapiHostHdrBaseName ()

Возвращает базовое имя файла заголовка хоста model capi, например model_host_capi.h.

См. LibGetMdlCapiHostHdrBaseName в codetemplatelib.tlc.

LibGetMdlTestIfHdrBaseName ()

Возвращает базовое имя файла заголовка testinterface модели, например model_testinterface.h.

См. LibGetMdlTestIfHdrBaseName в codetemplatelib.tlc.

LibGetMdlTestIfSrcBaseName ()

Возвращает базовое имя исходного файла testinterface модели, например model_testinterface.c.

См. LibGetMdlTestIfSrcBaseName в codetemplatelib.tlc.

LibGetDataTypeTransHdrBaseName ()

Возвращает базовое имя файла перехода типа данных, например model_dt.h для кодовых форматов генерации кода в реальном времени и Embedded-C.

См. LibGetDataTypeTransHdrBaseName в codetemplatelib.tlc.

LibGetModelDotCFile ()

Возвращает ссылку на model.c или .cpp исходный файл. Затем можно кэшировать дополнительный код с помощью LibSetSourceFileSection.

Синтаксис

%assign srcFile = LibGetModelDotCFile()
%<LibSetSourceFileSection(srcFile, "Functions", mybuf)>

Возвраты

Возвращает ссылку на model.c или .cpp исходный файл.

См. LibGetModelDotCFile в codetemplatelib.tlc.

LibGetModelDotHFile ()

Возвращает ссылку на model.h исходный файл. Затем можно кэшировать дополнительный код с помощью LibSetSourceFileSection.

Синтаксис

%assign hdrFile = LibGetModelDotHFile()
%<LibSetSourceFileSection(hdrFile, "Functions", mybuf)>

Возвраты

Возвращает ссылку на model.h исходный файл.

См. LibGetModelDotHFile в codetemplatelib.tlc.

LibGetModelName ()

Возвращает имя модели (без расширения).

См. LibGetModelName в codetemplatelib.tlc.

LibGetNumSourceFiles ()

Возвращает количество исходных файлов (.c или .cpp и .h), которые были созданы.

Синтаксис

%assign numFiles = LibGetNumSourceFiles()

Возвраты

Возвращает количество файлов (число).

См. LibGetNumSourceFiles в codetemplatelib.tlc.

LibGetRTModelErrorStatus ()

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

Синтаксис

%<LibGetRTModelErrorStatus()>;

См. LibGetRTModelErrorStatus в codetemplatelib.tlc.

LibGetSourceFileAttribute (fileIdx, attribute

)

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

Признак
Имя (с расширением файла)SystemsInFileIsEmptySharedType
BaseNameRequiredIncludesЗаявкаCodeTemplate
НапечататьUtilityIncludesWrittenToDiskOutputDirectory
СоздательФильтрОбщийГруппа

Аргументы

fileIdx (возможности или номер) - индекс файла

attrib (string) - Имя атрибута модели

См. LibGetSourceFileAttribute в codetemplatelib.tlc.

LibGetSourceFileFromIdx (fileIdx

)

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

Синтаксис

%assign fileH = LibGetSourceFileFromIdx(fileIdx)

Аргумент

fileIdx (число) - Индекс файла модели

Возвраты

Ссылка (возможности) на файл модели.

См. LibGetSourceFileFromIdx в codetemplatelib.tlc.

LibGetSourceFileSection (fileIdx, section

)

Возвращает содержимое файла. Список действительных разделов см. в разделе LibSetSourceFileSection (fileH, раздел, значение).

Аргументы

fileIdx (возможности или номер) - индекс файла

section (string) - Интересующий раздел файла

См. LibGetSourceFileSection в codetemplatelib.tlc.

LibGetSourceFileTag (fileIdx

)

Возвращает fileName_h и fileName_c для заголовков и исходных файлов, соответственно, где fileName - имя файла модели.

Синтаксис

%assign tag = LibGetSourceFileTag(fileIdx)

Аргумент

fileIndex (число) - Индекс файла

Возвраты

Возвращает тег (строку).

См. LibGetSourceFileTag в codetemplatelib.tlc.

LibMdlRegCustomCode (буфер, расположение

)

Помещает операторы объявления и исполняемый код в model_initialize функция.

Аргументы

buffer - Строковый буфер, содержащий текст для добавления к буферу внутреннего кэша.

location - Строка, указывающая, где разместить содержимое буфера. Возможные значения:

  • "header" - Поместите буфер в верхней части функции

  • "declaration" - Поместите буфер в верхней части функции

  • "execution" - Поместите буфер в верхней части функции, но после заголовка

  • "trailer" - Поместите буфер внизу функции

Возвраты

Ничего

См. LibMdlRegCustomCode в hookslib.tlc.

LibMdlStartCustomCode (буфер, расположение

)

Помещает операторы объявления и исполняемый код внутрь функции start. Стартовый код выполняется один раз, во время фазы инициализации модели.

Синтаксис

LibMdlStartCustomCode(buffer, location)

Аргументы

buffer - Строковый буфер, содержащий текст для добавления к буферу внутреннего кэша.

location - Строка, указывающая, где разместить содержимое буфера. Возможные значения:

  • "header" - Поместите буфер в верхней части функции

  • "declaration" - Поместите буфер в верхней части функции

  • "execution" - Поместите буфер в верхней части функции, но после заголовка

  • "trailer" - Поместите буфер внизу функции

Возвраты

Ничего

Описание

LibMdlStartCustomCode помещает операторы объявления и исполняемый код внутрь стартовой функции. Этот код выводится в следующие функции в зависимости от текущего значения для CodeFormat Переменная TLC:

Имя функцииЗначение CodeFormat Переменная TLC

model_initialize

Embedded-C (если нет ModelReferenceCoderTarget)

mdlStart

Embedded-C (если ModelReferenceCoderTarget)

mdlStart

S-Function

MdlStart

RealTime

Каждый вызов для LibMdlStartCustomCode добавляет буфер во внутренний буфер кэша.

См. LibMdlStartCustomCode в hookslib.tlc.

LibMdlTerminateCustomCode (буфер, расположение

)

Цель

Помещает операторы объявления и исполняемый код в функцию terminate.

Синтаксис

LibMdlTerminateCustomCode(buffer, location)

Аргументы

buffer - Строковый буфер, содержащий текст для добавления к буферу внутреннего кэша.

location - Строка, указывающая, где разместить содержимое буфера. Возможные значения:

  • "header" - Поместите буфер в верхней части функции

  • "declaration" - Поместите буфер в верхней части функции

  • "execution" - Поместите буфер в верхней части функции, но после заголовка

  • "trailer" - Поместите буфер внизу функции

Возвраты

Ничего

Описание

LibMdlTerminateCustomCode помещает операторы объявления и исполняемый код в функцию terminate. Этот код выводится в следующие функции в зависимости от текущего значения CodeFormat Переменная TLC:

Имя функцииЗначение CodeFormat Переменная TLC

model_terminate

Embedded-C

mdlTerminate

S-Function

MdlTerminate

RealTime

Каждый вызов для LibMdlTerminateCustomCode добавляет буфер во внутренний буфер кэша.

См. LibMdlTerminateCustomCode в hookslib.tlc.

LibSetRTModelErrorStatus (str

)

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

Синтаксис

LibSetRTModelErrorStatus("\"Overrun\"")

Аргумент

str (строка) - char * к строке C

См. LibSetRTModelErrorStatus в codetemplatelib.tlc.

LibSetSourceFileCodeTemplate (opFile, имя

)

По умолчанию *.c и *.h файлы генерируются с шаблонами кода, заданными в панели Code Generation > Templates диалогового окна Параметры конфигурации. LibSetSourceFileCodeTemplate позволяет изменять шаблон файла.

Примечание

Пользовательские шаблоны являются функцией продукта Embedded Coder.

Синтаксис

%assign tag = LibSetSourceFileCodeTemplate(opFile,name)

Аргументы

opFile (scope) - Ссылка на файл

name (string) - имя требуемого шаблона

Возвраты

Ничего

См. LibSetSourceFileCodeTemplate в codetemplatelib.tlc.

LibSetSourceFileCustomSection (файл, шаблон, значение

)

Добавляет к содержимому пользовательского раздела, ранее созданного с помощью LibAddSourceFileCustomSection. Доступно только с программным обеспечением Embedded Coder.

Аргументы

file (возможности или номер) - ссылка на исходный файл или индекс

attrib (string) - Имя пользовательского раздела

value (string) - Значение, добавляемое к разделу

См. LibSetSourceFileCustomSection в codetemplatelib.tlc.

LibSetSourceFileOutputDirectory (opFile, имя

)

По умолчанию *.c и *.h файлы генерируются в папку сборки в текущем расположении. LibSetSourceFileOutputDirectory позволяет вам изменить папку, в которой должен быть создан указанный исходный файл. Обратите внимание, что вызывающий абонент несет ответственность за указание допустимой папки.

Синтаксис

%assign tag = LibSetSourceFileOutputDirectory(opFile,dirName)

Аргументы

opFile (scope) - Ссылка на файл

dirName (string) - имя нужной выходной папки

Возвраты

Ничего

См. LibSetSourceFileOutputDirectory в codetemplatelib.tlc.

LibSetSourceFileSection (файл H, раздел, значение

)

Добавляет к содержимому заданного раздела в указанном файле. Допустимые разделы файла включают

Раздел файла

Описание

Banner

Установите баннер файла (комментарий) в верхней части файла.

Includes

Добавьте к #include раздел.

Defines

Добавьте к #define раздел.

IntrinsicTypes

Добавьте к внутреннему typedef раздел. Внутренними типами являются те, которые зависят только от внутренних типов C.

PrimitiveTypedefs

Добавьте к примитиву typedef раздел. Примитивные typedefs - это те, которые зависят только от собственных типов C и typedefs, ранее заданные в IntrinsicTypes раздел.

UserTop

Добавьте в раздел User Верхней части.

Typedefs

Добавьте к typedef раздел. The typedefs может зависеть от ранее определенного типа.

Enums

Добавьте к разделу перечисленных типов.

Definitions

Добавьте к разделу определения данных.

ExternData

(Зарезервированный) Генератор кода extern данные.

ExternFcns

(Зарезервированный) Генератор кода extern функций.

FcnPrototypes

(Reserved) Прототипы функций генератора кода.

Declarations

Добавьте к разделу объявления данных.

Functions

Добавьте к разделу функций C.

CompilerErrors

Добавьте к #error раздел.

CompilerWarnings

Добавьте к #warning раздел.

Documentation

Приложите к документации (комментарий) раздел.

UserBottom

Добавьте к разделу «Нижняя часть пользователя».

Генератор кода заказывает код, как описано выше.

Синтаксис

Пример (итерация по файлам):

%openfile tmpBuf
  whatever
%closefile tmpBuf
  
%foreach fileIdx = LibGetNumSourceFiles()
  %assign fileH = LibGetSourceFileFromIdx(fileIdx)
  %<LibSetSourceFileSection(fileH,"SectionOfInterest",tmpBuf)>
%endforeach
  
%assign fileH = LibCreateSourceFile("Header","Custom","foofile")
%<LibSetSourceFileSection(fileH,"Defines","#define FOO 5.0\n")>

Аргументы

fileH (возможности или номер) - Ссылка или индекс на файл

section (string) - Интересующий раздел файла

value (строка) - Значение

См. LibSetSourceFileSection в codetemplatelib.tlc.

LibSystemDerivativeCustomCode
(система, буфер, расположение)

Цель

Помещает операторы объявления и исполняемый код в производную функцию подсистемы.

Синтаксис

LibSystemDerivativeCustomCode(system, buffer, location)

Аргументы

system - Ссылка на подсистему, производная функция которой должна быть изменена.

buffer - Строковый буфер, содержащий текст для добавления к буферу внутреннего кэша.

location - Строка, указывающая, где разместить содержимое буфера. Возможные значения:

  • "header" - Поместите буфер в верхней части функции

  • "declaration" - Поместите буфер в верхней части функции

  • "execution" - Поместите буфер в верхней части функции, но после заголовка

  • "trailer" - Поместите буфер внизу функции

Возвраты

Ничего

Описание

LibSystemDerivativeCustomCode помещает операторы объявления и исполняемый код в производную функцию для подсистемы, заданной как system. Этот код выводится в следующие функции в зависимости от текущего значения CodeFormat Переменная TLC:

Имя функцииЗначение CodeFormat Переменная TLC

mdlDerivatives

S-Function

model_derivatives

RealTime

LibSystemDerivativeCustomCode не релевантно, когда значение CodeFormat Переменная TLC Embedded-C, поскольку блоки с непрерывными состояниями не могут использоваться.

Каждый вызов для LibSystemDerivativeCustomCode добавляет буфер во внутренний буфер кэша. Ошибка генерируется при попытке добавить код в подсистему, которая не имеет непрерывных состояний.

См. LibSystemDerivativeCustomCode в hookslib.tlc.

Примечание

Чтобы избежать потенциального несоответствия между результатами симуляции и генерации кода, не используйте LibSystemDerivativeCustomCode для чтения и записи в глобальные данные Simulink (сигналы, состояния и параметры блоков). Вместо этого используйте правильный шаблон моделирования (например, Data Store Read, Data Store Write, State Reader и блоки State Writer.)

LibSystemDisableCustomCode
(система, буфер, расположение)

Цель

Помещает операторы объявления и исполняемый код в функцию отключения подсистемы.

Синтаксис

LibSystemDisableCustomCode(system, buffer, location)

Аргументы

system - Ссылка на подсистему, функция отключения которой должна быть изменена.

buffer - Строковый буфер, содержащий текст для добавления к буферу внутреннего кэша.

location - Строка, указывающая, где разместить содержимое буфера. Возможные значения:

  • "header" - Поместите буфер в верхней части функции

  • "declaration" - Поместите буфер в верхней части функции

  • "execution" - Поместите буфер в верхней части функции, но после заголовка

  • "trailer" - Поместите буфер внизу функции

Возвраты

Ничего

Описание

LibSystemDisableCustomCode помещает операторы объявления и исполняемый код в функцию disable для подсистемы, заданной system. Каждый вызов для LibSystemDisableCustomCode добавляет буфер во внутренний буфер кэша.

Ошибка генерируется при попытке добавить код в подсистему, которая не имеет функции disable.

См. LibSystemDisableCustomCode в hookslib.tlc.

Примечание

Чтобы избежать потенциального несоответствия между результатами симуляции и генерации кода, не используйте LibSystemDisableCustomCode для чтения и записи в глобальные данные Simulink (сигналы, состояния и параметры блоков). Вместо этого используйте правильный шаблон моделирования (например, Data Store Read, Data Store Write, State Reader и блоки State Writer.)

LibSystemEnableCustomCode
(система, буфер, расположение)

Цель

Помещает операторы объявления и исполняемый код в функцию включения подсистемы.

Синтаксис

LibSystemEnableCustomCode(system, buffer, location)

Аргументы

system - Ссылка на подсистему, функция включения которой должна быть изменена.

buffer - Строковый буфер, содержащий текст для добавления к буферу внутреннего кэша.

location - Строка, указывающая, где разместить содержимое буфера. Возможные значения:

  • "header" - Поместите буфер в верхней части функции

  • "declaration" - Поместите буфер в верхней части функции

  • "execution" - Поместите буфер в верхней части функции, но после заголовка

  • "trailer" - Поместите буфер внизу функции

Возвраты

Ничего

Описание

LibSystemEnableCustomCode помещает операторы объявления и исполняемый код в функцию enable для подсистемы, заданной system. Каждый вызов для LibSystemEnableCustomCode добавляет буфер во внутренний буфер кэша.

Ошибка генерируется при попытке добавить код в подсистему, которая не имеет функции enable.

См. LibSystemEnableCustomCode в hookslib.tlc.

Примечание

Чтобы избежать потенциального несоответствия между результатами симуляции и генерации кода, не используйте LibSystemEnableCustomCode для чтения и записи в глобальные данные Simulink (сигналы, состояния и параметры блоков). Вместо этого используйте правильный шаблон моделирования (например, Data Store Read, Data Store Write, State Reader и блоки State Writer.)

LibSystemInitializeCustomCode
(система, буфер, расположение)

Цель

Помещает операторы объявления и исполняемый код в функцию инициализации подсистемы.

Синтаксис

LibSystemInitializeCustomCode(system, buffer, location)

Аргументы

system - Ссылка на подсистему, функция инициализации которой должна быть изменена.

buffer - Строковый буфер, содержащий текст для добавления к буферу внутреннего кэша.

location - Строка, указывающая, где разместить содержимое буфера. Возможные значения:

  • "header" - Поместите буфер в верхней части функции

  • "declaration" - Поместите буфер в верхней части функции

  • "execution" - Поместите буфер в верхней части функции, но после заголовка

  • "trailer" - Поместите буфер внизу функции

Возвраты

Ничего

Описание

LibSystemInitializeCustomCode помещает операторы объявления и исполняемый код в функцию инициализации для подсистемы, заданной system. Этот код выводится в следующие функции в зависимости от текущего значения CodeFormat Переменная TLC:

Имя функцииЗначение CodeFormat Переменная TLC

model_initialize

Embedded-C

mdlInitializeConditions

S-Function

MdlStart

RealTime

Код для подсистемы выводится в функцию инициализации подсистемы. Каждый вызов для LibSystemInitializeCustomCode добавляет буфер во внутренний буфер кэша.

Примечание

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

См. LibSystemInitializeCustomCode в hookslib.tlc.

Примечание

Чтобы избежать потенциального несоответствия между результатами симуляции и генерации кода, не используйте LibSystemInitializeCustomCode для чтения и записи в глобальные данные Simulink (сигналы, состояния и параметры блоков). Вместо этого используйте правильный шаблон моделирования (например, Data Store Read, Data Store Write, State Reader и блоки State Writer.)

LibSystemOutputCustomCode
(система, буфер, расположение)

Цель

Помещает операторы объявления и исполняемый код в выходную функцию подсистемы.

Синтаксис

LibSystemOutputCustomCode(system, buffer, location)

Аргументы

system - Ссылка на подсистему, выходная функция которой должна быть изменена.

buffer - Строковый буфер, содержащий текст для добавления к буферу внутреннего кэша.

location - Строка, указывающая, где разместить содержимое буфера. Возможные значения:

  • "header" - Поместите буфер в верхней части функции

  • "declaration" - Поместите буфер в верхней части функции

  • "execution" - Поместите буфер в верхней части функции, но после заголовка

  • "trailer" - Поместите буфер внизу функции

Возвраты

Ничего

Описание

LibSystemOutputCustomCode помещает операторы объявления и исполняемый код в выходную функцию для подсистемы, заданной system. Этот код выводится в следующие функции в зависимости от текущего значения CodeFormat Переменная TLC:

Имя функцииЗначение CodeFormat Переменная TLC

model_step

Embedded-C (CombineOutputUpdateFcns является 1)

model_output

Embedded-C (CombineOutputUpdateFcns является 0)

mdlOutputs

S-Function

MdlOutputs

RealTime

Каждый вызов для LibSystemOutputCustomCode добавляет буфер во внутренний буфер кэша.

См. LibSystemOutputCustomCode в hookslib.tlc.

Примечание

Чтобы избежать потенциального несоответствия между результатами симуляции и генерации кода, не используйте LibSystemOutputCustomCode для чтения и записи в глобальные данные Simulink (сигналы, состояния и параметры блоков). Вместо этого используйте правильный шаблон моделирования (например, Data Store Read, Data Store Write, State Reader и блоки State Writer.)

LibSystemUpdateCustomCode
(система, буфер, расположение)

Цель

Помещает код внутрь функции обновления подсистемы.

Синтаксис

LibSystemUpdateCustomCode(system, buffer, location)

Аргументы

system - Ссылка на подсистему, функция обновления которой должна быть изменена.

buffer - Строковый буфер, содержащий текст для добавления к буферу внутреннего кэша.

location - Строка, указывающая, где разместить содержимое буфера. Возможные значения:

  • "header" - Поместите буфер в верхней части функции

  • "declaration" - Поместите буфер в верхней части функции

  • "execution" - Поместите буфер в верхней части функции, но после заголовка

  • "trailer" - Поместите буфер внизу функции

Возвраты

Ничего

Описание

LibSystemUpdateCustomCode помещает операторы объявления и исполняемый код в функцию обновления для подсистемы, заданной system. Этот код выводится в следующие функции в зависимости от текущего значения CodeFormat Переменная TLC:

Имя функцииЗначение CodeFormat Переменная TLC

model_step

Embedded-C (CombineOutputUpdateFcns является 1)

model_update

Embedded-C (CombineOutputUpdateFcns является 0)

mdlUpdate

S-Function

MdlUpdate

RealTime

Каждый вызов для LibSystemUpdateCustomCode добавляет буфер во внутренний буфер кэша.

См. LibSystemUpdateCustomCode в hookslib.tlc.

Примечание

Чтобы избежать потенциального несоответствия между результатами симуляции и генерации кода, не используйте LibSystemUpdateCustomCode для чтения и записи в глобальные данные Simulink (сигналы, состояния и параметры блоков). Вместо этого используйте правильный шаблон моделирования (например, Data Store Read, Data Store Write, State Reader и блоки State Writer.)

LibWriteModelData ()

Возвращает данные для модели (действительны только для ERT).

См. LibWriteModelData в codetemplatelib.tlc.

LibWriteModelInput (tid, rollThreshold

)

Возвращает код для записи в указанный корневой вход (то есть блок inport модели). Эта функция действительна только для ERT и недопустима для ссылочных моделей.

Аргументы

tid (число) - Идентификатор задачи (0 является самой быстрой скоростью и n самый медленный)

rollThreshold - Ширина сигнала перед обмоткой в for цикл.

См. LibWriteModelInput в codetemplatelib.tlc.

LibWriteModelInputs ()

Возвращает код, который записывает во все корневые входы (то есть блоки входных портов модели). Эта функция действительна только для ERT и недопустима для ссылочных моделей.

См. LibWriteModelInputs в codetemplatelib.tlc.

LibWriteModelOutput (tid, rollThreshold

)

Возвращает код, который записывает в указанный корневой выход (то есть блок вывода модели). Эта функция действительна только для ERT и недопустима для ссылочных моделей.

Аргументы

tid (число) - Идентификатор задачи (0 является самой быстрой скоростью и n самый медленный)

rollThreshold - Ширина сигнала перед обмоткой в for цикл.

См. LibWriteModelOutput в codetemplatelib.tlc.

LibWriteModelOutputs ()

Возвращает код, который записывает во все корневые выходы (то есть блоки выходного порта модели). Эта функция действительна только для ERT и недопустима для ссылочных моделей.

См. LibWriteModelOutputs в codetemplatelib.tlc.

Похожие темы