Seth on Simulink

September 9th, 2009

New Stuff – Simulink R2009b

Last week the MathWorks released the R2009b family of products.  There are many new capabilities in the latest release and with this blog post, I want to highlight a some of the features in Simulink I’m really excited about.  While you read this, start installing the latest products from the MathWorks.com downloads area (login and license required).

Reading the release notes is so R2007b!

Did you know that there is a presentation containing highlights and screen shots from R2009b Simulink?  If you have missed this in the past, you can go back and check out R2008a, R2008b and R2009a highlights.  Try it yourself, and browse through all the cool new features in R2009b Simulink.

R2009b Simulink Feature Slides

Model Reference Protected Models!

Share your model functionality without sharing your model intellectual property!  Anyone with R2009b Simulink can use a protected model.  If you have a license to Real-Time Workshop, you can create a protected model.

Model Reference Protected Mode

Model Reference Variants

If you have multiple implementations of your component model, variant objects enable you to control the implementation used.  This allows you to globally control and coordinate switching between variant implementations of your model.

Simulink Model Reference Variants

Tabs in the Mask Editor!

Now you can create tabs in your custom block masks.

Simulink R2009b masks include tabs!

Variably Sized Signals!

Special blocks and Embedded MATLAB now support dynamically sizing signals during simulation!

Variable sized signals in Simulink R2009b

The SIM command can return a single output!

The SIM command has a new single output syntax so all your results are part of a single SimulationOutput object. This enables SIM to be called within a PARFOR loop, thus enabling easy parallel Simulation using the Parallel Computing Toolbox.

paramNameValStruct.SimulationMode = 'rapid';
paramNameValStruct.AbsTol = '1e-5';
paramNameValStruct.SaveState = 'on';
paramNameValStruct.StateSaveName = 'xoutNew';
paramNameValStruct.SaveOutput = 'on';
paramNameValStruct.OutputSaveName = 'youtNew';
simOut = sim('vdp',paramNameValStruct);

New Library Links Tool for fixing broken links!

After making changes to a model and disabling library links, the Library Links tool will enable you to reestablish those links to your library.  Each change in the model can be pushed back into the library, or the block can be restored from the original library source.

The R2009b Simulink Library Links Tool

Now it’s your turn

Have you downloaded R2009b?  Leave a comment here and tell me about your favorite new features.

5 Responses to “New Stuff – Simulink R2009b”

  1. JCA replied on :

    Sounds like a good update.

    It has two changes that are especially relevant to my work right now, but unfortunately at this stage I won’t be able to switch versions.

    First, I hear it fixes my favorite bug: 529072

    That one was killing me on this project, so it’s good to hear it’ll be gone for the next one.

    Second, is the IP protection feature. We’re struggling with that right now at the end of our project (I know, should have thought about it sooner!).

    I’m hoping you can suggest something that I can do with 2007b. Basically I have a block within a large model that I need to protect. The block with all the IP is currently an Embedded MATLAB code block. We want to deliver the block as part of the model, but the customer must not be able to see the code (they’ll look at the raw mdl text if they have to, trust me). Can you suggest any non-invasive ways of doing that? The end result is built using rtw and is run in a “realtime”-windows environment (don’t ask! :) ).

    Great blog, and thanks for any reply you can give. At the very least, the hoops I’m describing here will be an effective sales tool for 2009b. :)

    Cheers

  2. Seth replied on :

    @JCA - I am glad to hear that we fixed your favorite bugs. This is one of the benefits of the six month release cycle… you don’t have to wait a long time to get bugs fixed.

    In R2007b your really limited based on the requirements you have provided. The easiest way to hide IP in that release is to use RTW to Generate an S-function. This does not support inlined code generation, so you have to use an RTW target that supports calling non-inlined S-functions. Even in that situation, I have seen some users generate code, then use a C-language obfuscation tool to provided the source to be included with the final generated model. This would still be needed today as our R2009b IP protection solution is for simulation only.

  3. wei replied on :

    @Seth, Could mask parameter entry change from popup to edit text? Take a look at Constant block’s ‘OutDataTypeStr’.

  4. Shen-Hsiao replied on :

    Any chance that the Simulink interface under Mac OS X will be updated to match that of the Matlab desktop? The “drag-and-drop” of blocks doesn’t work on the X11/Motif-like interface of the current v7.4 on R2009b.

  5. Seth replied on :

    @Shen-Hsiao - It is hard to know exactly what problem you are describing with such little information, but there is a known issue with Mac’s that have multiple monitors. There is a published bug report here (requires log-in). I should note that there are a couple workarounds described on the bug report, so you might want to try them. If this is the problem you have, we are working on a fix for this.

Leave a Reply

Wrap code fragments inside <pre> tags, like this:

<pre class="code">
a = magic(3);
sum(a)
</pre>

If you have a "<" character in your code, either follow it with a space or replace it with "&lt;" (including the semicolon).


Seth Popinchalk is an Application Engineer for The MathWorks. He writes here about Simulink and other MathWorks tools used in Model-Based Design.
  • Mohamamd: Hi Suth, I try to simulate a load tap-changing transformer in simulink but its control part has to be...
  • Han Geerligs: Hello Guy, thanks for the clarificaton and link. However in the documentation I am missing the...
  • Guy: @Han, you probably already know, but I think it is good to share with everyone. To zoom in use the key...
  • Han Geerligs: Hi Seth, Once again I’d like to point out that my biggest accelerator is using mouse and keyboard...
  • XaL: Hi, thanks for the tips. As someone wrote in http://blogs.mathwor ks.com/seth/2009/03/ 13/new-%C2%A0rele...
  • Uba osy: Hi, in the introductory example for fuzzy logic toolbox it was noted that using non fuzzy means, you could...
  • Prashant: How can I have same example but instead AC(1 to 10V 50 or 60Hz) and DC(0.5 to 10 V) then adding AC+DC but...
  • adrian chavarro: Great tool, for educational and sicentific, simulation. I would like to know where can i place a...
  • Ashish Sadanandan: @wei, I was talking about the case where the compiler would perform the ‘model_Xdim...
  • wei: @Ashish, I agree with your observation on compiler optimization but fail to see why Han’s code would be...

These postings are the author's and don't necessarily represent the opinions of The MathWorks.