Instruction Manual
Table Of Contents
- Intelligent Update Enhancement
- Enabling Intelligent Online Updates
- Manual function block matching (from release 3.5.1)
- Operation
- Important Information
- Intelligent Online Update Manager Window
- Intelligent Update Manager Options
- Match Function Blocks Window
- Intelligent Updates Manager Reports
- Operation
- Supported Changes
- General Rules
- Temporary Variables and Function Blocks (before release 3.5.1)
- Other issues
- Toolset upgrade to 3.51
- Virtual boards
- Unused local variables
- Baseline version
- Instance data limit exceeded
- Conversion tables
- OEM parameters
- ‘NO CHANGE’ when changes have been made
- Attribute changes
- Forced I/O
- Don’t delete the APPLI.MDF and APPLI.MDH files
- Real inline constants
- Don’t Update Later
- Processor hot swap and online update
- Counting Timer and update
- IOU Manager Options
- CRC Differences
- Communications Blackout
- Compilation for Intel
- Constant variables not updating when set to 0 initially
- Power Flow Debugging option change causes update problems on untouched programs

Trusted
TM
AN-T80009 Trusted
TM
Intelligent Online Updates
Issue 4 Nov 08 AN-T80009 20
end of the list. Therefore all temporary variables that are displaced in the source code will have new
names. If these are wired to function blocks, then the function blocks will change their assigned
variables across the update and will appear as deleted and new and lose their internal states. These
function blocks may include logic which the user has not changed.
The following methods are recommended for dealing with changes affecting temporary variables.
1. Put new logic in a new program. This will not affect existing programs.
2. Use Structured text (or Instruction List) for programming. This forces the need to declare each
use of a function block in the 'FB Instances' dictionary. Structured text and Instruction List
which calls function blocks will not have any problem with temporary variables and IOU.
3. Create a named variable, which can be a local variable, for every temporary variable instance
listed above which wires into a function block. This will ensure that the variable names stay the
same across an update. These can be added to logic in two stages.
The first stage involves the creation and placement of these variables, but only wire the
appropriate data to the input of the tag (the logic will not compile if the variable tag is unused).
This will not change the list of temporary variables. Perform an update, which will use the
intelligent update. The logic function will not change because the variables are not driving any
logic.
The second stage is to wire the variables to their destination, replacing the temporary
variables. Update this new version. This will apply a 'normal' online update, which does not
change function block data.
4. If the same variable is wired to many function blocks through a corner, e.g. a global reset,
eliminate the corner by wiring the real variable directly to each function block. Note that this will
require a shutdown because all affected function blocks will lose their internal state, unless the
above two stage method is used. It is possible to tidy wiring by selecting a number of wires and
typing Ctrl-A ('align').
Note that release 3.5.1 Toolset provides facilities for manual matching of function blocks, to avoid the
loss of function block local variable states. It also traces the source of inputs beyond immediate
connections from ‘corners’, thus defining the true input.