I have a data source delivering values that I want to expose through an OPCUA server. The data source is event-driven and can deliver multiples values for one variable in a single notification. I want to configure an OPCUA client to receive all values regardless of the period (just no losses).
What I tried:
Simulation
I have variable who ramps from 1 to 10 every 100ms. The data source emits n events containing m values changes. When the server receives events, he writes the corresponding OPCUA node with all the changes.
Client configuration
The client has a subcription with a publishInterval of 1000 ms, a monitored item with a queue size of 100 and a samplingInterval of 0 ms. The server is sending back a revisedSamplingInterval of 50ms.
Expected results
I want to receive all data change from 1 to 10.
Results
I'm missing some values. I think it's because I write the OPCUA node with all value when I receive them and the server can't sample it but I'm not sure.
Questions
It is possible to achieve this with opcua ? Do I need a special treatment on the server ? Is it normalized or is it implementation details ? Do I need other settings for the client ?
Ok so the client configuration was fine but the server didn't support a null sampling interval. After adding 0 to the list of available sampling interval, the server sends back a revisedSamplingInterval of 0 and it works.