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
Arburg OPC UA - get value from array or whole array
Moderator: Support Team
-
- Jr. Member
- Posts: 1
- Joined: 13 Feb 2019, 19:19
-
- Jr. Member
- Posts: 1
- Joined: 26 Jul 2019, 15:07
Re: Arburg OPC UA - get value from array or whole array
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.
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.
- Support Team
- Hero Member
- Posts: 3070
- Joined: 18 Mar 2011, 15:09
Re: Arburg OPC UA - get value from array or whole array
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.
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
Unified Automation Support Team
-
- Jr. Member
- Posts: 1
- Joined: 27 Apr 2023, 14:44
Re: Arburg OPC UA - get value from array or whole array
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.
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.
- Support Team
- Hero Member
- Posts: 3070
- Joined: 18 Mar 2011, 15:09
Re: Arburg OPC UA - get value from array or whole array
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).
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
Unified Automation Support Team
-
- Jr. Member
- Posts: 1
- Joined: 23 Apr 2024, 12:22
Re: Arburg OPC UA - get value from array or whole array
I've the same issue with 'Host computer order list (NodeID 115680, BrowseName “/HostComputer/f078“)'.
Has anyone managed to populate the order list view from the machine?
Has anyone managed to populate the order list view from the machine?