Program Capacity and Time Usage

The RMC has a fixed amount of memory for user programs, and a fixed amount of time allocated for processing user programs. When verifying or downloading the programming, RMCTools calculates the required memory size and time usage and displays them in the Verify Results Window.

Exceeding Program Memory Size or Time Usage

Program Memory Size

If the memory size limit is exceeded, an error is logged in the Verify Results window, and RMCTools will not allow the programs to be downloaded to the controller. See Reducing the Program Size below for tips on how to fit your programming into the memory.

Program Time Limit

If the time limit is exceeded, an error is logged in the Verify Results window, and RMCTools will not allow the programs to be downloaded to the controller. See Reducing the Programming Time Usage below for tips on how to reduce the required programming time. You can also choose to override the time limits by enabling High Control Loop Utilization in the Control Loop Page.

Reducing the Program Size

The RMCs have the following amount of memory allocated for the entire Programming node which includes the user programs, Program Triggers, and plot templates. Notice that for RMC75/150 controllers, the Tuning Wizard borrows about 8KB when it needs to run. Therefore, if a controller has less than 8KB of free program memory, the Tuning Wizard may not be able to download its program. On RMC200 controllers, the Tuning Wizard does not affect the program memory.

CPU

Firmware

Program  
Memory Size

Approximate
Capacity in Steps

RMC75E
(1.1G or newer)

3.40.0+

496KB

1000-2000

3.32.0-3.39.4

240KB

500-1000

2.03-3.31.3

112KB

300-500

1.00-2.02

64KB

150-250

RMC75E
(1.1F or older)

3.32.0+

240KB

500-1000

2.03-3.31.3

112KB

300-500

1.00-2.02

64KB

150-250

RMC75S

All

64KB

150-250

RMC75P

All

64KB

150-250

RMC150E

3.40.0+

496KB

1000-2000

Pre-3.40.0

240KB

500-1000

RMC200

All

1024 KB

2000-4000

 

If the user programs exceed the amount of memory available, it means that you simply have too much programming. You may be able to slightly reduce the size by disabling expression logging as described below, but you may need to reduce the amount of programming.

Tips for Reducing the Programming Size

If you have disabled expression logging and your program image is still too large, you must reduce the amount of programming. Here are some tips:

Reducing the Programming Time Usage

RMCTools calculates the worst-case scenario of how much time of any control loop may be taken up by program calculations, which includes the user programs and the Program Triggers. Each task can process one step per loop, and conceivably, a step can be run on more than one task simultaneously. RMCTools finds the steps that take the longest to process, and multiplies that time by the number of tasks the step could possibly run on. The time allocated for the user programs varies with RMC as described in the Time Allocation section below.

When verifying programs, you can view the execution times that RMCTools calculates for the user programs. This can help you determine what steps are causing problems:

  1. On the Tools menu, choose Options.

  2. On the Programming page, in the Verify Results section, uncheck Automatically close Verify Results...

  3. Click OK.

  4. On the Programming menu, choose Verify Programs. If no errors exist, the Output pane will list the maximum estimated loop time that the user programs and Program Triggers will take, and break it down into each user program step.

 

There are several ways of reducing the programming time usage:

Time Allocation

The time allocated for the user programs varies with RMC and the selected loop time. The time allocated is displayed in the Verify Results window after verifying the programming.

 

 

Loop Time

CPU

Firmware

4000 µs

2000 µs

1000 µs

500 µs

250 µs

125 µs

RMC75E

All

3000 µs

1200 µs

600 µs

210 µs

75 µs

RMC75S

 

Pre-3.31.0

3000 µs

1000 µs

500 µs

210 µs

 

RMC75S

 

3.31.0+

3000 µs

1000 µs

500 µs

or 250 µs

(note 1)

210 µs

or 25 µs

(note 2)

 

RMC75P

 

Pre-3.31.0

3000 µs

 

1000 µs

500 µs

210 µs

 

RMC75P
(2.1F or newer)

3.31.0+

3000 µs

1000 µs

500 µs

or 250 µs

(note 1)

210 µs

or 25 µs

(note 2)

 

RMC75P
(2.1E or older)

3.31.0+

3000 µs

or 2500 µs

(note 3)

1000 µs

or 600 µs

(note 4)

250 µs

or 25 µs

(note 5)

25 µs

 

RMC150E

All

3200 µs

1200 µs

500 µs

or 400 µs

(note 6)

200 µs

75 µs

 

RMC200 CPU40

All

3200 µs

1200 µs

500 µs

or 400 µs

or 300 µs

(note 7)

200 µs

or 150 µs

(note 8)

75 µs

50 µs

RMC200 CPU20L

All

3200 µs

1200 µs

500 µs

200 µs

or 150 µs

(note 9)

75 µs

50 µs

Note 1: If the RMC75S/RMC75P has 1 control axis with up to 3 reference axes, or 2 control axes with no reference axes, 500 µs is allocated. Otherwise, 250 µs is allocated.

Note 2: If the RMC75S/RMC75P has 1 control axis and up to 1 reference axis, 210 µs is allocated. Otherwise, 25 µs is allocated.

Note 3: If the RMC75P has 1 control axis with up to 1 reference axis, 3000 µs is allocated. Otherwise, 2500 µs is allocated.

Note 4: If the RMC75P has 1 control axis with up to 1 reference axis, 1000 µs is allocated. Otherwise, 600 µs is allocated.

Note 5: If the RMC75P has 1 control axis and up to 1 reference axis, 250 µs is allocated. Otherwise, 25 µs is allocated.

Note 6: If the RMC150 has 3 or fewer axes with any number of reference axes, or 4 control axes with up to 2 reference axes, 500 µs is allocated. Otherwise 400 µs is allocated.

Note 7: The allocated user program is dependent on total estimated axis processing time assuming full load:

Total Axis Processing Time

Allocated User Program Time

0 - 294 µs

(approx. 0-28 control axes)

500 µs

295 - 394 µs

(approx. 29-38 control axes)

400 µs

> 394 µs

(approx. 39 or more control axes)

300 µs

See the Loop Time topic for details on how the total axis processing time is determined.

Note 8: The allocated user program is dependent on total estimated axis processing time assuming full load:

Total Axis Processing Time

Allocated User Program Time

0 - 94 µs

(approx. 0-9 control axes)

200 µs

> 94 µs

(approx. 10 or more control axes)

150 µs

See the Loop Time topic for details on how the total axis processing time is determined.

Note 9: The allocated user program is dependent on total estimated axis processing time assuming full load:

Total Axis Processing Time

Allocated User Program Time

0 - 86 µs

(approx. 0-7 control axes)

200 µs

> 86 µs

(approx. 8 or more control axes)

150 µs

See the Loop Time topic for details on how the total axis processing time is determined.

 

See Also

Verifying | Programming Overview | Plot Capacities | Curve Storage Capacity


Send comments on this topic.

Copyright © 2024 Delta Computer Systems, Inc. dba Delta Motion