Register for ModelChangeEvents failed - How to determine server capabilities?

Questions regarding the use of the UaExpert.

Moderator: uaexpert

Post Reply
illishar
Full Member
Full Member
Posts: 9
Joined: 12 Oct 2009, 11:13

Register for ModelChangeEvents failed - How to determine server capabilities?

Post by illishar »

Hello all,

When we (UaExpert) connects to one of our very small embedded servers, it gives an error:

Register for ModelChangeEvents failed: createSubscription returned BadNotSupported.

This makes sence, as the very small server doesn't support Subscriptions ^^

However, it'd be nice if the server could tell UaExpert not to try. And I assume that's already supported?
Eg. the server profile could be the "http://opcfoundation.org/UA-Profile/Server/NanoEmbeddedDevice"? But it prolly doesn't announce this properly or something.
Can you tell, what or where do UaExpert look, in order to dertermine server capabilities? Or perhaps more specifik, where does it look to decide whether or not to register for ModelChange events?

Regards,

User avatar
Support Team
Hero Member
Hero Member
Posts: 3072
Joined: 18 Mar 2011, 15:09

Re: Register for ModelChangeEvents failed - How to determine server capabilities?

Post by Support Team »

Hi,

there are quite some features of UaExpert that rely on (hope for) UA servers having capability of subscription. In fact we believe that the subscription is the basic core feature of OPC UA client server communication. That said, nano profile does not make much sense, no security, no subscription, why use OPC at all?

The UaExpert correctly shows the error in the log window, independent of the capabilities and limitations of the server, an arbitrary client will try whatever he assumes might be available, server must correctly response with correct status. In your case however UaExpert continues to work, therefor it is more an informational log entry. If you just don't like to see the error message, you can just close the Log-Window.

Even though we don't like the idea to find workarounds in UaExpert to overcome poor or limited implementation of UA server, or just even "suppress" them, there is a configuration setting to prevent the UaExpert for subscribing to model change events Settings-->ConfigureUaExpert--> "General.SubscribeForModelChangeEvents" can be set to "false" (is true by default).
Best regards
Unified Automation Support Team

illishar
Full Member
Full Member
Posts: 9
Joined: 12 Oct 2009, 11:13

Re: Register for ModelChangeEvents failed - How to determine server capabilities?

Post by illishar »

Funny story - We've been using OPC Ua servers, for our own devices for 15 years. Lots of different clients connected.

The most common characteristic of the clients, has been their inability (or unwillingness) to use subscriptions. This includes LabView, HMIs, PLCs.

;-)

Anyway, thanks for the answer.

User avatar
Support Team
Hero Member
Hero Member
Posts: 3072
Joined: 18 Mar 2011, 15:09

Re: Register for ModelChangeEvents failed - How to determine server capabilities?

Post by Support Team »

Hi,

the OPC UA Specification allows (some very few) Profiles/Facets for UA Servers (because of their limited memory or CPU power) to implement what is known as "Micro-Embedded-Profile" or even the "Nano-Embedded-Profile". Such servers may have no subscriptions or have no security at all, furthermore servers can show their "Operational Limits" including their capabilities (array of Profile-URIs).

Anyways, some Clients will read and respect (and maybe adopt) to such limitation, others may just give it a try and get "Error not Implemented" or "Error Limits Exceeded". Both options valid, server should be able to handle and return proper ServiceFailure. Clients may have alternative or fallback strategy.

UaExpert was designed to demonstrate all the cool features of OPC UA, the DA-View is a subscription based list view displaying the content of the DataChange notification (PublishResponse). We have no plans to implement "cyclic Read" as a "fallback" to subscription, because we do not want to demonstrate such.
Best regards
Unified Automation Support Team

Post Reply