Passing strings between subsystems

2 Ansichten (letzte 30 Tage)
Macko
Macko am 18 Jul. 2011
Hi,
I'm building up strings dynamically in several subsystems, both using Embedded Matlab blocks and Level-2 M-File blocks. Now, my problem is that I would like to pass these strings to a custom-made interface block. The only solution I was able to find so far was to split the strings into an array of ASCII codes, pass them to the interface module then re-contruct the string in that module. Needless to say that , although it works, it is not the most elegant solution.
I was wondering if somebody would have a better idea as of how to solve this problem in a more elegant way? The resulting model will be used by RTW-EC to generate embedded code out of it.
Many thanks in advance!

Akzeptierte Antwort

Desiree
Desiree am 19 Jul. 2011
Passing the ASCII representation of characters is one way to achieve this. However if Level-2 MATLAB S-Functions are used you won't be able to generate code with Embedded Coder anyway (only if you inline the function). A better way would be to use C Code S-Functions. One example on how to pass character arrays between 2 S-Functions written in C can be found on the MathWorks website: http://www.mathworks.com/support/solutions/en/data/1-Z5HKT/index.html The main idea here is to pass a pointer to the character array through Simulink signals.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 19 Jul. 2011
I do not have experience myself in those products, but my recollection from a Question several months ago is that it was said that there is no direct support for passing strings through a model, and that the indirect mechanism was the one you arrived at, converting the characters to numeric form.
  1 Kommentar
Macko
Macko am 19 Jul. 2011
Thank you! It's good to know I'm not completly off track :)

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by