NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

on-the-fly-logging does not log until the end

Hi,

 

Using MySQL Database

Teststand 4.2

 

I am running my test sequence correctly, so that it can log all the results of my Batch UUTs at the end of the test run.

 

I am now trying to turn this into on-the-fly logging due to memory requirements.

 

For some reason I cannot get this to work. 

 

I have selected the option in the database options configuration and I am using the Teststand default MySQL structure and commands.

 

There are  13 insert commands and one select command: "SELECT * FROM ARRAY_RESULT"

 

I am relatively new to using the Teststand engine and need some guidance on how to configure the on-the-fly logging to actually do it.

 

Cheers,

Hasan 

 

0 Kudos
Message 1 of 8
(4,701 Views)

Hi,

 

this link may help

 

http://digital.ni.com/public.nsf/allkb/C9113BE0E55F22EE86256D82005E7DDB

 

regards

Ray Farmer

Regards
Ray Farmer
0 Kudos
Message 2 of 8
(4,689 Views)

Hi Ray,

 

I had read that knowledge base document before hand while searching for ways to get the on-the-fly logging to work. I believe that I have full filled everything that document specifies for setting up on-the-fly logging. It still does not work.

 

The SQL commands are all insert command except that one select, which I did not think would be used at all for logging the step results.

 

Actually when I start the sequence I thought that the Batch_serial_number should be the first part inserted into the Database, but putting a break on the first step and single stepping after that, there is no UUT_Result record inserted at all into the database (until after the whole sequence finishes, then it does add the new UUT record).

 

 

Thanks for your time and help,

 

 

Hasan Derhamy 

0 Kudos
Message 3 of 8
(4,668 Views)

So, are you seeing any difference in the way your sequence file runs and when things are looged to the database when you have the On-The-Fly reporting option checked or not?  Is this specific to this one sequence file, or does on the fly reporting not work in any sequence files?  Perhaps you could try creating a simple example, to see if you can get it to work there.

 

-Christina

0 Kudos
Message 4 of 8
(4,648 Views)

Hi Christina,

 

I will give it a go with a simpler sequence.

 

I have not noticed any difference in execution between the settings (with or without on-the-fly logging).

 

I just re-installed teststand to see if it will help in someway.

 

Will post results as soon as I have tried it.

 

Cheers,

Hasan 

0 Kudos
Message 5 of 8
(4,625 Views)

Hi,

 

I finaly got a chance to comeback to testing this On-the-fly logging.

 

So this is my simple sequence for debugging.

 

When I execute the sequence I choose to do 2 sockets. I will loop 10 times, and the message pop-up will say which socket it is popping up. ie(1 of 2 or 2 of 2).

 

Problem is, that, when I view the database, there is no UUT entry belonging to the current execution. There is no UUT record until after execution completes when Teststand inserts all the uut data in one go. (or so it seems to be)

 

Still stuck, will continue to try and tweak anything I can find.

 

Cheers,

Hasan

 

17081iFA36AA3A001CD918

 

0 Kudos
Message 6 of 8
(4,539 Views)

Hi Hassan,

 

I have a couple of suggestions for things to look into. First, the only things you should need to change from the default settings are both in the Configure»Database Options window. First, uncheck the box to Disable Database Logging. Then, make sure you have the box checked to Use On-The-Fly Logging. This may already be done, but it would be good to double check.

 

Also, take a look at the step in the Process Model which actually handles the database logging. You can open the Process Model by double clicking on the Model section of the status bar at the bottom of the TestStand sequence editor. In the Process Model, open the ProcessModelPostResultListEntry sequence. This sequence is automatically called by TestStand after each step completes execution. By default, the first step in Main is LogResult. This is an action step which uses ActiveX to log to the database. Take a look at the Preconditions section of the properties for this step. The entry in the preconditions will determine whether or not the step will be executed. By default, this should be set to:

 

!Runstate.Root.Locals.DatabaseOptions.DisableDatabaseLogging &&
Runstate.Root.Locals.DatabaseOptions.UseOnTheFlyLogging

 

This just looks at the variables set in the Database Options window. If database logging is not disabled, and on the fly logging is enabled, this step will run. To aid in debugging, you could even put a breakpoint after this step to make sure that the database has been updated.

 

Have a great afternoon!

 

John M

National Instruments
Applications Engineer
0 Kudos
Message 7 of 8
(4,511 Views)

Hi John,

 

Did as you said and checked out the Process Model. I found the step you mentioned and my

 

!Runstate.Root.Locals.DatabaseOptions.DisableDatab aseLogging &&
Runstate.Root.Locals.DatabaseOptions.UseOnTheFlyLo gging

 

Pass and the step seems to execute. But I do not see anything in the database when I use the database viewer tool.

 

I was wondering actually, when does the sequence save the UUT_Result record. That should be the first record inserted by teststand I thought.

 

Should I be able to see the new UUT record in the UUT_RESULT table by the time the process model wants to insert the step results?

 

Cheers,

Hasan

0 Kudos
Message 8 of 8
(4,504 Views)