Functional block property lists (fb-property-list) – Echelon Neuron C User Manual

Page 203

Advertising
background image

Neuron C Reference Guide

183

the external_name string described above. In this case, the device interface

information contains a scope and index pair (the first number is a scope, then a
colon character, and then the second number is an index). The scope and index

pair identifies a language string in the resource files, which a network tool can

access for a language-dependent name of the functional block. You can use the
scope and index pair to reduce memory requirements and to provide language-

dependent names for your functional blocks.

Alternatively, a string argument can be supplied to the external_resource_name

keyword. The compiler takes this string and uses it to look up the appropriate

string in the resource files that apply to the device. This mechanism is provided
as a convenience to the programmer, so the compiler can look up the scope and

index; but the result is the same, the scope and index pair is used in the external

interface information, rather than a string. The string

must

exist in an

accessible resource file for the compiler to properly perform the lookup.

Functional Block Property Lists (fb-property-list)

You can include a property list at the end of the functional block declaration,

similar to the device property lists and the network variable property lists
discussed in the previous chapter. The functional block’s property list, at a

minimum, must include all of the mandatory properties defined by the functional

profile that apply to the functional block. Implementation-specific properties can
be added to the list without any special keywords. You cannot implement more

than one property of any particular SCPT or UCPT type for the same functional

block.

The functional block’s property list must only contain the mandatory and

optional properties that apply to the functional block as a whole. Properties that
apply specifically to an individual abstract network variable member of the

profile must appear in the

nv-property-list

of the network variable that

implements the member, rather than in the

fb-property-list

.

The complete syntax for a functional block’s property list is:
fb_properties {

property-reference-list

}

property-reference-list

:

property-reference-list

,

property-reference

property-reference

property-reference

:

property-identifier

[=

initializer

] [

range-mod

]

property-identifier

[

range-mod

] [=

initializer

]

range-mod

:

range_mod_string (

C-string-constant

)

property-identifier

:

[

property-qualifier

]

cpnv-prop-ident

[

property-qualifier

]

cp-family-prop-ident

property-qualifier

:

static | global

cpnv-prop-ident

:

identifier

[

constant-array-index-expr

]

identifier

cp-family-prop-indent

:

identifier

Advertising