06-04-2008 03:50 AM
06-04-2008 04:15 AM
06-04-2008 05:28 AM - edited 06-04-2008 05:32 AM
never heard of action engines before, could you post an example?...how do you ensure it can only be called once at a time - if something ese tries to call it - what happens - does it just wait for the other routine to finish with it?
many thanks
Mike
06-04-2008 05:34 AM
06-04-2008 07:19 AM
Yes I have done this with an action engine. Essintially you have a loop that eaexutes 1 time and stores the log in a shift register. The loop has modes of operation :
Initialize - reset the shift register.
Append to Log - takes an log event cluster and appends it to the shift register (array of events)
Read log - Returns the shift registers current value
External support functions
Save Log - Writes shift register to file
Load - loads a log from file into the shift register.
This is nice Because it acts like a "functional global" labview provides for locking of the vi (and its shift register) so race conditions are not much of an issue when concurent writers want access.
Paul