Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Command Queue operation was officially released in Automation1 version 2.3.0.

Why would you use Command Queue? When executing AeroScript code via the .NET interface and the C library, a fixed overhead of processing time and sometimes network latency occurs between commands. Command Queue operation allows the controller to buffer single lines of AeroScript code in a FIFO (First In First Out) queue to execute commands with no latency.   

Command Queue operation is supported in the .NET interface only and is not necessary for operation via the library and C library; this feature can't be accessed from Automation1 Studio. This Command Queue obsoletes the previous Queue Mode operation and PROGRAM BUFFEREDRUN command from A3200 . This is a change from A3200's use cases; see and has significant differences from the A3200 implementation. See Introduction to Queue Mode and Command Queue in A3200 for more details . The Command Queue reserves one task for operation which cannot be used for other purposes.on the previous implementation. 

For complete documentation, please refer to the Automation1 Help documentation on our website for the .NET API and the C API.

...

Command Queue has its own control methods to govern the task in which it runs. (The Command Queue reserves one task for operation which cannot be used for other purposes.) This differs from ProgramStop() and other AeroScript commands, which aren't available in Command Queue. The following basic control and scheduling functions are available for the Command Queue, in both the .NET API and the C API:

  • Begin: Assigns a task to Command Queue mode operation. The queue begins storing all command sent to it, executing them in FIFO sequence. The assigned task cannot run normal AeroScript programs while Command Queue is executing.
  • Various basic motion commands have their own Command Queue enabled versions, such as Enable, Disable, MoveLinear, etc. See the documentation for examples. For all other commands, use:
  • Execute: Adds a single line of AeroBasic code to the end of the queue. This does not execute the command immediately. This is useful if you're not sure what whether a specific Command Queue style lines to useversion of an AeroScript command exists. Please refer to the restrictions on legal commands in the documentation above.
  • Pause: Pause Command Queue execution. If a queue line is currently executing, the line will complete without being aborted.
  • Resume: Return from a Pause condition.
  • WaitForEmpty: Halt until all commands currently in the queue have been executed. You can optionally provide a timeout for this function.
  • End: Abort the currently executing AeroScript line from Command Queue, discard all remaining queued lines, and returns the assigned task to normal AeroScript execution.

...