exponenta event banner

Функции конфигурирования кода

LibAddSourceFileCustomSection
(файл, builtInSection, newSection)

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

Аргументы

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

builtInSection - Имя связанного встроенного раздела

newSection - Название нового (пользовательского) раздела

Посмотрите LibAddSourceFileCustomSection в codetemplatelib.tlc.

LibAddToCommonIncludes (incFileName

)

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

LibAddToCommonIncludes должен вызываться из блочных методов TLC для определения генерации #include операторы в model.h. Укажите имена файлов на пути включения в угловые скобки, например, <sysinclude.h>. Укажите имена локальных файлов без угловых скобок, например, myinclude.h. Каждый вызов для LibAddToCommonIncludes добавляет указанный файл в список, только если его еще нет. Имена файлов с угловыми скобками и без них (например, <math.h> и math.h) считаются разными. #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 добавляет буфер к существующему буферу кэша. #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 добавляет буфер к существующему буферу кэша. extern операторы помещаются в model_private.h.

Пример

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

Посмотрите LibCacheExtern в cachelib.tlc.

LibCacheFuncurePrototype (буфер

)

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 добавляет буфер к существующему буферу кэша. 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.

LibClearFileSureContents (fileIdx, attrib

)

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

Аргументы

fileIdx (область или номер) - Индекс файла

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

Посмотрите LibGetSourceFileAttribute в codetemplatelib.tlc.

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

)

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

Синтаксис

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

Аргументы

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

creator (строка) - Кто создает файл? При попытке создания одного и того же файла разными создателями выдается сообщение об ошибке.

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 ()

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

Посмотрите LibGetMdlCapiHostHdrBaseName в codetemplatelib.tlc.

LibGetMdlStartIfHdrBaseName ()

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

Посмотрите LibGetMdlTestIfHdrBaseName в codetemplatelib.tlc.

LibGetMdlStartIfSrcBaseName ()

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

Посмотрите LibGetMdlTestIfSrcBaseName в codetemplatelib.tlc.

LibGetDataTypeTransHdrBaseName ()

Возвращает базовое имя файла перехода типа данных, например: model_dt.h для форматов кода Real-Time и 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, attrib

)

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

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

Аргументы

fileIdx (область или номер) - Индекс файла

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

Посмотрите LibGetSourceFileAttribute в codetemplatelib.tlc.

LibGetSourceFileStartIdx (fileIdx

)

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

Синтаксис

%assign fileH = LibGetSourceFileFromIdx(fileIdx)

Аргумент

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

Прибыль

Ссылка (область действия) на файл модели.

Посмотрите LibGetSourceFileFromIdx в codetemplatelib.tlc.

LibGetSourceFileSection (fileIdx, раздел

)

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

Аргументы

fileIdx (область или номер) - Индекс файла

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

Посмотрите 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 (буфер, местоположение

)

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

Синтаксис

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 (буфер, местоположение

)

Цель

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

Синтаксис

LibMdlTerminateCustomCode(buffer, location)

Аргументы

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

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

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

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

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

  • "trailer" - Разместить буфер в нижней части функции

Прибыль

Ничего

Описание

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

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

model_terminate

Embedded-C

mdlTerminate

S-Function

MdlTerminate

RealTime

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

Посмотрите LibMdlTerminateCustomCode в hookslib.tlc.

LibSetRTModelErrorStatus (str

)

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

Синтаксис

LibSetRTModelErrorStatus("\"Overrun\"")

Аргумент

str (строка) - символ * в строку C

Посмотрите LibSetRTModelErrorStatus в codetemplatelib.tlc.

LibSetSourceFileCodeTemplate (opFile, имя

)

По умолчанию *.c и *.h создаются с помощью шаблонов кода, указанных на панели «Создание кода» > «Шаблоны» диалогового окна «Параметры конфигурации». LibSetSourceFileCodeTemplate позволяет изменить шаблон для файла.

Примечание

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

Синтаксис

%assign tag = LibSetSourceFileCodeTemplate(opFile,name)

Аргументы

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

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

Прибыль

Ничего

Посмотрите LibSetSourceFileCodeTemplate в codetemplatelib.tlc.

LibSetSourceFileCustomSection (файл, attrib, значение

)

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

Аргументы

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

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

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

Посмотрите LibSetSourceFileCustomSection в codetemplatelib.tlc.

LibSetSourceFileOutputDirectory (opFile, имя

)

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

Синтаксис

%assign tag = LibSetSourceFileOutputDirectory(opFile,dirName)

Аргументы

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

dirName (строка) - Имя требуемой папки вывода

Прибыль

Ничего

Посмотрите LibSetSourceFileOutputDirectory в codetemplatelib.tlc.

LibSetSourceFileSection (fileH, раздел, значение

)

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

Раздел файла

Описание

Banner

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

Includes

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

Defines

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

IntrinsicTypes

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

PrimitiveTypedefs

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

UserTop

Добавьте в раздел «Пользователь вверху».

Typedefs

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

Enums

Добавьте в раздел перечисляемых типов.

Definitions

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

ExternData

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

ExternFcns

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

FcnPrototypes

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

Declarations

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

Functions

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

CompilerErrors

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

CompilerWarnings

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

Documentation

Добавить в раздел документации (комментарий).

UserBottom

Добавьте в раздел «User Bottom».

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

Синтаксис

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

%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 (scope или number) - Ссылка или индекс на файл

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

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 (сигналы, состояния и параметры блоков). Вместо этого используйте соответствующий шаблон моделирования (например, блоки чтения хранилища данных, записи хранилища данных, чтения состояния и записи состояния).

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

Цель

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

Синтаксис

LibSystemDisableCustomCode(system, buffer, location)

Аргументы

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

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

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

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

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

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

  • "trailer" - Разместить буфер в нижней части функции

Прибыль

Ничего

Описание

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

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

Посмотрите LibSystemDisableCustomCode в hookslib.tlc.

Примечание

Чтобы избежать потенциального несоответствия между результатами моделирования и генерации кода, не используйте LibSystemDisableCustomCode для чтения и записи в глобальные данные Simulink (сигналы, состояния и параметры блоков). Вместо этого используйте соответствующий шаблон моделирования (например, блоки чтения хранилища данных, записи хранилища данных, чтения состояния и записи состояния).

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

Цель

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

Синтаксис

LibSystemEnableCustomCode(system, buffer, location)

Аргументы

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

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

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

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

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

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

  • "trailer" - Разместить буфер в нижней части функции

Прибыль

Ничего

Описание

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

При попытке добавить код в подсистему, не имеющую функции enable, возникает ошибка.

Посмотрите LibSystemEnableCustomCode в hookslib.tlc.

Примечание

Чтобы избежать потенциального несоответствия между результатами моделирования и генерации кода, не используйте LibSystemEnableCustomCode для чтения и записи в глобальные данные Simulink (сигналы, состояния и параметры блоков). Вместо этого используйте соответствующий шаблон моделирования (например, блоки чтения хранилища данных, записи хранилища данных, чтения состояния и записи состояния).

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 (сигналы, состояния и параметры блоков). Вместо этого используйте соответствующий шаблон моделирования (например, блоки чтения хранилища данных, записи хранилища данных, чтения состояния и записи состояния).

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 (сигналы, состояния и параметры блоков). Вместо этого используйте соответствующий шаблон моделирования (например, блоки чтения хранилища данных, записи хранилища данных, чтения состояния и записи состояния).

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

Встроенный-С (CombineOutputUpdateFcns является 0)

mdlUpdate

S-Function

MdlUpdate

RealTime

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

Посмотрите LibSystemUpdateCustomCode в hookslib.tlc.

Примечание

Чтобы избежать потенциального несоответствия между результатами моделирования и генерации кода, не используйте LibSystemUpdateCustomCode для чтения и записи в глобальные данные Simulink (сигналы, состояния и параметры блоков). Вместо этого используйте соответствующий шаблон моделирования (например, блоки чтения хранилища данных, записи хранилища данных, чтения состояния и записи состояния).

LibWriteModelData ()

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

Посмотрите LibWriteModelData в codetemplatelib.tlc.

LibWriteModelInput (tid, rollThreshold

)

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

Аргументы

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

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

Посмотрите LibWriteModelInput в codetemplatelib.tlc.

LibWriteModelInputs ()

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

Посмотрите LibWriteModelInputs в codetemplatelib.tlc.

LibWriteModelOutput (tid, rollThreshold

)

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

Аргументы

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

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

Посмотрите LibWriteModelOutput в codetemplatelib.tlc.

LibWriteModelOutputs ()

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

Посмотрите LibWriteModelOutputs в codetemplatelib.tlc.

Связанные темы