Your automation controller — Powerful, Tailored, Supported.

Quickstep/Quickbuilder FAQs

  1. When I try to install Quickstep 3 under Windows 7 or Windows 8, I get an error 42.

    Error 42 is related to Windows security. You need to run the program with administrative rights: Right-click on the QuickStep icon and select “Properties”. Under the “General” tab, check the “Run this program as an administrator” box.

  2. CTC offers controls based on state language. What is state language?

    State language expresses a program as a series of steps. The steps are exactly equivalent to those that an automated machine goes through in its function. There's a one-to-one correspondence between what the machine will do on a step-by-step basis and the way the program is structured. There is almost no interpretation involved to get from concept to programming. In effect, a step is a very comprehensive description of the machine's performance and operation.

  3. How does a state language handle simultaneous, asynchronous operations?

    CTC addresses this need with a very powerful multi-tasking framework--actually an operating-system approach. Because we have developed purpose-built hardware and an operating system that runs on it, we were able to create a real-time operating system that supported multi-tasking with a state language interpreter. So we can run multiple state language tasks simultaneously--just as though you have 3, 4, 5, 6, or 20 controllers running your machine.

  4. How do I get the latest version of Quickstep? CTC Monitor? Easybuilder?

    The latest version of Quickstep is available by contacting CTC Sales at 888.818.2600. If you are upgrading from Quickstep 2.x to Quickstep 3.0, you are eligible for special upgrade pricing; please have your Quickstep 2 serial number available when you call.

    Visit the Download Center on our website for the latest versions of CTC Monitor, Easybuilder, and other CTC software.

  5. How can I force an output to automatically turn off when a software fault condition occurs?

    Store the output number of the output that will be turned off to register 13009.

  6. How many steps are allowed in a Quickstep program?

    2600 controllers: 1024
    MultiPro controllers: 1024
    2700 controllers: 4096
    5100 controllers: 4096

  7. What is the maximum number of Data Table columns that are available for 2000 series controllers?

    255 data table columns may be allocated and used in the Quickstep configuration for 2600XM, 2700 series, and MultiPro controllers. Registers 131 and 132 must be used to get at data beyond column 32. Please see the Quick Reference Register Guide list for further details.

  8. What is the maximum number of Data Table elements that are available for 5x00 series controllers?

    Model 5100: 16000+ elements
    Model 5200: 32,768 elements
    Model 5300: 491,520+ elements (>240 columns x 2048 rows)

  9. With one task running in a Quickstep program, what is the typical time it takes to sense an input, move to a new step, and turn on a single output?

    2600XM controller: 1 ms
    2601 controller: 1 ms
    MultiPro series controller: 1 ms
    2700 controller: 0.45 ms
    5100 controller: .2 msec
    5200 controller (M1-40A): 500 μsec
    5300 controller (M3-40A): < 1 μsec

  10. What is the range of values that can be stored in:
      1. a volatile register?

    -2,147,483,648 to +2,147,483,648 (a 32-bit signed integer)

      1. a non-volatile register?

    -2,147,483,648 to +2,147,483,648 (a 32-bit signed integer)

      1. a data table location?

    0 to 65,535 (a 16-bit unsigned integer)

  11. What are the two ways that Quickstep can access values stored in a controller's data table?
    1. Column Access: store the row number to register 126, the data table row pointer. Access the value using a Data Table Column defined in the Quickstep symbol table.
    2. Store the data table row number to register 131, the column number to register 132, and access the value in register 9000
  12. What controller resources can be used:
      1. in a monitor statement?

    Digital inputs, flags and servo status.

      1. in an if statement?

    Registers, analog inputs, thumbwheels, counters, data table values, servo positions and servo errors. Additional resources can be used through register access to the resources.

      1. in a delay statement?

    Registers 1 to 125, thumbwheels, counters, analog inputs, and data table values. Additional registers and resources can be used by storing the resource value to a register from 1 to 125 and then using the register in a delay statement.

  13. For CTC counters:
      1. How fast are CTC input counters?

    2000 Series:
    There are eight input-linkable counters -- each may be programmed to automatically monitor any three inputs to perform "count-up," "count-down," and "reset" functions. Each counter can count up to the following rates:

    3 inputs being counted: 500 Hz
    4 to 6 inputs being counted: 250 Hz
    7 to 8 inputs being counted: 166 Hz

    5x00 Series:
    Model 5102 CPUs (with encoder input) have two 6 MHz digital inputs.

    Model 5200 CPU's that have a high-speed input option will have four on-board 6MHz digital inputs.

    Several options are available for the Model 5300 for high-speed counting. The M3-20A, M3-20C, M3-21A, and M3-21C modules each have 16 smart 12 MHz digital inputs, while the M3-40B module has 16 10 MHz digital inputs.


      1. Can I trigger an output upon reaching a setpoint?

    Yes, a software counter can be linked to the output of the same number so that the output is turned on whenever the counter reaches a setpoint. To enable this feature, store the setpoint to register 5801 for counter 1 output 1, for counter 2 and output 2, etc.

    [1] Step_1

    ;;;Sample code for using register 5803. Counter 3 is started. When counter 3 reaches 100, output 3 will turn on.




    start cntr_3 up (Input_1A) down (Input_2A) reset (Input_8B)

    store 100 to reg_5803

    goto next

  14. How can I do decision making with a program step?
    • For digital resources the MONITOR function is used to test the state of the variable.

    Example: Monitor input_1_on goto next

    • For analog resources the IF function is used to test the value of the variable.

    Example: If reg_501 >= 12345 goto next


  15. My machine stopped running. What can I do to diagnose why?

    A very broad question whose answer is specific to the machine in question. Here we hope to provide some tools and guidance to help you solve your problems.

    • Is the fault light on? If it is, is it flashing or steady?
      1. If it is flashing, you have a software fault. Use the monitor utility to view the program step status. At the bottom of that window you will see the fault, the step in the program in which it occurred, and a brief description of the fault. Use that information to try and solve the problem.
      2. If the fault light is on steady, you have a hardware fault. Start diagnosing this problem with a visual inspection of the controller, making sure it is clear of foreign objects. Remove power from the controller, and then remove all the modules. Inspect for foreign objects on all the modules and the controller. Also, be sure all socketed chips are firmly seated. You can also try powering the controller with all the modules removed to see if the fault status changes. If so, try inserting one module at a time (with power off) to see if a particular module is causing the fault.
    • If the fault light is off, check the status of the power supplies (logic and I/O) and check external power supplies, if any. If those are OK, use the monitor utility to look at the program status and check I/O and register status.
    • If all else fails, This email address is being protected from spambots. You need JavaScript enabled to view it..
  16. How does multitasking really work?

    When multitasking, the controller will completely scan the instructions in the active step of one of the current tasks, then move onto the next task, scanning the instructions within its active step, and so on.

  17. How many tasks can I run?
    • 2601: 28
    • 2600XM: 28
    • 2700: 56
    • 2700AP: 84
    • MultiPro™ (all models): 28
    • 5100: 84
    • 5200: 84
    • 5300: 96
  18. How many multitasks can be launched with a single "do" statement?

    Eight, but multiple "do" statements can be used to create more multitasks, up to the controller limits.

  19. Can I prioritize a task for better repeatability?

    Any one task can be given higher priority by incorporating the following statement into the first step of that task:

    Store 1000 to Reg_13011

  20. How do I download a program? What file actually gets downloaded?

    Once you have completed writing your Quickstep application program, you compile the program, converting it to what is called object code. The object code is stored in a file with an extension of .dso, which is loaded into the controller. Simply select download from the project area of the Quickstep Editor.

  21. What type of math functions do CTC controllers support?
    • Add, Subtract, Multiply, Divide, Modulo
    • <, >, =, =>, <=, <>
    • ROR, ROL (Rotate Right, Rotate Left)

    In addition to the functions above, the Model 5300 supports several trigonometric functions via QuickBuilder™. Refer to Document No. 951-530020: QuickBuilder Reference Guide for additional information.

  22. Why can’t I sometimes add a ‘do’ or ‘done’ instruction to my program?

    The "do" and "done" commands must exist by themselves in a step because of the nature of their operation.

  23. What does the ‘cancel other tasks’ instruction do?

    "Cancel other tasks" causes ALL other tasks to stop running and cease to exist EXCEPT for the task that contained it. Control of the application

  24. Can I have more than 1 instruction in a step?


  25. How do I ‘monitor’ register values?

    In a Quickstep Program the "If" statement is used to test the value in a register. For example:

    If reg_502 >= 12345 goto next

  26. Common Quickstep 2.1 and 3.0 Downloading Errors and Their Solutions

    There are several errors that may occur when trying to download programs to the controller from Quickstep 2.1. The errors are always identified by a numeric code. Here are the most common errors and their solutions:

    • 179 - Initialization error -- indicates that the serial port selected for the download is being used by another program. Frequently, the other program is CTC Monitor. Click on the "Suspend Monitoring" button in the main CTC Monitor window and retry the download.
    • 185 - Wrong architecture -- indicates the .dso file was compiled for a different controller type than the controller to which it is being downloaded. Change the controller type in the Quickstep Parameters window, recompile the program, and retry the download.

      Error 185 will also be generated by Quickstep 2.1 SE (Special Edition for the 2601 controller ONLY) if it is used to attempt to download to any controller other than the 2601. The version of Quickstep can be identified from the About option under the Help menu in Quickstep Editor. The 2601 Special Edition will be identified on this screen.
    • 206 - A bad response error -- this error may occur in either of the following circumstances:
      1. the selected serial port is connected to a device other than a CTC controller. Make sure the controller is connected to the selected serial port and retry the download.
      2. the controller is programmed to transmit messages over the serial port where the download is being attempted. To overcome problems with message transmitting, try a different serial port if possible. Also, try starting the download to the controller's on-board serial port within 5 seconds of powering up the controller.
    • 236 - A timeout error -- the computer received no response. This is caused by the timeout value being too small, the controller being turned off, a faulty cable connection to the controller, the wrong serial port being selected, or the wrong communications settings being used. Double check all connections and communications settings and retry the download. If the download still fails, increase the timeout value in the Quickstep communications settings and then retry the download.

    If you have repeated problems establishing communications with a controller, remember that all CTC controllers will force the on-board serial port to maintain default settings and disallow message transmitting for the first five seconds after powerup. Try starting your download or establishing communications within 5 seconds of powering up the controller using the default 9600 baud communications settings through the on-board serial port. This will eliminate any problems that may arise if message transmitting is being used or serial port parameters are changed on the controller.