Arburg OPC UA - get value from array or whole array

Unified Architecture topics related to OPC UA Specification, compliant behavior and any technical issues of OPC UA, like Security, Information Model, Companion Specs DI, PLCopen, ADI, ...

Moderator: Support Team

Post Reply
Mimoa
Jr. Member
Jr. Member
Posts: 1
Joined: 13 Feb 2019, 19:19

Arburg OPC UA - get value from array or whole array

Post by Mimoa »

Hi masters.
Can you help me with my issue.
We have Arburg injection machines in our company, they have OPC UA servers built in.
I can connect to the server, browse, change some values (actualy just time)..
Now:
- we use MES (hydra server from MPDV) to gather data
- I can grab data from single values and the syntax is:
https://imgur.com/a/3Ti4cSd
How can I get the (or what is) the nodeID inside Array node/ how can I get the whole array as string (what is the nodeID or what syntax is usually used):
UaExpert
https://imgur.com/a/0ka06Hz

OR
datafeed client:
https://imgur.com/a/h0WRZRa

Thanks in advance for your reply

abquadr
Jr. Member
Jr. Member
Posts: 1
Joined: 26 Jul 2019, 15:07

Re: Arburg OPC UA - get value from array or whole array

Post by abquadr »

Hi,
did you resolve your issue?

I have a similar problem.

I should write "Host computer order list" (NodeID 115680, BrowseName “/HostComputer/f078“) which is defined as Variant Array[-1] in UAExpert but I obtain BadTypeMismatch.

Thanks for your reply.

User avatar
Support Team
Hero Member
Hero Member
Posts: 3064
Joined: 18 Mar 2011, 15:09

Re: Arburg OPC UA - get value from array or whole array

Post by Support Team »

Hello,

The nodeID can be seen in the UaExpert in the Attribute-Window (when clicking/selecting the Tag in the Addresspace). The ID is obviously numeric and resides in namespase "2". The datatype is array of data values, there is no other "syntax" for accessing or converting. In your client implementation you can take the array, split the elements and convert the value to string. If the server supports, you may ask the server for IndexRange, giving you a sub set of the array.
Best regards
Unified Automation Support Team

maggus
Jr. Member
Jr. Member
Posts: 1
Joined: 27 Apr 2023, 14:44

Re: Arburg OPC UA - get value from array or whole array

Post by maggus »

Hi,

i had exactly the same issue. (Arburg with MPDV)

your path in OPC UA is not correct:

Thats your path:
Root\Objects\ARBURG\ProductionProtocol\f14001\f14001-Last

But if you look here:
Root\Objects\DeviceSet\IMM_ARBURG_XXXXXX\Jobs\ActiveJobValues\MachineCycleCounter

you will find what you are looking for.

took me a while, a lot of emails and some phone calls with Arburg.
but up and running.

User avatar
Support Team
Hero Member
Hero Member
Posts: 3064
Joined: 18 Mar 2011, 15:09

Re: Arburg OPC UA - get value from array or whole array

Post by Support Team »

Hi,

the nodeID is an ID (identifyer), in this case for an array of data. You can not assume nor change the ID in the good hope that some syntax magic gives you some individual element of the array. Therefore adding some "...[1]" to an "identifyer" will (and must) always end in "BadInvalidNodeID".

The question is different: how can we access individual elements of an array in OPC UA?

Answer is: IndexRange.

Alternatively you could read the whole array and look into the elements yourself and convert them to string or to whatever you prefer. However this is "client side" logic, some clients have others don't. The UaExpert's attribute window reads the whole array and shows the individual elements in a list view control. The Softing-Client decided to convert the array into some proprietary string format where elements are separated by "|". Both, UaExpert and Softing will not be happy when the array has 100.000 or 1 mio elements. That said, it depends on the client side what to do with and how to display the data content of an array.

maggus found a "different" nodeid that contains the data you are looking for as single scalar counter value (not inside an array).
Best regards
Unified Automation Support Team

Post Reply