02-23-2007 11:31 AM
02-26-2007 03:15 AM
02-26-2007 04:37 AM
Thanks for responding; I don’t have the program right now as I am leaving for a trip. I am using Labview 6.1 right now but during my trip they will upgrade to 8.2 so I’ll have to use 8.2 by the end of the week – I will post the program at that time. This is the simplified sequence of steps in the program:
1 – Spectral collection. This is done with an activex control and it takes 3 minutes to accumulate the spectral data.
2 – calculate absorbance (by using a stored blank spectrum) and other parameters from the spectrum (signal to noise, etc.)
3 – calculate intensities of 6 parts of the absorbance spectrum.
4 – display values of the intensities on the front panel
5 – display intensities on a bar graph
6 – save intensities with date and time to a log file
7 – send intensities to AO board as current (4-20mA) to be read by a central DCS.
go back to 1
I have done all the steps in preliminary form (I have not finished decorations, etc).There is a requirement that upon stopping the program all channels of the AO board should send the value zero to the DCS.
My question is: if
the program is stopped during step 1 for example, Labview will stop execution
and the AO board will not send the value zero unless I am able to call a vi
expressly doing this. My initial thought
is to put operations 1 to 7 inside a while loop and then when the loop is
stopped I can see how I would call a vi to send the zeroes but if Labview stops
execution during spectral collection for example … My question was based on the thought that I could have a subvi execute (sending zero to AO) when the toplevel vi stopped.
02-27-2007 11:09 AM
elmanco:
Another thought is that if your program always goes in a certain sequence, you could use a state machine architecture.
Thanks,
Rudi N.
02-27-2007 11:23 AM
02-27-2007 11:34 AM
02-28-2007 09:28 AM
02-28-2007 10:22 AM