TLC File Level-2 MATLAB S-function

조회 수: 4 (최근 30일)
Simon Assfalg
Simon Assfalg 2016년 2월 8일
답변: Kanishk 2025년 2월 11일 8:39
I got a Problem with writing a TLC-File of a Level-2 MATLAB S-function.
I wrote the .m File for the S-function and started the Simulink Model with the Run Button. So far all works well. But now I want to transfer the Model to my Beaglebone Black, so I have to write a TLC File. I looked at the timestwo.tlc example to get Basics in writing an TLC File. In this example is in the TLC File and in the .m File for the S-function the input multiplied by two and transferred to the output. Now my question is if there is a way to get the Values direct from the Simulink Block without implementing the functionality a second time in the TLC File?
Such as:
output_tlc = output_simulink_block
I hope you can understand my Question :-)
Thanks for your Help

답변 (1개)

Kanishk
Kanishk 2025년 2월 11일 8:39
If you are looking to directly utilize the output from an S-Function block within a TLC (Target Language Compiler) file, you can streamline this process by writing your algorithm in a C file. This approach involves creating a wrapper S-Function that calls your algorithm, thereby minimizing the overhead typically associated with S-Functions.
At the top of your TLC file, specify the implementation of your algorithm using the "%implements" directive.
%implements "my_alg" "C"
This line tells the TLC file to use the C implementation of your algorithm named "my_alg".
You can then call your algorithm directly within the "Outputs" function of the TLC file. Here’s an example of how to set this up:
%function Outputs(block, system) Output
%assign outPtr = LibBlockOutputSignalAddr(0, "", "", 0)
%assign inPtr = LibBlockInputSignalAddr(0, "", "",0)
%assign numEls = LibBlockOutputSignalWidth(0)
my_alg(%<inPtr>,%<outPtr>,%<numEls>);
%endfunction
You can learn more about writing wrapped inline S-Function using TLC from the documentation linked below.

카테고리

Help CenterFile Exchange에서 Target Language Compiler에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by