- Posts: 7
- Thank you received: 0
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.
Issue no nodes present
Thank you very much for your help!
Please Log in or Create an account to join the conversation.
Anyway, the issue may truly be caused by the fact that you are addressing the server by its IP address, whereas the server endpoints (as retuned by the server) use "br-automation" as the host name, which is probably not understood by the name resolution/DNS on the client side. These kinds of endpoint configuration problems are actually not unusual in the OPC UA world.
Possible solutions/workarounds:
1. Reconfigure the server to return endpoints that are accessible from and understood by the clients (probably not an option in your case).
2. Use the HOSTS file on the client to provide "manual" host name resolution. In your case, add an entry for "br-automation", pointing to the IP address you need. Usual location of the file is: C:\Windows\System32\drivers\etc\hosts .
3. Instruct QuickOPC to override the host name returned by the server by the host (address) specified originally. To do so, add the following line at the beginning of your program
EasyUAClient.AdaptableParameters.Session.EndpointSelectionPolicy.EnforceSameSite = true;
Note that this last option cannot be used to change behavior of already compiled (binary) programs, such as the Demo (but the source code of all our examples is available and goes with the product, too).
Best regards
Please Log in or Create an account to join the conversation.
public form_comunicator()
{
OpcLabs.EasyOpc.UA.EasyUAClient.LogEntry += new EventHandler<OpcLabs.BaseLib.Diagnostics.LogEntryEventArgs>(MyHandler);
InitializeComponent();
//someothercode...
}
private static void MyHandler(object sender, OpcLabs.BaseLib.Diagnostics.LogEntryEventArgs arg)
{
bool done = false;
while(!done)
{
try
{
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\\Log_upcua.txt", true))
{
file.WriteLine("________________________________________________________________");
file.WriteLine("New Entry:");
file.WriteLine("Timestamp:" + arg.Timestamp);
file.WriteLine("Category:" + arg.Category);
file.WriteLine("EntryType:" + arg.EntryType);
file.WriteLine("EventId:" + arg.EventId);
file.WriteLine("Message:" + arg.Message);
file.WriteLine("RawData:" + arg.RawData);
file.WriteLine("Source:" + arg.Source);
file.WriteLine("ToString:" + arg.ToString());
done = true;
}
}
catch
{
System.Threading.Thread.Sleep(1);
}
}
}
I attached the file with the outputs.
Please Log in or Create an account to join the conversation.
Thank you
Please Log in or Create an account to join the conversation.
Type: OpcLabs.BaseLib.Browsing.BrowseException
Data:
HelpLink:
HResult: -2146233088 (0x80131500)
InnerException:
OpcLabs.EasyOpc.UA.UAException: An OPC-UA operation failure with error code -1 (0xFFFFFFFF) occurred, originating from 'System'. The inner exception, of type 'System.Net.Sockets.SocketException', contains details about the problem. ---> System.Net.Sockets.SocketException: Der angeforderte Name ist gültig, es wurden jedoch keine Daten des angeforderten Typs gefunden
bei System.Net.Dns.GetAddrInfo(String name)
bei System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
bei System.Net.Dns.GetHostAddresses(String hostNameOrAddress)
bei Opc.Ua.Bindings.TcpMessageSocket.BeginConnect(Uri endpointUrl, AsyncCallback callback, Object state)
bei Opc.Ua.Bindings.TcpClientChannel.BeginConnect(Uri url, Int32 timeout, AsyncCallback callback, Object state)
bei Opc.Ua.Bindings.TcpClientChannel.BeginSendRequest(IServiceRequest request, Int32 timeout, AsyncCallback callback, Object state)
bei Opc.Ua.Bindings.TcpTransportChannel.BeginSendRequest(IServiceRequest request, AsyncCallback callback, Object callbackData)
bei Opc.Ua.Bindings.TcpTransportChannel.SendRequest(IServiceRequest request)
bei Opc.Ua.DiscoveryClient.GetEndpoints(RequestHeader requestHeader, String endpointUrl, StringCollection localeIds, StringCollection profileUris, EndpointDescriptionCollection& endpoints)
bei Opc.Ua.DiscoveryClient.GetEndpoints(StringCollection profileUris)
bei OpcLabs.EasyOpc.UA.Toolkit.ClientUtils.<>c__DisplayClass15.<SelectEndpointInternal>b__12()
bei OpcLabs.EasyOpc.UA.Toolkit.UAEngineBase.PerformSdkAction(UASdkCallType callType, Func`1 usingFunction, String name, Action sdkAction)
--- Ende der internen Ausnahmestapelüberwachung ---
bei OpcLabs.EasyOpc.UA.EasyUAClient.BrowseNodes(UAEndpointDescriptor endpointDescriptor, UANodeDescriptor nodeDescriptor, UABrowseParameters browseParameters)
bei OpcLabs.EasyOpc.UA.Browsing.UANodeBrowseable.BrowseNodes(Object parentNode, UABrowseParameters browseParameters, Predicate`1 nodePredicate, IEnumerable`1& leaves, IEnumerable`1& exceptions)
Data:
ErrorCode: -1
HelpLink:
HResult: -2146233088 (0x80131500)
InnerException:
System.Net.Sockets.SocketException (0x80004005): Der angeforderte Name ist gültig, es wurden jedoch keine Daten des angeforderten Typs gefunden
bei System.Net.Dns.GetAddrInfo(String name)
bei System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
bei System.Net.Dns.GetHostAddresses(String hostNameOrAddress)
bei Opc.Ua.Bindings.TcpMessageSocket.BeginConnect(Uri endpointUrl, AsyncCallback callback, Object state)
bei Opc.Ua.Bindings.TcpClientChannel.BeginConnect(Uri url, Int32 timeout, AsyncCallback callback, Object state)
bei Opc.Ua.Bindings.TcpClientChannel.BeginSendRequest(IServiceRequest request, Int32 timeout, AsyncCallback callback, Object state)
bei Opc.Ua.Bindings.TcpTransportChannel.BeginSendRequest(IServiceRequest request, AsyncCallback callback, Object callbackData)
bei Opc.Ua.Bindings.TcpTransportChannel.SendRequest(IServiceRequest request)
bei Opc.Ua.DiscoveryClient.GetEndpoints(RequestHeader requestHeader, String endpointUrl, StringCollection localeIds, StringCollection profileUris, EndpointDescriptionCollection& endpoints)
bei Opc.Ua.DiscoveryClient.GetEndpoints(StringCollection profileUris)
bei OpcLabs.EasyOpc.UA.Toolkit.ClientUtils.<>c__DisplayClass15.<SelectEndpointInternal>b__12()
bei OpcLabs.EasyOpc.UA.Toolkit.UAEngineBase.PerformSdkAction(UASdkCallType callType, Func`1 usingFunction, String name, Action sdkAction)
Data:
ErrorCode: 11004
HelpLink:
HResult: -2147467259 (0x80004005)
InnerException:
Message: Der angeforderte Name ist gültig, es wurden jedoch keine Daten des angeforderten Typs gefunden
NativeErrorCode: 11004
SocketErrorCode: NoData
Source: System
StackTrace:
bei System.Net.Dns.GetAddrInfo(String name)
bei System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
bei System.Net.Dns.GetHostAddresses(String hostNameOrAddress)
bei Opc.Ua.Bindings.TcpMessageSocket.BeginConnect(Uri endpointUrl, AsyncCallback callback, Object state)
bei Opc.Ua.Bindings.TcpClientChannel.BeginConnect(Uri url, Int32 timeout, AsyncCallback callback, Object state)
bei Opc.Ua.Bindings.TcpClientChannel.BeginSendRequest(IServiceRequest request, Int32 timeout, AsyncCallback callback, Object state)
bei Opc.Ua.Bindings.TcpTransportChannel.BeginSendRequest(IServiceRequest request, AsyncCallback callback, Object callbackData)
bei Opc.Ua.Bindings.TcpTransportChannel.SendRequest(IServiceRequest request)
bei Opc.Ua.DiscoveryClient.GetEndpoints(RequestHeader requestHeader, String endpointUrl, StringCollection localeIds, StringCollection profileUris, EndpointDescriptionCollection& endpoints)
bei Opc.Ua.DiscoveryClient.GetEndpoints(StringCollection profileUris)
bei OpcLabs.EasyOpc.UA.Toolkit.ClientUtils.<>c__DisplayClass15.<SelectEndpointInternal>b__12()
bei OpcLabs.EasyOpc.UA.Toolkit.UAEngineBase.PerformSdkAction(UASdkCallType callType, Func`1 usingFunction, String name, Action sdkAction)
TargetSite: System.Net.IPHostEntry GetAddrInfo(System.String)
DeclaringType: System.Net.Dns
Module: System.dll
Assembly: System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
CustomAttributes: [System.Security.UnverifiableCodeAttribute()]
FullyQualifiedName: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll
MDStreamVersion: 131072
MetadataToken: 1
ModuleHandle: System.ModuleHandle
MDStreamVersion: 131072
ModuleVersionId: 9b57c41c-9456-4d04-9a2b-20777454d586
Name: System.dll
ScopeName: System.dll
Message: An OPC-UA operation failure with error code -1 (0xFFFFFFFF) occurred, originating from 'System'. The inner exception, of type 'System.Net.Sockets.SocketException', contains details about the problem.
Source: OpcLabs.EasyOpcUA
StackTrace:
bei OpcLabs.EasyOpc.UA.EasyUAClient.BrowseNodes(UAEndpointDescriptor endpointDescriptor, UANodeDescriptor nodeDescriptor, UABrowseParameters browseParameters)
bei OpcLabs.EasyOpc.UA.Browsing.UANodeBrowseable.BrowseNodes(Object parentNode, UABrowseParameters browseParameters, Predicate`1 nodePredicate, IEnumerable`1& leaves, IEnumerable`1& exceptions)
TargetSite: OpcLabs.EasyOpc.UA.UANodeElementCollection BrowseNodes(OpcLabs.EasyOpc.UA.UAEndpointDescriptor, OpcLabs.EasyOpc.UA.UANodeDescriptor, OpcLabs.EasyOpc.UA.UABrowseParameters)
DeclaringType: OpcLabs.EasyOpc.UA.EasyUAClient
Module: OpcLabs.EasyOpcUA.dll
Assembly: OpcLabs.EasyOpcUA, Version=5.23.1371.1, Culture=neutral, PublicKeyToken=6faddca41dacb409
CustomAttributes:
FullyQualifiedName: C:\Windows\assembly\GAC_MSIL\OpcLabs.EasyOpcUA\5.23.1371.1__6faddca41dacb409\OpcLabs.EasyOpcUA.dll
MDStreamVersion: 131072
MetadataToken: 1
ModuleHandle: System.ModuleHandle
MDStreamVersion: 131072
ModuleVersionId: 8ae68643-58f1-4470-b009-26601dc50244
Name: OpcLabs.EasyOpcUA.dll
ScopeName: OpcLabs.EasyOpcUA.dll
Message: Problem browsing OPC Unified Architecture nodes.
Source:
StackTrace:
TargetSite:
Please Log in or Create an account to join the conversation.
For start, please provide details of the exceptions - e.g. as follows: On the left side of the yellow warning box in the browse dialog, there is a small button with ellipsis ("..."). Please use it to obtain the details of the exception. There should be a "Copy to Clipboard" feature as well. Please grab all that exception data and post it here.
Thank you
Please Log in or Create an account to join the conversation.
The Endpoint−URL of the B&R Server like other OPC−UA servers also is using the host name. Therefore the services FindServers and
GetEndpoints would both
return opc.tcp://HostName:Port even though the request was sent via an IP−address. In an environment unable to resolve the host name to an
IP−address navigation
to the Endpoints would be impossible without the client being able to handle this scenario. The solution for this problem was the replacement of
the host name
with the IP−Address.
However, a change in the OPC−UA specification does not longer allow this replacement and newer clients reject the connection with the error
message mentioned
in the title. The client SHALL handle this scenario in an appropriate way.
So how to handle this as client(with quick opc) in an "appropriate way"?
When I browse through the "binding dialog" you provide, there is an error saying something like "The requested name is valid, however there is no data".[2] As already stated before when I use some other (not your) client, it is working fine and data is there.
[1](Screenshot of the "bug fix")
[2](Browsing dialog, not finding any data on the server with the new update (192.168.0.14) showing how it was previously (192.168.0.158)
Please Log in or Create an account to join the conversation.