UaExpert unexpected array limits and performance view limits

Questions regarding the use of the UaExpert.

Moderator: uaexpert

Post Reply
Bergsteiger
Sr. Member
Sr. Member
Posts: 18
Joined: 07 Jul 2014, 16:11

UaExpert unexpected array limits and performance view limits

Post by Bergsteiger »

Using UaExpert 1.3.0 201 (on 64 bit Win7) Data Access View stops sampling an array with 65536 elements. With 65535 or less everything is fine. I even encountered crashes of UaExpert, when a server was providing an array with more than 2^16 elements (Currently not possible to reproduce anymore with 1.3.0). It looks as if there is a limit in array size on client side. Is there a possibility to increase that limit. I would need transfer sizes of about 160000 elements and on server side I can't figure out any limit except memory size.

What is puzzeling me even more is a strange behaviour of the Performance View, obviously not allocating enough memory to perform the tests.
I am attaching 1000 Nodes to the performance view, adding a node count sequence of 1,2,4,8....1000. The test runs fine if the server provides 1000 nodes with arrays containing a max of 8000 samples (BaseDataVariableType) or even AnalogItems using UInt16 or Double. After increasing the number of samples in the array the performance view just stopps during the read evaluation. The log does not monitor any error.

The result for UInt16 data type is the following:
  • Read stops after 128 nodes when demanding an array of 65535 samples/node
  • Read stops after 256 nodes when demanding an array of 32000 samples/node
  • Read stops after 512 nodes when demanding an array of 16000 samples/node
  • runs the complete test when demanding an array of 8000 samples/node
Another strange result is, that on a 1Gb/s Ethernet connection large arrays of doubles are transfered with about 50MB/s, while for UInt16 only 22MB/s are achievable. It looks as it UInt16 is also transfered as UInt32. Unfortunately I am not yet experienced enough to use Wireshark to verify that.

P.S. I have screen shots showing that behaviour, but no idea on how to attach them to this topic.
[attachment=][/attachment]

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

Re: UaExpert unexpected array limits and performance view li

Post by Support Team »

Hello Bergsteiger,

the array limit is not really "unexpected". Independent of any limits the UaExpert-GUI might introduce, and UaExpert GUI is for sure not suitable for extremely large amounts of data, there are limitations in the UA-ANSI C-Stack. These limitations are there for a reason and there are several limitations, in the order first limit hits first. And client and server side stack can have different limits. The implementer of the server, and the client respectively, will configure the C-Stack as best suitable for their application, e.g. an embedded server could decide to limit the "message size" down to 16k in order to not need to allocate so much memory for communication buffer, some other server my decide to limit the "array size" to 8k, etc.

These are (some) of the configuration parameters/limits for the C-Stack:
a) there is a max array size in the C-Stack
b) there is a max string length in the C-Stack
c) there is a max message size in the C-Stack

The performance view takes nodes from the list of nodes you have dropped in. The test cycle grabs nodes from the top of the list until it reached the amount needed for the particular test cycle. You must make sure that the nodes are "suitable" for the selected test. E.g. don't drop "read-only" nodes in the list, if you want to do a "Write" test, etc. Test will be aborted when the nodes are not "suitable" for the test.

Best Regards
Support Team

Bergsteiger
Sr. Member
Sr. Member
Posts: 18
Joined: 07 Jul 2014, 16:11

Re: UaExpert unexpected array limits and performance view li

Post by Bergsteiger »

Sorry for the very late reply.

May be I am not experienced enough, to understand the answer. I know about size limits for heap and stack on embedded systems and other old OSs, but fortunately I never tackled with such limits on Win7 (even 32bit). So to simplify my question.

Are the limits only due to the specific UAExpert implementation?

Particularily for the performance measurements I think, that it would be wise to increase these limits drastically at least by a factor of 4.

Post Reply