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.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- Read performance [was: QUICKopc Client application missing the values and not retaining back]
Read performance [was: QUICKopc Client application missing the values and not retaining back]
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.
- SENTHILKUMAR
- Topic Author
- Offline
- Platinum Member
- Posts: 35
- Thank you received: 0
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.
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.
- SENTHILKUMAR
- Topic Author
- Offline
- Platinum Member
- Posts: 35
- Thank you received: 0
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.
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.
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.
- SENTHILKUMAR
- Topic Author
- Offline
- Platinum Member
- Posts: 35
- Thank you received: 0
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.
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.
- SENTHILKUMAR
- Topic Author
- Offline
- Platinum Member
- Posts: 35
- Thank you received: 0
-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.
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.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- Read performance [was: QUICKopc Client application missing the values and not retaining back]