custom type in Simulink S-Function internal state

5 vues (au cours des 30 derniers jours)
Florent
Florent le 25 Nov 2013
Commenté : Simon le 22 Mai 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

Réponse acceptée

Florent
Florent le 25 Nov 2013
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.
  1 commentaire
Simon
Simon le 22 Mai 2014
Can you post a code snippet? I'm trying to solve a similar problem.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Block Creation Basics dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by