Issue Updating UDT OPC Item Path via system.tag.configure – Binding Breaks Until Manual Edit

Hi everyone,

I'm encountering a strange behavior when trying to update the OPC item path of a member tag inside UDT instances using system.tag.configure. Here's my script:

base_path = '[SS13]TECO/Trackers/'
paths = system.tag.browse(base_path, {'name': 'TMT*', 'recursive': True, 'tagType': 'UDTInstance'})

for path in paths:
    tags = str(path['fullPath']) + '/Flags/'
    newOPC = 'ns=1;s=[DeviceName]IRUS{Offset+80}'

    config = {
        "name": "FLAG_WORD",
        "opcItemPath": newOPC
    }

    system.tag.configure(tags, [config], 'm')

    print tags

The script successfully updates the opcItemPath for each tag, and I can see the new tagPath in the designer. However, the tag stops working, and shows the Error_Configuration. It only starts working again after I manually edit the tag in the designer (for example, changing the tag path slightly and then changing it back).

Before changing the tag path

After changing back

I have over 2,000 tag instances that need to be updated, so doing this manually is not feasible.
Also, I can't create new UDT definitions due to project restrictions.

Has anyone experienced similar issues or know a workaround to make the changes take effect immediately without breaking the tag binding?

Thanks in advance for your help!

When a tag property value includes a parameter reference, you cannot just assign the string value with the curly braces embedded. You must expand that value to a binding dictionary for the expression to "stick". Export a working sample to JSON and inspect it to see the difference.