Hi!
I'm quit new to this OPC communication concept. During a couple of weeks I have tried things out with the Milo-api, read the milo-examples, searched the internet for more examples
and best practices...but I still have some questions and some unresolved problems to figure out.
In my context, I'm trying to subscribe to about 50000 different data values (parameters) from the same endpoint. The data values origin from two main branches in the end point server
node-tree.
Current main opc-workflow:
- Create (one)
OpcUaClient and connect
- using the client to browse recursively for parameters in the first node bransch
- using the client to browse recursively for parameters in the second node bransch
- Merging all parameters to one big list of all available parameters
- using the client to set up (one)
UaSubscription and create MonitoredItemCreateRequest for all
available parameters
- subscribe...
I should probably also mention that I don't have access to the configuration and setup of the opc end point.
Some problems I have experienced:
- If the parameter list is too long the OPC-client will throw;
Caused by: UaException: status=Bad_TcpMessageTooLarge, message=message size exceeds configured limit: 3713273 > 2097152
- If I divide the list of parameters to smaller chunks and create
MonitoringItems for each chunk, the server throws:
Caused by: UaServiceFaultException: status=Bad_TooManySubscriptions, message=The server has reached
its maximum number of subscriptions
Some of my questions are;
- What are some best practices to set up subscriptions for a very
large number of values?
- Should I try to use more than one OpcUaClient to the same end-point?
- or should I try to set up several
UaSubscription
on the same OpcUaClient?
And some wishes...
- There are a lot of information regarding the milo-opc, but to
me it's quite fragmented over the internet and in this mailing list. I wish some of the information could be collected and written into the README.md file or in the examples at github.
,regards
Thomas