Can you control how PLC tag names are converted to Ignition tag names?

Emerson PLCs support tag names that have a period in them as a part off how they support UDTs EG “BaseName.FieldName”. When importing tags like this into Ignition, the period automatically gets converted to an underscore. Thus “BaseName.FieldName” becomes “BaseName_FieldName” (but the OPC Item path retains the period).

(Note that in Creating Tags - Ignition User Manual 8.1 - Ignition Documentation, it mentions that ! @ # $ ^ & * + [ ] will be replaced with an underscore when imported from a device, but doesn’t mention periods.)

From Tag Naming, Characters not allowed there is a vague allusion to tags conforming to the \L regex (I say vague because regex’s are very implementation specific). My takeaway from that question is that Ignition supports more non-alphanumeric characters than just an underscore.

So the conversion of a period to an underscore was one of many possible conversions that Ignition could make. What I want to know is if it is possible to manually control this choice with some sort of table that we can explicitly define how unsupported characters are converted to supported characters in tag names?

My desire for this stems from the PLC code I generally work with, where there can be tags “Name.Field” and “Name_Field” in the PLC that are both valid and totally independent tags (don’t ask!), so it is currently impossible to import both into Ignition at the same time. But if I could only just control the renaming process …

There is no mechanism (that I am aware of) for telling Ignition what character to use when converting tag names.

Periods are not allowed in tag names because the period is used to designate a property call.

system.tag.readBlocking(['Your_Tag_Path.EngUnit'])

I'm not sure what other character you would use, but if you manually create the tag names (or write your own script to do it) then you can control how that happens, but I believe that is the only option you have.

I have no problem with periods not being allowed in Ignition tag names. What I don't like is automagic processes that I can't control!

Not know what characters are supported in tag names is a part of the problem. But writing a custom import process is total overkill for what I am trying to achieve at the moment.

I understand.

There’s no control over the automatically derived tag names that are used when you drag and drop from the OPC Browser.

As @lrose suggested the only way to do this would be create tags yourself, manually or with a script, but that’s been ruled out as overkill.

1 Like

Ahh I see, you assigned creating this task to some random person you hauled off the street, and you have no clue how they did it! Would it be reasonable to reign in this process with a table of explicit substitutions (with a fall back to the automagic process)

But even with manually re-naming the tags, how do I know what is valid without doing trial and error?

It's pretty buried at Creating Tags - Ignition User Manual 8.1 - Ignition Documentation

The following characters are invalid and will be replaced by an underscore when dragging and dropping an OPC item into the Tag Browser: ! @ # $ ^ & * + [ ]

Parentheses are valid characters but are not valid as a first character in a tag name. If an OPC item name starts with a parenthesis, the tag name will be prefixed with an underscore

I mentioned that list of invalid characters from the documentation in my initial post. However that list is not the complete list of invalid tag name characters.

You also mentioned parentheses (and leading underscores) as being valid, but the following chars are also valid: - : ' Thus there is scope making choices in transliterating chars when importing tags.