Introduction

The data memory protection contributes to the protection of data from a modification request in monitoring mode.

The data memory protection is effective:

  • off-line, or

  • in monitoring mode, or

  • in programming mode when project status is DIFFERENT.

NOTE: Modification of a variable with the reinforced protection is only possible when Control Expert is connected in programming mode and project status is EQUAL.

A variable with the reinforced protection can only be modified by the program. Any modification of a variable with the reinforced protection in monitoring mode via Control Expert language editor, animation table and so on is not possible. This is the same behavior for external tools (HMI, SCADA, …).

NOTE: The data memory protection settings can only be modified off-line. Online modification is not effective.

The data protection applies to the following data:

  • Located data

    • A range of %M and %MW

    • System data %S and %SW

    • Input / output data

  • Unlocated data

    • Elementary unlocated data

    • Structured unlocated data

    • Safety unlocated data

CPU Firmware Limitation

The data memory protection feature is supported by:

  • M580 CPU with OS version V3.20 or later

  • M340 CPU with OS version V3.30 or later

NOTE: Replacing a CPU to an earlier version than respectively V3.20 for M580 and V3.30 for M340 is only possible if the current project setting Data memory protect is not activated.

Protection Activation

Before any action on the data memory protection, you must activate this feature in your project settings.

In the Control Expert main window, click Tools > Project Setting > PLC embedded data . Then select the Data memory protect box and click Apply.

Protection of Located Data

The data protection function applies to the following located data:

  • A range of %M and %MW(1)

  • System data %S and %SW

  • Input / output data:

    • Local I/O objects (LIO)

    • Remote I/O objects (EIO)

    • Distributed I/O objects (DIO): with a topological vision or with a DDT/DDDT vision

(1) Array variables which are mapped on a %MW range must be entirely inside or entirely outside of the %MW range with the reinforced protection.

The data memory protection function is enabled in the CPU configuration window: Project > Configuration > PLC Bus > CPU.

NOTE: The current project setting Data memory protect must be activated.

For the procedure of the located data protection enforcement, please refer to Protecting Located Data.

Mapping Address Protection

The properties of a located variable have priority on the properties of an unlocated variable. Thus, the unlocated variable that is mapped on a located address, automatically takes the protection of this address. The protection of this unlocated variable is reinforced the same way as that of the located variable to which it is mapped.

Depending on the type of the located variable to which the unlocated variable is mapped, the following protection enforcement of the mapping address is applied:

  • On %MW/%M flat: the mapping address is not modifiable.

    The attribute with the reinforced protection depends on the %MWi/%M protect configuration

  • On %SW/%S: the mapping address is not modifiable.

    The attribute with the reinforced protection depends on the %SWi/%Si protect configuration

  • On a topological object: the mapping address is not modifiable.

    The attribute with the reinforced protection depends on the I/O protect configuration

This is an automatic reinforced protection which cannot be modified in the Data Editor window.

Data Protect Attribute

The Data Protect attribute is used to reinforce protection of an unlocated data in the Data Editor window.

This attribute is enabled if:

  • The variable is not mapped to any located address; and

  • The variable is not managed; and

  • The variable is not a subfield of a structure (DDT, array EFB instance, DFB instance); and

  • The variable is not a Device DDT; and

  • The variable is not a constant

In all other cases the Data Protect attribute is disabled.

Protection of Unlocated Data

General Description

The data protection function applies to the following unlocated data:

  • Elementary

  • Structured

  • Safety

The unlocated data memory protection function is enabled in the Data Editor window. By default, unlocated data are not protected.

NOTE: The current project setting Data memory protect must be activated.

The following particular cases must be considered when reinforcing protection of unlocated data:

  • An alias variable takes the same protection as the aliased variable

  • A reference variable has always the reinforced protection; it is not affected by the protection of the referenced variable

  • The data protection can also be applied to DDT, Device DDT and IODDT data; and it is enabled in the I/O protection check box in the CPU configuration window

The data memory protection function is also available for the Program Unit data:

  • Input data:

    • The data memory protection is applied to the input data if there is no effective parameter on it

    • Input data becomes “Read” when an effective parameter is set

  • Output data:

    • The data memory protection is not applied to the output data

    • Output data becomes “Read” when an effective parameter is set

  • Input/output data takes the protection of its effective parameter

Protecting Elementary Unlocated Data

The protection of unlocated elementary data can be reinforced individually. The required modifications are done respectively for each element, one by one.

Protecting Structured Unlocated Data

The protection of structures of unlocated data can be reinforced globally. The required modification is done once for the entire structure and applies to all its elements (all subfields except subfields which are read-only by intrinsic access right).

The data protection function applies to the following structures of unlocated data:

  • DDT

  • Device DDT

  • IODDT

  • Array

  • EFB instance

  • DFB instance

NOTE: The protection enforcement of DDT, Device DDT and IODDT unlocated data can be enabled in the I/O protection check box of the CPU configuration window.

Protecting Safety Unlocated Data

In safety applications, the data protection function applies to the following unlocated data:

  • Global variables

  • Process resource data:

    • Input variables (with or without an effective parameter)

    • Output variables (with or without an effective parameter)

    • Private variables)

    • FB Instances

    • DDT and device DDT

  • Safe resource data:

    • Input variables (with or without an effective parameter)

    • Output variables (with or without an effective parameter)

    • Private variables)

    • Safe FB Instances

    • Safe DDT and device DDT

Procedure of Reinforcing Protection of Unlocated Data

Follow the procedure below to define unlocated data for which you need to reinforce the protection:

Step

Action

1

In the Control Expert main window, activate the data memory protection feature: click Tools > Project Setting > PLC embedded data.

Then select the Data memory protect box and click Apply.

2

In the Control Expert Project Browser, double-click Variables & FB Instances to open the Data Editor window, or click Tools > Data Editor in the Control Expert toolbar.

3

In the Data Protect column, select the boxes corresponding to data for which you need to reinforce the protection.

NOTE: When you select the Data Editor attribute of a structured unlocated variable, this action applies to all the subfields of the selected structure.
NOTE: The unlocated variable that is mapped on a located address automatically takes the protection of this address. Thus, the protection of this unlocated variable becomes reinforced the same way as that of the located variable to which it is mapped.