Robot Cell Simulator – Running, processor and accuracy
« Command API - reference | Contents | GPU and limitations »
How the simulation runs | Processor cores | Preparation in the background | Start from HOME | Rendering | Measured | Load of the computer | How realistic is the simulation?

How the simulation runs

Plugin settings (Tools → Settings...) > Simulation: macros prepared in the background, search, processor cores for the robots
Up to 12 robots at the same time, one logical processor per robot. The simulation is designed for at most 12 robots running at the same time – this is a limit of the simulator, not of the processor: a processor with more cores does not raise it. Independently of it, every robot runs in its own thread and the SPS program of the station needs one more thread. Before the start the plugin warns when there are more than 12 robots or more threads than logical processors for the simulation (the GUI core is not counted; Windows: Task Manager → Performance → CPU → Logical processors). With fewer logical processors the simulation still runs and gives the same times – the robots share the cores and the animation can be slower than the set speed (see Measured).

Processor cores for the robots (plugin settings > Simulation): all others = all cores except the GUI core; a number limits the cores of the robots, e.g. for a test how the simulation runs on a smaller computer.

Preparation in the background

After loading a study or a simulation, changing the SPS program, the program of the Simulation tab or the Program rules, the simulator prepares the run in the background, one step after the other, while the scene stays usable (console: Preparing the simulation ..., a small window with a progress bar in the corner):

The start takes everything from the memory (console: Robots prepared in 0.4 s: 5 program(s) from the memory, 0 parsed now, step lists of 5 robot(s) from the memory); what changed in the meantime is prepared at the start. Station A, 5 robots, Folge 81: start 7 s → 0.4 s.

Start from HOME

After loading the cell the robots are not in HOME (the position of point 1 of the Folge). Run Folge 125 (or the HOME program of the station) once without the SPS program before the simulation – the robots move to HOME and the first cycle of the simulation is then counted correctly.

Rendering

The scene is drawn in the GUI thread (OpenGL). The robot threads only store the new position of their robot; a timer of the GUI draws all moving robots together. Drawing therefore never slows down the simulation clock – with a weak graphics card the animation is less smooth, the times stay the same. Settings of the graphics card and the limits: GPU and limitations.

Measured

Station A, 5 robots + SPS program, Folge 81, 10 cycles, 400 %, laptop Intel i7-8750H (6 cores, 12 logical processors), robots started from HOME:

5 cores for the robots2 cores for the robots
Station efficiency84.1 %84.1 %
Waiting for interlocks272.3 s272.3 s
Longest robot (R5) min / avg / max72.17 / 72.25 / 72.30 s72.17 / 72.22 / 72.29 s
Duration of the run (real time)186 s186 s

The times do not depend on the number of cores (differences below 0.1 s). With 5 robots and the SPS program the simulation used on average less than one logical processor – the robot threads mostly wait for the clock, the interlocks and the signals of the station, so even 2 cores keep up with 400 %.

Load of the computer

Station A (anonymised real station): 5 robots + SPS program, Folge 81, 10 cycles (about 720 s of simulation time), work zones from the triangles of the 3D models, laptop Intel i7-8750H (6 cores, 12 logical processors, 16 GB):

100 %400 %400 % + Live 3D (fixed step 20 ms, several cores)
Duration of the run (real time)752 s188 s835 s
Processor, average (one logical processor = 100 %)73 %72 %373 %
Processor, share of the whole computer6 %6 %31 %
Memory (working set), maximum623 MB617 MB640 MB

How realistic is the simulation?

What it is for. The Robot Cell Simulator is not a digital twin of the station. A digital twin would need the real SPS program of the station running together with the original software of the robot controllers and a complete model of the cell – that is not possible without the running SPS program, and it is not the goal. The simulator helps to optimise the station in a simple way, in one tool: from the robot archives and the study the robot programmer sees which robot sets the cycle time, who waits for which interlock zone and where process times or zone releases can be moved – without detailed knowledge of CAD modelling or SPS programming.

The simulation clock. The simulator computes with its own clock, independent of the computer: the same run gives the same cycle time at 100 %, 200 % and 400 % simulation speed. A slower computer only makes the animation slower, not the times different. The preparation before the start (programs, motion planner) is not counted in the simulation time (see Start in two phases).

The robot controller. The KUKA controller works deterministically (interpolation cycle 12 ms); its fluctuations are in the range of milliseconds and do not need to be simulated.

Where the differences come from:

Comparing variants (before / after a change of the program, the order of the robots or the zone releases) is reliable also without measurements, because the same deviations apply to both variants. For absolute cycle times the simulation can be compared with measured values of the real station – cycle times recorded in the SPS and a KUKA trace (axis positions with time stamps) of a few robots; with such measurements the estimate can be calibrated.



« Command API - reference | Contents | GPU and limitations »