We are working on a CS for Joining which includes Tightening, Gluing, Riveting etc. One of the key values which we get from the controller and tools is Result.
Result is a structure which includes many parameters and references to other set of variables and objects in the address space.
One controller can generated n-number of results and can transmit data continuously when the operation is performed or those set of results can be sent later since controllers also have those stored.
What is best way to visually represent result in the address space?
Is it good to have result represented as variable under a controller/tool object and overwrite result structure variable whenever new result is retrieved?
Or is it good to have a subscription in background and does not represent the result in the address space. In the end, clients, MES applications and users will take the result and store in the database or some storage.
Its like data access type of data but also have some history and i was a bit skeptical on how to represent/emulate both views in the OPC UA address space?
You need to define your use cases for how the information is going to be used.
If clients need time-coherent snapshots of the result then the information needs to be in a Structure.
If clients expect to be configured based on a result set that may be specific to a single server then it should be browseable.
Your application seems well suited to follow the model that is used for alarms and conditions.
In this model:
1) Events are defined and reported each time the condition changes state. Clients can subscribe for the individual fields it needs.
2) Objects may be present in the address that have links to other Objects that show context and provide the the last value reported as events.