Avatar

Please consider registering
guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
OPCUA forwarder
February 26, 2020
17:29, EET
Avatar
fabien.le-mentec
Member
Members
Forum Posts: 6
Member Since:
February 26, 2020
sp_UserOfflineSmall Offline

Hi,

we are successfully using the SDK to implement a client / server based product. The SDK meets our requirements, thanks for that !

Now, we would like to implement a software that (eventually, based on some application specific criteria) forwards UA requests from the client to a server using another server as a gateway, such as:
CLIENT – SERVER#A – SERVER#B – SERVER#C

Is the SDK appropriate for that ? If so, at which layer would you suggest we implement the feature ? We can modify the stack if needed …

Thanks for your help,

Cheers,

February 26, 2020
17:48, EET
Avatar
Bjarne Boström
Moderator
Moderators
Forum Posts: 1027
Member Since:
April 3, 2012
sp_UserOfflineSmall Offline

Hi,

In theory, yes. In practice, buy https://www.prosysopc.com/products/opc-ua-gateway/.

Anyway while it can be made (we have done something related with our https://www.prosysopc.com/products/opc-ua-historian/), it is … let’s just say ‘very complicated’ and outside of any normal tech support we would give in the context of the SDK. But you can look at the MyBigNodeManager in the SampleConsoleServer, think that as “Server A” and delegate calls providing data to UaClient connected to “Server B”. Depending what you need it might be enough or not. But where at all possible, we would recommend just using UaGateway instead as that is designed and “battle-tested” on the field for those kinds of purposes.

February 27, 2020
10:03, EET
Avatar
fabien.le-mentec
Member
Members
Forum Posts: 6
Member Since:
February 26, 2020
sp_UserOfflineSmall Offline

Thanks for your comment, it completely answers my question … Cheers !

February 27, 2020
11:45, EET
Avatar
fabien.le-mentec
Member
Members
Forum Posts: 6
Member Since:
February 26, 2020
sp_UserOfflineSmall Offline

And for your information, we cannot use UA Gateway for (at least) those 2 reasons:
we use Linux,
we do not want to have a secondary service to administrate, so we wish to have the “Gateway” service located inside the server itself …

Seems difficult to achieve actually, but we will give it a try.

Cheers,

February 27, 2020
16:51, EET
Avatar
Jouni Aro
Moderator
Moderators
Forum Posts: 1026
Member Since:
December 21, 2011
sp_UserOfflineSmall Offline

You can still take a look at the Prosys OPC UA Historian, which is, in fact, this kind of an aggregation server (or gateway) and available on Linux as well. The historian capability comes on top, but the real challenge was to do the aggregation. The trickiest part is the aggregation of namespaces, which you will have to do. If you are mapping several servers behind the gateway, you will have to merge the namespaces of all underlying servers to the NamespaceArray of the gateway. That means also that you cannot pass the incoming calls directly to the underlying servers, because you will have to convert all NodeIds and QualifiedNames respectively.

March 2, 2020
12:04, EET
Avatar
fabien.le-mentec
Member
Members
Forum Posts: 6
Member Since:
February 26, 2020
sp_UserOfflineSmall Offline

Thanks a lot for your answer.

The issues are the ones you say. But I am trying to do it by modifying nodeIds directly … will see where it leads. We need both calls and events to be forwarded …

Another question: would you be interested by developping this feature for us ? If so, can we discuss that by email ?

Cheers

March 2, 2020
14:57, EET
Avatar
Bjarne Boström
Moderator
Moderators
Forum Posts: 1027
Member Since:
April 3, 2012
sp_UserOfflineSmall Offline

Good Luck with the implementation 🙂 (But if you encounter any issues, let us know still, since there is of course always room for improvements with the SDK).

For the “us developing this for you” matter, I cannot answer that myself, but I would say either way it is best if you contact sales@prosysopc.com

P.S.
You will need to take into account NamespaceArray, ServerArray and anything that can have a Namespace or Server index. This means at least _anything_ that can have a NodeId, ExpandedNodeId or QualifiedName (since it has the namespaceindex as well) needs to be modified. And meaning like any possible Structure etc. that might use those types as their fields etc.
Best is if you can just use the NamespaceUris and ServerUris instead of indexes, but of course you will need to convert them back to indexes as some point.

Forum Timezone: Europe/Helsinki

Most Users Ever Online: 1919

Currently Online:
54 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Heikki Tahvanainen: 402

hbrackel: 144

rocket science: 88

pramanj: 86

Francesco Zambon: 83

Ibrahim: 78

Sabari: 62

kapsl: 57

gjevremovic: 49

Xavier: 43

Member Stats:

Guest Posters: 0

Members: 739

Moderators: 7

Admins: 1

Forum Stats:

Groups: 3

Forums: 15

Topics: 1524

Posts: 6453

Newest Members:

shaylamaggard4, rickyjuarez140, jonathonmcintyre, fannielima, kristiewinkle8, rust, christamcdowall, redaahern07571, nigelbdhmp, travistimmons

Moderators: Jouni Aro: 1026, Pyry: 1, Petri: 0, Bjarne Boström: 1027, Jimmy Ni: 26, Matti Siponen: 346, Lusetti: 0

Administrators: admin: 1