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.

Cannot browse OPC servers in remote computer

More
01 Aug 2019 17:50 #7594 by support
There are multiple things here.

1. You should not use properties for getting the value. That's one of the big "Don't-s" in OPC. I am not sure why you have given that example, it brings nothing useful.

2. The other example with ReadMultiple looks good. It is important to read many variables like this, and not one by one. For important, however, it is very important what MaximumAge are you specifying. If it is 0, it instructs the server to read form the device, which may take long. Similarly, if it a low number. What value are you using?

3. When you use any of the interactive clients such as the Quick Client, the timings are very different. What happens is that you first connect to the server, and that takes some time and the server is processing it. Because a human is slow, it takes time before next action is taken - and, you actually need to Add Group in the client. That again can take some time, while the server is internally working on it. The you need to select/Add Item. The situation repeats. And then you do a Read. So, from the moment you started, to the moment you do the Read, quite a time elapses. But with the coded client like QuickOPC, it (simplified: ) connects -adds the group - adds the item - calls the Read, so the processing times that were "hidden" in the interactive client become apparent.

For most part of it, however, it is usually the "set-up" that takes long. Once you are already connected,a and the OPC Group and OPC Item are there, things are faster. QuickOPC keeps the connection/group/item for some time (these are the hold periods). So, this explains why sometimes it is slow and sometimes faster. It can also be used as a work around: If you are reading, let's say, once per minute, Increasing the hold periods so that the connection stays always open would be a good idea - make them higher than one minute. This helps with subsequent operations but not the very first one. If you are concerned about the very first one as well, you can subscribe upfront to anything from the server - and give it some time after that. Any other operations later then will not require a new connection, because the subscription must keep the connection open. But they may still require new Group/Item, so the Hold periods advise above is still valid.

Best regards

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

More
01 Aug 2019 08:22 #7593 by SZL
I send additional informations about my tests.

So the below post is related to the GUI.
We have a WCF service, that read the OPC tag values and insert the data to a database.

Out requirements:
- Read 300 tag values every minute.

I create a test application to make my tests faster, so the test cases:

CASE: A

In the first test I use this code:
Private Sub BtnRead_Click(sender As Object, e As EventArgs) Handles btnRead.Click
        btnRead.Enabled = False
        txtLog.Text &= "------------------------------------------------------------------" & vbCrLf
 
        Try
            Dim item As New DAReadItemArguments(txtServer.Text, txtProgId.Text, txtTag.Text, CInt(txtValueAge.Text))
            Dim res = ReadTagValuesFromOPC(item)
 
            For Each i In res
                txtLog.Text &= "Result: " & i.ToString() & vbCrLf
            Next
        Catch ex As Exception
            txtLog.Text &= "Error during read OPC tag values: " & ex.Message & vbCrLf
            If ex.InnerException IsNot Nothing Then
                txtLog.Text &= "InnerException: " & ex.InnerException.Message & vbCrLf
            End If
        Finally
            btnRead.Enabled = True
        End Try
    End Sub
 
    Public Function ReadTagValuesFromOPC(ByVal tagData As DAReadItemArguments) As DAVtqResult()
        Using CL As New EasyDAClient()
            CL.InstanceParameters.Mode.AllowAsynchronousMethod = True
            CL.InstanceParameters.Mode.AllowSynchronousMethod = True
            CL.InstanceParameters.HoldPeriods.TopicRead = 59000
            CL.InstanceParameters.Timeouts.ReadItem = 58000
            CL.InstanceParameters.Timeouts.BrowseServers = 50000
 
            Return CL.ReadMultipleItems(New DAReadItemArguments() {tagData})
        End Using
    End Function

The result:



CASE: B

I see in Kepware Qucik Client that the property id [2] contains the value of the tag, so I create a function to read specified property id. My code:
Private Sub BtnReadByPropId_Click(sender As Object, e As EventArgs) Handles btnReadByPropId.Click
        btnReadByPropId.Enabled = False
        txtLog.Text &= "------------------------------------------------------------------" & vbCrLf
 
        Try
            Dim value = ReadTagValueByPropertyId()
            txtLog.Text &= "Value: " & value.ToString() & vbCrLf
        Catch ex As Exception
            txtLog.Text &= "Error during read OPC tag values: " & ex.Message & vbCrLf
            If ex.InnerException IsNot Nothing Then
                txtLog.Text &= "InnerException: " & ex.InnerException.Message & vbCrLf
            End If
        Finally
            btnReadByPropId.Enabled = True
        End Try
    End Sub
 
    Public Function ReadTagValueByPropertyId() As Double
        Dim value As Object = Nothing
 
        Try
            Dim pid As New DAPropertyId(CLng(txtPropId.Text))
            Using CL As New EasyDAClient()
                value = CL.GetPropertyValue(txtServer.Text, txtProgId.Text, txtTag.Text, pid)
            End Using
        Catch ex As OpcException
            txtLog.Text &= "Error during read OPC tag values: " & ex.Message & vbCrLf
            If ex.InnerException IsNot Nothing Then
                txtLog.Text &= "InnerException: " & ex.InnerException.Message & vbCrLf
            End If
        End Try
 
        If value Is Nothing OrElse IsNumeric(value) = False Then
            Return Nothing
        End If
 
        Return CDbl(String.Format(CultureInfo.CurrentCulture, "{0}", value))
    End Function

The result:

The reading of the tag value works, but the read duration of 1 tag is about 40 seconds to >60 seconds. If it is >60 seconds I get timeout error.





With Kepware Quick Client I can read all tag values in 1-2 seconds:



Can you help me please why the read operation is so slow. I read only one tag in >40 seconds and in this project I need read 300 tags every minute.

Thank you!
Attachments:

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

More
31 Jul 2019 06:55 #7588 by SZL
Hello,

The timeout problem is normal I think because the OPC Server contains lot of tags and the control cannot read it inside 1 minute over network.

So we try increase the timeout from 1 minute to 10 minute.
Firstly we try with your Connectivity Explorer app.



After this the control can browse all tags. It may be a coincidence (probably the tag browsing is faster second time…).

With our application we try increase the timeout with this:
OpcLabs.EasyOpc.DataAccess.Engine.EasyDAClientTimeouts.Default.BrowseServers = 600000
        OpcLabs.EasyOpc.DataAccess.Engine.EasyDAClientTimeouts.Default.BrowseNodes = 600000
        OpcLabs.EasyOpc.DataAccess.Engine.EasyDAClientTimeouts.Default.BrowseAccessPaths = 600000
        OpcLabs.EasyOpc.DataAccess.Engine.EasyDAClientTimeouts.Default.BrowseProperties = 600000

First time, the browsing throws timeout error. Second time its working and the tag list showing.

The error message:
Type: System.Runtime.InteropServices.COMException
Data: 
HelpLink: 
HResult: -2146233088 (0x80131500)
InnerException:
    OpcLabs.EasyOpc.OperationModel.OpcException: An OPC operation failure with error code -1073430527 (0xC004C001) occurred, originating from 'OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient'. The inner exception contains details about the problem. ---> System.Runtime.InteropServices.COMException: Cannot connect Data Access client (timeout). 
       --- End of inner exception stack trace ---
       at OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.CheckOpcResult(CHResult* hResult)
       at OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.InternalBrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.PSBoxingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.EasyDAClientCompositor.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.CompositeEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.EasyDAClientCompositor.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.CompositeEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.LicensingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.EasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Browsing.DANodeBrowseable.BrowseBranches(Object parentNode, Object nodeFilter, IEnumerable`1& branches, IEnumerable`1& exceptions)
    Data: 
    ErrorCode: -1073430527
    HelpLink: 
    HResult: -2146233088 (0x80131500)
    InnerException: System.Runtime.InteropServices.COMException (0xC004C001): Cannot connect Data Access client (timeout). 
        Data: 
        ErrorCode: -1073430527
        HelpLink: 
        HResult: -1073430527 (0xc004c001)
        InnerException: 
        Message: Cannot connect Data Access client (timeout). 
        Source: OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient
        StackTrace: 
        TargetSite: 
    Message: An OPC operation failure with error code -1073430527 (0xC004C001) occurred, originating from 'OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient'. The inner exception contains details about the problem.
    Source: App_Web_OpcLabs.EasyOpcClassicRaw.amd64
    StackTrace:
           at OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.CheckOpcResult(CHResult* hResult)
           at OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.InternalBrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.PSBoxingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.EasyDAClientCompositor.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.CompositeEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.EasyDAClientCompositor.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.CompositeEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.LicensingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.EasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Browsing.DANodeBrowseable.BrowseBranches(Object parentNode, Object nodeFilter, IEnumerable`1& branches, IEnumerable`1& exceptions)
    TargetSite: Void CheckOpcResult(CHResult*)
        DeclaringType: OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient
        Module: App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll
            Assembly: App_Web_OpcLabs.EasyOpcClassicRaw.amd64, Version=5.50.405.1, Culture=neutral, PublicKeyToken=6faddca41dacb409
            CustomAttributes: 
            FullyQualifiedName: C:\Windows\Microsoft.Net\assembly\GAC_64\App_Web_OpcLabs.EasyOpcClassicRaw.amd64\v4.0_5.50.405.1__6faddca41dacb409\App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll
            MDStreamVersion: 131072
            MetadataToken: 1
            ModuleHandle: System.ModuleHandle
                MDStreamVersion: 131072
            ModuleVersionId: fb27278c-e26b-4bf6-a169-8ff35033a83c
            Name: App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll
            ScopeName: App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll
Message: Problem browsing OPC Data Access (OPC-DA) branches.
Source: 
StackTrace: 
TargetSite:



So I search for a way to increase the control timout to 10 minute, because currently sometimes works, sometimes not.

Thank you!
Attachments:

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

More
29 Jul 2019 08:44 #7579 by support
We do not officially support older versions.
But anyway, there is currently no way to change the settings for the "client" object used inside the OpcBrowseControl.

But it's not clear to me what is it that you have changed in the demo app that has helped. Maybe I am misunderstanding something. Please post
- the precise error you were getting in the demo app
- at which moment
- how you have fixed it in the demo app
- the precise error you are getting with the OpcBrowseControl.

Thank you

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

More
26 Jul 2019 08:38 #7572 by SZL
Hello, Thank you for the fast answer. Our version number is 5.30.

With this format we have timeout problems, but in the QuickOPC demo application it works when we increase the timeout limits.

Can you help me please how can I increase the timeout of the "OpcBrowseControl" control in my project programatically?

Thank you!

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

More
26 Jul 2019 07:52 #7571 by support
Hello.

Which QuickOPC version are you using?

Try this: add a node under "Any computer", and enter

opcda://172.25.118.1/Kepware.KEPServerEX.V5

I hope this helps

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

More
25 Jul 2019 13:34 #7563 by SZL
Hello,

We develop an application to browse OPC tags in local or remote computer.
We use the "OpcBrowseControl" control.

The local browsing working well, but the remote not (remote computer IP: 172.25.118.1). I try add the remote server name to the "Any computer" and "Network", but it throw errors:

(I dont know the required format and I not found the documentation about this)


In "Any computer" node:
Exceptions
 
Type: OpcLabs.BaseLib.Browsing.BrowseException
Data: 
HelpLink: 
HResult: -2146233088 (0x80131500)
InnerException:
    OpcLabs.EasyOpc.OperationModel.OpcException: An OPC operation failure with error code -2147221005 (0x800401F3) occurred, originating from 'OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient'. The inner exception contains details about the problem. ---> System.Runtime.InteropServices.COMException: Invalid class string 
       --- End of inner exception stack trace ---
       at OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.CheckOpcResult(CHResult* hResult)
       at OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.InternalBrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.PSBoxingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.EasyDAClientCompositor.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.CompositeEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.EasyDAClientCompositor.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.CompositeEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Internal.LicensingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.EasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
       at OpcLabs.EasyOpc.DataAccess.Browsing.DANodeBrowseable.BrowseBranches(Object parentNode, Object nodeFilter, IEnumerable`1& branches, IEnumerable`1& exceptions)
    Data: 
    ErrorCode: -2147221005
    HelpLink: 
    HResult: -2146233088 (0x80131500)
    InnerException: System.Runtime.InteropServices.COMException (0x800401F3): Invalid class string 
        Data: 
        ErrorCode: -2147221005
        HelpLink: 
        HResult: -2147221005 (0x800401f3)
        InnerException: 
        Message: Invalid class string 
        Source: OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient
        StackTrace: 
        TargetSite: 
    Message: An OPC operation failure with error code -2147221005 (0x800401F3) occurred, originating from 'OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient'. The inner exception contains details about the problem.
    Source: App_Web_OpcLabs.EasyOpcClassicRaw.amd64
    StackTrace:
           at OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.CheckOpcResult(CHResult* hResult)
           at OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.InternalBrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.PSBoxingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.EasyDAClientCompositor.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.CompositeEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.EasyDAClientCompositor.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.CompositeEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.ForwardingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Internal.LicensingEasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.EasyDAClient.BrowseNodes(ServerDescriptor serverDescriptor, DANodeDescriptor parentNodeDescriptor, DABrowseParameters browseParameters)
           at OpcLabs.EasyOpc.DataAccess.Browsing.DANodeBrowseable.BrowseBranches(Object parentNode, Object nodeFilter, IEnumerable`1& branches, IEnumerable`1& exceptions)
    TargetSite: Void CheckOpcResult(CHResult*)
        DeclaringType: OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient
        Module: App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll
            Assembly: App_Web_OpcLabs.EasyOpcClassicRaw.amd64, Version=5.50.405.1, Culture=neutral, PublicKeyToken=6faddca41dacb409
            CustomAttributes: 
            FullyQualifiedName: C:\Windows\Microsoft.Net\assembly\GAC_64\App_Web_OpcLabs.EasyOpcClassicRaw.amd64\v4.0_5.50.405.1__6faddca41dacb409\App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll
            MDStreamVersion: 131072
            MetadataToken: 1
            ModuleHandle: System.ModuleHandle
                MDStreamVersion: 131072
            ModuleVersionId: fb27278c-e26b-4bf6-a169-8ff35033a83c
            Name: App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll
            ScopeName: App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll
Message: Problem browsing OPC Data Access (OPC-DA) branches.
Source: 
StackTrace: 
TargetSite: 

In "Network" node:
Exceptions
 
Type: OpcLabs.BaseLib.Network.Management.NetworkManagementException
Data: 
HelpLink: 
HResult: -2146233088 (0x80131500)
InnerException: 
Message: The parameter is incorrect
Source: OpcLabs.BaseLib
StackTrace:
       at OpcLabs.BaseLib.Network.Management.NetworkEnum.GetServerInfos(UInt32 serverType, String domainName)
       at OpcLabs.BaseLib.Browsing.ComputerBrowseable.BrowseLeaves(Object parentNode, Object nodeFilter, IEnumerable`1& leaves, IEnumerable`1& exceptions)
TargetSite: System.Collections.Generic.IEnumerable`1[OpcLabs.BaseLib.Network.ServerInfo] GetServerInfos(UInt32, System.String)
    DeclaringType: OpcLabs.BaseLib.Network.Management.NetworkEnum
    Module: OpcLabs.BaseLib.dll
        Assembly: OpcLabs.BaseLib, Version=5.50.405.1, Culture=neutral, PublicKeyToken=6faddca41dacb409
        CustomAttributes:
            [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "OpcLabs.BaseLib.Diagnostics")]
            [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "OpcLabs.BaseLib.Extensions")]
            [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "OpcLabs.BaseLib.Utilities")]
        FullyQualifiedName: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\OpcLabs.BaseLib\v4.0_5.50.405.1__6faddca41dacb409\OpcLabs.BaseLib.dll
        MDStreamVersion: 131072
        MetadataToken: 1
        ModuleHandle: System.ModuleHandle
            MDStreamVersion: 131072
        ModuleVersionId: b3f16609-ca33-4c25-a8b2-129c178603b9
        Name: OpcLabs.BaseLib.dll
        ScopeName: OpcLabs.BaseLib.dll
 

Another client, for example Kepware Quick Client can connect to the remote OPC Server from the same computer:



Can you help me please what is the correct format or what is the problem in this case?

Thank you!
Attachments:

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

Moderators: support
Time to create page: 0.104 seconds