Custom QualifiedValue

Everything in the new tag system is a tag actor.

If it's flexible enough to drive tag values, including OPC, scaling, history, etc... I'm pretty confident it's flexible enough for your purposes. As a bonus, you can get it working today.

We wouldn't add that feature to 8.1, so at minimum you're waiting until 8.3 is released at the end of this year. More likely much longer than that, because it's low priority relative to other customer demands.

So, again, I'm not the expert in this area, but I'll just really try to push that working inside the capabilities that are already exposed is definitely going to be a better experience.

My rough understanding of the whole idea is something like this:

  1. You get the tag manager from your instance of GatewayContext: https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.40/com/inductiveautomation/ignition/gateway/model/GatewayContext.html#getTagManager()
  2. You get the tag config manager:
    GatewayTagManager
  3. From there, you register your actor factories: TagConfigurationManager
    • Optionally, you can contribute known property types to the tag system - this is how e.g. the alarm notification module adds the 'pipeline' properties to tags: TagConfigurationManager
  4. Your TagActorFactory defines the "things that it cares about" via getMonitoredProperties:
    TagActorFactory
  5. Your factory is called to create new TagActors by the tag system, whenever your relevant properties change. Your TagActors themselves act as either 'read' or 'write' agents in a constructed pipeline (highly recommend reading the class documentation on TagActor): TagActor
2 Likes