Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OPC-UA Client: Support for ExtensionObjects #9911

Open
Jayclifford345 opened this issue Oct 12, 2021 · 4 comments
Open

OPC-UA Client: Support for ExtensionObjects #9911

Jayclifford345 opened this issue Oct 12, 2021 · 4 comments
Labels
area/opcua feature request Requests for new plugin and for new features to existing plugins

Comments

@Jayclifford345
Copy link

Feature Request

In more complex OPC-UA server architectures there is heavy use of extension objects. An ExtensionObject is a container for any Structured DataTypes which cannot be encoded as one of the other built-in data types. A prime example for this would be an alert:

struct custom_alert {
    bool    door_open;
    int32_t current_operating_mode;
    float   temperature;
};

Proposal:

We should provide functionality within the OPC-UA client for deserializing Extention Objects. This could be done by pre-declaring Extention Objects to the client. I believe gopcua does support an Extention Object repository though I do not know if these objects need to be declared before the binary is built.

@Jayclifford345 Jayclifford345 added the feature request Requests for new plugin and for new features to existing plugins label Oct 12, 2021
@vdkost
Copy link

vdkost commented Oct 19, 2021

thank you for opening the request. I search for a possibility to handle more complex ExtensionObjects with customized dataTypes, like BooleanCollection
example_extensionObjectType_of_BooleanCollection_of_Boolean
or FloatCollection
example_extensionObjectType_of_FloatCollection_of_Single

@quenorha
Copy link

I would also add the array object support as feature request, since using arrays can really lower the CPU load of the server for same number of data.

@magiconair
Copy link

https://github.com/gopcua/opcua does support extension objects but they have to be declared and registered at compile time. See https://github.com/gopcua/opcua/blob/main/examples/udt/udt.go

I'm open for a dynamic definition of extension objects at runtime and then discovery through the type dictionary. PRs are welcome.

@Daniel-Deimann
Copy link

What is the expected date that this will be implemented ? Or is there a work-around for the time being?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/opcua feature request Requests for new plugin and for new features to existing plugins
Projects
None yet
Development

No branches or pull requests

6 participants