Professional OPC
Development Tools

logos

Forcing AsyncIO2::Read

More
29 Jul 2019 14:58 #7583 by Holbach
Replied by Holbach on topic Forcing AsyncIO2::Read
Great, thank you very much for the quick action on this. The new version works great in my test environment. Will update once more after the testing in the production environment, but see no reason for it not work.

Thank you!

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

More
29 Jul 2019 08:10 #7578 by support
Replied by support on topic Forcing AsyncIO2::Read
There is now special handling of this server in QuickOPC 2018.3 build 1311.1 and later.
ReadMaxAge methods (sync or async) are not used with this server.

Best regards

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

More
29 Jul 2019 05:33 #7577 by support
Replied by support on topic Forcing AsyncIO2::Read
(for record: )

The ProgID is Matrikon.OPC.ScadaAutocom.1 and the CLSID is {19BEB251-5A63-423F-BEE5-E01D194EAE21}.

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

More
26 Jul 2019 07:31 #7568 by support
Replied by support on topic Forcing AsyncIO2::Read
We can do that as a patch into the current version (2018.3).

I could not find the AutoCom server in Matrikon downloads. Please either help me finding the download, provide me with the server, or (last resort) just send me its CLSIS and ProgIds.

Thank you

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

More
25 Jul 2019 18:29 #7565 by Holbach
Replied by Holbach on topic Forcing AsyncIO2::Read
So this project has come back up (only been a short year :) ) and we were able to do some testing with both AsyncIO3::ReadMaxAge as well as the SyncIO2::ReadMaxAge, and it looks like the server side issue here is not so much with OPC 3.0 calls, just ReadMaxAge calls in general. I appears to treat all ReadMaxAge calls as being from cache - even if the max age has been set as 0.

Would it be possible to have the toolkit use the AsyncIO2::Read calls with this server, even if it is changed in a recent version, rather than 5.23.

I have OPCAnalyzer traces available from my testing if you'd be interested in reviewing them.

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

More
20 Aug 2018 16:23 #6618 by support
Replied by support on topic Forcing AsyncIO2::Read
After verifying that there is indeed a problem in that server's IOPCAsyncIO3, we could make a special handling or provide a workaround into the current version (2018.2). But we cannot do that to QuickOPC 5.23.

There is no sufficiently "fine grained" setting: Currently, if the server exposes an interface, we suppose that it works.

One way to get around it would be if IOPCSyncIO2::ReadMaxAge worked correctly. In such case, you can set the AllowAsynchronousMethod in EasyDAClientMode to 'false' (this, in turn, is in the Mode of property in the InstanceParameters of EasyDAClient).

Best regards

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

More
16 Aug 2018 14:22 #6617 by Holbach
Replied by Holbach on topic Forcing AsyncIO2::Read
Forgive me for the delayed response. The server is the Matrikon OPC AutoCom Server v1.2.0.2.

We are using QuickOPC 5.23.2143.1 because of a need to target .NET Framework 3.5.

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

More
06 Jul 2018 08:49 #6500 by support
Replied by support on topic Forcing AsyncIO2::Read
Currently, QuickOPC always uses the newest OPC interfaces when available; and there is no setting to change it.

But we put in special handling for servers that are known to have problems. Which Matrikon Server (and version) are you using please? (and, which QuickOPC version)?

Regards

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

More
05 Jul 2018 11:08 #6499 by Holbach
It appears that when doing an EasyDAClient.Read or ReadMutliple that an AsyncIO3::ReadMaxAge call is issued.

Is there a way to force this to be a AsyncIO2::Read call instead?

The use case here is that we are working with a Matrikon Server that does not correctly handle the ReadMaxAge call, but does appear to be responding to a AsyncIO2 Read as expected.

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

Moderators: support
Time to create page: 0.190 seconds

      

 Recommend this on Google