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.

UAException -

More
07 Feb 2022 16:21 #10588 by support
Replied by support on topic UAException -
Yes, 100 ms should be fine.

(repeating):
Can you please answer whether you have some of the following:

- high CPU load
- high number of threads or tasks in the process
- connecting to many server simultaneously,
- slow network connection to the server
- unusually "slow" server (server response)

I know that it is hard to quantify what constitutes "slow", but I am just looking for an opinion/general picture of your application.

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

More
07 Feb 2022 11:45 #10587 by andis59
Replied by andis59 on topic UAException -
Hello,

At the moment I'm running on a KepserverEx in demo mode, which means that is will stop working after 2 hours...
I'm just preparing for the released version!

Yes, you can retry after at least slight delay (not immediately, in a "tight" loop).


What is a slight delay?
Will 100 ms work or do I have to wait longer?

// Anders

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

More
31 Jan 2022 19:27 #10579 by support
Replied by support on topic UAException -
Hello.

Yes, you can retry after at least slight delay (not immediately, in a "tight" loop).

The exception should not , however, be normally happening unless there are some "real" problems. Can you please answer whether you have some of the following:

- high CPU load
- high number of threads or tasks in the process
- connecting to many server simultaneously,
- slow network connection to the server
- unusually "slow" server (server response)

I know that it is hard to quantify what constitutes "slow", but I am just looking for an opinion/general picture of your application.

If you have any of the above, it might be an issue we are looking at to address in version 2022.1.

Regards

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

More
29 Jan 2022 17:07 - 29 Jan 2022 17:09 #10572 by andis59
UAException - was created by andis59
I'm using QuickOPC version="5.63.0-rev3" and it's an WPF application made in C#

I get this exception now and then

OpcLabs.EasyOpc.UA.OperationModel.UAException
HResult=0x80131600
Message=An OPC-UA operation failure with error ID 'OpcLabs.UAEngine=4507' occurred, originating from '' and with depth of 1. The inner exception, of type "OpcLabs.EasyOpc.UA.Engine.UAEngineException", contains details about the problem.
Source=OpcLabs.EasyOpcUA
StackTrace:
at OpcLabs.EasyOpc.UA.IEasyUAClientExtension.ReadValue(IEasyUAClient client, UAReadArguments readArguments)
at OpcLabs.EasyOpc.UA.IEasyUAClientExtension.ReadValue(IEasyUAClient client, UAEndpointDescriptor endpointDescriptor, UANodeDescriptor nodeDescriptor)
at OpcUa.OpcUaClient.ReadBool(String tag) in E:\Users\ame\source\repos\foo\DCSkyltLaser\OpcUa\OpcUaClient.cs:line 357

Inner Exception 1:
UAEngineException: Cannot lock the OPC-UA client session because it is not available.
+ The client method called (or event/callback invoked) was 'ReadMultiple[1]'.


The client method may be ReadValue, WriteValue, ReadMultiple, WriteMultiple,

The function that I have called OpcUa.OpcUaClient.ReadBool(String tag) is using ReadValue to read a boolean tag.

When this or other UAEceptions occurr: Is it enough to return an error and try to call the function again?

public bool ReadBool(string tag)
{
	bool result = true;
 
	try
	{
		var server = _cfg.ServerUrl;
 
		UAEndpointDescriptor endpointDescriptor = new UAEndpointDescriptor(server);
		UANodeDescriptor tagNodeDescriptor = new UANodeDescriptor(_FromTags.GetTag(tag));
 
		result = (bool)_easyUAClient.ReadValue(
			 endpointDescriptor, tagNodeDescriptor
		 );
	}
	catch (UAException uaException)
	{
		Log.Fatal(uaException, $",Failure: {uaException.GetBaseException().Message}");
		result = false;
	}
 
	return result;
}
Last edit: 29 Jan 2022 17:09 by andis59. Reason: Forgot to say version and WPF

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

Moderators: support
Time to create page: 0.053 seconds