#4062 closed defect (fixed)
External Object Alias
Reported by: | Volker Waurich | Owned by: | Volker Waurich |
---|---|---|---|
Priority: | high | Milestone: | 1.11.0 |
Component: | Frontend | Version: | |
Keywords: | Cc: | Adrian Pop, Per Östlund, Mahder Alemseged Gebremedhin, Bernhard Thiele |
Description
Hi,
In the attached Model, 2 objects are connected with the following connectors whereas pkg extends ExternalObject:
connector PackageOut "Packager output connector" output Modelica_DeviceDrivers.Packaging.SerialPackager pkg; output Boolean trigger; output Real dummy; input Boolean backwardTrigger; input Integer userPkgBitSize; input Integer autoPkgBitSize;
and
connector PackageIn "Packager input connector" input Modelica_DeviceDrivers.Packaging.SerialPackager pkg; input Boolean trigger; input Real dummy; output Boolean backwardTrigger; output Integer userPkgBitSize; output Integer autoPkgBitSize;
With dumpdaelow, I see the following alias equations:
8/8 serialReceive.pkgOut.autoPkgBitSize = unpackInt.pkgIn.autoPkgBitSize 9/9 serialReceive.pkgOut.backwardTrigger = unpackInt.pkgIn.backwardTrigger 10/10 serialReceive.pkgOut.dummy = unpackInt.pkgIn.dummy 11/11 serialReceive.pkgOut.trigger = unpackInt.pkgIn.trigger 12/12 serialReceive.pkgOut.userPkgBitSize = unpackInt.pkgIn.userPkgBitSize
The alias assignment for the external object is missing:
serialReceive.pkgOut.pkg= unpackInt.pkgIn.pkg
Can you retrieve the information that connected external objects are equal like in this input-output connection?
I can take care of the backend handling, but I would ask you to deal with the frontend.
Thanks.
Attachments (2)
Change History (13)
comment:1 by , 8 years ago
comment:2 by , 8 years ago
model MDD_test Modelica_DeviceDrivers.Blocks.Communication.SerialPortReceive serialReceive( Serial_Port="COM3", baud=Modelica_DeviceDrivers.Utilities.Types.SerialBaudRate.B9600, parity=0, startTime=0.1, userBufferSize=2, sampleTime=2, enableExternalTrigger=false) annotation (Placement(transformation(extent={{-82,16},{-62,36}}))); Modelica_DeviceDrivers.Blocks.Packaging.SerialPackager.UnpackUnsignedInteger unpackInt(bitOffset= 0, width=16) annotation (Placement(transformation(extent={{-62,-14},{-42,6}}))); Modelica.Blocks.Math.IntegerToReal integerToReal annotation (Placement(transformation(extent={{-30,-14},{-10,6}}))); equation connect(serialReceive.pkgOut,unpackInt. pkgIn) annotation (Line( points={{-61.2,26},{-52,26},{-52,6.8}})); connect(unpackInt.y,integerToReal. u) annotation (Line( points={{-41,-4},{-32,-4}}, color={255,127,0}, smooth=Smooth.None)); annotation (Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-200, -100},{100,100}}), graphics), experiment( StopTime=15, Tolerance=0.001, __Dymola_fixedstepsize=0.001, __Dymola_Algorithm="Euler"), __Dymola_experimentSetupOutput, Icon(coordinateSystem(extent={{-200,-100},{100,100}}))); end MDD_test;
comment:3 by , 8 years ago
The mos file:
loadModel(Modelica);getErrorString(); loadModel(Modelica_DeviceDrivers); getErrorString(); loadFile("MDD_test.mo"); getErrorString(); simulate(MDD_test); getErrorString();
comment:4 by , 8 years ago
@vwaurich: you go to Preferences and select language to English. Then you should be able to upload files. The DE locale has issues with Trac.
by , 8 years ago
Attachment: | simulate.mos added |
---|
comment:5 by , 8 years ago
Fixed in: bb8669/OMCompiler. We now generate also the connect for the ExternalObject present in connectors:
serialReceive.pkgOut.pkg = unpackInt.pkgIn.pkg;
@vwaurich: can you check if it works fine for you and close the ticket if so?
I will add a test also.
comment:7 by , 8 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
@vwaurich: the front-end part of this is done, you can play with the back-end part.
comment:8 by , 8 years ago
Thanks a lot for the quick fix.
I have added functionality to assign alias variables, replace expressions etc. to BackendDAECreate.mo. Its now in master and works for my model.
comment:9 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:10 by , 8 years ago
Maybe you can add a test with simulation too as the test I added just tests flattening.
comment:11 by , 7 years ago
Milestone: | Future → 1.11.0 |
---|
Sorry, cannot attache files due to "IndexError: pop from empty list"