<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Bus Objects and Interface Specifications</title>
	<link>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/</link>
	<description>This blog is about Simulink.</description>
	<pubDate>Sun, 07 Sep 2008 02:40:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
		<item>
		<title>By: Maarten</title>
		<link>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-508</link>
		<dc:creator>Maarten</dc:creator>
		<pubDate>Tue, 26 Aug 2008 10:13:10 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-508</guid>
		<description>Seth,

As far as I can gather, it is not possible to stream data created using signal logging of a virtual bus to an Input port of another model. Could you comment on this?

I would like to avoid the non-virtual bus stuff since it sounds too much hassle for a medium sized project and I want to keep my diagrams clean (i.e. just press play)</description>
		<content:encoded><![CDATA[<p>Seth,</p>
<p>As far as I can gather, it is not possible to stream data created using signal logging of a virtual bus to an Input port of another model. Could you comment on this?</p>
<p>I would like to avoid the non-virtual bus stuff since it sounds too much hassle for a medium sized project and I want to keep my diagrams clean (i.e. just press play)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Seth</title>
		<link>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-429</link>
		<dc:creator>Seth</dc:creator>
		<pubDate>Fri, 18 Jul 2008 03:18:32 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-429</guid>
		<description>@Doug - I have had many people ask about such a conversion tool.  The challenge comes from the variety of types and syntax requirements that C/C++ allow which do not easily map back to Bus Objects.  If you write such a tool, please share it on the File Exchange!

Regarding the MATLAB struct and the Bus Object, consider that there is a difference in what these two things are.  The Bus Object is a specification, and the struct is an instance.  They are similar, but Bus Objects have no values associated with their elements.  Simulink.Timeseries and Simulink.TSArray provide a method for specifying the value of a bus signal for inputs to a model.</description>
		<content:encoded><![CDATA[<p>@Doug - I have had many people ask about such a conversion tool.  The challenge comes from the variety of types and syntax requirements that C/C++ allow which do not easily map back to Bus Objects.  If you write such a tool, please share it on the File Exchange!</p>
<p>Regarding the MATLAB struct and the Bus Object, consider that there is a difference in what these two things are.  The Bus Object is a specification, and the struct is an instance.  They are similar, but Bus Objects have no values associated with their elements.  Simulink.Timeseries and Simulink.TSArray provide a method for specifying the value of a bus signal for inputs to a model.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Doug Forman</title>
		<link>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-366</link>
		<dc:creator>Doug Forman</dc:creator>
		<pubDate>Wed, 09 Jul 2008 22:20:59 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-366</guid>
		<description>Also,
  Is there any relationship possible between a matlab struct and a non-virtual bus object?
Is there a simple  transformation between the matlab struct and a non-virtual bus object?</description>
		<content:encoded><![CDATA[<p>Also,<br />
  Is there any relationship possible between a matlab struct and a non-virtual bus object?<br />
Is there a simple  transformation between the matlab struct and a non-virtual bus object?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Doug Forman</title>
		<link>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-365</link>
		<dc:creator>Doug Forman</dc:creator>
		<pubDate>Wed, 09 Jul 2008 21:04:00 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-365</guid>
		<description>Seth,
Have you heard of a script (perl or matlab) that can create a Matlab bus object from a C struct definition, (or C++ class definition)?
I am using legacy_code to import several different C functions that access (by reference) global data structures.
Each C function will become a separate S-Function and therefore can't see global variables declared by the other S-Functions. I am now wanting to convert the C data structures to matlab bus objects that can be accessed by the separate S-Functions.
Thanks ~ Doug</description>
		<content:encoded><![CDATA[<p>Seth,<br />
Have you heard of a script (perl or matlab) that can create a Matlab bus object from a C struct definition, (or C++ class definition)?<br />
I am using legacy_code to import several different C functions that access (by reference) global data structures.<br />
Each C function will become a separate S-Function and therefore can&#8217;t see global variables declared by the other S-Functions. I am now wanting to convert the C data structures to matlab bus objects that can be accessed by the separate S-Functions.<br />
Thanks ~ Doug</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Seth</title>
		<link>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-303</link>
		<dc:creator>Seth</dc:creator>
		<pubDate>Fri, 06 Jun 2008 23:38:43 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-303</guid>
		<description>@Guilherme Dedecca - Excellent use of a bus for interface specification!  There is a technical support solution about &lt;a href="http://www.mathworks.com/support/solutions/data/1-2UDXQ5.html" rel="nofollow"&gt;how to create a Simulink.TsArray&lt;/a&gt;.  It contains a simple example.

There is also a nice &lt;a href="http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=15852" rel="nofollow"&gt;file exchange submission&lt;/a&gt; from &lt;a href="http://www.mathworks.com/matlabcentral/fileexchange/loadAuthor.do?objectType=author&#038;objectId=1094530" rel="nofollow"&gt;Robyn Jackey&lt;/a&gt; that demonstrates how this is done with a nested bus.  The helper functions in that file really simplify the process of creating the Simulink TS Arrays.</description>
		<content:encoded><![CDATA[<p>@Guilherme Dedecca - Excellent use of a bus for interface specification!  There is a technical support solution about <a href="http://www.mathworks.com/support/solutions/data/1-2UDXQ5.html" rel="nofollow">how to create a Simulink.TsArray</a>.  It contains a simple example.</p>
<p>There is also a nice <a href="http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=15852" rel="nofollow">file exchange submission</a> from <a href="http://www.mathworks.com/matlabcentral/fileexchange/loadAuthor.do?objectType=author&#038;objectId=1094530" rel="nofollow">Robyn Jackey</a> that demonstrates how this is done with a nested bus.  The helper functions in that file really simplify the process of creating the Simulink TS Arrays.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guilherme Dedecca</title>
		<link>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-302</link>
		<dc:creator>Guilherme Dedecca</dc:creator>
		<pubDate>Fri, 06 Jun 2008 21:15:53 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-302</guid>
		<description>Hello Seth!

I've been developing a model and I started using Bus Objects at the root-level inputs to specify the signals they are expected to receive. By doing this, I could propagate the expected signals at root-level Inputs to the rest of the model and use them at Bus Selectors, for exemple.

The time has come to simulate the model, and I wanted to use the Data Import/Export feature to apply several test cases to the inputs of the model. But, as far as I could find, the only way to import data to Inports that use Bus Objects is if the data is packed into an Simulink.TSArray object. The problem is that I didn't find another way to create an Simulink.TSArray object other than to log the signals from a previous simulation and import this logged data back into the model through Data Import/Export.

Is there another way to import Data to Inports that use Bus Objects?

Thank you!</description>
		<content:encoded><![CDATA[<p>Hello Seth!</p>
<p>I&#8217;ve been developing a model and I started using Bus Objects at the root-level inputs to specify the signals they are expected to receive. By doing this, I could propagate the expected signals at root-level Inputs to the rest of the model and use them at Bus Selectors, for exemple.</p>
<p>The time has come to simulate the model, and I wanted to use the Data Import/Export feature to apply several test cases to the inputs of the model. But, as far as I could find, the only way to import data to Inports that use Bus Objects is if the data is packed into an Simulink.TSArray object. The problem is that I didn&#8217;t find another way to create an Simulink.TSArray object other than to log the signals from a previous simulation and import this logged data back into the model through Data Import/Export.</p>
<p>Is there another way to import Data to Inports that use Bus Objects?</p>
<p>Thank you!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin Mellor</title>
		<link>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-211</link>
		<dc:creator>Justin Mellor</dc:creator>
		<pubDate>Thu, 08 May 2008 10:20:58 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-211</guid>
		<description>Seth,
I have just 'tuned in' to this discussion about bus signals. As I am in the process of integrating a large mode using Model References for all the major components of the system, this is highly relevant. I definitely need to lock down the interfaces to the different components - these are being developed across multiple sites in accordance with an Interface Control Document that we have produced.
I have a question:
The interconnects between our components are a mixture of busses and individual signal lines. I can use Simulink.Signal objects to define the characteristics of these individual signals, creating them using the Model Explorer, however, I don't know how to save these signals as M-files (there does not appear to be an equivalent to Simulink.Bus.save for signal objects). Saving the objects as M-files rather than MAT-files gives us the option to look at the files and edit them.

Regards

Justin Mellor</description>
		<content:encoded><![CDATA[<p>Seth,<br />
I have just &#8216;tuned in&#8217; to this discussion about bus signals. As I am in the process of integrating a large mode using Model References for all the major components of the system, this is highly relevant. I definitely need to lock down the interfaces to the different components - these are being developed across multiple sites in accordance with an Interface Control Document that we have produced.<br />
I have a question:<br />
The interconnects between our components are a mixture of busses and individual signal lines. I can use Simulink.Signal objects to define the characteristics of these individual signals, creating them using the Model Explorer, however, I don&#8217;t know how to save these signals as M-files (there does not appear to be an equivalent to Simulink.Bus.save for signal objects). Saving the objects as M-files rather than MAT-files gives us the option to look at the files and edit them.</p>
<p>Regards</p>
<p>Justin Mellor</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Seth</title>
		<link>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-205</link>
		<dc:creator>Seth</dc:creator>
		<pubDate>Wed, 07 May 2008 02:35:21 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-205</guid>
		<description>@Paul J - The To Workspace block does not support bus signals, so when you are passing it a virtual bus it is actually treating it like a vector.  The best way to log bus signals is using &lt;a href="http://www.mathworks.com/access/helpdesk/help/toolbox/simulink/ug/brh7636.html" rel="nofollow"&gt;Signal Logging&lt;/a&gt;.  Right click on a signal and select Signal Properties...  From the dialog you can specify to "Log signal data".  This will be added to the Time Series object logged to the workspace as specified in the Data Import/Export section of Configuration Parameters.  

@George Wiedermann - You ask a very good question.  There is a big difference between bus objects and the signal/parameter objects.  The bus objects are a specification for an interface and contain no instance data.  They can be used many times in a model.  Signal objects define read/write memory which will define a specific signal or state used by the model.  Parameter objects define the attributes of parameters used by blocks (such as gain blocks).  The Signal and Parameter objects are important when you want to configure the characteristics of the generated code. For example, if you want to specify that a signal be an exported global in the generated code, this can be done with a Simulink.Signal object.</description>
		<content:encoded><![CDATA[<p>@Paul J - The To Workspace block does not support bus signals, so when you are passing it a virtual bus it is actually treating it like a vector.  The best way to log bus signals is using <a href="http://www.mathworks.com/access/helpdesk/help/toolbox/simulink/ug/brh7636.html" rel="nofollow">Signal Logging</a>.  Right click on a signal and select Signal Properties&#8230;  From the dialog you can specify to &#8220;Log signal data&#8221;.  This will be added to the Time Series object logged to the workspace as specified in the Data Import/Export section of Configuration Parameters.  </p>
<p>@George Wiedermann - You ask a very good question.  There is a big difference between bus objects and the signal/parameter objects.  The bus objects are a specification for an interface and contain no instance data.  They can be used many times in a model.  Signal objects define read/write memory which will define a specific signal or state used by the model.  Parameter objects define the attributes of parameters used by blocks (such as gain blocks).  The Signal and Parameter objects are important when you want to configure the characteristics of the generated code. For example, if you want to specify that a signal be an exported global in the generated code, this can be done with a Simulink.Signal object.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Georg Wiedermann</title>
		<link>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-197</link>
		<dc:creator>Georg Wiedermann</dc:creator>
		<pubDate>Sat, 03 May 2008 19:03:48 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-197</guid>
		<description>Dear Seth,

thank you for this blog on Simulink. With virtual vs. nonvirtual busses and bus objects I think you have tackled a very interesting topic. Do you also plan to expand to other Simulink data objects (signal objects, parameter objects ...)? For me, and maybe also for others users the real value of this  objects is unclear. So
* what is the value of signal objects ?
* where should I use them ?


Further I have the impression, that data declaration as done be Simulink data objects is inconsistent. For example since a bus is a collection of signals, a bus objects should be defined by a collection of signal objects, which is obviously not the casse. Maybe you can comment on this.

Best Regards

Georg Wiedermann</description>
		<content:encoded><![CDATA[<p>Dear Seth,</p>
<p>thank you for this blog on Simulink. With virtual vs. nonvirtual busses and bus objects I think you have tackled a very interesting topic. Do you also plan to expand to other Simulink data objects (signal objects, parameter objects &#8230;)? For me, and maybe also for others users the real value of this  objects is unclear. So<br />
* what is the value of signal objects ?<br />
* where should I use them ?</p>
<p>Further I have the impression, that data declaration as done be Simulink data objects is inconsistent. For example since a bus is a collection of signals, a bus objects should be defined by a collection of signal objects, which is obviously not the casse. Maybe you can comment on this.</p>
<p>Best Regards</p>
<p>Georg Wiedermann</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul J.</title>
		<link>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-182</link>
		<dc:creator>Paul J.</dc:creator>
		<pubDate>Thu, 24 Apr 2008 22:26:45 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2008/04/18/bus-objects-and-interface-specifications/#comment-182</guid>
		<description>Seth,

I too could use more discussion on ABindemana's three questions about bus objects.  I would also add the questoin about when they are required.  In addition I ask what's the best way to save a bus signal to the workspace?  From what I can see, the ToWorkspace block only accepts a virtual bus signal, so nonvirtual busses have to be converted first.  Then, the signal is saved as a big array and one has to go back into the bus creator block to figure out which columns in the workspace variable are which bus signals.  How come the the ToWorkspace block doesn't just save the bus as a structure array with fieldnames set as the bus signal names?

Thanks,
Paul J</description>
		<content:encoded><![CDATA[<p>Seth,</p>
<p>I too could use more discussion on ABindemana&#8217;s three questions about bus objects.  I would also add the questoin about when they are required.  In addition I ask what&#8217;s the best way to save a bus signal to the workspace?  From what I can see, the ToWorkspace block only accepts a virtual bus signal, so nonvirtual busses have to be converted first.  Then, the signal is saved as a big array and one has to go back into the bus creator block to figure out which columns in the workspace variable are which bus signals.  How come the the ToWorkspace block doesn&#8217;t just save the bus as a structure array with fieldnames set as the bus signal names?</p>
<p>Thanks,<br />
Paul J</p>
]]></content:encoded>
	</item>
</channel>
</rss>
