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 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Florent
el 25 de Nov. de 2013
Comentada: Simon
el 22 de Mayo de 2014
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 comentarios
Respuesta aceptada
Más respuestas (0)
Ver también
Categorías
Más información sobre Block Creation Basics en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!