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.

InputArgument Variant Question - BadNotImplemented

More
07 May 2024 06:44 #12772 by support
Hello.

Yes, that's right. If they wanted to go the way the I described, the UAMonitoredItemArguments should be filled with all other information needed to subscribe to the event, and then passed to the SubscribeMonitoredItem method.

It seems, however, that they want to use the SubscribeEvent method, which constructs the UAMonitoredItems internally, from the parameters passed to the method call. In such case, they need to replace
client.SubscribeEvent(endpointDescriptor, UAObjectIds.Server, 1000);
with
client.SubscribeEvent(endpointDescriptor, UAObjectIds.Server, 1000, null, autoConditionRefresh:false, null, null);
If done right, there shouldn't be a call to ConditionRefresh in the Wireshark trace at all.

Best regards

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

More
06 May 2024 19:38 #12770 by ZParham
Thank you! Attached is a snapshot of the current code from the end user. I do not think it is being used properly, as "myargument" is not referred to again in the provided code.
Attachments:

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

More
06 May 2024 19:24 #12769 by support
Hello.

This piece of code by itself is correct, but in order for it to function properly it must be the UAMonitoredItemArguments object that you are actually using to make the subscription. So, in order to give you the answer, I need to see whether it is the case - i.e. also the code that calls EasyUAClient.SubscribeXXXX, and the code in between that puts together the arguments.

Best regards

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

More
06 May 2024 17:54 #12768 by ZParham
Thank you!

Here is the code which the end user is using to set the autocondition to false. Is this correct?

UAMonitoredItemArguments myargument = newUAMonitoredItemArguments();
myargument.AutoConditionRefresh = false;


Initially, my thought was that this was in the incorrect location, but even after moving where this is placed within the code multiple times, we are still seeing the BadNotImplemented. Based on an additional Wireshark that was provided, it does seem that we are getting this for the same call as before.

At this point, I suspect we are doing something wrong with how we are setting the attribute, but I admit that coding knowledge is not my strongest suit.

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

More
01 May 2024 08:31 #12748 by support
Hello.

UaExpert is getting BadNotImplemented from the same call as well, so there is no difference in this respect:



However, UaExpert may ignore the error.
QuickOPC is not ignoring it.

You can instruct QuickOPC that you do not want the ConditionRefresh be called automatically - and then it won't cause an error:

opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Late...ing%20Condition%20States2.html

Set the AutoConditionRefersh to 'false'.

Best regards
Attachments:

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

More
29 Apr 2024 17:42 #12740 by ZParham
Thank you very much for the clarification!

I requested a new capture and have attached what the customer provided to this response. Please let me know if you need anything else from us!

My hope is that we are just overlooking something simple here.
Attachments:

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

More
27 Apr 2024 09:39 #12736 by support
Hello.

The part that you provided data for shows a call to the ConditionRefresh method: reference.opcfoundation.org/Core/Part9/v104/docs/5.5.7#:~:te...0Server%20maintains%20Branches.

It has one argument, which is the SubscriptionId. The fact that they differ is not a surprise, since it is a dynamically assigned value, and comes from previous communication where the subscription has been created.

So, I believe that the cause for the problem is elsewhere. It could be, for example, that the subscription itself has been set up differently (earlier). Perhaps you can provide the two Wireshark captures in full, for me to look at? Please keep the amount of operations done to bare minimum necessary to show the problem.

Best regards

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

More
26 Apr 2024 17:03 #12735 by ZParham
Hello!

We have a customer who is working on creating an OPC UA Alarms and Events client to connect with a server that has little documentation.

When using the SubscribeEvent method, this customer receives "OPC UA service result - {BadNotImplemented}. Requested operation is not implemented."

He is able to subscribe to the same event in UAExpert, so we ran a Wireshark to compare the two calls. The only difference I found was that we sent different values within the Array of Variant in the InputArugments field (image attached.)

After doing some digging, I could not determine what this variant is or whether we can change what variant we are sending, and I was hoping you could help shine some light on this.

As always, thank you in advance!
Attachments:

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

Moderators: support
Time to create page: 0.059 seconds