Professional OPC
Development Tools

logos

Speed

More
03 Mar 2015 12:21 #2875 by support
Replied by support on topic Speed
Yes, correct for EasyDAClient.

With EasyUAClient, in the default state (if you are not using the "isolated" option):
 // to be called at the beginning of the program
 EasyUAClient.AdaptableParameters.Session.HoldPeriod = 300*1000;

Or, with the "isolated" option:
 var client = new EasyUAClient();
 client.Isolated = true;
 client.IsolatedParameters.Session.HoldPeriod = 300*1000;

Best regards

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

More
02 Mar 2015 19:59 #2871 by Gardoni
Replied by Gardoni on topic Speed
Hello.
I want to try both.
One question:
for DA clients I think I should use following code (correct me if I'm wrong):

easyDAclient = new EasyDAClient();
easyDAclient.InstanceParameters.HoldPeriods.TopicRead = 300000;
easyDAclient.InstanceParameters.HoldPeriods.TopicWrite = 300000;

for UA clients ?

Thanks
Davide

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

More
02 Mar 2015 16:00 #2870 by support
Replied by support on topic Speed
I can think of 2 suggestions:

1. Prolong the so-called "hold periods" - they are the delays determining how long the EasyXXClient component stays connected to the server after no further calls are made. The defaults are relatively short, considering your situation. Make the hold period e.g. 5 minutes. The result will be that the EasyXXClient component will stay always connected (which is also a downside, in some scenarios, but one cannot have both at the same time). The process of connection to the server and related tasks may be causing part of the current slowness, and this way they will be eliminated.

Let me know if you need help finding out how to precisely do this.

2. Merge together the calls that are dealing with different servers. Make just 1 call to ReadMultipleXXXX. The components perfectly support a combination of items from multiple servers in the same call, and they will operate on them in parallel - that's precisely what they were designed for. (Obviously you can't directly combine the Classic and UA servers in one call, but if needed, it can also be done - by running an additional thread).

Best regards

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

More
02 Mar 2015 15:51 #2869 by Gardoni
Speed was created by Gardoni
Hello.
I have a c# function called every 2-3 mins.

This function makes 3-4 calls to EasyDAClient "read multiple items" (client.ReadMultipleItemValues from different OPC servers) and several calls to EasyUAClient "read multiple items" (easyUAClient.ReadMultipleValues from different UA servers).

Totally they should be 5-10 calls to read data.

I need to make these calls faster, because when the function is executed it must finish quickly, now it is too slow.

Which are the tips I've to follow to speed up the process?

Thanks, Davide
Idra

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

Moderators: support
Time to create page: 0.184 seconds

      

 Recommend this on Google