Echelon Neuron User Manual

Page 109

Advertising
background image

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].

Advertising