Controller Performance
Kollmorgen offers several controllers with varying performance. This section compares the relative performance to help you decide what is best for your needs.
Performance Graphs
Figure 2-12: Graphs comparing the performance of 800 MHz single-core, 1.2 GHz single-core, and 1.2 GHz dual-core controllers.
- A high-complexity application is characterized by complex setups such as most axes being slave axes, and cammed or geared to a master axis, frequent moves, frequent reading and setting of external I/O points, and complex PLC"Programmable Logic Controller" A Programmable Logic Controller, PLC, or Programmable Controller is a digital computer used for automation of industrial processes, such as control of machinery on factory assembly lines. Used to synchronize the flow of inputs from (physical) sensors and events with the flow of outputs to actuators and events logic.
- A low-complexity application is characterized by point-to-point and velocity moves, occasional reading of external I/O points, and simple PLC logic.
- A middle-complexity application lies in between and is usually characterized by most axes being point-to-point or velocity moves and some axes being cammed or geared to a master; PLC logic is split so that parts of a complex logic run at given times.
Generally speaking, Pipe Network applications use less of the controller's CPU. So for the purposes of using the above graphs, a Pipe Network application will tend to act like a slightly lower-complexity application while a PLCopenA vendor -and product- independent worldwide association active in Industrial Control and aiming at standardizing PLC file formats based on XML application will tend to act like a slightly higher-complexity application.
To determine which controller model to use for initial development of an application, the axis count and cycle rate of the application can be used to determine what type of application can be run on different controllers. For example, suppose you are planning a middle-performance application for 6 axes that runs at a 2 kHz (500us) cycle rate. Looking first at the 800 MHz PxMM, you can see that it can only handle a low-complexity application with these requirements. However, the single-core 1.2 GHz PxMM can handle a high-complexity application with these requirements. Since only a middle-completxity application is needed, the single-core 1.2 GHz PxMM should be sufficient for this application. If in doubt, start with a higher-performance controller model and after optimizing the application code, determine if a lower performance model will meet the present and future needs for the application.
-
- The graphs above are for guidance in initial controller selection for development. During development, the performance of an application should be measured to ensure that the selected controller will meet the performance requirements. Measurements can be done with KAS's digital oscilloscope using the trace times traces, the GetCtrlPerf function block, and by observing the CPU usage on the Hardware Status tab of the KAS controller's web page interface.
Examples
- A 10-axis low-complexity application running at 2 kHz (500us) can be handled by an 800 MHz PxMM.
- A 4-axis high-complexity application running at 1 kHz (1000us) can be handled by a single-core 1.2 GHz PxMM.
- A 12-axis middle-complexity application running at 4 kHz (250us) requires the dual-core 1.2 GHz PxMM.
The dual-core PxMM improves performance by running PLC code and motion code at the same time. Typical performance gain varies from 45% to 80% depending on the type of application being run. The greatest performance gain is obtained when PLC code execution time and motion code execution time, measurable using the trace times feature (see Practical Application: Using Trace Time To Measure CPU Load), are roughly the same. If one of these two values dominate the execution time, then the performance gain will be on the smaller side.
- If you are using a dual-core PxMM and the peak CPU usage (see Hardware Status) is under 40%, then the single-core 1.2 GHz PxMM model will likely meet your needs.
- If you are using a dual-core PxMM and the peak CPU usage is under 25%, then the 800 MHz PxMM model will likely meet your needs.
- If you are using a single-core PxMM and the peak CPU usage is under 50%, then the 800 MHz PxMM model will likely meet your needs.
KDN has an article that has a tool to help you pick a controller which matches your project needs.