I'm trying to understand converting my UDTs from the PLC into Ignition.
-
When browsing my tags and importing them into a UDT I accept the UDT with all my new tags.
-
From there it will be direct tagged... When I export the XML and find and replace my topic and device tags then import it so I can use it as a general tag for a UDT, the binding on the tags doesn't set properly.
-
I need to delete a letter, press *Enter then add the letter back to complete the tag and it binds.
-
The only way to fix this is by going in the XML editor and adding the 'boundValueType' to it.
Is there something I'm doing wrong when trying to create a UDT. To me this seems like a pretty quick and easy way if the binding would just work.
Try using the JSON format, not XML.
Performing a find and replace on the .json formatted file did not solve the problem. The tag is still unbound.
Export a UDT definition with working bindings as JSON. Inspect and compare to the non-working import file.
1 Like
Take special care re: possibly invisible characters like \x00
or whitespace or newlines, etc. The raw JSON will show these in a good text editor.
1 Like
The issue is that find/replace will set the values to literal strings, despite you putting in the {}. When you enter these into the field in the tag editor, the designer constructs the binding stricture for you. You have to do the same when you find/replace. I have a python function specifically for this purpose, to find strings with {} in them and convert them to a binding structure. The I can just find/replace as you did, run it through the function, and import, and the bindings are then there