Multiple s-function blocks produce different outputs.

Hi,
I am building a simulink model which contains a number of S-function blocks (let's say two for simplicity). These blocks all have the same C mex-file, but different parameter values. The problem is now that only one of these two blocks produces a correct output. Even if the parameters and inputs of both blocks are the same, the outputs don't match. (I have stored the parameters in the real work vector.)
Does someone have an idea on what could cause this problem?
Pieter

1 件のコメント

Babak
Babak 2012 年 11 月 12 日
Do the S-functions have tlc files too? Did you create a mask for the S functions? if so different masks or same?

サインインしてコメントする。

回答 (1 件)

Kaustubha Govind
Kaustubha Govind 2012 年 11 月 12 日

0 投票

Are you using static variables in the C code? If so, you need to replace them with work vectors. It might also be a good idea to debug your S-function to find out exactly what is going wrong.

2 件のコメント

Pieter
Pieter 2012 年 11 月 13 日
I don't think that I am using static variables in the C code. I am not very familiar with C code, but if I put 'auto' before the declaration of my variables, the results are the same as before.
Kaustubha Govind
Kaustubha Govind 2012 年 11 月 15 日
Pieter: I don't know what else to suggest other than ask you to try debugging your code to narrow down the issue to specific snippets of code. :(

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeSimulink Coder についてさらに検索

製品

タグ

質問済み:

2012 年 11 月 12 日

Community Treasure Hunt

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

Start Hunting!

Translated by