SignalExpress

cancel
Showing results for 
Search instead for 
Did you mean: 

Report generation toolkit and signal express user step : problem of closing reference in "Stop" event

Hi all,
 
I'm trying to make a package of Vis to easily make Excel reports with Signal Express. I'm working on LabVIEW 8.2.1.
I'm using the report generation toolkit, so I build a .llb from my project which contains all the hierarchy of my steps, but also the hierarchy of dynamic VIs called.
I have made some steps, like "Open Workbook", "Write Data", etc.
My steps run well, excepts one step : "Close Workbook".
If my "Close Workbook" step is firing on "Run" Signal Express event, I have no error, so my reference is properly closed.
But if my "Close Workbook" step is firing on "Stop" Signal Express event, I have an error "1", from "Generate Report Objectrepository.vi".
I feel that I'm trying to use a reference which has been killed in the "Stop" step...
I would like to know what exactly do Signal Express on "Stop" event and why my close function does'nt run well.
 
Thanks,
Callahan
0 Kudos
Message 1 of 6
(7,374 Views)
Hi Callahan,
 
SignalExpress (SE for short) does the following on the Stop event:
1. Takes the list of parameters that SE found on your VI's connector pane, and sets the values that the user set from the "Run LabVIEW VI" configuration page, if any.
2. Then tells the VI that SE is running the Stop event by setting the Enum found on your VI's front panel. This in turn should produce some boolean values telling your VI to execute the Stop case.
3. The VI is then run, with those values and states.
4. SE checks to see if any errors where returned.
5. Since this is the Stop event, SE releases the reference to the VI which it possesses.
 
Questions for you would be, is the reference to your Workbook linked to a control on your connector pane, or held in a uninitialized Shift Register. If it's held in a Shift Register, SE would not be aware of it, and would not be able to affect that reference.
 
Hope that helps. Feel free to post your LLB if it doesn't.
Phil
 
 
0 Kudos
Message 2 of 6
(7,371 Views)
Thank you for your answer,

My worbook reference is held in a
uninitialized shift register in a subVI.
The reference is well passed to all steps, but I don't understand why the close step works only with "Run" event, but not with he "Stop" event.

Callahan
0 Kudos
Message 3 of 6
(7,367 Views)

And you are not closing your reference in your Run case, right?

What I mean is, can you verify that when you send the Stop event to your VI, all the cases except Stop get executed? Could the reference be closed inside your VI twice? Once before your Stop case, and once in your actual Stop case, but since it's already closed, your Stop case produces the error...

Phil

 

0 Kudos
Message 4 of 6
(7,365 Views)
I'm not closing my reference in my Run case and when I send the Stop event to my VI, all the cases except Stop get executed.
The reference could not be closed inside my VI twice.
I can not send you my source code for some...profesionnal reason ^^, but you can very simply create 3 vi from the step vi template : an open using "create workbook.vi", a save using "Save report.vi" and a close using "Dispose report.vi".
If the dispose report is in the "stop" case I bet you will experiment exactly the same problem than me ^^
I will be able to send you a lite version of my code in some hours...after sleeping!

thanks a lot ^^
0 Kudos
Message 5 of 6
(7,360 Views)

I'd be happy to try it.

Phil

 

0 Kudos
Message 6 of 6
(7,352 Views)