Opened 10 years ago
#3228 new enhancement
Error message and expandable connectors
Reported by: | anonymous | Owned by: | somebody |
---|---|---|---|
Priority: | normal | Milestone: | Future |
Component: | *unknown* | Version: | trunk |
Keywords: | Cc: |
Description
Consider the following code:
package ExpandableConn model IntegConn Modelica.Blocks.Continuous.Integrator integrator; Conn conn; equation connect(integrator.u, conn.signal); end IntegConn; expandable connector Conn "Control bus that is adapted to the signals connected to it" extends Modelica.Icons.SignalBus; annotation(Diagram(graphics)); end Conn; model Master Conn conn; Modelica.Blocks.Sources.Step step(startTime = 0.5); equation connect(step.y, conn.signal); end Master; model Combined IntegConn integConn; Master master; equation connect(master.conn, integConn.conn); end Combined; annotation(uses(Modelica(version = "3.2.1"))); end ExpandableConn;
If we check model "Combined" I get 5 equations and 5 variables. Correct.
Now let us change Master so that the signal name in the connector becomes wrong:
model Master Conn conn; Modelica.Blocks.Sources.Step step(startTime = 0.5); equation connect(step.y, conn.signal_); end Master;
When checking Combined we get the following message:
Class ExpandableConn.Combined has 6 equation(s) and 7 variable(s).
5 of these are trivial equation(s).
"
This is clearly because the name "signal" and "signal_" are different.
This is true but it is not enough: imagine the same behaviour on a real-life simulation with hundreds of equations. A message saying that we have, let's say 500 equations and 501 variables might be VERY discouraging.
However I suppose that the message can be much more selective: OM can understand that there is a variable that is taken from an expandable connector "conn.signal" that no other models has sent to that given connection set.
So I thing a better error message could be envisaged. Just as an example it could be something like the following one
ERROR: The input signal "integrator.u" is connected to the expandable connector signal "conn.signal" but no variable with this name is available in the given connection set