Online Change

Overview

The Online Change command is by default available in the Online menu for triggering an online change on the current active application (Set Active Application). It is also available in the contextual menu of the application which is currently selected. Here it allows you to trigger an online change on exactly this application even if it is not the currently active one.

Online change means that only the modified parts of an application program already running on the controller are reloaded. Also refer to the actions that inhibit an online change in the next paragraph.

The Online Change command modifies the running application program and does not affect a restart process. The program code can behave other than after a complete initialization because the machine keeps its state. Pointer variables keep their values from the last cycle. If there is a pointer on a variable, which has changed its size due to an online change, the value will not be correct any longer.

 WARNING
UNINTENDED EQUIPMENT OPERATION
  • Make sure that the new application code nevertheless will affect the desired behavior of the system.
  • Make sure that pointer variables are reassigned in each cycle.
Failure to follow these instructions can result in death, serious injury, or equipment damage.

During online change, the Details dialog of the message box lists - among the usual information on the download process - also the changed interfaces, the concerned variables, and the objects for which new code has been generated. If data location changes, a message is displayed indicating that issues may occur referring to the use of pointers.

NOTE: In the Online Change Memory Reserve view, you can configure memory reserves so that instance variables do not have to be moved in memory when changing a function block during an online change.

Keep in mind that an online change will automatically be offered when you are going to log in on a controller with an application program which is already running there, yet has been modified since the last download.

An online change (partial download) initiated while the controller is in the RUNNING state returns the controller to the RUNNING state if successful and provided the Run/Stop input is configured and set to Run. Before using the Login with online change option, test the changes to your application program in a virtual or non-production environment and confirm that the controller and attached equipment assume their expected conditions in the RUNNING state.

 WARNING
UNINTENDED EQUIPMENT OPERATION
Always verify that online changes to a RUNNING application program operate as expected before downloading them to controllers.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
NOTE: Online changes to your program are not automatically written to the Boot application, and will be overwritten by the existing Boot application at the next restart of the controller. If you wish your changes to persist through a restart, activate the option Implicit boot application on online change in the View > Properties dialog box, or activate the option Update boot project in the online change dialog box.

Also refer to:

Actions Inhibiting an Online Change

After specific actions, such as a Clean All operation, an online change is no longer possible, but a full download becomes necessary. If you attempt to execute such an action, a message is displayed for you to acknowledge.

When you edit the program POUs, the Code unchanged icon permanently provides information on this status. As soon as you attempt to execute an action that will inhibit downloading the application by an online change, the icon changes color to red (Code download necessary). Double-click this icon to display a list of differences to the last download. The dialog box provides information on the actions performed that require a full download.

The table lists the actions and modifications in different areas of an application that inhibit an online change:

Area of modification

Modification action

POUs for implicit checks

Activation or deactivation of a check function (CheckBounds, CheckRange, CheckDiv, etc).

Task configuration

Modification of the configuration settings.

Project settings

Modification of the Project Settings > Compile Options dialog box.

Application properties

Modification of:

  • Properties > Build > Compiler defines parameter

  • View > Target Memory Settings tab

POU properties

Modification of the Properties > Build > External implementation parameter.

Task-local global variable list

Modification of the global variable list (task-local).

Function block

Modification of:

  • The base POU of a function block (EXTENDS FBbase), and inserting or deleting a base function block.

  • The interface list (IMPLEMENTS <interface name>).

Data type

Modification of:

  • The data type of a variable from a user-defined data type to another user-defined data type (for example, from TON to TOF).

  • The data type from a user-defined data type to an elementary type (for example, from TON to TIME).

NOTE: It is a good practice to modify the name of the variable together with the data type. Thus, the variable is initialized as a new variable and the old variable is removed. An online change is still allowed.

Device configuration

Modification of:

  • The Device tree (including the Update Device command.

  • The device configuration: By default, modification of device parameters prevents an online change. However, exceptions may have been configured in the device description.

NOTE: Modifications in the I/O mapping of variables do not inhibit an online change.

Visualization

Toggling of the overlay function. For online changes that affect visualizations or affect the data of the application (for example, a new variable is inserted), the visualization is reinitialized. For the web visualization, the visualization restarts with the start page after a short waiting time.

Unit conversion

Objects for unit conversion have been added or removed.

Trend

Modification of:

  • The number of variables or maximum number of variables.

  • Number of variables with a description or special line settings.