Topic RSS11:23, EEST
February 21, 2014
OfflineGood day,
I am undertaking my first steps using the Prosys SDK for PubSub (UDP Binary). One benefit of an OPC UA server used for pubsub, as advertised by the OPC UA standard, is the ability to configure pubsub via the Server/PublishSubscribe part of the Server addressSpace.
Is there any support for this built-in to the SDK? I created a publisher as per pubsub tutorial and samplepublishserver, yet the addressSpace does not reflect anything of that configuration. Is there any automatic synchronization in either direction between the server addressSpace and the effective pubsub configuration or is this to be managed in application code?
Many thanks, Hans-Uwe
13:42, EEST
April 3, 2012
OfflineHi,
Sorry, not supported by the SDK.
It might be implementable in the application level. However, some notes might be of use. To begin with, it would need to be differentiated do we talk about the … “complicated hierarchical version” or “single FileType node version” of the address space. Also the use-case would need more details.
Seems nowadays the spec actually has an official “single FileType way” https://reference.opcfoundatio…..14/9.1.3.7. Something like this was typically seen as a custom solution when PubSub came out. Implementing the original information model is complicated, not sure has anyone done that. And if has, then does anything actually use it. For example, UaExpert back then had PubSub configuration view just writing a UABinaryFile to a custom FileType node. Lets just say PubSub is more “work-in-progress” than ‘opc.tcp’ (in general and our SDK-wise).
Probably the FileType way (PubSubConfigurationType) is a lot easier to implement in an application and since it is also atomic swap it probably would be the way to go for tools. Though, it is harder to visualize, as it needs to be read first.
PubSubConfigurationType might be implementable using SDK 5.7.0 by implementing custom FileTypeNode.FileWrapper + FileTypeNode.RandomAccessFileWrapper. You will also need to set an implementation of the com.prosysopc.ua.types.opcua.server.PubSubConfigurationTypeNodeBase.setCloseAndUpdateMethodImplementation(PubSubConfigurationTypeCloseAndUpdateMethod) as the PubSubConfigurationType methods are not implemented in the SDK. This could be something we could maybe implement in the SDK itself, though unlikely to happen “exactly now”, maybe after summer.
For the “complicated hierarchical version” I can mention that UaServer.setPubSubConfigurator(PubSubConfigurator) was originally created as a hook for all the Method calls related to PubSub (https://documentation.prosysop…..rator.html, there is a lot, Codegen creates code that handles the routing to this interface). Though, in addition one would need to handle other services as well such as some Writes. Maybe this model could better serve as a read-only variation and possibly for e.g. restarting a failed Writer or something like that (as that is not a configuration change, sort of).
One of the downsides of us going with our own configuration style com.prosysopc.ua.pubsub.PubSubSystemConf, is that you need to convert it to com.prosysopc.ua.stack.core.PubSubConfiguration2DataType and back. SDK does not yet offer a method for this. Skipping details.
com.prosysopc.ua.UaBinaryFile offers some support for com.prosysopc.ua.stack.core.UABinaryFileDataType. Skipping a lot of details about custom types.
1 Guest(s)

Log In
Register