Functional blocks and functional profiles – Echelon Mini EVK User Manual
Page 60

Functional Blocks and Functional Profiles
A device application is divided into one or more functional blocks. A
functional block is a portion of a device’s application that performs a task by
receiving configuration and operational data inputs, processing the data, and
sending operational data outputs. A functional block may receive inputs from
the network, hardware attached to the device, or from other functional blocks
on a device. A functional block may send outputs to the network, to
hardware attached to the device, or to other functional blocks on the device.
The device application implements a functional block for each function on the
device to which other devices should communicate, or that requires
configuration for particular application behavior. Each functional block is
defined by a functional profile. A functional profile is a template for
functional block, and a functional block is an implementation of a functional
profile.
The network inputs and outputs of a functional block, if any, are provided by
network variables and configuration properties as described in the previous
sections. The network variables provide the operational data inputs and
outputs for the functional block. The configuration properties configure the
behavior of the functional block.
For example, a light switch could implement a functional block based on the
SFPTopenLoopSensor profile, combining a SNVT_switch typed network
variable that represents the current switch position with a configuration
property that contains the default state for the switch into one logical unit.
This logical unit—the functional block—can be disabled, enabled, tested, and
managed by a network integrator.
Each functional profile defines mandatory and optional network variables
and mandatory and optional configuration properties. A functional block
must implement all the mandatory network variables and configuration
properties defined by the functional profile, and may implement any of the
optional network variables and configuration properties defined by the
functional profile. In the example above, the mandatory member network
variable nvoValue is implemented with the nvoSwitch network variable.
Functional profiles are defined in resource files. You can use standard
functional profiles or you can define your own functional profiles in your own
resource files using the NodeBuilder Resource Editor. A functional profile
defined in a resource file is also called a functional profile template (FPT).
You can automatically embed data within your device that identifies its
device interface to network tools that are used to install the device. This data
is called self-identification (SI) data and self-documentation (SD) data. The
Neuron C compiler generates this data based on the functional blocks,
network variables, and configuration properties that you declare, as well as
the resource files that you provide. You can add your own documentation to
the SD data to further document your device and its interface.
You can include network variable names in the SD data using the #pragma
enable_sd_nv_names directive. You can also express further details,
requirements and recommendations, such as the use of authenticated data
transfer, for each network variable. See Chapter 3 of the Neuron C
Programmer’s Guide for more information on this.
54
Mini EVK User’s Guide