AxisCommunications / opc-ua-gaugereader-acap

Small example ACAP application that reads analog gauges with video analytics and exposes the value via OPC UA.
https://www.axis.com/developer-community/industry-4-0-integration
Apache License 2.0
3 stars 0 forks source link

I want to monitor multiple gauges, but currently the ACAP only supports one (1) #18

Open joakimr-axis opened 1 year ago

joakimr-axis commented 1 year ago

Describe the feature

Currently, the ACAP will only monitor one (1) gauge. It would be nice, and very possible, to monitor more than one gauge.

The application code is structured to support any number of gauges: there is a class for a gauge so we would just have to create a new instance of the class for every new gauge. The same goes for the OPC UA server part, where we would only add a new node for each gauge.

The obstacle is the configuration of the gauge min/center/max points. The current implementation focuses on simplicity and to be as intuitive as possible. Furthermore, the purpose of the whole ACAP is to serve as an example/boilerplate and not a feature complete product. But from a parameter handling perspective, the ACAP can dynamically add parameters, so on that side it would be possible to without too much trouble add the possibility to handle more gauges. The culprit would be the manual configuration done in the web UI, and how the user should interact with it to set the configuration points for the different gauges (and add/remove them) in a convenient way.

Added value

In use cases with more than one gauge, the added value would of course be huge.

Workaround using current codebase

ACAP's are identified by their names. With the current codebase, building the code with different names would allow installing more than one instance of the ACAP (with different names only) and run them on separate OPC UA server ports. One instance for every gauge that is to be monitored. Since most use cases will probably have a need of <10 gauges, it is not that bad as a workaround.

joakimr-axis commented 1 year ago

Currently, I have no plans of adding this functionality myself, so if you who read this would like to come would like to contribute, it is up for grabs!