I'm preparing architecture for a fairly complex control system (technology stack is Beckhoff, so OOP etc is available).
The system has many controlled devices, each device is associated with a setpoint and a readback value + several config values (limits, scaling etc).
The parameters (setpoints, limits, scaling) need to come from external database.
The same set of parameters is exposed out to the device adapters
The same set of parameters is exposed to HMI for viewing and modification.
Is there an architecture pattern that I can follow to handle this in elegant manner?
My initial idea was to bundle the parameters into structures so that each device is only interested in single struct- The component that handles database should be the owner of the parameters and devices / HMI should only get references to those.
It feels like this should be a common problem, so I'd be interested to hear how you normally tackle this.
The system has many controlled devices, each device is associated with a setpoint and a readback value + several config values (limits, scaling etc).
The parameters (setpoints, limits, scaling) need to come from external database.
The same set of parameters is exposed out to the device adapters
The same set of parameters is exposed to HMI for viewing and modification.
Is there an architecture pattern that I can follow to handle this in elegant manner?
My initial idea was to bundle the parameters into structures so that each device is only interested in single struct- The component that handles database should be the owner of the parameters and devices / HMI should only get references to those.
It feels like this should be a common problem, so I'd be interested to hear how you normally tackle this.