Half-self-answer: I managed to get this block run by the creation of a global list of objects. The simulink blocks just keep a reference (index as a scalar value) to these objects in their own state space.
custom type in Simulink S-Function internal state
4 views (last 30 days)
Show older comments
Hi all,
What's the correct way to keep an internal reference to an object inside a Simulink Matlab level 2 S-Function. Buitins block.Dwork and block.ContState only support data types, I need to keep a reference to a network object tcp/udp and the following code fails:
block.Dwork(1).Data = tcpip('localhost',1234);
with message:
Invalid assignment in 'test/test'. Data must be a numeric or logical array
Looking at the documentation, I see no way to keep this reference in a "clean" way. The page http://www.mathworks.fr/fr/help/simulink/sfg/custom-data-types.html is about defining types for inputs/outputs and I understand limitations for signals entering and leaving the block. My case is a little bit different: this internal object should be kept during simulation but it is not intended to leak from the Simulink block.
Any help?
TIA
- Florent
0 Comments
Accepted Answer
More Answers (0)
See Also
Categories
Find more on Block Creation Basics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!