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.

Subscribe Problem

  • Peter Siegel
  • Topic Author
  • Visitor
  • Visitor
27 Oct 2011 06:37 #578 by Peter Siegel
Replied by Peter Siegel on topic Re: IsRe: Subscribe ProblemI
Thank you very much, that would be great...
Peter

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

More
25 Oct 2011 17:30 #573 by support
Unfortunately not. I can put it on priority for next release (expected December to January).

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

  • Peter Siegel
  • Topic Author
  • Visitor
  • Visitor
24 Oct 2011 14:42 #571 by Peter Siegel
Replied by Peter Siegel on topic IsRe: Subscribe ProblemI
Hello!
Is this Problem already fixed in your latest release?
thanks
Peter

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

More
07 Jun 2011 13:47 #399 by support
Replied by support on topic Re: Subscribe ProblemI
The new version I was referring to is just in plans; it will not be available sooner than in September. For now, the way to go is the fix I have provided.
I do not understand your question:

I don't understand why there is a problem with big argument arrays when i subscribe for each item individually?

The problem I have described applies both to SubscribeItem in a loop for large number of items, and to SubscribeMultipleItems with large number of items, though with SubscribeItem in a loop it may be worse.

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

  • Peter Siegel
  • Topic Author
  • Visitor
  • Visitor
07 Jun 2011 13:38 #398 by Peter Siegel
Replied by Peter Siegel on topic Re: Subscribe ProblemI
When will this new fixed Version be released?

Will try your fix and report back..
I don't understand why there is a problem with big argument arrays when i subscribe for each item individually?
thank you

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

More
01 Jun 2011 08:28 #394 by support
Replied by support on topic Re: Subscribe ProblemI
This appears to be an issue with the algorithm that the component uses to make OPC method calls with reasonably-sized argument arrays. With high number of items, when first items are being subscribed, the load on the system increases, causing the algorithm to choose smaller "chunks" for processing, and consequently the whole process takes too long.
In my test, adding following code before the subscriptions are made has helped (you may experience with the 'factor' value):
const int factor = 100;
EasyDAClient.ClientParameters.TopicProcessingIntervalTimeout *= factor;
EasyDAClient.ClientParameters.TopicProcessingTotalTimeout *= factor;
We have an improvement planned for future version of the component which should resolve the issue altogether.
Best regards, Zbynek Zahradnik

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

  • Peter Siegel
  • Topic Author
  • Visitor
  • Visitor
31 May 2011 12:08 #393 by Peter Siegel
Replied by Peter Siegel on topic Re: Subscribe ProblemI
The Items are mainly constant, there will be max 1% change per second. Currently i have 0.07% percent change. But i need to be notified about the changes as fast as possible.
I'm not sure if i get all the update events from the server, but I'm not expecting more events.
So it seems to be working if I subscribe slowly enough. if i subscribe all at once without delay, i'm missing events. In this case i get events from ~25% of the Items.
thank you
Peter

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

More
31 May 2011 08:47 #392 by support
Replied by support on topic Re: Subscribe ProblemI
Hello,
can you please provide the missing piece:

4. What is the rough percentage of items changing in each update period (e.g. are they mainly staying constant, or - on the other side of the scale - do all or most of them change their value each update period?).

That is, is 40-60 updates currently received per second equal to the actual amount of changes generated by the OPC server, or is the amount generated by the OPC server higher and you are expecting to see more in the client (how much?).
Thank you

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

  • Peter Siegel
  • Topic Author
  • Visitor
  • Visitor
30 May 2011 07:54 #391 by Peter Siegel
Replied by Peter Siegel on topic Re: Subscribe ProblemI
Thank you for you help.
Yes the OPC Server is running on the same machine as the component. The opcdaserver.exe Process (Siemens Simatic.net OPC server) is using 3-5% on average. on a 8 core server. The Server has an average load of 15%.
I Subscribe with a rate of 250 like this:
EasyDAClient.EngineParameters.DefaultEventQueueSize = 99999;
EasyDAClient.EngineParameters.TopicLruSize = 99999;
easyDAClient = new EasyDAClient();
easyDAClient.ClientMode.AllowAsynchronousMethod = false;
easyDAClient.ClientMode.AllowSynchronousMethod = true;
easyDAClient.ClientMode.DesiredMethod = DAReadWriteMethod.Synchronous;
easyDAClient.Timeouts.ReadItem = 50000;
easyDAClient.Timeouts.WriteItem = 50000;
easyDAClient.Timeouts.GetProperty = 36000;
easyDAClient.UpdateRates.ReadAutomatic = 250;
easyDAClient.HoldPeriods.TopicRead = 24 * 60 * 60 * 1000;
easyDAClient.HoldPeriods.TopicWrite = 24 * 60 * 60 * 1000;
easyDAClient.ItemChanged += new EventHandler(easyDAClient_ItemChanged);

EasyDAClient.ClientParameters.LinkCallbackQueueSize = 10000;
easyDAClient.SubscribeItem(hostID, OPCServerID, datapoint.Name,250, datapoint);
I register for 4700 Tags at the moment and get approximately 40-60 updates per second.
It is essential for me that the subscribeitem method has done its work reliably. Is there any way to check if i'm successfully subscribed to an item?
thanks in advance..
Peter

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

More
29 May 2011 10:02 #389 by support
Replied by support on topic Re: Subscribe ProblemI
Hello,
I can confirm that I can reproduce similar or same behavior.
It is, however, highly dependant on other parameters. Specifically, the update rate of the items. Before I give you further advise, can you please answer the following?

Is the OPC Server running on the same machine as the component, or is it accessed over network?
If it is running locally, how much CPU does the OPC server use?
What is the update rate that you request in the "subscribe" call?
What is the rough percentage of items changing in each update period (e.g. are they mainly staying constant, or - on the other side of the scale - do all or most of them change their value each update period?).

Many thanks
Zbynek Zahradnik

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

Moderators: support
Time to create page: 0.058 seconds