02-06-2006 06:02 AM
02-06-2006 08:35 AM
I think the only "synchronicity" problem is the way you've written your program. Parts of it (i.e. the frame with your abort) are hard to read with hidden wires and other bad style elements but I think the big problem is that you don't fully understand how a sequence structure works. A sequence structure always executes in order and always executes every frame in the sequence. So, you may have a problem with dataflow where the command may not get executed when you want. It certainly can't be exeucted at any time. Instead of using sequences, you might want to look at using a state machine or state machine/event structure combination. There are shipping examples. You should also eliminate all of the sequence structures and use regular dataflow with the error in/error out connectors. In some places, you don't have any error checking at all. You coould also eliminate all of those "ASRL1::INSTR strings and use a single VISA resource name constat at the beginning of your program and pass it to other read/writes by using the dup VISA Resource Name output that all of the VISA functions have.
If you want the ability to abort the move at any time, put that in a separate while loop.