ANY_ARRAY_WORD Parameters
Original instructions
Error Message
For EF/EFB pins that have the type WORD in Concept and have been changed to ANY_ARRAY_WORD in Control Expert, "Cannot import variables" will be the reported type. Such pins usually have a single register address as a formal parameter in Concept, but it is actually used to point to an array of words for which the size has not been explicitly declared.
Change of Parameter Type
In Control Expert, an array of words has to be declared for this purpose. This is why the converter changes the type to ARRAY[0..0] OF WORD.
However, the converter cannot determine the required size because a size declaration is absent in the Concept application. Therefore, the converter defines one data element, [0..0], as a replacement for the original variable.
It is up to the user to replace this default range of one element with the number of elements required by the application.
Redefine Back to a One-Dimensional WORD Array
In case the application defined data structures that are mapped to registers that describe the data to be worked with, significant work to redefine this back to a one-dimensional WORD array is required. However, this is necessary for Unity Pro V1.0 for example:
{Echanges_CR2 : [MAST]} : (r: 42, c: 7) E1092 data types do not match ('CREADREG.REG_READ:ANY_ARRAY_WORD'<->'table_rec_cr2:peer_Table')
Example:
The converter V2.0 changes these EFB parameter types to ANY, avoiding this problem.