Professional OPC
Development Tools

logos

× If you are developing in .NET, but are using the OPC-UA (OPC Unified Architecture), please post in the QuickOPC-UA category instead.

Read performance [was: QUICKopc Client application missing the values and not retaining back]

More
22 May 2018 12:27 #6354 by support
As I explained, leave AllowAsynchronousMethod at the default (true). Only set it to 'false' if reads are not working at all, and return an error indicating that the asynchronous method is not functional.

As a note, I do not understand this part of your post: "there is no synchronization between OPC Client nad OPC server." The synchronous and asynchronous OPC operations have nothing to do with "synchronization" between the server and the client. Synchronous means that the OPC client makes a call and waits for the result. Asynchronous means that the OPC client makes a call and can proceed doing something else, and the OPC Server sends the result later. Asynchronous method is preferred in OPC, and that's why it is a default. QuickOPC hides the differences from you, and the ReadXXXX and WriteXXXX methods of EasyDAClient object always appear as synchronous to the developer, independent of whether internally the OPC call is synchronous or asynchronous.

Regards

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

More
22 May 2018 06:54 #6352 by SENTHILKUMAR
Dear Z,

the OPC Client reading the OPC server asyncronously. there is no synchronization between OPC Client nad OPC server.

in our code, we set the below

easyOPCClient.InstanceParameters.Mode.AllowAsynchronousMethod = false;

should we need to set or not set to false.

please let us know proper value need to set

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

More
19 May 2018 11:10 #6350 by support
The 'Isolated' setting causes each instance of EasyDAClient to maintain its own connection to the target server. Normally you can leave it at default ('false'), which means that only one connection will be kept to any target OPC server, and it will be shared by all EasyDAClient instances.

Only set 'Isolated' to 'true' if you need multiple separated connections to the server, e.g. if you need to set some parameters differently for each connection, or if you need to make operations in parallel (on each connection, operations are serialized). So far I have no indication that you have such needs, so I see no need to set 'Isolated' to 'true'.

Note: If you have just one instance of EasyDAClient, then, it does not matter whether it is set to 'true' or 'false'.

Similarly with the sync/async settings. Recommendation is to leave them at default unless there is a specific reason to change them. The default is that both sync and async are allowed, and async is preferred. If, for example, the server had a bug in the async implementation, it would be advisable to disable the async method. But if it works, there is no need to change it.

Regards

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

More
17 May 2018 02:15 #6340 by SENTHILKUMAR
Dear Z,

we are using below code

static EasyDAClient easyOPCClient;

EasyDAClient.SharedParameters.TopicParameters.SlowdownWeight = 0.0f;
EasyDAClient.SharedParameters.TopicParameters.SpeedupWeight = 0.0f;
easyOPCClient = new EasyDAClient();
easyOPCClient.Isolated = true;
easyOPCClient.InstanceParameters.Timeouts.ReadItem = 6000;//set 30 seconds timeout for read item
easyOPCClient.InstanceParameters.Mode.AllowAsynchronousMethod = false;
easyOPCClient.InstanceParameters.UpdateRates.ReadAutomatic = Timeout.Infinite;
easyOPCClient.InstanceParameters.UpdateRates.WriteAutomatic = Timeout.Infinite;
EasyDAClient.SharedParameters.ClientParameters.UseCustomSecurity = false;

our code we mentioned

easyOPCClient.Isolated = true; opc client isolated as true. should we mention true or false.
and also asynchronous method as false. please carify.

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

More
07 May 2018 05:47 #6303 by support
We have tried to reproduce this as you indicated, with a local connection to Matrikon simulation server, and with 1000 items. We used one quite fast computer, and in a second test, an old, relatively slow notebook.

We were not able to reproduce the issue under normal circumstances. Reading 1000 items typically took considerably less than 1 second, practically always below 2 seconds, and never gave the error ("read not completed"). Longer time was always needed for the first read operation, as it involves setup operations which are not necessary for subsequent reads.

In one test, accidentally, we have run into situation where the read times started growing higher than stated above. But that was with a coding error: We have created and used more and more instances of EasyDAClient type with Isolated property set to 'true'. Each of these then maintains its own connection to the server and consumes relatively high amount of resources. So this was a coding bu: When using "Isolated = true", the developer is responsible for keeping the amount of such (active) instances low enough, as to not cause any problem. I want to mention that, so that you can check your code and make sure you have not done the same mistake.

Apart from that, the problem was not reproducible, and therefore we cannot proceed further on the issue.

Regards

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

More
30 Apr 2018 07:21 #6275 by support
I suppose Matrikon simulation server with local connection should be relatively fast. It is weird that it would not be possible to read 1000 items in 30 seconds or so.

We will try to reproduce the issue here with the simplest achievable configuration, i.e. local connection to Matrikon simulation server. I will let you know the results.

Regards

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

More
26 Apr 2018 14:34 #6267 by SENTHILKUMAR
the error is not happened due to network or OPC Server. we are getting this error in same computer.

when we try to run OPC client developed using quick OPC and Matrikon OPC Simulation server in the same computer, we are getting this error.

-1073430509 - Read not completed. This error indicates that it could not be verified that the requested read operation was completed during the timeout period. It is possible that the read operation will actually succeed or fail, but later. Increase the timeout period if you want to obtain positive or negative indication of the operation outcome. Other reason for this error may be that under heavy loads, topic request or response queue is overflowing. Check the event log for queue overflow errors (if event logging is supported by the product and enabled).

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

More
26 Apr 2018 06:05 #6264 by support
It is very unlikely that this is caused by the queue overflow, mentioned in the text. Almost certainly it is what it what is says at the beginning: "Read not completed" - that is, a timeout error, indicating that the OPC operations were not completed during the timeout you used (30 seconds).

What makes you believe that this is not caused by the OPC server or network?
I have made a test, and we are able to consistently read 1000 items over the local network from or simulation server in approximately one second.

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

More
24 Apr 2018 07:53 #6262 by SENTHILKUMAR
As you decided, i will continue my query in this thread. please share us the solution to clear the queue overflow error

-1073430509 - Read not completed. This error indicates that it could not be verified that the requested read operation was completed during the timeout period. It is possible that the read operation will actually succeed or fail, but later. Increase the timeout period if you want to obtain positive or negative indication of the operation outcome. Other reason for this error may be that under heavy loads, topic request or response queue is overflowing. Check the event log for queue overflow errors (if event logging is supported by the product and enabled).

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

More
23 Apr 2018 12:04 #6255 by support
Hello,
I have separated this into a forum thread of its own. Each forum thread should be dedicated to one issue.

What makes you believe that the slow read is not caused by the OPC server or network?
I have just made a test, and we are able to consistently read 1000 items over the local network from or simulation server in approximately one second.

Best regards

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

Moderators: support
Time to create page: 0.215 seconds

      

 Recommend this on Google