MATLAB: How to use Legacy Code Tool to create a Simulink S-function block with multiple output ports in Simulink 7.0 (R2007b)

lctsimulink

I want to use Legacy Code Tool to create a Simulink S-function block with multiple output ports in Simulink 7.0 (R2007b).

Best Answer

In order to create a S-function block with multiple output ports from existing C code using Legacy Code Tool, the specification has to be provided in the "OutputFcnSpec" field of the LEGACY_CODE structure. An example implementation is shown in the attached files.
The function "lct_simple_demo" uses the existing C-code "myfunc.c" to create a S-function block with multiple ports. This S-function block is used in the demo "lct_demo.mdl" model.
To run the function, type the following at the MATLAB command prompt:
lct_simple_demo
Multiple outputs from an existing C-code can also be obtained by using a "bus". An example implementation of the same is shown in the demo "Calling Legacy Functions with Structure Arguments Using Buses". To view this demo, type the following at the MATLAB command prompt:
showdemo sldemo_lct_bus_script