Technical FAQs

Ask a Question

NOR - Communication loss with 1600 data points (1 IOA = 1 Point Count ) => Using array (Point Count > 1) : Unlocated array max size

Total count of data points in all channels is 5000.
However, configuring data point one by one (data point by data point, 1 IOA = 1 Point Count) (1600 rows are configured in the Data Mapping of the NOR) is very heavy for the communication NOR module and uses a lot of CPU resource during communication.

To reduce the impact, it is highly recommended to configure consecutive data points and to use array to be able to reach the limit of 5000 data points.
‘Array’ : e.g. 1 IOA = 499 Point Count (499 is the max size of the array that the NOR is able to manage for Unlocated variables when ‘CPU Reg Mapping’ is ‘Value only’)
Message “Point Count must be less than 500 in current configuration” is displayed when you try more.
This number (‘500’) is adapted depending the configuration (with Quality, with Timestamp, …)
So, after export of the variable xsy file from the NOR web page, then in Unity Pro you will see an array of 499 Unlocated variables, 1 IOA = 1 element of the array, ARRAY[0..498] OF M_SP_NA_1
IOA 1 = element[0]
IOA 2 = element[1]
IOA 499 = element[498]

Furthermore, by managing 1 IOA = 1 Point counter, the current Import of 1600 points takes around 2 minutes.
By using IOA = 499 Point Count, the import is quite immediate.
See attached project up to 5000 Unlocated variables (11 rows are configured in the Data Mapping of the NOR).

Here are additional information regarding the data types and the size from the documentation, Chapter 13.2 (p.262) "IEC Data Object Type Mapped to Unity Pro EDT/DDT" :

Nb Bytes
WORD = 2
INT = 2
DINT = 4
REAL = 4
CP56 = 8

E.g. for a M_ME_A type configured as 'Value + Time' (INT + CP56), you can configure an array with the max size 99 (99 x (INT + CP56) = 99 x (2 + 8) = 990 bytes).

If you enter a higher value from the Web site, the following message appears :
"Point Count must be less than 100 in current configuration"

So currently, here are the max limits of unlocated array size :
499 (max array) => WORD or INT
249 (max array) => WORD+WORD or DWORD or INT+WORD or REAL or DINT
99 (max array) => WORD+CP56 or INT+CP56
83 (max array) => WORD+WORD+CP56 or DWORD+CP56 or INT+WORD+CP56 or REAL+CP56
62 (max array) => DWORD+DWORD+CP56 or REAL+DWORD+CP56

Note : The max limit of located array size is 5000.
Was this helpful?
What can we do to improve the information ?