{"id":106,"date":"2010-09-16T22:00:32","date_gmt":"2010-09-16T22:00:32","guid":{"rendered":"https:\/\/blogs.mathworks.com\/seth\/2010\/09\/16\/r2010b-is-here\/"},"modified":"2010-09-21T18:57:14","modified_gmt":"2010-09-21T18:57:14","slug":"r2010b-is-here","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/simulink\/2010\/09\/16\/r2010b-is-here\/","title":{"rendered":"R2010b is here!"},"content":{"rendered":"<p>MathWorks released R2010b on September 3rd, and it has been <a href=\"https:\/\/www.mathworks.com\/downloads\/web_downloads\/\">live on the downloads page<\/a> since then.<\/p>\r\n\r\n<p><a href=\"https:\/\/www.mathworks.com\/products\/new_products\/latest_features.html\"><img decoding=\"async\" src=\"https:\/\/blogs.mathworks.com\/images\/seth\/2010Q3\/R2010b_Banner.gif\" alt=\"R2010b is released!\"><\/a><\/p>\r\n\r\n<p>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 <a title=\"https:\/\/www.mathworks.com\/products\/simulink\/whatsnew.html (link no longer works)\">What's new page<\/a> and in the <a href=\"https:\/\/www.mathworks.com\/help\/releases\/R2010b\/toolbox\/simulink\/rn\/bsjn1am-1.html\">release notes<\/a>.)<\/p>\r\n\r\n<p><strong>Multi-instance normal mode<\/strong><\/p>\r\n\r\n<p>In the <a href = \"https:\/\/www.mathworks.com\/help\/releases\/R2010b\/toolbox\/simulink\/rn\/bqmg7gf-1.html\">first version of Model Reference<\/a>, 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 <a href = \"https:\/\/www.mathworks.com\/help\/releases\/R2010b\/toolbox\/simulink\/ug\/bq_5wvg-1.html#bqur6wz-1\">the advantages<\/a>, 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!<\/p>\r\n\r\n<p><em>This could have also been avoided using an incremental build workflow by putting the model reference accelerated mode artifacts into the CM system.<\/em><\/p>\r\n\r\n<p>When <a href = \"https:\/\/www.mathworks.com\/help\/releases\/R2010b\/toolbox\/simulink\/ug\/bsp24op-1.html#bsp24op-2\">normal mode model reference<\/a> was <a href = \"https:\/\/www.mathworks.com\/help\/releases\/R2010b\/toolbox\/simulink\/rn\/bq_ykxh.html\">introduced in R2007b<\/a>, 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.<\/p>\r\n\r\n<p>Now in R2010b we have <a href = \"https:\/\/www.mathworks.com\/help\/releases\/R2010b\/toolbox\/simulink\/ug\/bsp24op-1.html#bsp24op-10\">multi-instance normal mode<\/a>.  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.<\/p>\r\n\r\n<p>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.\r\n\r\n<p><img decoding=\"async\" src=\"https:\/\/blogs.mathworks.com\/images\/seth\/2010Q3\/ModelRef.png\" alt=\"Multi instances model reference\"><\/p>\r\n\r\n<p><strong>Array of Buses<\/strong><\/p>\r\n\r\n<p><a href = \"https:\/\/www.mathworks.com\/help\/releases\/R2010b\/toolbox\/simulink\/ug\/bq4h5ej-1.html\">Bus signals<\/a> 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 <a href = \"https:\/\/www.mathworks.com\/help\/releases\/R2010b\/toolbox\/simulink\/ug\/bsocrb0.html\">array of buses<\/a>!  This has been a highly requested feature and should enable a more natural expression of organized data. <\/p>\r\n\r\n<p>Arrays of buses allow you to take a model that looks like this:<\/p>\r\n\r\n<p><img decoding=\"async\" src=\"https:\/\/blogs.mathworks.com\/images\/seth\/2010Q3\/ArrraysOfBusesOld.png\" alt=\"Bus of buses\"><\/p>\r\n\r\n<p>and make it look like this:<\/p>\r\n\r\n<p><img decoding=\"async\" src=\"https:\/\/blogs.mathworks.com\/images\/seth\/2010Q3\/ArrraysOfBusesNew.png\" alt=\"Array of buses\"><\/p>\r\n\r\n<p><strong>What's features are you interested in?<\/strong><\/p>\r\n\r\n<p>Have you looked at the latest features for <a title=\"https:\/\/www.mathworks.com\/products\/simulink\/whatsnew.html (link no longer works)\">Simulink<\/a>, <a href = \"https:\/\/www.mathworks.com\/products\/stateflow\/whatsnew.html\">Stateflow<\/a> or <a href = \"https:\/\/www.mathworks.com\/products\/rtw\/whatsnew.html\">Real-Time Workshop<\/a> yet?  What would you like to see a blog about?  Leave a <a href=\"https:\/\/blogs.mathworks.com\/seth\/?p=106&#comment\">comment here<\/a> and let me know.<\/p>","protected":false},"excerpt":{"rendered":"<p>MathWorks released R2010b on September 3rd, and it has been live on the downloads page since then.\r\n\r\n\r\n\r\nWhile there are many features I could highlight in this post, I would like to focus on two... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/simulink\/2010\/09\/16\/r2010b-is-here\/\">read more >><\/a><\/p>","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[66,11,16],"tags":[153,151,150,152],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/posts\/106"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/comments?post=106"}],"version-history":[{"count":0,"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/posts\/106\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/media?parent=106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/categories?post=106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/tags?post=106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}