Functional blocks and functional profiles – Echelon Mini EVK User Manual

Page 60

Advertising
background image

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

Advertising