Data Separation and Scope

An M580 safety project includes both a safety program and a process (non-safety) program. Control Expert isolates the logic and data used by the safety program from the logic and data used by the process program. Control Expert accomplishes this by placing each part of the project into its own namespace (also called an area), either safe or process.

As a result of this design, the scope of a safety variable is restricted to the safe area, and the scope of a process variable is restricted to the process area. This becomes apparent when you add program logic to your application:

  • When you configure an EF or EFB in the SAFE task, only variables created in the safe area are visible. Variables created in the process area are not visible.

  • When you configure an EF or EFB in a non-safe (MAST, FAST, AUX0 or AUX1) task, only variables created in the process area are visible. Variables created in the safe area are not visible.

To permit communication between the safe area and the process area, Control Expert also provides a global area. The global area serves as a pass-through for data transmissions between the safe area and the process area. This is accomplished by declaring interface variables in both the safety and process areas, then linking these interface variables to mapping variables declared in the global area.

This data separation in the M580 safety CPU and coprocessor is graphically described below:

Safe, Process and Global Area Properties

The three data areas of an M580 safety project present the following properties:

Area

Supported Variable Types

Scope

External Access

Global

Unlocated variables only.

NOTE: Located variables cannot be used to map to a safety or process interface variable.

Can access:

  • Safety variables, via namespace addressing.

  • Process variables, via namespace addressing.

  • Other global variables.

Variables from all three areas can be accessed by HMI, SCADA, or FactoryCast applications.

(See Note, below.)

Safe

Unlocated variables only.

Can access only other safety variables.

Process

Both:

  • Located variables

  • Unlocated variables

Can access only other process variables.

When an external viewer seeks to read a process variable, the addressing format depends on whether the Usage of Process Namespace setting has been selected in the Scope > common area of the Tools > Project Settings... window. If the Usage of Process Namespace setting is

  • Selected: the operator screen can read process area variables only by using the format “PROCESS.<variable name>”.

  • De-selected: the operator screen can read process area variables only by using the format “<variable name>” without the PROCESS prefix. In this case, verify that each process variable name is unique, and is not the same as any global variable name.

NOTE: If the Usage of Process Namespace setting is de-selected, verify that each process variable name is unique, and is not the same as any global variable name. If a variable name is common to both the global and process areas, an error will be detected by Control Expert when you build the project.