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!