Help understanding example for Inlining Matlab S-function

In https://au.mathworks.com/help/rtw/tlc/introduction-inline-s-functions.html#f34125, I am trying to follow the example under the heading "Inline MATLAB File S-Functions"
Step 5 is unclear:
"Step 5 :On the Signal Attributes tab of the Inport Block Parameters dialog box, set the Port dimensions parameter to 5."
What do I need to click on to find this? Where do I find the "Inport Block Parameters dialog box"?
Thanks,

 采纳的回答

You double click to Inport block, choose the Signal Attributes tab
6.PNG

3 个评论

The example instructs you to build this model, in which there in no Inport block. Are these instructions incorrect?
model.png
I think step 5 for example about code generation from S-Function block.
So when you change contant block to inport block, generated code will same below.
/* S-Function (timestwo): '<Root>/MATLAB S-Function' */
/* Multiply input by two */
{
int_T i1;
const real_T *u0 = &times2_B.Gain[0];
real_T *y0 = &times2_Y.Out1[0];
for (i1=0; i1 < 5; i1++) {
y0[i1] = u0[i1] * 2.0;
}
}
5 dimenssion of inport is maximum of for loop
Thanks galaxy. That makes sense.
I'll note as well that there is no instruction in this example to compile the code by cliking on the Build icon (shortcut: Ctrl+B).
Once I build it, I can see a folder created named"
<simulink model name>_grt__rtw
In this folder is the file:
<simulink model name>.c
which has the lines in the previous comment within the "Model step function"
/* Model step function */
void times2_B_step(void)
{
/* S-Function (timestwo): '<Root>/S-Function' incorporates:
* Constant: '<Root>/Constant'
* Outport: '<Root>/Out1'
*/
/* Multiply input by two */
{
int_T i1;
const real_T *u0 = &times2_B_P.Constant_Value[0];
real_T *y0 = &times2_B_Y.Out1[0];
for (i1=0; i1 < 10; i1++) {
y0[i1] = u0[i1] * 2.0;
}
}
etc...
However, during there is an error during compilation:
Error(s) encountered while building "times2_B": ### Failed to generate all binary outputs.
If anyone else encounters this error, I found the same problem discussed here: https://au.mathworks.com/matlabcentral/answers/156208-how-do-i-fix-failed-to-generate-all-binary-outputs-error.
Having a path where the simulink model, .m and .tld files are stored without white spaces fixed the problem.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Simulink Coder 的更多信息

产品

版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by