Echelon Neuron User Manual
Page 109
Neuron Tools Errors Guide
101
NCC#
Description
445
NV array element used as member of fblock requires an index [NCC#445]
A simple (non-array) functional block declaration requires network variable
members that are not arrays. These members can either be simple network
variables, or elements of network variable arrays. In the case of an
element of a network variable array, an index expression must be part of
the declaration in the implements statement, to identify the array element
to be used.
446
NV array elements used as members of fblock array require a starting index
[NCC#446]
A functional block array declaration must have its members implemented
using network variable arrays. The network variable arrays may be larger
than the functional block array, and the indices need not be identical
(between the functional block array and the various network variable
arrays). The reference to each array network variable in the implements
statements of the member list requires a starting index as part of the
declarations in the implements statements, to identify which array element
of the network variable corresponds to the 0
th
array element of the
functional block. The compiler then automatically distributes the following
elements of the network variable arrays to the following elements of the
functional block array.
447
The fblock reference requires an index[NCC#447]
Each element of a functional block array must be treated separately. An
index is always required to select an element of a functional block array.
448
The fblock’s NV member array is not big enough for the FB array[NCC#448]
A functional block array declaration must have its members implemented
using network variable arrays. The network variable arrays may be larger
than the functional block array, but may not be smaller. The network
variable array elements' indices need not start at 0 in correspondence with
the functional block array, but they must be consecutive. Thus, the
network variable array must be large enough to accommodate the
functional block array. For example, consider the following improper
declaration:
network output SNVT_volt v[4];
fblock SFPTwhatever {
v[2] implements memberV;
} fb[3];
The functional block array fb has three members, and the network variable
array v has four members. However, the declaration does not use v[0] nor
v[1], and it matches v[2] with fb[0], and v[3] with fb[1]. There are not
enough elements in the array v, because v[4] would be needed for fb[2], but
the array's last member is v[3].