Compiling M files for dSpace

15 views (last 30 days)
Kuan Tak
Kuan Tak on 10 Jun 2011
Hi,
I have implemented some controllers for my electrical ciruit using m files, when I tried to compile it or use with dSpace, I get the error message as follows:
*Error building Real-Time Workshop target for block diagram 'GridConnectedDSP'. MATLAB error message: Error using ==> tlc_new Error: File: C:\Program Files\MATLAB\R2008a\rtw\c\tlc\lib\utillib.tlc Line: 461 Column: 8 %exit directive: Real-Time Workshop Fatal in block: "GridConnectedDSP/Controller/Controller", block type "S-Function": MFile S-functions without a corresponding TLC file are not supported. You can inline your S-function (TKT_VIDG2U) by creating a TLC file for it. You can also remap your S-function to C by creating a corresponding C Mex source file and a TKT_VIDG2U.tlc file in the same directory as the MFile S-function which contains (on the first line): %% CallAsCMexLevel1 or %% CallAsCMexLevel2*
Is there a way to solve this problem? Really desperately looking for help. Thank in advance!

Accepted Answer

Walter Roberson
Walter Roberson on 10 Jun 2011
I don't know if this 2002 discussion is still relevant, but possibly you just can't do that: see this
It is difficult to find useful information about dSpace on the Mathworks web site.
The message you are encountering means that somewhere in there you have a Level-2 S function that you are trying to generate code for, OR you are trying to generate code for a Simulink block that they did not provide compilation information for. In order to generate code for the missing piece, you have to provide a Target Language Compiler file.

More Answers (3)

Arnaud Miege
Arnaud Miege on 10 Jun 2011
As Walter suggested, you can't generate C code from a MATLAB S-Function without writing a TLC file. See Generating Code from a Level-2 MATLAB S-Function in the Simulink documentation.
I would recommend using an Embedded MATLAB Function (now simply called a MATLAB Function in R2011a) instead, but you will need to restrict your code to using Functions Supported for Code Generation.
HTH,
Arnaud
  2 Comments
Kuan Tak
Kuan Tak on 11 Jun 2011
Hi all, is there a way then to change my code or write the TLC files for my program? I am really at a loss. Thanks a lot for all the kind advices.
Arnaud Miege
Arnaud Miege on 13 Jun 2011
Either write your S-function in C or use an Embedded MATLAB Function as I suggested. My recommendation would be the latter.

Sign in to comment.


Kuan Tak
Kuan Tak on 11 Jun 2011
Hi all, thanks a lot.

Kuan Tak
Kuan Tak on 11 Jun 2011
Hi all, is there a way then to change my code or write the TLC files for my program? I am really at a loss. Thanks a lot for all the kind advices.

Categories

Find more on Simulink Coder in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!