LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview OPC UA Toolkit and ExtensionObject (custom data types)

Hello,
I would like to use ExtensionObject (custom data types) with the Labview OPC UA library but cannot find the corresponding Vis to do so.

 

https://reference.opcfoundation.org/Core/Part6/v105/docs/5.2.2.15 


Can you please help?
Thank you
Ch. Content

0 Kudos
Message 1 of 12
(408 Views)

I don't think it is supported with the OPC UA Toolkit. The only datatypes supported are the standard scalars, string, byte string, timestamp and 1D and 2D variants of them.

 

I'm working on a library of my own using the open62541 library underneath but haven't gotten to implementing support for ExtensionObjects yet (open62541 only has very preliminary support for that although it is worked on, sort off).

Rolf Kalbermatter
My Blog
0 Kudos
Message 2 of 12
(404 Views)

Hello,

 

I am the Editor of VDMA OPC UA 40450-1 and 40451-1 Specifications and we have developed the OPC UA Server application based on the CS. It uses OPC UA Structures as per UA 1.04 and 1.05.02.

 

Does the OPC UA Toolkit from NI support OPC UA Structures?

One of our customers is using the NI OPC UA Toolkit as a Client module and we wanted to understand if this toolkit supports it.

 

We have the reference server available in GitHub: https://github.com/umati/UA-for-Industrial-Joining-Technologies/tree/main/OPC_UA_Servers/Release2

 

If someone can help us understand if the OPC UA Toolkit can be used as a Client and consume the Structure data from the OPC UA Reference Server above?

0 Kudos
Message 3 of 12
(376 Views)

Rolf, 

 

got any update about the ExtensionObjects? 
Since a customer is also using this to communicate with there device. And asked if we can also provide this.

Thank in advance for your answer.

________________________________________________________________________
Problems will keep comming... Lets hope the answers do that to.
Never give up without a fight...
0 Kudos
Message 4 of 12
(158 Views)

I'm still busy with testing and finalizing the first version of the OPC UA Client library. It looks pretty good, but getting the final things and packaging right proofs to be a tedious job. It's also not may main work, so happens mostly on the side.

 

To make sure I'm testing the right thing, can you explain in more detail which specific nodeIDs you are trying to read or write? Pretty much every data element that is not a basic data type is in fact wrapped into Extension Objects to be transferred over the wire and so far it seems to work for every one I tested. I'm not providing access to extension objects as such but the actual data wrapped in there as the extension object gets wrapped and unwrapped automatically internally. However, the whole conversion to and from Variants is quite involved and requires specific code paths for various data types, so I'm sure there are some where the current implementation could trip over and just return an error.

 

Support for direct access to generic extensions objects would likely not be feasible as it translates badly to a LabVIEW data type and access of the binary encoded content would be in most cases pretty useless for a user.

Rolf Kalbermatter
My Blog
0 Kudos
Message 5 of 12
(152 Views)

Hey Rolf,

 

the customer made a blackbox and told me that it will send the Fieldobject to the client.

And the client then needs to fill in the data using the FieldID and then there is a array with the data. Depending on what the field id requires. 

JWillems_0-1742991833046.png

This is the example I received on how it should be. I hope this can help you out on what is requested.

 

Best regards

 

 

________________________________________________________________________
Problems will keep comming... Lets hope the answers do that to.
Never give up without a fight...
0 Kudos
Message 6 of 12
(140 Views)

Seems he created an array of clusters as data object. Will have to see how I can get a similar data type in a test server to make sure this works as expected. The planned idea is that the Variant version of the data access VIs would simply use a compatible internal LabVIEW datatype. But, I haven't really made tests with multi-level complex datatypes so far. There is a chance that the recursive data type parsing is not yet fully up to snuff for this.

 

I was hoping it was just a nodeID in the example server that Mohir Agarwal had posted. That would have saved me the trouble of trying to build a sample server somehow that uses such a datatype.

Rolf Kalbermatter
My Blog
0 Kudos
Message 7 of 12
(132 Views)

Rolf,

I am going to the customer on Friday.
Noticed that with the OPC UA driver we can make the Byte array available also. 
Maybe we can use it that way. Only thing is that currently they use the ID ins stead of the Tag to communicate.

So will see how it goes when I can link the hardware. 

 

I will keep you informed.

Thanks in advance for the help you already gave.

________________________________________________________________________
Problems will keep comming... Lets hope the answers do that to.
Never give up without a fight...
0 Kudos
Message 8 of 12
(116 Views)

Hey Rolf,

 

I am at the customer and noticed that in the UA Expert they are able to communicate. 

I looked at these settings from the current OPC UA driver where we need the tags to send data (noticed that this is on the top right the ID) and I am able to read out some of the strings where there is a tag with the Labview.

JWillems_0-1743154969270.png

 

Apparently they have a method that they use  --> Look at the following link  UA Part 3: Address Space Model - 4.7 Methods

So I wonder how we are able to have a way to work with this. 
Thank in advance for helping me out.


Best regards

Joris Willems

________________________________________________________________________
Problems will keep comming... Lets hope the answers do that to.
Never give up without a fight...
0 Kudos
Message 9 of 12
(86 Views)

Hmm, not exactly sure what the image shows to be honest. I haven't used UA Expert at all so far.

 

But you mention methods. That's another feature of OPC UA that you can't do with the NI Toolkit but that I have already implemented in my toolkit. But I haven't gotten to testing it beyond very basic data types though.

Rolf Kalbermatter
My Blog
0 Kudos
Message 10 of 12
(82 Views)