Professional OPC
Development Tools

logos

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.

Browse Data Nodes

More
22 Dec 2013 08:25 #1632 by adid@contel.co.il
Replied by adid@contel.co.il on topic Browse Data Nodes
hello,

when i use the LogEntry i get more event notification after the event "The OPC-UA engine is connecting to the underlying subsystems." :

1. The OPC-UA engine has determined the client certificate parameters as listed below.
SubjectName: mscorlib.dll
ApplicationName: mscorlib.dll
ApplicationUri: urn:MES_SQL_TEST:mscorlib:2.0.0.0:neutral:b77a5c561934e089
ProductUri: urn:literal:string:Microsoft%C2%AE%20.NET%20Framework

2. The OPC-UA engine failed at tick 234809834 and will retry in 600000 milliseconds.

3 The OPC-UA client session on endpoint URL "opc.tcp://127.0.0.1:49320" failed at tick 234809834 and will retry in 10000 milliseconds.

4. The OPC-UA client session failed to connect to endpoint URL "opc.tcp://127.0.0.1:49320".
OPC-UA client engine is not connected.

5. The OPC-UA client session is connecting to endpoint URL "opc.tcp://127.0.0.1:49320".

6. The status subscription for an OPC-UA session on endpoint URL "opc.tcp://127.0.0.1:49320" is in failure. Further such warnings on this session will not be logged.
OPC-UA client engine is not connected.

in the output window i see :

* Transformed from: An exception of type 'Opc.Ua.ServiceResultException' from source 'Opc.Ua.Core' has occurred in OPC-UA SDK action 'ApplicationInstance.CheckApplicationInstanceCertificate'. The exception descend follows.
(1) {Opc.Ua.ServiceResultException} Opc.Ua.Core(CreateCertificateViaProxy) -> Could not create a certificate via a proxy: -error Could not initialize the platform layer.
(2) {Opc.Ua.ServiceResultException} Opc.Ua.Core(CreateCertificateViaProxy) -> -error Could not initialize the platform layer.

hope thisw helps ...

thank you,
Adi Damty

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

More
19 Dec 2013 12:34 #1627 by support
Replied by support on topic Browse Data Nodes
Thank you. I am still puzzled as to how this may be possible.
Can you please confirm that there was just this one LogEntry event notification, before the error occurred - not anything else?

Also, if you run in the debugger, are you able to monitor the Output window? Aren't there any exception messages (a hypothesis: An unexpected internal exception somewhere inside our component that gets "swallowed" and does not therefore directly appear to the caller).

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

More
19 Dec 2013 12:02 #1626 by adid@contel.co.il
Replied by adid@contel.co.il on topic Browse Data Nodes
hello,

in version 5.23.513.1 the problem still happened.
the additional details of this error i get using logEntry are :

EventType : System.Diagnostics.EventLogEntryType.Information
EvetId : 101
Message : The OPC-UA engine is connecting to the underlying subsystems.
Raw Data : null
Source : OPCLabs-UAEngine

thank you,
Adi Damty

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

More
19 Dec 2013 09:48 #1625 by support
Replied by support on topic Browse Data Nodes
Thank you for this. In the meantime, I have found one problem in the code, the Browse methods were not waiting for the completion of the internal "engine" initialization tasks, so that could explain it.

A new build with a fix for this is now placed as our public download. Can you please download it and reinstall; it should identify itself as 5.23.513.1.

If, however, the Read returns the same error, this fix is probably not going to help. In such case, can you please modify your code to attach an event handler to a STATIC event EasyUAClient.LogEntry, before a first EasyUAClient instance is created. In the event handler, collect every event (mainly, its Message) that you receive, up to the point of the error. There may be an indication of some kind of failure in these messages.

Many thanks

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

More
19 Dec 2013 08:39 #1624 by adid@contel.co.il
Replied by adid@contel.co.il on topic Browse Data Nodes
hello,

i created a clean website project in .net 3.5 project in order to test the problem is both environment ( the code is below ). the result are : in my test environment its all working, but in the client test environment ( the same code ) i get the same error : OPC-UA client engine is not connected.
this problem happened in debug mode and also not in debug mode.
i have also tried to read tag before browseDataNodes and than i get the same error from the Read function.

here is the code :

using OpcLabs.EasyOpc.UA;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
tryEasyUA();
}

private void tryEasyUA()
{
try
{
loadEasyUaClientProperties();

EasyUAClient easyUAClient = new EasyUAClient();
UAEndpointDescriptor uaEndpointDescriptor = new UAEndpointDescriptor("opc.tcp://127.0.0.1:49320");
UANodeElementCollection nodeElementCollection = easyUAClient.BrowseDataNodes(uaEndpointDescriptor);
Response.Write("Succeed");
}
catch (Exception exception)
{
Response.Write(exception.Message);
}
}

private static void loadEasyUaClientProperties()
{
EasyUAClient.AdaptableParameters.Session.CertificateAcceptancePolicy.AcceptAnyCertificate = true;

EasyUAClient.AdaptableParameters.Session.CheckEndpointDomain = false;
EasyUAClient.AdaptableParameters = EasyUAAdaptableParameters.Interoperability;
EasyUAClient.AdaptableParameters = EasyUAAdaptableParameters.OpcCompliance;

EasyUAClient.SharedParameters.Engine.AllowCertificatePrompt = false;
EasyUAClient.AdaptableParameters.Session.AllowEndpointDomainPrompt = false;
EasyUAClient.AdaptableParameters.Session.CertificateAcceptancePolicy.AllowUserAcceptCertificate = false;
}
}

thank you,
Adi Damty

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

More
18 Dec 2013 18:38 #1623 by support
Replied by support on topic Browse Data Nodes
It appears to be timing-related. Under otherwise identical circumstances (from a virtual machine snapshot), I can sometimes (rarely) see it, but mostly not.

Can you please tell me, is this the first operation you call, after creating the EasyUAClient object?

If you call something else before it (such as Read - but not Browse), does it help?

Many thanks

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

More
18 Dec 2013 09:50 #1618 by adid@contel.co.il
Replied by adid@contel.co.il on topic Browse Data Nodes
hello,


i have also pay attention that in the client test environemnt in the OPC-UA configuration the Trusted Servers Tab is missing.

thank you,
Adi Damty

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

More
18 Dec 2013 09:46 #1617 by adid@contel.co.il
Replied by adid@contel.co.il on topic Browse Data Nodes
hello,

still the problem remain.

i am now move to the OPC-UA 5.23.454.1 ( all 4 dll files ) in my test environment ( Asp.net v4.0 ) and it's all working in my test environment. this is my static properties i used :

private static void loadEasyUaClientProperties()
{
EasyUAClient.AdaptableParameters.Session.CertificateAcceptancePolicy.AcceptAnyCertificate = true;
EasyUAClient.AdaptableParameters.Session.CheckEndpointDomain = false;
EasyUAClient.AdaptableParameters = EasyUAAdaptableParameters.Interoperability;
EasyUAClient.AdaptableParameters = EasyUAAdaptableParameters.OpcCompliance;
EasyUAClient.SharedParameters.Engine.AllowCertificatePrompt = false;
EasyUAClient.AdaptableParameters.Session.AllowEndpointDomainPrompt = false;
EasyUAClient.AdaptableParameters.Session.CertificateAcceptancePolicy.AllowUserAcceptCertificate = false;
}

in my test client environment ( Asp.net 3.5 ) i use the same DLL's and the same static properties and i still get the error : OPC-UA client engine is not connected.

is the 5.23.454.1 version is also for use with .Net 3.5 ?
what does this error means ? maybe there is a defenition in the kepware i can switch on and off and this causing this ?
in the test client environment i have kepware V5.8.109.0 and in my test enviroment my kepware version is V5.7.84.0 - i don't think this is the problem, just mention it.

thank you,
Adi Damty

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

More
18 Dec 2013 09:19 #1616 by support
Replied by support on topic Browse Data Nodes
You can figure out the version of the assembly by right-clicking on in, Properties -> Details. You certainly have a mismatched assemblies there.

With each version of our product, we install just one "version" of each assembly. If you have assembly files of same name but different sizes, they are probably coming from different versions of the product. Try to remove those that are not of the latest version. Also check the Global Assembly Cache.

To your question about where are the assemblies loaded from: In QuickOPC-UA, there are no special procedures for this, aside from what is defined by Microsoft. Essentially, if the assembly is found in the GAC, it is used from there. If not, other places are searched, such as the directory where the process's EXE resides, or paths specified in the manifest. Also, the hosting environment (such as the ASP.NET) defines places where the assemblies are searched for.

In the case of IIS, you have limited or no control of what the main process is - and it would not be practical to place assemblies alongside the main EXE. Our installer places the assembly BOTH to the Assemblies folder under its installation path, AND to the GAC. In the ASP.NET runtime, there should be (and I think there isn't, even in your case) no "link" that points to this Assemblies folder: The assemblies load either from GAC, or from your bin folder where they get copied during building.

There is also a Microsoft tool (Fusion Viewer) that can be used to troubleshoot the process of assembly loading. I would not bother with it, though, until you make sure that you have just one version of each assembly on your computer.

Best regards

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

More
18 Dec 2013 09:06 #1615 by adid@contel.co.il
Replied by adid@contel.co.il on topic Browse Data Nodes
Hello,

it's defenatllay someting that releveant to the OPC-UA Version.

in my test environment ( Asp.Net 4.0 ) i have this files in my bin folder and it's all working :
OpcLabs.BaseLib.dll - 134k
OpcLabs.BaseLibExtensions.dll - 393k
OpcLabs.EasyOpcUA.dll - 170k
OpcLabs.EasyOpcUAInternal.dll - 1,860k

when i try to use the same DLL in my test client enviroment ( Asp.Net 3.5 ) than the function browseDataNodes cause the website to be stuck. if i change the DLL in mt test client environment to :
( this is the DLL of the OPC-UA 5.2.3 Version )
OpcLabs.BaseLib.dll - 168k
OpcLabs.BaseLibExtensions.dll - 437k
OpcLabs.EasyOpcUA.dll - 198k
OpcLabs.EasyOpcUAInternal.dll - 1,974k

than i get the error : OPC-UA client engine is not connected.
and also i remark the line in my code :

EasyUAClient.EngineParameters.CertificateAcceptancePolicy.AcceptAnyCertificate = true;

because there isn't class CertificateAcceptancePolicy in namespace EasyUAClient.EngineParameters, using this DLL's.

so i can i get it work ? does the DLL in the .Net 3.5 are different ?

thank you,
Adi Damty

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

Moderators: support
Time to create page: 0.084 seconds