HDA and PubSub

Questions regarding the use of the High Perfomance SDK for Server development

Moderator: uasdkhpc

Post Reply
Full Member
Full Member
Posts: 5
Joined: 16 Oct 2015, 11:10

HDA and PubSub

Post by EPetrevska »

Dear UA Team,

I have two general questions.

1. In the new V1.2.1 version of the HighPerf Stack there is an example "History Example Server", but under implemented services (service set), the HistoryRead and HistoryUpdate services are listed as unsupported. Should I consider HDA implemented or not implemented in the HighPerf Stack? And if not implemented, could You please tell me if You have a plan when it should be released?

2. How does the situation look like for PubSub?

Many greetings and thank you for Your answer in advance,

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

Re: HDA and PubSub

Post by Support Team »


the SDK supports all UA services to be sent and received.
For some services this is just a simple service stub which returns the error UA_SCBADNOTSUPPORTED.

But actually these services get fully decoded, the service stub gets called, and a response could be encoded.
All data types and encoding/decoding routines are available.
So you have the possibility to implement this functionality on your own for missing services.
This is e.g. true for Node Management services and Query service set.

The question is how much an SDK can do to call it "implemented".
Some services are completely handled SDK internally and you don't need to care about: e.g. OpenSecureChannel, CreateSession, etc.
Other services which access the data must be handled by the data provider: Read, Write, Call
Others are also provider specific, but the SDK offers convenience solutions for it: Browse, Subscriptions, etc.
So this simplifies implementation for you. This is nice to have, but not necessary.

The history services also integrated in the provider interface so that the data provider can provide this historical data.
So all data providers can handle directly historyread/historyupdate services very similar to read and write.
This is also demonstrated for HistoryRead in the History Example Server.
How you store historical data, configure it and maintain the data (delete old data) is an implementation detail.
The example uses a simple in memory ring buffer.
Other applications might use a database for this.

The SDK could support for calculating the aggregates defined in Part 11 of the OPC Foundation.
Currently, there is no support for this, but you can still implement this on your own.

PubSub is still going to be implemented and will be available at the end of 2019.
This means UADP (UDP/IP based).
Best regards
Unified Automation Support Team

Post Reply