Tips & Tricks
What options are available for Managing MODICON Quantum State RAM

General Background regarding the Unity Pro LL984 Converter

The Unity Pro LL984 converter analyses the ProWORX32.PWX file (which includes State Ram values) for Register contents that are not zero.  When non-zero values are encountered in contiguous registers, an Array is created to capture these values, if there are not contiguous registers containing values then a UINT Variable is created.  The Initial values for these converter created variables are set to the value contained in the State Ram table from the .PWX file.

The variables created have the following naming convention:
  • UINT Variable
    • _400001_I
  • ARRAY[1..2] OF UINT Variable
    • _400001_2_I


      • The “I” in the ARRAY VARIABLE NAME indicates the Integer type (UINT)
      • The “_2_” in the ARRAY VARIABLE NAME indicates the size of the ARRAY.


General Background regarding Quantum State RAM Behavior

State RAM (%MWx) data is maintained through (Warm Starts) Stop to Run and Power Cycle transitions by the Battery.

State RAM (%Mx) data is handled by configuration setting for Cold Starts.

·         Cold Starts always occur following Full Downloads.

·         Full Downloads are required after:

o        Configuration Changes (not necessarily applicable for CPUs with CCOTF enabled)

o        Off-Line Builds (Partial and Full)

The configuration for Cold Start handling is in the CPU Configuration window.

For Low End Quantum CPUs (single wide 311, 434 and 534)

For High End Quantum CPUs (all double wide)

For upgraded projects, it is recommended to evaluate whether or not to CHECK the %MWi reset box.

Checking the %MWi reset box will insure that the Initial Values of the Converter created variables will be used following any Cold Starts.

Maintaining State RAM long term

As a part of the Unity Upgrade, controller data should be reviewed to determine if the data requires periodic maintenance.

Examples of Data that requires periodic maintenance includes (but is not limited to):

·         PID Tuning parameters that may be changed during operation

·         Setpoint data that may be changed during operation

·         Cumulative Data (Flow Totalizers, Motor Runtime)

There are Unity features for addressing periodic data maintenance, these are:

·         Save Data from PLC to File

·         Restore Data from File to PLC

·         Update Init Values with Current Values

·         Update Local Init Values with PLC Init Values

Following are recommendations for the use of these features which should be evaluated.

Recommendation for On-Line Unity maintenance of Data

Use the Save data property for ALL of the Unity Converter created UINT Variables and ARRAYS.


By Checking the Save data property, the following is possible:

·         Change the value of a Variable in an Animation Table, e.g. a Setpoint

o        It is desired that this new Setpoint value be maintained through the next Full Download

·         Use the PLC Pull Down Menu and select ==>>  "Update Init Values with Current Values”

o        This causes the CPU to update the Initial Value for All “Saved” Variables in the CPU.

·         Use the PLC Pull Down Menu and select ==>>  "Update Local Init Values with PLC Init Values”

o        This transfers the CPU Init values to the Unity Init Values

·         Then the user is prompted to Build the application (On-Line Build Changes).

Recommendation for Full Download maintenance of Data

Any time that a Full Build and Full Download is executed, the Quantum Controller will execute a Cold Start and initialize the %MWi data as set in the configuration.

However, if there is Cumulative Data in the %MWi data (e.g. Flow Totalizers, Motor Runtimes) it is desirable for that data to be maintained through the re-loading of a controller application.

In order to accomplish this, follow these steps:

  • Make the changes to the Unity application (Off-Line) and execute a
    File Save As…  saving the file to a new project name.
  • Connect to the controller with the original project file and execute a
    “Save Data from PLC to File” from the PLC Pull Down Menu
  • Disconnect and open the new project, Download the project,
  • Execute a “Restore Data from File to PLC” from the PLC Pull Down Menu
  • Start the Controller