mzu Posted January 10, 2011 Report Share Posted January 10, 2011 Dear audience, I am trying to design an LVOOP wrapper around some simulation (control and simulation loop). The idea is that I want to have a base class which will define interface to a number of simulations (basic actions etc), and then derived classes, which will actually define a particular simulation to execute. I wanted to have control and simulation loop and some auxilitary stuff as a part of basic class implementation, so that I can set up the simulation parameters in the base class methods. So I want to define a dynamic dispatch simulation subsystem. At the moment when I define input and output terminals as "dynamic dispatch" the arrow breaks, "Error compiling a VI". I am using 2010f4 32 bit. Is it a feature or a bug? Any suggested workarounds? Quote Link to comment
Omar Mussa Posted January 10, 2011 Report Share Posted January 10, 2011 Is it a feature or a bug? Any suggested workarounds? Sounds like a bug to me. Make sure that if you already setup your class hierarchy and are now 'adding' dynamic dispatching, that all dynamic dispatched methods with the same name in your class hierarchy have dynamic dispatch terminals and the same conn pane. Quote Link to comment
mzu Posted January 10, 2011 Author Report Share Posted January 10, 2011 (edited) Sounds like a bug to me. Make sure that if you already setup your class hierarchy and are now 'adding' dynamic dispatching, that all dynamic dispatched methods with the same name in your class hierarchy have dynamic dispatch terminals and the same conn pane. I think I just post the sequence of actions to recreate the described situation here: Launch LabVIEW File->New Project RMB->new class accept the default name ("Class 1" in my case) My computer->RMB->New simulation subsystem drag 2 instances of the class to "Subsystem 1" front panel change one of them to indicator connect them on BD Icon->RMB->show connector Link control with topmost left terminal Link indicator with topmost right terminal In project explorer move the subsystem inside the class input terminal->RMB->this connection is-> dynamic dispatch input output terminal->RMB->this connecton is-> dynamic dispatch output labview thinks for 2 seconds Push an arrow button - it becomes broken Can anybody confirm? as soon as you change connection back to, say, required-recommended and recompile the vi it starts to work normally If you close the project, LabVIEW shuts down by itself without going to the start dialogue Edited January 10, 2011 by mzu Quote Link to comment
Aristos Queue Posted January 12, 2011 Report Share Posted January 12, 2011 I think I just post the sequence of actions to recreate the described situation here: My computer->RMB->New simulation subsystem Been working on LV for 10 years, but I have no idea what "New simulation subsystem" means. Is this some module or toolkit addon? If so, which one? Quote Link to comment
mzu Posted January 12, 2011 Author Report Share Posted January 12, 2011 Been working on LV for 10 years, but I have no idea what "New simulation subsystem" means. Is this some module or toolkit addon? If so, which one? Simulation subsytem is a modular unit of simulation diagram, which can be excuted inside control and simulation loop, using "Control Design and Simulation Module", URL. It is graphical representation of dynamical systems. Some people use Mathworks Simulink for the purpose. (There was some patent dispute if my memory serves me well). I wanted to develop an LVOOP wrapper around the simulation diagram, so that I can delegate the simulation diagram development to my colleagues. Quote Link to comment
Aristos Queue Posted January 12, 2011 Report Share Posted January 12, 2011 Simulation subsytem is a modular unit of simulation diagram, which can be excuted inside control and simulation loop, using "Control Design and Simulation Module", URL. It is graphical representation of dynamical systems. Some people use Mathworks Simulink for the purpose. (There was some patent dispute if my memory serves me well). I wanted to develop an LVOOP wrapper around the simulation diagram, so that I can delegate the simulation diagram development to my colleagues. I've heard of that module but never worked with it. Let me ask around and see what I find out. Quote Link to comment
Aristos Queue Posted January 12, 2011 Report Share Posted January 12, 2011 I've heard of that module but never worked with it. Let me ask around and see what I find out. Ok. Turns out no user has ever asked to do that before, and since the Sim team wasn't aware of OO features and the OO team wasn't aware of Sim features, no one knew to proactively add the feature. So simulation diagrams do not support dynamic dispatching. I filed the CAR (#280810) so that it gets attention. I tagged the CAR for LV 2011, but because we are fairly late in the dev cycle for the release, it wouldn't surprise me if the fix has to wait for a future release.I'm sorry you got burned by this communication failure on our part. 2 Quote Link to comment
mzu Posted January 12, 2011 Author Report Share Posted January 12, 2011 Ok. Turns out no user has ever asked to do that before, and since the Sim team wasn't aware of OO features and the OO team wasn't aware of Sim features, no one knew to proactively add the feature. So simulation diagrams do not support dynamic dispatching. I filed the CAR (#280810) so that it gets attention. I tagged the CAR for LV 2011, but because we are fairly late in the dev cycle for the release, it wouldn't surprise me if the fix has to wait for a future release. I'm sorry you got burned by this communication failure on our part. Wow, that was a fast reply! Thanks, Aristos, I will be waiting for a future release. I the meanwhile I will have to include control and simulation loop for each of the child classes. Quote Link to comment
Aristos Queue Posted April 28, 2011 Report Share Posted April 28, 2011 This bug will be fixed in LV 2011. If you are part of the LV beta program, you should be able to confirm this fix in the second beta. 2 Quote Link to comment
mzu Posted April 29, 2011 Author Report Share Posted April 29, 2011 This is exciting news!! Thank you for your efforts! I got so tired designing the workarounds, when single wrong step crashes LabVIEW. The resolution of this CAR It is a reason enough for me to participate in 2011 beta. I filled out the application, got no answer yet. Quote Link to comment
mzu Posted May 1, 2011 Author Report Share Posted May 1, 2011 AQ, what version of beta do you refer to as to the second one. The latest beta 11.0b79 contains same bug (I go through the sequence of actions above verbatim and get the same result). Quote Link to comment
reed Posted May 11, 2011 Report Share Posted May 11, 2011 I'm sorry to be the bearer of bad news, but it doesn't appear this feature will make it into the 2011 version. There seems to be too much disconnect between the two pieces to be sure of a quality integration at this point in the release cycle. It will be a high priority going forward from here. Thank you for bringing this to our attention and I am very sorry that it's not working yet. 1 Quote Link to comment
mzu Posted May 19, 2011 Author Report Share Posted May 19, 2011 (edited) I'm sorry to be the bearer of bad news, but it doesn't appear this feature will make it into the 2011 version. There seems to be too much disconnect between the two pieces to be sure of a quality integration at this point in the release cycle. It will be a high priority going forward from here. Thank you for bringing this to our attention and I am very sorry that it's not working yet. Thank you for an answer... Will look for the next release. Back to designing workarounds ... I understand that it is impossble to make it work properly now for 2011 release, but is it posible to make it so that LabVIEW 2011 spits out a meaningful error, instead of "VI failed to comiple"? And does not crash afterwards? Edited May 19, 2011 by mzu Quote Link to comment
reed Posted May 19, 2011 Report Share Posted May 19, 2011 I understand that it is impossble to make it work properly now for 2011 release, but is it posible to make it so that LabVIEW 2011 spits out a meaningful error, instead of "VI failed to comiple"? And does not crash afterwards? The crash is fixed. Due to the implementation details I highly doubt we'll be able to update the error message. Sorry about that. We will be sure to include this issue in the Knowledge Base. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.