Feature to turn off auto creation of PI Tags in PI Connector for UFL
Ability to turn off auto creation of PI tags - When data is sent via REST to a PI Connector for UFL service ,currently it looks for a PI Tag in the PI Server and if the PI Tag does not exist it creates a new PI Tag. It would be good if we could turn off the feature if not required as in our case we have a naming convention for PI Tags and we create the tag names in advance so would not like to allow for the auto creation of PI Tags.
I’m not sure why this would be needed. In the UFL connector you need to specify the name of the tag that you write to. And if that tag already exists, it will write to it. If that tag does not exist, then the connector would create that tag with your desired tag name. Why would you want the connector not to create that tag?
Please provide different functionalities for StoreInPI() and StoreEvent(). Users should have the flexibility to not to create the tags automatically through UFL and choose StoreEvent() function. Currently both of them are doing the same.
StoreinPI() can be used for both to create and store PI Tag data.
I also think this should be able to turn off. In some environments we get foreign source data automaticly converted form a service to UFL format. I don't want the connector to create tags for many of the incoming data but only for the defined ones.
Chris, I'm undertaking my first "real world" use of the UFL Connector and not being able to turn it off is really a hassle. We are doing a large conversion and the tag names do not always exist, or they were defined incorrectly in the first place. But there's no way to catch this, i.e. no function to check if tag exists, and no way to disable it. UFL is quite often used to bring data in from external systems, in other words, it's not necessarily connected to a source system. There's no guarantee that the tag passed is correct, or desired. It's likely a better question as to why this wasn't considered up front.
I also think the auto creation is not always desirable. Like Wilson Laizo said, the connector will not always create the tag with correct parameters. And in many cases you may simply get a typo in the tag name which would lead to the creation of a new unwanted tag.
It just happened to me that the source files contained tags between double quotes and they were considered part of the name. So I ended up with new tags like UFL.%22Tagname%22 (%22 would be the " character encoded). Of course I just edited my INI file to read something like TAG = ["*,*,\"(*)\",*"], but the "damage" of all data processed to an undesirable tag was done.
Clement Charbonnet commented
We are new PI customer implementing a system that will eventually hold the 10 years worth of data from our existing system. We are going live with a subset of data, basically only 2018 data. We will load the history on a a copy of the system and migrate the archives to production after the back filling is complete. This will allow our users to start using the system while we spend the next 6 months extracting the history from the previous system.
If the UFL encounters a tag that doesn't exist and creates the tag, then we have an issue. That tag will not exist in the live system when we migrate the archives to it. It would be better to generate an error file and not create the tag. This would allow us to migrate the previously filled archives to production and add the required tags to production, and then refresh the back fill environment from a copy of production.