Further memory reduction measures, If it still won’t fit, Trusted – Rockwell Automation T80019 Application Note Working With Large Applications User Manual

Page 3

Advertising
background image

Trusted

TM

AN-T80019 Working with Large Applications

Issue 1 Sep 08

AN-T80019

3

Connection corners add extra variables and can cause problems with online updates (before
Toolset version 3.5.1 build 111). If a program has ‘join the dots’ style wiring, with many
connection corners connected to each other, delete the corners and wire directly from the
source. You can tidy these wires by selecting them all and typing Ctrl-A.

Look for redundant logic, such as spare logic allocated for unused channels, logic that has
been skipped using permanent Jump instructions, or spare copies of logic to allow normal
online updates to run. None of these are required.

Further memory reduction measures

The Toolset has settings in a file called isa.ini. This is
located in the \Toolset\exe folder. Under the [EDIT]
section are four settings which define how many spare
variables are allocated in the symbol table for each
program. These spares are used for normal online
updates, where the symbol table must not change.
However, intelligent online updates are able to replace
the symbol table, and so these spare variables are no
longer necessary (they only allowed changes in about
1% of cases anyway).

If you have many programs in an application, these spares are
multiplied many times.

Change the settings to zero or delete the four lines.

MNTVboo means ‘amount of’ Booleans, MNTVana means
‘amount of’ analogues etc, allocated per program.

Remove unused variables. You can use the Cross Reference tool to find unused variables.

Program in Structured Text instead of FBD. This encourages the use of compact code. FBD is
translated into ST on compilation; programming directly in ST will eliminate inefficient code.

If it still won’t fit

When possible, schedule a system shutdown and load the application using a Stop and
Download (having applied all the appropriate optimisations above). This will have no intelligent
update recipe attached.

Add new code to a new program. It could be that editing a large program has caused an
oversized update recipe; if the logic can be added in a new program then it will not affect the
update recipe.

Check for the issues in TA20005 using the program tool (see AN-80018). The intelligent
updater may be confused by duplicate IDs in programs.

Advertising