Home
Migrating your MODICON Compact & Momentum Systems to Unity Pro

NOTE:  All images on this page can be enlarged by clicking on them.


First, the Concept to Unity Pro migration scenario.  Jump to the 984LL scenario


After opening a Concept project in Unity Pro, there is the possibility that 32 bit Data (REALs, DINTs, UDINTs and TIME) is located on a %MW Address that is subject to an Alignment Constraint.
In Unity Pro M340, M580 and Momentum projects, 32 bit Data must be located on Even Number %MW Addresses (e.g.: %MW0, %MW2, etc.).  Variables located at %MW Addresses will violate the Alignment Constraint if the 32 bit Data in the Concept project was located at 400002, 400004, etc..  All 4X addresses are re-aligned into the M340, M580 or Momentum project, and the example 4X addresses will align to the respective second and forth register locations, which are %MW1 and %MW3 in these Zero Based Unity CPUs, which violates the Alignment Constraint.

Alignment Constrained %MW Addresses can exist either:
(1) as EDT Variables
or
(2) within DDT Structures (or ARRAYs of DDT Structures)

Corrective action required is to either:
(1) Unlocate the Data
or
(2) Change the assigned %MW Address

Both of these solutions could impact communications via Modbus (TCP, Serial or MB+) with other systems (like SCADA, HMIs, PLCs, etc.).

Unity Pro will identify the Alignment Constrained Variables during a Project Analysis and list them in the Output Window.
If the Alignment Constrained %MW assignments are within DDT Structures (or Arrays of DDT Structures)
and
changing the %MW assignments will impact other systems communicating by Modbus
then the User must make the appropriate corrections to the system which will involve changes to all affected systems.

If the Alignment Constrained %MW assignments are EDT Variables (REALs, DINTs, UDINTs or TIME)
then there are solutions that avoid changes to the other systems (like SCADA, HMIs, PLCs, etc.).

These solutions can be manually implemented or automatically.  Regardless of the type of implementation, the solution methodology is the same.

Solution Methodology for Alignment Constrained EDT Variables
1) Create a MAST Task Pre-Processing Section that will contain Code to move Modbus Client Write Data from %MW STATE RAM Addresses to the Alignment Constrained Variables

2) Unlocate the Alignment Constrained Variable

3) Add Code in the Pre-Processing Section for the Alignment Constrained Variable

4) Create a MAST Task Post-Processing Section that will contain Code to move the Alignment Constrained Variables's Value to %MW STATE RAM Addresses for Modbus Client Read Data

5) Unlocate the Alignment Constrained Variable

6) Add Code in the Post-Processing Section for the Alignment Constrained Variable



Contact Schneider Electric Technical Support for more information regarding this solution and the DFBs.

UnityPro-Experts.US created an Automated Solution for Alignment Constrained EDT Variables

The C2U Mbus Chkr is free to download and use, and is available here:  Downloads




UnityPro-Experts.US created an Automated Solution for Enhancing Unity Pro 984LL Migrated Projects
More information regarding the free to download and use tool is here:   Unity LL984 Descriptor Tool