1

既存のコンパイル済み C ライブラリ (Windows x64 では .dll) を Simulink で使用しようとしています。基本的なライブラリと、必要なレベル 2 S-Function (.m ファイル) およびコード生成変換ファイル (.tlc) を作成しました。私のコードはシミュレーションで正常に動作し、コード生成はエラーなしで実行されますが、.tlc ファイルで指定されたカスタム コードはいずれも出力されません。ただし、.tlc ファイルのいずれかに構文エラーがある場合、コード生成は失敗するため、少なくともファイルを解析しています。コード生成用のサンプル コードを参照しても、不足していると思われるものは何も明らかになりませんでした。

ここでのファイル数とコード量を考慮して、すべてGithub リポジトリに入れました。x64 MATLAB 2011b 以降を実行している Windows を使用している場合は、すぐにすべてを実行できるはずです。の最終出力には、TestLibGet.tlc で指定されているように、TestLibTest_grt_rtw/TestLibTest.c:TestLibTest_output()への 2 つの呼び出しが含まれている必要があります。TestLibGet()

4

1 に答える 1

0

生成されたコードから「Get()」が呼び出されないことを意味していると思います。リンクした github リポジトリの tlc ファイルの行末が正しくありません。これを修正すると、生成されたコードに Get() の呼び出しが表示されます。これを修正することは、プラットフォームに固有のものである可能性があります。プラットフォームの単純なコード エディターで tlc ファイルを開くと、正しい位置に新しい行が表示されるはずです。^M のような文字が表示された場合は、改行する必要があります。

于 2013-09-30T17:23:23.757 に答える