{}

Our Brands

Impact-Company-Logo-English Black-01-177x54

Welcome to the Schneider Electric Website

Welcome to our website.
Search FAQs
How to fix invalid unlocated variables (broken XVM/STU link) in Vijeo Designer?

Article available in these languages: Spanish

Issue:
An online change was made to the Unity/EcoStruxure Control Expert PLC with a change to a Structure Element in a DDT and now all the unlocated tags in Vijeo Designer are showing bad data quality triangles.

Product Line:
Vijeo Designer, Unity Pro, EcoStruxure Control Expert

Cause:
There are two causes:

Cause 1: There are two PLC's in the Vijeo Designer that have duplicately named User Data Types (UDTs) but different leaf elements - Vijeo Designer can only import a single uniquely named UDT from each PLC since the Vijeo Designer pool of UDTs is shared by all Modbus Equipment variables.

Cause 2: A major edit to the leaf element(s) of a Derived Data Type (Structure) or Function Block that was previously Linked to Vijeo Designer has a Deleted or Renamed leaf element. Since there Unity Pro / EcoStruxure Control Expert does not keep a history of the changes of a Structure inside .STU and .XVM files, Vijeo Designer will recognize this as a new UDT, which will break address context linked with the Variables of the original UDTs.

To identify when this issue has occurred:
When you Build a PLC project and export a new .XVM or .STU file, then Update Link in Vijeo Designer, check if ALL the last set of digits to the right of the last dot of the Device Addresses change:
Device Addresses for Unlocated Variables
This is a unique value that is generated each time a Build and Download of the PLC project is executed.
All of them in a single Equipment group should update whenever a new .XVM or .STU file is imported.

If they do not update or if only a partial update, then the issue described by Cause 1 or Cause 2 has occurred. Follow the steps in the Resolution if this is the case.

Resolution:
In Unity Pro / EcoStruxure Control Expert, if the Data Dictionary feature is not turned on, any small change in code or tags in the PLC program will break the communications link between the HMI and the PLC (if a symbol link was made via a XVM or STU file). To resolve this issue, we need to re-establish the Symbol Link by following this procedure below:

1. Right-click on "Variables" in Vijeo Designer and select “Export variables”.

2. Save the variables to a .CSV file or any file type of your choice. This will back up the Alarm Configuration and Logging settings (and many others as well)

3. Delete all the External Variables in the project.

4. Right-click on "Variables" again and go to the “Update Link” dialog.

Right-click Variables. Select Update Link

5. Delete the linked file if it exists in the list by selecting the row, then clicking on Remove:

Remove the Linked file

6. Go to the Variables pane, and click on the User Date Types... button:

Variable Editor top toolbar -> [User Data Types...] button

7. Delete all of the User Data Types in the list. Start from the bottom of the list and make your way up:

Delete all User Data Types (UDTs)

User Data Types dialog

NOTE: Use this shortcut key sequence in this UDT dialog box for repetitive row deletions:
Select a row -> then press: Alt+L (to delete) -> then press the Y key (for 'Yes' to delete)

8. Now that you have an essentially empty variables list, link to your .XVM or .STU file as you would normally by right-clicking on the Variables node, selecting "Link Variables..." and choosing the latest file.

Right-click Variables node -> select [Link Variables...]

9. Add the variables that you need.
(TIP: refer to the .CSV file that you exported in Step 2 for the Variables you previously Linked and added into the original project).

-> Ensure that you keep the same folder structure as your original program, that will ensure that the mappings of your variables to screen objects will stay the same. Choose accordingly in the "When adding variables: Create as:" section to match the original folder structure:

New Variables from Equipment dialog - select the variables you wish to link from the .XVM / .STU file

9.   Once you have chosen all the variables from the list, click Add, and then Close the dialog.

10. Right-click on Variables and choose “Import Variables” and choose to re-import the .CSV you generated in Step 2.

11. Be sure to choose “Overwrite existing variables”.
-> Now your Alarms, Alarm Messages and Logging settings are updated for the tags you added.
-> However, the Device Addresses are now all old again. So you will need to Update the Link once again

13. Right-click on "Variables" and go to the “Update Link” dialog and press the "Update" button for your link.
-> This will update the indexes for the unlocated tags once again and now your HMI application should be up to date and able to communicate with the PLC.

NOTE:
It is recommend to turn on the "Data Dictionary" checkbox found in Unity Pro / EcoStruxure Control Expert under: Tools -> Project Settings -> PLC Embedded Data
Tools -> Project Settings -> PLC Embedded Data -> Data dictionary setting

When the Data Dictionary in the PLC is turned ON:
What this does is keep a lookup table in the PLC.
If the Variables (names and structures) don't change between the HMI and PLC, on subsequent Builds and Downloads to the PLC, the PLC will route the HMI to the current memory addresses within the PLC to access data.

If the Data Dictionary is turned OFF, then one would have to Export the .XVM and Update the Link every time a Build and Download to the PLC is completed.

Schneider Electric Nigeria

Explore more
Range:
Articles that might be helpful Users group

Discuss this topic with experts

Visit our Community for first-hand insights from experts and peers on this topic and more.
Explore more
Range: