Professional OPC
Development Tools

logos

Possible Session Timeout before SessionTimeout is hit

More
26 Jun 2018 13:50 #6479 by Holbach
Brilliant, thank you. That appears to have done the trick in 2018.1 as well.

Many Thanks!

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

More
26 Jun 2018 09:17 - 26 Jun 2018 09:17 #6472 by support
Thank you for reporting this.

This appears to be a bug on our side. We will fix it in version 2018.3; below is a workaround (tested with 2018.2).

Place the following XML snippet into the UA SDK configuration file, as sub-element of <SecurityConfiguration>:
<!-- The directory used to store invalid certficates for later review by the administrator. -->
    <RejectedCertificateStore>
      <StoreType>Directory</StoreType>
      <StorePath>%CommonApplicationData%\OPC Foundation\CertificateStores\RejectedCertificates</StorePath>
    </RejectedCertificateStore>

I hope this helps
Best regards
Last edit: 26 Jun 2018 09:17 by support.

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

More
25 Jun 2018 21:51 #6470 by Holbach
The trace file shows the following:

Information(132): OPC-UA engine SDK configuration successfully provided by "OpcLabs.EasyOpc.UA.Toolkit.AppConfigSdkConfigurationProvider".
Error(1): INTERNAL ERROR. The OPC-UA engine might be in an unstable state.
An exception of type 'System.NullReferenceException' from source 'OpcLabs.EasyOpcUA' has occurred in OPC-UA guarded operation 'UAClientEngineBase.BeginExternalConnect'. The exception descend follows.
(1) {System.NullReferenceException} OpcLabs.EasyOpcUA(UpdateFrom) -> Object reference not set to an instance of an object.

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

More
25 Jun 2018 20:38 #6469 by Holbach
I've given the AppConfig UAConfigurationSources a shot but am seeing a different error with the ReadMultiple call now; specifically "Attempt to add existing item into a set." when the code hits:

ValueResult[] readResults = client.ReadMultipleValues(readNodes.ToArray());

I've switched to version 2018.1 to see if this might help but the behavior is the same.

I am using the config.xml file you linked to here http://www.opclabs.com/forum/ua-reading-writing-subscriptions/1781-call-to-subscribemultiplemonitoreditems-stalls-when-opc-server-is-unavailable-for-more-than-1-minute?start=10#3952 without any modifications. (just the name of the file)

The app.config file now contains:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
     <section name="UAClientEngine" type="Opc.Ua.ApplicationConfigurationSection,Opc.Ua.Core" />
   </configSections>
  <UAClientEngine>
   <ConfigurationLocation xmlns="http://opcfoundation.org/UA/SDK/Configuration.xsd">
     <FilePath>yyyTestClient.config.xml</FilePath>
   </ConfigurationLocation>
  </UAClientEngine>
  <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
</configuration>
Attachments:

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

More
15 Jun 2018 12:56 #6453 by support

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

More
15 Jun 2018 11:37 #6452 by Holbach
I am currently using version 5.23 and targeting Framework 3.5. I have a collection of about 2000 UAReadArguments that are being read in a single transaction - the read can take a LONG time to complete - 5+ hours - so I am looking for ways to increase the timeouts the EasyUAClient is using.

I've tried increasing all timeouts I was able to find, but am seeing the EasyUAClient send a Close Session request after exactly 10 minutes and 6 seconds (watching the traffic in a Wireshark), and I am catching a BadRequestTimeout - is there a timeout I am missing, and the session is being closed as a result (instead of being the cause of the timeout)


This is not the exact code being used, but is the same where it matters:

client = new EasyUAClient();
client.Isolated = true;

client.IsolatedAdaptableParameters.Session.CloseTimeout = 120000000;
client.IsolatedAdaptableParameters.Session.SessionTimeout = 120000000;
client.IsolatedAdaptableParameters.Session.SessionConnectTimeout = 120000000;

resultList.Add(client.ReadMultipleValues(readArray));

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

Moderators: support
Time to create page: 0.179 seconds

      

 Recommend this on Google