Guy on Simulink

Simulink & Model-Based Design

R2010b is here!

MathWorks released R2010b on September 3rd, and it has been live on the downloads page since then.

R2010b is released!

While there are many features I could highlight in this post, I would like to focus on two that I have been excited about for a long time. (Of course, there are more than just a couple new features in R2010b, you should read about them on the What's new page and in the release notes.)

Multi-instance normal mode

In the first version of Model Reference, it was a real accomplishment to be able to reference another model as a block from your top model. This was a great feature targeted at enabling large scale modeling. However, some users of the feature had mixed feedback. While they enjoyed the advantages, sometimes they didn't want to wait for the accelerated mode code gen to complete. I remember one user in particular that was doing mostly code generation tasks. They often had to check out a full hierarchy of models from their configuration management system just to generate code (the simulation work was done by someone else). Because of the accelerated mode code generation, they felt like they were generating code for each model twice!

This could have also been avoided using an incremental build workflow by putting the model reference accelerated mode artifacts into the CM system.

When normal mode model reference was introduced in R2007b, this limitation was mostly removed. For Model Reference hierarchies with single instance models, you could switch the models to normal mode, and then generate code. (I still prefer the incremental build workflow, but if you have to measure the first time cost alone, normal mode makes a difference in build time.) Of course, this was still limited to one instance of each model in the hierarchy.

Now in R2010b we have multi-instance normal mode. For that user doing the check-out and generate code task, even multi-instance model reference blocks can be set to normal mode in R2010b, so as to avoid accelerated mode builds.

To show you what it looks like, here is an example where the same model is referenced 3 times. The upper one, with black corners, is in Accelerator mode. The middle one, with white corners is in Normal mode with visibility enabled. This means that you can observe it's displays and scopes while it is running. The bottom one, with grey corners is in Normal mode with visibility disabled. When using multiple instances of a model in normal mode, only one instance can be visible.

Multi instances model reference

Array of Buses

Bus signals have been part of Simulink for a long time, and I like to use them to organize interfaces between subsystems and model reference. Most users have a mental model of a bus as a structure. Unfortunately, buses, unlike structures could not be concatenated into arrays. They could only be bussed together into larger hierarchies of bus signals. Users have worked around that limitation for years by creating a bus of buses, instead of an array of buses. Now, in R2010b, the bus signal can now be concatenated to form an array of buses! This has been a highly requested feature and should enable a more natural expression of organized data.

Arrays of buses allow you to take a model that looks like this:

Bus of buses

and make it look like this:

Array of buses

What's features are you interested in?

Have you looked at the latest features for Simulink, Stateflow or Real-Time Workshop yet? What would you like to see a blog about? Leave a comment here and let me know.

|

Comments

To leave a comment, please click here to sign in to your MathWorks Account or create a new one.