Main Content

コード構成の関数

LibAddSourceFileCustomSection
(file, builtInSection, newSection)

ソース ファイルにカスタム セクションを追加します。カスタム セクションはいずれかの組み込みセクションに関連付けなければなりません。Includes、Defines、Types、Enums、Definitions、Declarations、Functions、Documentation のいずれかです。セクションが既に存在する場合は何も起きませんが、組み込みセクションの関連付けに矛盾がある場合はエラーが報告されます。LibAddSourceFileCustomSection は Embedded Coder® 製品でのみ使用できます。

Arguments

file — ソース ファイルの参照

builtInSection — 関連付けられる組み込みセクションの名前

newSection — 新しい (カスタム) セクションの名前

codetemplatelib.tlcLibAddSourceFileCustomSection を参照してください。

LibAddToCommonIncludes(incFileName)

#include /package の指定項目のリストに項目を追加します。リストのメンバーはそれぞれ一意です。重複するメンバーを追加しようとした場合は何も起こりません。

model.h での #include ステートメントの生成を指定するには、ブロックの TLC メソッドから LibAddToCommonIncludes を呼び出す必要があります。インクルード パスにあるファイルの名前は山かっこで囲んで指定します (例: <sysinclude.h>)。ローカル ファイルの名前は山かっこなしで指定します (例: myinclude.h)。LibAddToCommonIncludes の各呼び出しで、指定したファイルがまだ存在していなければリストに追加されます。山かっこで囲んだ名前と囲んでいないファイル名 (例: <math.h>math.h) は別のものと見なされます。#include ステートメントは model.h の内部に配置されます。

LibAddToCommonIncludes("tpu332lib.h")

cachelib.tlcLibAddToCommonIncludes を参照してください。

LibAddToModelSources(newFile)

LibAddToModelSources は 2 つの目的に使用します。

  • 指定したソース ファイルでビルドする必要があることをビルド プロセスに通知します。

  • 生成コード内の SOURCES: file1.c file2.c ... のコメントを更新します。

インライン化 S-Function については、一般に BlockTypeSetup から LibAddToModelSources が呼び出されます。LibAddToModelSources は、このモデルのビルドに使用するソースのリストにファイル名を追加します。LibAddToModelSources は、渡されたファイル名が重複している (つまりソースのリストに既に存在している) 場合は 1、重複していない場合は 0 を返します。

関数 LibAddToModelSources は、S-Function を記述することに加え、TLC で他の目的にも使用できます。独自の S-Function を記述する場合は、LibAddToModelSources の代わりに SFunctionModules ブロック パラメーターを使用します。utillib.tlcLibAddToModelSources を参照してください。

LibCacheDefine(buffer)

LibCacheDefine の各呼び出しで、既存のキャッシュ バッファーにバッファーが追加されます。ブロックについては、一般に BlockTypeSetup から LibCacheDefine が呼び出されます。

LibCacheDefine は、model_private.h または model.c に含めるために #define ステートメントをキャッシュします。#define ステートメントをキャッシュするには、BlockTypeSetup の内部から LibCacheDefine を呼び出します。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)>

cachelib.tlcLibCacheDefine を参照してください。

LibCacheExtern(buffer)

extern ステートメントをキャッシュするには、BlockTypeSetup の内部から LibCacheExtern を呼び出す必要があります。LibCacheExtern の各呼び出しで、既存のキャッシュ バッファーにバッファーが追加されます。extern ステートメントは model_private.h の内部に配置されます。

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

cachelib.tlcLibCacheExtern を参照してください。

LibCacheFunctionPrototype(buffer)

関数プロトタイプをキャッシュするには、BlockTypeSetup の内部から LibCacheFunctionPrototype を呼び出す必要があります。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)>

cachelib.tlcLibCacheFunctionPrototype を参照してください。

LibCacheTypedefs(buffer)

typedef 宣言をキャッシュするには、BlockTypeSetup の内部から LibCacheTypedefs を呼び出す必要があります。LibCacheTypedefs の各呼び出しで、既存のキャッシュ バッファーにバッファーが追加されます。typedef ステートメントは model.h (または model_common.h) の内部に配置されます。

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

cachelib.tlcLibCacheTypedefs を参照してください。

LibCallModelInitialize()

モデルの初期化関数を呼び出すコードを返します (ERT でのみ有効)。

codetemplatelib.tlcLibCallModelInitialize を参照してください。

LibCallModelStep(tid)

モデルのステップ関数を呼び出すコードを返します (ERT でのみ有効)。

codetemplatelib.tlcLibCallModelStep を参照してください。

LibCallModelTerminate()

モデルの終了関数を呼び出すコードを返します (ERT でのみ有効)。

codetemplatelib.tlcLibCallModelTerminate を参照してください。

LibCallSetEventForThisBaseStep(buffername)

モデルの設定イベント関数を呼び出すコードを返します (ERT でのみ有効)。

引数

buffername — イベントのバッファーに使用する変数の名前。これは、ert_main.c の例では eventFlags です。

codetemplatelib.tlcLibCallSetEventForThisBaseStep を参照してください。

LibClearFileSectionContents(fileIdx, attrib)

ファイルをディスクに書き込む前に、カスタム値を含むファイルのセクションをクリアします。

Arguments

fileIdx (スコープまたは数値) — ファイルのインデックス

attrib (文字列) — モデルの属性の名前

codetemplatelib.tlcLibGetSourceFileAttribute を参照してください。

LibCreateSourceFile(type, creator, name)

新しい C または C++ ファイルを作成し、その参照を返します。ファイルが既に存在する場合、LibCreateSourceFile は既存のファイルの参照を返します。

構文

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

Arguments

type (文字列) — 有効な値は、.c ファイルの場合は "Source".h ファイルの場合は "Header" です。

creator (文字列) — ファイルの作成者。別の作成者が同じファイルを作成しようとするとエラーが報告されます。

name (文字列) — ファイルのベース名 (つまり拡張子は除く)。ファイルが空の場合はディスクに書き込まれないことに注意してください。

戻り値

モデル ファイルの参照 (スコープ)。

codetemplatelib.tlcLibCreateSourceFile を参照してください。

LibGetFileRecordName(file)

モデル ファイルのファイル拡張子を除く名前 (パスを含む) を返します。ファイル拡張子を含むファイル名 (パスを含む) を取得するには、LibGetSourceFileSection を使用します。

Arguments

file — ソース ファイルの参照

codetemplatelib.tlcLibGetFileRecordName を参照してください。

LibGetMdlPrvHdrBaseName()

モデルのプライベート ヘッダー ファイル (例: model_private.h) のベース名を返します。

codetemplatelib.tlcLibGetMdlPrvHdrBaseName を参照してください。

LibGetMdlPubHdrBaseName()

モデルのパブリック ヘッダー ファイル (例: model.h) のベース名を返します。

codetemplatelib.tlcLibGetMdlPubHdrBaseName を参照してください。

LibGetMdlSrcBaseName()

モデルのメイン ソース ファイル (例: model.c) のベース名を返します。

codetemplatelib.tlcLibGetMdlSrcBaseName を参照してください。

LibGetMdlDataSrcBaseName()

モデルのデータ ファイル (例: model_data.c) のベース名を返します。

codetemplatelib.tlcLibGetMdlDataSrcBaseName を参照してください。

LibGetMdlTypesHdrBaseName()

モデルの型ファイル (例: model_types.h) のベース名を返します。

codetemplatelib.tlcLibGetMdlTypesHdrBaseName を参照してください。

LibGetMdlCapiHdrBaseName()

モデルの capi ヘッダー ファイル (例: model_capi.h) のベース名を返します。

codetemplatelib.tlcLibGetMdlCapiHdrBaseName を参照してください。

LibGetMdlCapiSrcBaseName()

モデルの capi ソース ファイル (例: model_capi.c) のベース名を返します。

codetemplatelib.tlcLibGetMdlCapiSrcBaseName を参照してください。

LibGetMdlCapiHostHdrBaseName()

モデルの capi ホスト ヘッダー ファイル (例: model_host_capi.h) のベース名を返します。

codetemplatelib.tlcLibGetMdlCapiHostHdrBaseName を参照してください。

LibGetMdlTestIfHdrBaseName()

モデルの testinterface ヘッダー ファイル (例: model_testinterface.h) のベース名を返します。

codetemplatelib.tlcLibGetMdlTestIfHdrBaseName を参照してください。

LibGetMdlTestIfSrcBaseName()

モデルの testinterface ソース ファイル (例: model_testinterface.c) のベース名を返します。

codetemplatelib.tlcLibGetMdlTestIfSrcBaseName を参照してください。

LibGetDataTypeTransHdrBaseName()

データ型変換ファイル (例: コード生成の Real-Time および Embedded-C コード形式用の model_dt.h) のベース名を返します。

codetemplatelib.tlcLibGetDataTypeTransHdrBaseName を参照してください。

LibGetModelDotCFile()

model.c または .cpp ソース ファイルの参照を返します。その後、LibSetSourceFileSection を使用して追加のコードをキャッシュできます。

構文

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

戻り値

model.c または .cpp ソース ファイルの参照を返します。

codetemplatelib.tlcLibGetModelDotCFile を参照してください。

LibGetModelDotHFile()

model.h ソース ファイルの参照を返します。その後、LibSetSourceFileSection を使用して追加のコードをキャッシュできます。

構文

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

戻り値

model.h ソース ファイルの参照を返します。

codetemplatelib.tlcLibGetModelDotHFile を参照してください。

LibGetModelName()

モデルの名前 (拡張子は除く) を返します。

codetemplatelib.tlcLibGetModelName を参照してください。

LibGetNumSourceFiles()

作成されているソース ファイル (.c または .cpp.h) の数を返します。

構文

%assign numFiles = LibGetNumSourceFiles()

戻り値

ファイルの数 (数値) を返します。

codetemplatelib.tlcLibGetNumSourceFiles を参照してください。

LibGetRTModelErrorStatus()

モデルのエラー ステータスを取得するために必要なコードを返します。

構文

%<LibGetRTModelErrorStatus()>;

codetemplatelib.tlcLibGetRTModelErrorStatus を参照してください。

LibGetSourceFileAttribute(fileIdx, attrib)

ファイルの指定された属性を返します。次の表に有効な属性を示します。

属性
Name (ファイル拡張子を含む)SystemsInFileIsEmptySharedType
BaseNameRequiredIncludesIndentCodeTemplate
TypeUtilityIncludesWrittenToDiskOutputDirectory
CreatorFilterSharedGroup

Arguments

fileIdx (スコープまたは数値) — ファイルのインデックス

attrib (文字列) — モデルの属性の名前

codetemplatelib.tlcLibGetSourceFileAttribute を参照してください。

LibGetSourceFileFromIdx(fileIdx)

モデル ファイルの参照をインデックスに基づいて返します。この参照は、すべてのファイルの先頭のファイル バナーを設定するなど、すべてのファイルに対する共通の操作を行う場合に役立ちます。

構文

%assign fileH = LibGetSourceFileFromIdx(fileIdx)

引数

fileIdx (数値) — モデル ファイルのインデックス

戻り値

モデル ファイルの参照 (スコープ)。

codetemplatelib.tlcLibGetSourceFileFromIdx を参照してください。

LibGetSourceFileSection(fileIdx, section)

ファイルの内容を返します。有効なセクションの一覧については、LibSetSourceFileSection(fileH, section, value)を参照してください。

Arguments

fileIdx (スコープまたは数値) — ファイルのインデックス

section (文字列) — 目的のファイルのセクション

codetemplatelib.tlcLibGetSourceFileSection を参照してください。

LibGetSourceFileTag(fileIdx)

ヘッダー ファイルの場合は fileName_h、ソース ファイルの場合は fileName_c を返します。ここで、fileName はモデル ファイルの名前です。

構文

%assign tag = LibGetSourceFileTag(fileIdx)

引数

fileIndex (数値) — ファイルのインデックス

戻り値

タグ (文字列) を返します。

codetemplatelib.tlcLibGetSourceFileTag を参照してください。

LibMdlRegCustomCode(buffer, location)

関数 model_initialize の内部に宣言ステートメントと実行可能コードを配置します。

Arguments

buffer — 内部のキャッシュ バッファーに追加するテキストを含む文字列バッファー。

location — バッファーの内容を配置する位置を指定する文字列。可能な値は以下のとおりです。

  • "header" — 関数の最上部にバッファーを配置

  • "declaration" — 関数の最上部にバッファーを配置

  • "execution" — 関数の最上部のヘッダーの後にバッファーを配置

  • "trailer" — 関数の最下部にバッファーを配置

戻り値

なし

hookslib.tlcLibMdlRegCustomCode を参照してください。

LibMdlStartCustomCode(buffer, location)

開始関数の内部に宣言ステートメントと実行可能コードを配置します。開始コードはモデルの初期化フェーズで 1 回実行されます。

構文

LibMdlStartCustomCode(buffer, location)

Arguments

buffer — 内部のキャッシュ バッファーに追加するテキストを含む文字列バッファー。

location — バッファーの内容を配置する位置を指定する文字列。可能な値は以下のとおりです。

  • "header" — 関数の最上部にバッファーを配置

  • "declaration" — 関数の最上部にバッファーを配置

  • "execution" — 関数の最上部のヘッダーの後にバッファーを配置

  • "trailer" — 関数の最下部にバッファーを配置

戻り値

なし

説明

LibMdlStartCustomCode は、開始関数の内部に宣言ステートメントと実行可能コードを配置します。このコードは、TLC 変数 CodeFormat の現在の値に応じて次の関数に出力されます。

関数名TLC 変数 CodeFormat の値

model_initialize

Embedded-C (ModelReferenceCoderTarget でない場合)

mdlStart

Embedded-C (ModelReferenceCoderTarget の場合)

mdlStart

S-Function

MdlStart

RealTime

LibMdlStartCustomCode の各呼び出しで、内部のキャッシュ バッファーにバッファーが追加されます。

hookslib.tlcLibMdlStartCustomCode を参照してください。

LibMdlTerminateCustomCode(buffer, location)

目的

終了関数の内部に宣言ステートメントと実行可能コードを配置します。

構文

LibMdlTerminateCustomCode(buffer, location)

Arguments

buffer — 内部のキャッシュ バッファーに追加するテキストを含む文字列バッファー。

location — バッファーの内容を配置する位置を指定する文字列。可能な値は以下のとおりです。

  • "header" — 関数の最上部にバッファーを配置

  • "declaration" — 関数の最上部にバッファーを配置

  • "execution" — 関数の最上部のヘッダーの後にバッファーを配置

  • "trailer" — 関数の最下部にバッファーを配置

戻り値

なし

説明

LibMdlTerminateCustomCode は、終了関数の内部に宣言ステートメントと実行可能コードを配置します。このコードは、TLC 変数 CodeFormat の現在の値に応じて次の関数に出力されます。

関数名TLC 変数 CodeFormat の値

model_terminate

Embedded-C

mdlTerminate

S-Function

MdlTerminate

RealTime

LibMdlTerminateCustomCode の各呼び出しで、内部のキャッシュ バッファーにバッファーが追加されます。

hookslib.tlcLibMdlTerminateCustomCode を参照してください。

LibSetRTModelErrorStatus(str)

モデルのエラー ステータスを設定するために必要なコードを返します。

構文

LibSetRTModelErrorStatus("\"Overrun\"")

引数

str (文字列) — C の文字列に対する char *

codetemplatelib.tlcLibSetRTModelErrorStatus を参照してください。

LibSetSourceFileCodeTemplate(opFile, name)

既定では、*.c ファイルと *.h ファイルは、[コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成]、[テンプレート] ペインで指定されたコード テンプレートを使用して生成されます。LibSetSourceFileCodeTemplate を使用して、ファイルのテンプレートを変更できます。

メモ

カスタム テンプレートは Embedded Coder 製品の機能です。

構文

%assign tag = LibSetSourceFileCodeTemplate(opFile,name)

Arguments

opFile (スコープ) — ファイルの参照

name (文字列) — 目的のテンプレートの名前

戻り値

なし

codetemplatelib.tlcLibSetSourceFileCodeTemplate を参照してください。

LibSetSourceFileCustomSection(file, attrib, value)

前に LibAddSourceFileCustomSection で作成したカスタム セクションに内容を追加します。Embedded Coder ソフトウェアでのみ使用できます。

Arguments

file (スコープまたは数値) — ソース ファイルの参照またはインデックス

attrib (文字列) — カスタム セクションの名前

value (文字列) — セクションに追加する値

codetemplatelib.tlcLibSetSourceFileCustomSection を参照してください。

LibSetSourceFileOutputDirectory(opFile, name)

既定では、*.c ファイルと *.h ファイルは、現在の場所のビルド フォルダーに生成されます。LibSetSourceFileOutputDirectory を使用して、指定したソース ファイルを生成するフォルダーを変更できます。呼び出し側で有効なフォルダーを指定する必要があることに注意してください。

構文

%assign tag = LibSetSourceFileOutputDirectory(opFile,dirName)

Arguments

opFile (スコープ) — ファイルの参照

dirName (文字列) — 目的の出力フォルダーの名前

戻り値

なし

codetemplatelib.tlcLibSetSourceFileOutputDirectory を参照してください。

LibSetSourceFileSection(fileH, section, value)

指定したファイル内の指定したセクションに内容を追加します。有効なファイルのセクションは次のとおりです。

ファイルのセクション

説明

Banner

ファイルの最上部のファイル バナー (コメント) を設定します。

Includes

#include のセクションに追加します。

Defines

#define のセクションに追加します。

IntrinsicTypes

固有型の typedef のセクションに追加します。固有型は、C の固有の型にのみ依存する型です。

PrimitiveTypedefs

プリミティブ型の typedef のセクションに追加します。プリミティブ型の typedef は、C の固有の型と IntrinsicTypes セクションで前に定義した typedef にのみ依存する型です。

UserTop

User Top セクションに追加します。

Typedefs

typedef のセクションに追加します。typedef は、前に定義した型に依存できます。

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

Arguments

fileH (スコープまたは数値) — ファイルの参照またはインデックス

section (文字列) — 目的のファイルのセクション

value (文字列) — 値

codetemplatelib.tlcLibSetSourceFileSection を参照してください。

LibSystemDerivativeCustomCode
(system, buffer, location)

目的

サブシステムの導関数の内部に宣言ステートメントと実行可能コードを配置します。

構文

LibSystemDerivativeCustomCode(system, buffer, location)

Arguments

system — 導関数を変更するサブシステムの参照。

buffer — 内部のキャッシュ バッファーに追加するテキストを含む文字列バッファー。

location — バッファーの内容を配置する位置を指定する文字列。可能な値は以下のとおりです。

  • "header" — 関数の最上部にバッファーを配置

  • "declaration" — 関数の最上部にバッファーを配置

  • "execution" — 関数の最上部のヘッダーの後にバッファーを配置

  • "trailer" — 関数の最下部にバッファーを配置

戻り値

なし

説明

LibSystemDerivativeCustomCode は、system で指定されたサブシステムの導関数の内部に宣言ステートメントと実行可能コードを配置します。このコードは、TLC 変数 CodeFormat の現在の値に応じて次の関数に出力されます。

関数名TLC 変数 CodeFormat の値

mdlDerivatives

S-Function

model_derivatives

RealTime

LibSystemDerivativeCustomCode は、TLC 変数 CodeFormat の値が Embedded-C の場合は意味をもちません。連続状態をもつブロックは使用できないためです。

LibSystemDerivativeCustomCode の各呼び出しで、内部のキャッシュ バッファーにバッファーが追加されます。連続状態がないサブシステムにコードを追加しようとするとエラーが生成されます。

hookslib.tlcLibSystemDerivativeCustomCode を参照してください。

メモ

シミュレーションとコード生成の結果の間で不一致が生じる可能性を回避するために、グローバル Simulink データ (信号、状態、およびブロック パラメーター) の読み取りと書き込みには LibSystemDerivativeCustomCode を使用しないでください。代わりに、適切なモデル化パターン (たとえば、Data Store ReadData Store WriteState Reader および State Writer ブロック) を使用します。

LibSystemDisableCustomCode
(system, buffer, location)

目的

サブシステムの無効化関数の内部に宣言ステートメントと実行可能コードを配置します。

構文

LibSystemDisableCustomCode(system, buffer, location)

Arguments

system — 無効化関数を変更するサブシステムの参照。

buffer — 内部のキャッシュ バッファーに追加するテキストを含む文字列バッファー。

location — バッファーの内容を配置する位置を指定する文字列。可能な値は以下のとおりです。

  • "header" — 関数の最上部にバッファーを配置

  • "declaration" — 関数の最上部にバッファーを配置

  • "execution" — 関数の最上部のヘッダーの後にバッファーを配置

  • "trailer" — 関数の最下部にバッファーを配置

戻り値

なし

説明

LibSystemDisableCustomCode は、system で指定されたサブシステムの無効化関数の内部に宣言ステートメントと実行可能コードを配置します。LibSystemDisableCustomCode の各呼び出しで、内部のキャッシュ バッファーにバッファーが追加されます。

無効化関数がないサブシステムにコードを追加しようとするとエラーが生成されます。

hookslib.tlcLibSystemDisableCustomCode を参照してください。

メモ

シミュレーションとコード生成の結果の間で不一致が生じる可能性を回避するために、グローバル Simulink データ (信号、状態、およびブロック パラメーター) の読み取りと書き込みには LibSystemDisableCustomCode を使用しないでください。代わりに、適切なモデル化パターン (たとえば、Data Store ReadData Store WriteState Reader および State Writer ブロック) を使用します。

LibSystemEnableCustomCode
(system, buffer, location)

目的

サブシステムの有効化関数の内部に宣言ステートメントと実行可能コードを配置します。

構文

LibSystemEnableCustomCode(system, buffer, location)

Arguments

system — 有効化関数を変更するサブシステムの参照。

buffer — 内部のキャッシュ バッファーに追加するテキストを含む文字列バッファー。

location — バッファーの内容を配置する位置を指定する文字列。可能な値は以下のとおりです。

  • "header" — 関数の最上部にバッファーを配置

  • "declaration" — 関数の最上部にバッファーを配置

  • "execution" — 関数の最上部のヘッダーの後にバッファーを配置

  • "trailer" — 関数の最下部にバッファーを配置

戻り値

なし

説明

LibSystemEnableCustomCode は、system で指定されたサブシステムの有効化関数の内部に宣言ステートメントと実行可能コードを配置します。LibSystemEnableCustomCode の各呼び出しで、内部のキャッシュ バッファーにバッファーが追加されます。

有効化関数がないサブシステムにコードを追加しようとするとエラーが生成されます。

hookslib.tlcLibSystemEnableCustomCode を参照してください。

メモ

シミュレーションとコード生成の結果の間で不一致が生じる可能性を回避するために、グローバル Simulink データ (信号、状態、およびブロック パラメーター) の読み取りと書き込みには LibSystemEnableCustomCode を使用しないでください。代わりに、適切なモデル化パターン (たとえば、Data Store ReadData Store WriteState Reader および State Writer ブロック) を使用します。

LibSystemInitializeCustomCode
(system, buffer, location)

目的

サブシステムの初期化関数の内部に宣言ステートメントと実行可能コードを配置します。

構文

LibSystemInitializeCustomCode(system, buffer, location)

Arguments

system — 初期化関数を変更するサブシステムの参照。

buffer — 内部のキャッシュ バッファーに追加するテキストを含む文字列バッファー。

location — バッファーの内容を配置する位置を指定する文字列。可能な値は以下のとおりです。

  • "header" — 関数の最上部にバッファーを配置

  • "declaration" — 関数の最上部にバッファーを配置

  • "execution" — 関数の最上部のヘッダーの後にバッファーを配置

  • "trailer" — 関数の最下部にバッファーを配置

戻り値

なし

説明

LibSystemInitializeCustomCode は、system で指定されたサブシステムの初期化関数の内部に宣言ステートメントと実行可能コードを配置します。このコードは、TLC 変数 CodeFormat の現在の値に応じて次の関数に出力されます。

関数名TLC 変数 CodeFormat の値

model_initialize

Embedded-C

mdlInitializeConditions

S-Function

MdlStart

RealTime

サブシステムのコードは、サブシステムの初期化関数に出力されます。LibSystemInitializeCustomCode の各呼び出しで、内部のキャッシュ バッファーにバッファーが追加されます。

メモ:

有効になったときにリセットするように構成されていない Enable システムは MdlStart にインライン化されます。この場合、サブシステムのカスタム コードは、Enable Subsystem の初期化コードの上下の MdlStart にあります。

hookslib.tlcLibSystemInitializeCustomCode を参照してください。

メモ

シミュレーションとコード生成の結果の間で不一致が生じる可能性を回避するために、グローバル Simulink データ (信号、状態、およびブロック パラメーター) の読み取りと書き込みには LibSystemInitializeCustomCode を使用しないでください。代わりに、適切なモデル化パターン (たとえば、Data Store ReadData Store WriteState Reader および State Writer ブロック) を使用します。

LibSystemOutputCustomCode
(system, buffer, location)

目的

サブシステムの出力関数の内部に宣言ステートメントと実行可能コードを配置します。

構文

LibSystemOutputCustomCode(system, buffer, location)

Arguments

system — 出力関数を変更するサブシステムの参照。

buffer — 内部のキャッシュ バッファーに追加するテキストを含む文字列バッファー。

location — バッファーの内容を配置する位置を指定する文字列。可能な値は以下のとおりです。

  • "header" — 関数の最上部にバッファーを配置

  • "declaration" — 関数の最上部にバッファーを配置

  • "execution" — 関数の最上部のヘッダーの後にバッファーを配置

  • "trailer" — 関数の最下部にバッファーを配置

戻り値

なし

説明

LibSystemOutputCustomCode は、system で指定されたサブシステムの出力関数の内部に宣言ステートメントと実行可能コードを配置します。このコードは、TLC 変数 CodeFormat の現在の値に応じて次の関数に出力されます。

関数名TLC 変数 CodeFormat の値

model_step

Embedded-C (CombineOutputUpdateFcns1)

model_output

Embedded-C (CombineOutputUpdateFcns0)

mdlOutputs

S-Function

MdlOutputs

RealTime

LibSystemOutputCustomCode の各呼び出しで、内部のキャッシュ バッファーにバッファーが追加されます。

hookslib.tlcLibSystemOutputCustomCode を参照してください。

メモ

シミュレーションとコード生成の結果の間で不一致が生じる可能性を回避するために、グローバル Simulink データ (信号、状態、およびブロック パラメーター) の読み取りと書き込みには LibSystemOutputCustomCode を使用しないでください。代わりに、適切なモデル化パターン (たとえば、Data Store ReadData Store WriteState Reader および State Writer ブロック) を使用します。

LibSystemUpdateCustomCode
(system, buffer, location)

目的

サブシステムの更新関数の内部にコードを配置します。

構文

LibSystemUpdateCustomCode(system, buffer, location)

Arguments

system — 更新関数を変更するサブシステムの参照。

buffer — 内部のキャッシュ バッファーに追加するテキストを含む文字列バッファー。

location — バッファーの内容を配置する位置を指定する文字列。可能な値は以下のとおりです。

  • "header" — 関数の最上部にバッファーを配置

  • "declaration" — 関数の最上部にバッファーを配置

  • "execution" — 関数の最上部のヘッダーの後にバッファーを配置

  • "trailer" — 関数の最下部にバッファーを配置

戻り値

なし

説明

LibSystemUpdateCustomCode は、system で指定されたサブシステムの更新関数の内部に宣言ステートメントと実行可能コードを配置します。このコードは、TLC 変数 CodeFormat の現在の値に応じて次の関数に出力されます。

関数名TLC 変数 CodeFormat の値

model_step

Embedded-C (CombineOutputUpdateFcns1)

model_update

Embedded-C (CombineOutputUpdateFcns0)

mdlUpdate

S-Function

MdlUpdate

RealTime

LibSystemUpdateCustomCode の各呼び出しで、内部のキャッシュ バッファーにバッファーが追加されます。

hookslib.tlcLibSystemUpdateCustomCode を参照してください。

メモ

シミュレーションとコード生成の結果の間で不一致が生じる可能性を回避するために、グローバル Simulink データ (信号、状態、およびブロック パラメーター) の読み取りと書き込みには LibSystemUpdateCustomCode を使用しないでください。代わりに、適切なモデル化パターン (たとえば、Data Store ReadData Store WriteState Reader および State Writer ブロック) を使用します。

LibWriteModelData()

モデルのデータを返します (ERT でのみ有効)。

codetemplatelib.tlcLibWriteModelData を参照してください。

LibWriteModelInput(tid, rollThreshold)

指定されたルート入力 (つまりモデルの Inport ブロック) に書き込むコードを返します。この関数は ERT のみで有効であり、参照モデルに対しては有効ではありません。

Arguments

tid (数値) — タスク識別子 (0 が最も速いレートで n が最も遅い)

rollThresholdfor ループでラップする前の信号の幅。

codetemplatelib.tlcLibWriteModelInput を参照してください。

LibWriteModelInputs()

すべてのルート入力 (つまりモデルの Inport ブロック) に書き込むコードを返します。この関数は ERT のみで有効であり、参照モデルに対しては有効ではありません。

codetemplatelib.tlcLibWriteModelInputs を参照してください。

LibWriteModelOutput(tid, rollThreshold)

指定されたルート出力 (つまりモデルの Outport ブロック) に書き込むコードを返します。この関数は ERT のみで有効であり、参照モデルに対しては有効ではありません。

Arguments

tid (数値) — タスク識別子 (0 が最も速いレートで n が最も遅い)

rollThresholdfor ループでラップする前の信号の幅。

codetemplatelib.tlcLibWriteModelOutput を参照してください。

LibWriteModelOutputs()

すべてのルート出力 (つまりモデルの Outport ブロック) に書き込むコードを返します。この関数は ERT のみで有効であり、参照モデルに対しては有効ではありません。

codetemplatelib.tlcLibWriteModelOutputs を参照してください。

関連するトピック