NI Labs Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

NI LabVIEW OPC UA APIs Discussion

Interesting limitation on this API.  I ran some tests today with KepServerEx and their OPC UA Client driver.  Kepware's OPC UA client  works fine with static and dynamic tags.  However, I was unable to get NI OPC UA API to connect to the same dynamic tags.  My tests were using a GE Rx3i PLC and Kepware's GE Ethernet driver.

0 Kudos
Message 101 of 150
(2,132 Views)

Hello dwisti,

I have experienced a kind of similar issue at my side, but was not able to resolve it.

One semi-work around could be to make your dynamic tag "active" from any kind of quick client.

Normally then it should be browsable and you should be able to address and use it.

I know it's not really much of a work-around, but I'm interested in seeing if "your behavior "is similar to the one I saw.

Kind Regards,
Thierry C - CLA, CTA - Senior R&D Engineer (Former Support Engineer) - National Instruments
If someone helped you, let them know. Mark as solved and/or give a kudo. 😉
0 Kudos
Message 102 of 150
(2,132 Views)

Hi ThiCop,

You are correct. Making the dynamic tag "active" is the only way to access the dynamic tag (at least I know).

One clear thing is that UA doesn't support the COM DA concept of dynamic tags. All addressable nodes should be browseable by at least the admin.

0 Kudos
Message 103 of 150
(2,132 Views)

I'm having another issue when browsing tags.

This time I'm trying to browse static tags that were created inside Kepware. Seems like OPC UA API doesn't see items with the same name of existing folders. For example:

Folder level2:

level1.level2.level3

Item level2:

level1.level2

When I try to access the level2 item nothing happens as Labview see it as a folder.

This is an expected behavior of the API?

0 Kudos
Message 104 of 150
(2,132 Views)

This behavior is expected now due to our API's limitation.

When you browse node 'level1', you will get two result: 'level1.level2' as a folder and 'level1.level2' as a item. And since the read/write vi take the node path as the only input, the vi cannot know whether you want to access the folder or the item if they have the same path. It just accesses into the first node in nodes list which have the same path.

0 Kudos
Message 105 of 150
(2,132 Views)

Does the latest OPC UA API support variant read for individual items?  How do you find out about updates or new feautes of the is API with installing the latest verison of Labview?

0 Kudos
Message 106 of 150
(2,132 Views)

We don't plan to support this feature in 2013 release. Now there isn't a document which lists all the features we support. But you can find some changes in LV Help. If we release some new feature, the corresponding updates will be added in the Help.

Could you please tell me why you need this feature and what's the use case?

0 Kudos
Message 107 of 150
(2,132 Views)

I'm having some problems with OPC UA Write function. I'm writing 10 tags to a Kepware OPC server in a 1 second cycle. The time spend writing each tag is varying from 15 to 30 ms, the whole operation reach 500ms sometimes. This is limiting the number of tags that I can use in my application and turning the control output time unpredictable.

It seems that the problem is related with the write operation but not data size. If I do a consolidated array write of many tags at once doesn't change the time spent in the single operation. I'm actually doing this to get some time relief.

Parallel to this I have a async reading loop accessing hundreds of tags without problem.

Is this a normal behavior? Is there any way to write data asynchronously through OPC UA API?

The code is running in a cRIO-9022.

0 Kudos
Message 108 of 150
(2,132 Views)

I think if you need to get the error out of the write vi, there is no async way of writing.

I tested this with the UA APIs and found that the operation of writing 10 tags always take about 5ms. Maybe your issue is due to the Kepware OPC Server. You can try another UA Server.

1.JPG

2.JPG

0 Kudos
Message 109 of 150
(2,132 Views)

Hi!

I'm trying to benchmark the opcua server on a cRIO.

To do this, I increase the number of nodes managed by the server (LVRT/cRIO) and the number of monitored nodes by a client (LV/host).

-> The population of the server is fine; I can browse all the folders/nodes I have created.

-> The subscription and "add monitored nodes" seem to be fine: the size of the status returned by the "add monitored nodes" VI equals the size of the array of node paths.

-> But when I get an "OPCUA Data Change Event", the size of the Data Change Array is limited to 20.

Is that a normal behavior?

Cheers,

Gilles

0 Kudos
Message 110 of 150
(2,132 Views)