Professional OPC
Development Tools

logos

Online Forums

Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.

Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.

Do not use the Contact page for technical issues.

Performance with large number of variables

More
09 Apr 2018 20:02 - 09 Apr 2018 20:03 #6221 by mpp
5) No I never modified that property

6) I'm running a couple of tests where in one there are no subscriptions and another one where I subscribe to the variables. In the application I have subscribed variables during the whole life cycle of the application. Those variables belongs to different clients tho. And I don't know if it matters or not but some of the clients I create don't have subscribed variables.

Regards
Last edit: 09 Apr 2018 20:03 by mpp.

Please Log in or Create an account to join the conversation.

More
09 Apr 2018 19:58 #6220 by support
Thank you.

Two more questions:

5. Do you modify the EasyDAClient.Isolated property anywhere?
6. Is it correct to say that for the duration of your program, you are basically always to subscribed to at least one item from the server?

Best regards

Please Log in or Create an account to join the conversation.

More
09 Apr 2018 19:36 - 09 Apr 2018 19:42 #6219 by mpp
1) The server is on the same computer

2) All recurrent operations are with a refresh interval shorter than a second.
Eventually when the operator change a parameter the application will write that value to the OPC server.

3) I found a bug in my test code and I'm actually rerunning the test. I will post the results in a few hours.

4) I'm sorry, my fault. In my code I do not call the subscription method if that number is below 100(ms) and it is the number I pass to client_.SubscribeItem(...);


The problem is that the write function often take a few seconds to complete.

Thanks
Last edit: 09 Apr 2018 19:42 by mpp.

Please Log in or Create an account to join the conversation.

More
09 Apr 2018 19:19 #6218 by support
Hello,

I will provide suggestion, but let me ask some question first, so that we do not lose time looking at options that do not apply to your case.

1. Is the server on the same computer or the client, or is it remote?
2. What are the (typical, and longest) intervals between the operations (reads, writes) your code performs on the target server? (e.g. each second, or typically a minute - some rough numbers).
3. The original notification I received about your post contained some additional text, with concrete numbers (such as the fact the read/write times were around 500 ms). Have you edited the post afterwards? The way it looks now, it does not actually identify any real problem. Can you please clarify.
4. When you write "refresh rate = -1", which property/object are you referring to precisely?

Thank you, and best regards

Please Log in or Create an account to join the conversation.

More
09 Apr 2018 15:55 - 09 Apr 2018 17:12 #6215 by mpp
Hi, we're having some performances issues on our application.

It happens that sometimes the OPC client take very long time (even some seconds) to read a value.

We have a lot of parameters (~2000) that are written in block once the application starts and then written again when the operator change a parameter's value but in this case only that specific parameter.

We have a few hundreds of other variables that are read constantly and an hundred of other variables that are written constantly.

Can the large amount of variables affect the overall performances?

We are using multiple instances of the EasyDAClient, one for the parameters (all of them with refresh rate = -1 and no subscription) and various for the I/O variables (with various refresh rates and some subscriptions depending on the function of the variable).

Can you tell us if this is the right way or if there is a better solution to our problem?

Any suggestion is appreciated, thanks
Last edit: 09 Apr 2018 17:12 by mpp.

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.061 seconds