Develop hardware devices and software applications using
Echelon's Series 6000, 5000, and 3100 chips and Smart
User’s Guide
Transceivers.
078-0516-01A
Echelon, LON, LonWorks, Neuron, 3120, 3150, Digital
Home, i.LON, IzoT, FTXL, LonScanner, LonSupport, LNS,
LonMaker, L
ONMARK, LonPoint, LonTalk, NodeBuilder,
ShortStack, and the Echelon logo are trademarks of
Echelon Corporation that may be registered in the
United States and other countries.
Other brand and product names are trademarks or
registered trademarks of their respective holders.
Neuron
Chips and other OEM Products were not
designed for use in equipment or systems which involve
danger to human health or safety or a risk of property
damage and Echelon assumes no responsibility or
liability for use of the Neuron
Chips or LonPoint Modules
in such applications.
Parts manufactured by vendors other than Echelon and
referenced in this document have been described for
illustrative purposes only, and may not have been tested
by Echelon. It is the responsibility of the customer to
determine the suitability of these parts for each
application.
ECHELON MAKES NO REPRESENTATION, WARRANTY, OR
CONDITION OF ANY KIND, EXPRESS, IMPLIED, STATUTORY,
OR OTHERWISE OR IN ANY COMMUNICATION WITH YOU,
INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED
WARRANTIES OF MERCHANTABILITY, SATISFACTORY
QUALITY, FITNESS FOR ANY PARTICUL AR PURP O SE ,
NONINFRINGEMENT, AND THEIR EQUIVALENTS.
No part of this publication may be reproduced, stored in
a retrieval system, or transmitted, in any form or by any
means, electronic, mechanical, photocopying,
recording, or otherwise, without the prior written
permission of Echelon Corporation.
Appendix A Using the Command Line Project Make Facility ......... 249
Using the NodeBuilder Command Line Project Make Facility ..................... 250
Appendix B Using Source Control With a NodeBuilder Project ..... 253
Using Source Control with a NodeBui lder Pr oj ect ....................................... 254
Appendix C Glossary ........................................................................ 257
Appendix D NodeBuilder Software License Agreement ................. 271
IzoT NodeBuilder User's Guide vii
viii Preface
Preface
The IzoT™ NodeBuilder® Development Tool is a complete hardware and software
platform that is used to develop applications for Neuron Chips and Echelon Smart
Transceivers. The IzoT NodeBuilder tool lets you create, debug, test, and maintain
IzoT and LONWORKS devices. It includes a suite of device development software
that you can use to develop device applications, and hardware platforms that you can
use to build and test prototype and production devices.
IzoT NodeBuilder User's Guide ix
Purpose
This document describes how to use the IzoT NodeBuilder tool to develop IzoT and LONWORKS
device applications and build and test prototype and production IzoT and L
ONWORKS devices.
Audience
This guide is intended for device and system designers with an understanding of control networks.
Hardware Requirements
Requirements for co mputers running the IzoT Nod eBuild e r tool are listed below:
•Microsoft
XP 32-bit. Echelon recommends that you install the latest service pack available from Microsoft
for your version of Windows.
•An Intel® Pentium
selected version of Windows.
•300 to 550 megabytes (MB) free hard-disk space, plus the minimum Windows requirements for
the selected version of Windows.
®
Windows. Windows 8 64-bit and 32-bit, or Windows 7 64-bit and 32-bit, or Windows
®
or compatible processor meeting the minimum Windows requirements for the
o The IzoT NodeBuilder tool requires 100 MB of free space.
o The IzoT Commissioning Tool, which is req uire d to install the IzoT NodeB uilde r tool,
requires 172 MB of free space.
o Microsoft .NET Framework 3.5 SP1, which is required to run the IzoT NodeBuilder tool,
requires 30 MB of free space. This is not included and must be downloaded separately.
• 512 MB RAM minimum.
• DVD-ROM drive.
• 1024x768 or higher-resolution display with at least 256 colors.
• Mouse or compatible pointing device.
Content
This guide includes the following content:
•Introduction. Lists the new fea tures in the IzoT NodeBuilder tool, summarizes the components
included with the IzoT NodeBuilder tool, and provides an overview of IzoT NodeBuilder device
development and network integration.
•Installing the IzoT NodeBuilder Development Tool. Describes how to get started with your IzoT
NodeBuilder tool, including how to install the IzoT NodeBuilder software and connect the IzoT
FT 6000 EVK hardware.
•IzoT NodeBuilder Quick-Start Exercise. Demonstrates how to create an Iz oT or L
device using the IzoT NodeBuilder tool.
ONWORKS
•Creating and Opening NodeBuilder Projects. Describes how to create, open, and copy
NodeBuilder projects, and explains how to copy NodeBuilder projects and NodeBuilder device
templates to another computer.
•Creating and Using Device Templates. Describes how to use the New Device Template wizard in
the NodeBuilder Project Manager to create, manage, and edit NodeBuilder device templates.
x Preface
FT 6000 EVB Examples Guide
Describes how to run the Neuron C e xample applications
FT 6000 EVB Hardware Guide
Describes how to connect the FT 6000 EVBs, and describes the
Introduction to the LONW
Provides a high-level introduction to LONW
networks a nd
ools and components that are used for developing, installing,
OpenLNS Plug-in Program mer’s
Describes how to write plug-ins using .NET progra mming
Explains how to manage development and release targets and insert libraries into a device
template. Describes how to use the Hardware Template Editor to create and edit hardware
templates.
•Defining Device Interfaces and Creating their Neuron C Application Framework. Describes how
to use the NodeBuilder Code Wizard to define your device interface and generate Neuron C code
that implements it. Explains how to start the NodeBuilder Code Wiz a rd, how to add functional
blocks, network variables, and configuration properties to your device template, and how to create
the Neuron C framework for your device interface.
•Developing Device Applications. Provides an overview of the Neuron C Version 2.3
programming language. Describes how to edit the Neuron C source code generated by the
NodeBuilder Code Wiza rd to implement your device functionality. Exp la ins how to use the
NodeBuilder Editor to edit, search, and bookmark Neuron C code.
•Building and Downloading Device Applications. Describes how to compile Neuron C source
code, build an application image, and download the application image to a device. Explains how
to add target devices to a NodeBuilder project and how to manage them.
•Testing a NodeBuilder Device Using the IzoT Commissioning Tool. Describes how to use the
Data Point shape and IzoT Browser in the IzoT Commissioni ng Tool to monitor and control your
device. It explains how to use the IzoT Commissioning Tool to connect your IzoT NodeBuilder
device to other IzoT or L
•Debugging a Neuron C Application. Describes how the use the NodeBuilder debugger to
troubleshoot your Neuron C application.
ONWORKS devices in a network.
•Appendices. Provides information for using the command line project make facility and managing
an IzoTNodeBuilder project using a source control application. Also include s a glossary with
definitions for many terms commonly used with an IzoT NodeBuilder device development.
Note: Screenshots in this document were taken d uring the development of the IzoT NodeBuilder tool;
therefore, some images may vary slightly from the release version of the user interface.
Related Manuals
The documentation related to the IzoT NodeBuilder tool is provided as Adobe® PDF files and online
help files. The PDF files are installed in the Echelon NodeBuilder program folder when you install
the IzoT NodeBuilder tool. You can download the latest NodeBuilder documentation, including the
latest version of this guide, from Echelon’s Web site at www.echelon.com/docs.
The following manuals provide supp lemental information to the materia l in this guide. You can
download these documents from Echelon’s Web site at www.echelon.com.
( 078-0505-01)
(078-0504-01)
ORKS
Platform
(078-0183-01B)
included with the FT 6000 EVK on an FT 6000 EVB.
Neuron core, I/O devices, service pin and reset buttons and
LEDs, and jumper settings on the FT 6000 EVB hardware.
One or two FT 6000 EVBs are included with the IzoT FT 6000
EVK.
ORKS
the t
operating, and maintaining them.
Guide (078-0393-01A)
IzoT NodeBuilder User's Guide xi
languages s uch as C# and Visual Ba sic .NET
IzoT Commissioning ToolUser’s
Describes how to use the IzoT Commissioing Tool to design,
LONMARK SNVT and SCPT Guide
Documents the standard network variable types (SNVTs),
IZOT Plug-in for WireShark Guide
Describes how to use the IzoT Plug-in for WireShark. This is
Neuron C Programmer’s Guide
Describes how to write programs using the Neuron® C Version
Neuron C Reference Guide
Provides reference information for writing programs using the
Neuron Tools Error Guide
Provides reference information for Neuron tool errors.
NodeBuilder Resource Edit or User’s
Describes how to use the NodeBuilder Resource Editor to create
The Americas
English
Echelon Corporation
Guide (078-0514-01)
(078-9511-01A)
( 078-0002-02I)
(078-0140-02G)
(078-0402-01D)
Guide (078-0194-01C)
commission, modify, and maintain LONWORKS networks.
standard configuration property types (SCPTs), and standard
enumeration types that you can declare in your applications.
the packet analyzer to monitor, analyze, and troubleshoot
network protocol problems
2.3 language.
Neuron C language.
and edit resource file sets and resources such as functional
profile templates, network variable types, and configuration
property types.
For More Information and Technical Support
The NodeBuilder ReadMe document provides descriptions of known problems, if any, and their
workarounds. To view the NodeBuilder ReadMe, click Start, point to Programs, point to
NodeBuilder, and t hen select NodeBuilder ReadMe First. You can also find additional information
about the IzoT NodeBuilder tool at the NodeBuilder Web page at www.echelon.com/nodebuilder.
If you have technical questions that are not answered by this document, the NodeBuilder online help,
or the NodeBuilder ReadMe file, you can contact technical support. You can get free e-mail support
by sending your support questions to lonsupport@echelon.com To receive priority technical support
from Echelon, you can purchase support services from Eche lon or an Echelon support partner. See
www.echelon.com/support for more information on Eche lon support and training services .
You can also enroll in training classes at Echelon or an Echelon training center to learn more about
developing devices. You can find additional information abo ut d e vice development training at
www.echelon.com/training.
You can obtain technical support via phone, fax, or e-mail from your closest Echelon sup port center.
The contact information is as fo llows:
Region Languages Supported Contact Information
Japanese
Attn. Customer Support
550 Meri dian Avenue
San Jose, CA 95126
Phone (toll-free):
1-800-258-4LON (258-4566)
Phone: +1-408-938-5200
Fax: +1-408-790-3801
lonsupport@echelon.com
xii Preface
Europe
English
Echelon Europe Ltd.
Japan
Japanese
Echelon Japan
China
Chinese
Echelon Greater China
Other Regio ns
English
Phone: +1-408-938-5200
Region Languages Supported Contact Information
German
French
Italian
English
Suite 12
Building 6
Croxley Green Busine s s Park
Hatters Lane
Watford
Hertfordshire WD18 8YH
United Kingdom
Phone: +44 (0)1923 430200
Fax: +44 (0)1923 430300
lonsupport@echelon.co.uk
Holland Hills Mori Tower, 18F
5-11-2 Toranomon, Minato-ku
Tokyo 105-0001
Japan
Phone: +81-3-5733-3320
Fax: +81-3-5733-3321
lonsupport@echelon.co.jp
Rm. 1007-1008, IBM Tower
Pacific Century Place
2A Gong Ti Bei Lu
Chaoyang District
Beijing 100027, China
Phone: +86-10-6539-3750
Fax: +86-10-6539-3754
lonsupport@echelon.com.cn
Japanese
Fax: +1-408-328-3801
lonsupport@echelon.com
IzoT NodeBuilder User's Guide xiii
Introduction
This chapter introduces the IzoT NodeBuilder Development Tool. It lists the new
features in the IzoT NodeBuilder tool, summarizes the components included with
theIzoTNodeBuilder tool, and provides an overview of NodeBuilder device
development and network integration.
1
IzoT NodeBuilder User's Guide 1
Introduction to the IzoT NodeBuilder Tool
The IzoT NodeBuilder Development Tool is a complete hardware and software platform for
developing, debugging, testing, and maintainin g IzoT and L
6000 Processor and FT 6000 Smart Transceiver and all previous-generation Ser ies 5000 and Series
3100 chips. You can use the IzoT NodeBuilder tool to create many types of devices, including VAV
controllers, thermostats, washing machines, card-access readers, refrigerators, lighting ballasts, blinds,
and pumps. You can use these devic es in a variety of systems includin g building a nd lighting controls,
factory automation, energy management, and transportation.
You can use the IzoT NodeBuilder tool to do the following:
•View standard resource file definitions for standard network variable types (SNVTs), standard
configuration property (SCPTs), and standard functional profile templates (SFPTs).
• Create your own resource files with user-defined network variable types (UNVTs), user-defined
configuration property (UCPTs), and user-defined functional profile templates (UFPTs).
•Automatically generate Neuron C code that implements your device’s interface and provides the
framework for your device application.
• Edit your Neuron C c ode to implement your device’s func tionality.
• Compile, build, and download your application to a development platform or to your own devices.
ONWORKS devices based on the Neuron
•Test with prototype I/O hardware on either the FT 6000 EVB Evaluation Boards incl uded with the
FT 6000 EVK and available separately, or LTM-10A Platform and Gizmo 4 I/O Board included
with the NodeBuilder FX/PL tool and available separately, or use your own custom device to
build and test your own I/O hardware.
•Install your device into an IzoT or L
with other IzoT and L
ONWORKS devices.
ONWORKS network and test how your device interoperates
New Features in the IzoT NodeBuilder Tool
The IzoT NodeBuilder tool includes support for Echelon’s new Series 6000 chips (the term used to
collectively refer to the FT 6050 and FT 6010 Smart Transceivers and the Neuron 6050 Processor),
support for Echelon’s new FT 6000 EVB, support for the previous generation Series 5000 and Series
3100 chips, and the following key features:
• Support for the IzoT LonTalk/IP and BACnet/IP protocols
• Support for transient functions and automatically tuned memory maps
• Extended address table support with support for up to 254 address table entries
• Support for network variables up to 228 bytes (exceeding the previous limit of 31 bytes)
• Neuron C Version 2.3 Enhancements
The following sections describe these new features.
LonTalk/IP Support
The Series 6000 chips and firmware add support for the LonTalk/IP protocol. The LonTalk/IP
protocol is the control network pr otocol that implements IzoT Control Services. IzoT Control Services
are based on the L
native IP addressing at Layer 3, and link-specific protocols for Layers 1 and 2. The link-specific
protocols may implement compression of the Layer 3 packets depending on the requirements of the
underlying links. There are two modes for LonTalk/IP called Compatibility Mode and Enhanced
Mode. In Compatibility Mode LonTalk/IP devices can communicate with LonTalk devices directly
without the need for a r outer as long as they are on the same LonTalk-co mpatible c hannel. LonTalk/IP
ONMARK La yer 7 protocol, the ISO/IEC 14908-1 Layers 3 to 6 protocols, with
2 Introduction
devices in Compatibility Mode can also communicate with LonTalk devices on different channels as
long as there is a route created between the channels with one or more IzoT routers. In Enhanced
Mode, LonTalk/IP devices cannot communicate with LonTalk devices, even with the use of IzoT
routers.
You can con figure the IzoT Router i ncluded with the FT 6000 EVK to operate in either Enhanced
Mode or Compatibility Mode. If you are developing devices that will potentially be used with devices
based on the Series 5000 or Series 3100 processors, select Compatibility Mode. If you are developing
devices that will exclusively be used with devices based on Series 6000 processors or other IzoTcompatible devices such as devices based on the IzoT Device Stack EX, select Enhanced Mode.
BACnet/IP Support
The Series 6000 chips and firmware add support for the BACnet/IP protocol. The BACnet/IP protocol
is the protocol that implements the BACnet services defined by ASHRAE and specified in ISO 164845, with native IP addressing at Layer 3, and link-specific protocols for Layers 1 and 2. The linkspecific protocols may implement compression of the Layer 3 packets depending on the requireme nts
of the underlying links .
Series 6000 Chip Support
The IzoT NodeBuilder software adds development support for the Series 6000 chips. Development for
Series 5000 and Series 3100 chips is also supported. An FT 6000 Evaluation Board hardware template
file (.NbHwt extension) is included, matching the FT 6000 EVB hardware.
See the FT 6000 EVK Hardware Guide for instructions to emulate the FT 6010 hardware with the FT
6050 Evaluation board. The FT 6010 Evaluation Board hardware template required for this emulation
is included .
An FT 6050 hardware template is included as an example of a typical hardware template for a generic
FT 6050 device.
The Neuron C compiler and its companion tools automatically take advantage of the Series 6000
chips’ features. For example, the Neuron C compiler automatically takes advantage of the extended
address table where available, and the dynamic host configuration protocol (DHCP) is automatically
enabled where supported.
Transient Functions and Automatic Memory Maps
The IzoT NodeBuilder software adds support for transient functions for applications targeting a Series
6000 chip. A transient function is loaded from serial flash memory on demand and automatically
managed by the Neuron firmware, allowing the application’s total code size to exceed the available
physical memory. Functions declared in Neuron C 2.3 compile to transient functions by default, while when-tasks a nd interrupt-tasks always compile into resident code.
Individual functions can be made resident with the new Neuron C __resident keyword (note the
leading double underscore characters:
unsigned __resident add(unsigned a, unsigned b) {
return a+b;
}
See the Neuron C Programmer’s Guide for more details about resident and transient f unc tions.
To ease device development and ensure suitable space for transient functions, the Neuron C 2.3 tools
automatically size the memory map to suit the requirements of the Neuron firmware, the Series 6000
chips and your application combined. For these chips, it is no longer necessary to estimate the amount
of volatile memory (“RAM”), persistent data storage (“EEPROM”) or space needed for constant data
and code.
IzoT NodeBuilder User's Guide 3
FT 6000 EVB Evaluation Board
The FT 6000 EVB is a complete 6000 Series IzoT and LONWORKS device that you can use to create
IzoT and L
external 10 MHz crystal (you can adjust the system’s internal clock speed from 5MHz to 80MHz), an
FT-X3 communication transformer, 64KB external serial EEPROM and flash memory devices, and a
3.3V power source. The FT 6000 EVB features a compact design that includes the follo wing I/O
devices that you can use to develop prototype and production devices and test the FT 6000 EVB
example applications:
• 4 x 20 character LCD
• 4-way joystick with center push button
• 2 push-button inp uts
• 2 LED outputs
• Light-level sensor
• Temperature sensor
The FT 6000 EVB Evaluation Board also includes EIA-232/TIA-232 (formerly RS-232) and USB
interfaces that you can use to connect the board to your development computer and perform
application-level d ebugging.
Each FT 6000 EVB also features a flash in-circuit programmer header that supports the SPI interface
for fast downloads when programming the external non -volatile memory of the FT 6050 Smart
Transceiver on the board.
ONWORKS devices. The FT 6000 EVB includes a FT 6050 S mart Transceiver with an
For more information on the FT 6000 EVB hardware, including detailed descriptions of its Neuron
core, I/O devices, service pin and reset buttons and LEDs, and jumper settings, see the FT 6000 EVB Hardware Guide.
Extended Address Table
Series 6000 chips can support up to 254 address table records, subject to available system resources
(for example, RAM and EEPROM) and application requirements. The Series 5000 and Series 3100
chips are limited to a maximum of 15 address table entries.
Network Variables Up To 228 Bytes
Series 6000 chip support network variables up to 228 bytes in size. The Series 5000 and Series 3100
chips are limited to a maximum network variable size of 31 bytes.
Creating new applications or adding larger than 31 bytes network variables to existing applications is
completely transparent except when larger than 31 bytes network variables are added to existing
applications which also implement changeable-type applications.
Applications implementing cha ngeab le-type network variables and larger than 31-bytes network
variables must return the current size of changeable-type network variables from the applicationspecific implementation of the get_nv_length_override() callback. In previous releases, the
get_nv_length_override() callback would return a constant 0xFF by default. Applications which
support larger than 31 bytes network variables must default the callback result to the value obtained
from the get_declared_nv_length() API:
// TO DO: add code to return the current length of the network variable
// with index "nvIndex."
// Example code follows:
//
// switch (nvIndex) {
// case nviChangeableNv::global_index:
// if (nviChangeableNv::cpNvType.type_category != NVT_CAT_INITIAL
// && nviChangeableNv::cpNvType.type_category != NVT_CAT_NUL) {
// uResult = nviChangeableNv::cpNvType.type_length;
// }
// break;
// } // switch
return uResult;
}
See Implementing Changeable-Type Network Variables in chapter 4 of this guide and Changeable-
Type Network Variables in the Neuron C P rogrammer’s Guide for more detail.
Neuron C Version 2.3 Enhancements
The new features in the Neuron C Vers i on 2.3 pr ogramming la nguage incl ude support for transient and
resident functions, automatic memory maps, a new preprocessor, support for initialization of automatic
variables implementing scalar types, and new or enhanced compiler directives and other language
enhancements. These new features are detailed in the Neuron C Programmer’ s Guide and Neuron C Reference Guide.
Support for transient functions a nd a utomatic memory maps is detailed e a r lie r in this section.
The new preprocessor, based on the open source MCPP implementation by Kioshi Matsui, provides
previousl y unsuppor ted directives such as #if and #elif.
Automatic variables implementing scalar types can now be initialized. For example:
unsigned long add(unsigned num, unsigned *values) {
unsigned long result = 0;
while (num--) {
result += *values++;
}
return result;
}
Automatic variables whi ch implement aggregate types such as structures, unions and arrays cannot be
initialized in this manner. To initialize such a variable, declare the variable and provide its initial data
in two distinct expressions.
Enhanced compiler directives include the pragma addresses and pragma aliases directives (also
known as pragma num_addr_table_entries and pragma num_alias_table_entries, respectively).
These directives are enhanced with a more user-friendly new name, and automatic allocation o f t he
corresponding resource based on the compiler’s inspection of your application. The directives can be
used to override this allocation.
The pragma num_domains directive is also supported with a user-friendl y alias, pr agma domains.
New directives are supplied to control new features (pragma dhcp, pragma enhanced_mode,
pragma resident) and to control placement of certain portions of your application within the available
space (pragma locate).
In addition, the new __type_index and __type_scope built-in properties are supported for network
variables, and yield a numeric constant for the type index and type scope number, respectively. These
properties begin with a double underscore character to avoid conflicts with existing application code.
For example, a SNVT_switch typed network variable reports 95 for the type index, and a scope of
zero.
IzoT NodeBuilder User's Guide 5
What's Included with the IzoT FT 6000 EVK
The FT 6000 EVK includes the following components:
•IzoT NodeBuilder Development Tool. The IzoT NodeBuilder Development Tool is an
integrated development environment (IDE) for developing applications for Series 6000, 5000,
and 3100 chips. It is available as a free download that requires a serial number to be installed.
A serial number for the IzoT NodeBuilder software is included on the back of the IzoT
Commissioning Tool EVK Edition DVD case that is included with the FT 6000 EVK.
•Two FT 6000 EVB Evaluation Boards. The FT 6000 EVBs are evaluation boards that you
can use to run example applications and to prototype and debug your own applications. Each
includes an FT 6050 Smart Transceiver and can be attached to an IzoT or L
topology (FT) twisted pair channel.
•IzoT Commissioning Tool EVK Edition DVD. Contains the software tool for designing,
installing, and maintaining IzoT and L
includes the Microsoft Visio 2010 diagramming and vector graphics edition application.
•IzoT Network Services Server CD. Contains the network operating system that is the
standard network management software platform for commercial and industrial IzoT and
ONWORKS networks.
L
•IzoT Router. A ready-to-run application for connecting IzoT devices on an Ethernet channel
with IzoT and LonWorks devices on an FT channel. The router automatically forwards
packets between the Ethernet and FT channels.
ONWORKS control networks. The EVK Edition
ONWORKS free
•IzoT Plug-in for Wireshark. Wireshark is a free and open-source packet analyzer for IP
networks. It is used for net work troubles hooting and analysis. A plug-in for Wireshark is
included with the IzoT NodeBuilder software that enabled Wireshark to decode LonTalk/IP
packets.
•Quick Start Guide. This document describes how to install the software included with your
FT 6000 EVK; connect the FT 6000 EVBs and your development computer to an FT-10
channel; and create a simple network using the example application pre loaded on the FT
6000 EVB.
• FT 6050 Smart Transceiver sample chips.
• Accessories including power supplies and cables.
The following sections describe each of the components.
IzoT NodeBuilder Development Tool
The IzoT NodeBuilder Development Tool is an integrated development environment (IDE) for
developing and debugging applications for Series 6000, 5000, and 3100 chips. It is available as a free
download that requires a serial number to be installed. A serial number for the IzoT NodeBuilder
software is included on the back of the IzoT Commissioning Tool EVK Edition DVD case that is
included with the FT 6000 EVK.I It inc ludes Neuron C example applications that you can run on your
FT 6000 EVBs and use to further learn how to develop your own device applications.
The IzoT NodeBuilder software includes the following components:
•NodeBuilder Resource Editor. View standard types and functional profiles, and create
user-defined types and profiles if the standard resource files do not include the resources you need.
•NodeBuilder Code Wizard. Use a drag-and-drop interface to create your device’s interface and
then automa tically generate Neuron C source co d e that implements the device interface and
creates the framework for your device application.
6 Introduction
•NodeBuilder Editor. Edit the Neuron C source code generated by the Code Wizard to create your
device’s application, or create and edit your own Neuron C code.
•NodeBuilder Debugger. Debug your application with a source-level view of your application code
as it executes.
•NodeBuilder Project Manager. Build and download your application image to your development
platform or to your own device hardware.
The IzoT NodeBuilder software include t hree Neuron C example applications that you c an run on your
FT 6000 EVBs. You can use these examples to test the I/O devices on the FT 6000 EVB, and create
simple IzoT and L
ONWORKS networks. You can view the Neuron C code used in the e xample
applications, and then create a new device application by mod ifying the existing example applic a tions
or by developing the device application from scratch.
For more information on using the FT 6000 EVB example applications, see the FT 6000 EVB Examples Guide.
FT 6000 EVB Evaluation Boards
The IzoT FT 6000 EVK includes two FT 6000 EVBs. Each EVB is a complete Series 6000 IzoT and
ONWORKS device that you can use to evaluate the IzoT and LONWORKS platforms and create IzoT
L
ONWORKS devices. The FT 6000 EVB includes an FT 6050 Smart Transceiver with an external
and L
10 MHz crystal (you can adjust the system’s internal clock speed from 5MHz to 80MHz), an FT-X3
communication transformer, 512KB external serial flash memory devices, and a 3.3V power source.
The FT 6000 EVB features a compact design that includes the following I/O devices that y ou can use
to develop prototype and production devices and test the FT 6000 EVB example applications:
• 4 x 20 character LCD
• 4-way joystick with center push button
• 2 push-button inp uts
• 2 LED outputs
• Light-level sensor
• Temperature sensor
The FT 6000 EVB Eva luation Board also includes an EIA-232/TIA-232 (formerly RS-232) and USB
interfaces that you can use to connect the board to your development computer and perform
application-level d ebugging.
2
Each FT 6000 EVB also features a flash ICE header that supports the SPI and I
C interfaces for fast
downloads when programming the external non-volatile memory of the FT 6000 Smart Transceiver on
the board.
IzoT NodeBuilder User's Guide 7
For more information on the FT 6000 EVB hardware, including detailed descriptions of its Neuron
core, I/O devices, service pin and reset buttons and LEDs, and jumper settings, see the FT 6000 EVB Hardware Guide.
IzoT Commissioning Tool
The IzoT Commissioning Tool is a software tool that you can use to i nstall, connect, conf igure, test,
and update devices that you develop with the IzoT NodeBuilder software. It is a software package for
designing, installin g, and maint aining IzoT and L
IzoT Network Services Server, the Izot Commissioning Tool combines a powerful network services
platform with an easy-to-use Visio user interface. The I zoT Commissioning tool is compatible with a
number of OpenLNS and LNS plug-ins, simplifying net work installation and integration for devices
with plug-in support.
The IzoT Commissioning Tool can be used to manage all phases of a network’s life cycle, from the
initial design and commissioning to the ongoing operation, because it provides the functionality of
several network tools i n one single solution:
•Network Design Tool. You can design a network onsite or offsite (either connected to the network
over the Internet or not connected to it all), and then modify it anytime. The IzoT Commissioning
Tool can also learn an existing network’s design through a process called networkrecovery.
•Network Installation Tool. You can rapidly install a network designed offsite once it is brought
onsite. The device definitions can be quickly and easily associated with their corresponding
physical devices to reduce on-site commissioning time. The IzoT Browser provides complete
access to all network variables and configuration properties.
ONWORKS control networks. Based on Echelon’s
•Network Documentation Tool. You can create an IzoT CT drawing duri ng the network design a nd
installation process. This drawin g is an accurate, logical representatio n of the installed physical
network. The drawing is therefore an essential component of as-built reports.
•Network Operation Tool. You can operate the network using the operator interface pages
contained within the IzoT CT drawing.
•Network Maintenance Tool. You can easily add, test, remove, modify, or replace devices, routers,
channels, s ubsystems, and connections to maintain the network.
This guide describes many of the IzoT Commissioning Tool functions that you will use with the IzoT
NodeBuilder tool. See the IzoT Commissioning Tool User’s Guide for more information on the IzoT
Comnmissioning Tool and to learn how it can be used to install, operate, and maintain your operational
networks in addition to your development networks.
IzoT Network Services Server
The IzoT Network Service Server is a network operating system that i s the standa rd network
management software platform for commercial and industrial IzoT and L
ONWORKS networks.
IzoT Router
The IzoT Router is a ready-to-run application for connecting IzoT devices on an Ethernet channel with
IzoT and Lo nWorks devices on an FT channel. The router automatically forwards packets between the
Ethernet and FT channels.
IzoT Plug-in for Wireshark
Wireshark is a free and open-source packet analyzer for IP networks. It is used for network
troubleshooting and analysis. A plug-in for Wireshark is included with the IzoT NodeBuilde r software
that enabled Wireshark to decode LonTalk/IP packets. See the IzoT Plug-in for Wireshark Guide for
details on how to download Wire shark, install the IzoT plug-in for Wireshark, and use Wireshark with
LonTalk/IP networks.
8 Introduction
Introduction to NodeBuilder Device Development and
Network Integration
An IzoT or LONWORKS network consists of intelligent devices (such as sensors, actuators, and
controllers) that communicate with each other using a common protocol over one or more
communications channels. Network devices are sometimes called nodes.
Devices may be Neuron hosted or host-based. Neuron hosted devices run a compiled Neuron C
application on a Neuron Chip or Smart Transceiver. You can use the IzoT NodeBuilder tool to
develop, test, and debug Neuron C applications for Neuron hosted devices.
Host-based devices run applications on a processor other than a Neuron Chip or Smart Transceiver.
Host-based devices may run applications written in any language available to the processor. A
host-based device may use a Neuron Chip or Smart Transceiver as a communications processor, or it
may handle both application processing and communications processing on the host processor. The
IzoT NodeBuilder tool supports s ome of the common tasks occurring in the creation of host -based
devices; however, an additional host-based device development tool is required.
Each device includes one or more processors that implement the LonTalk/IP or the ISO/IEC
Control Network Protocol (CNP). Each device also includes a component called a transceiver to
provide its interface to the communications channel.
A device publishes and co nsumes information as instructed by the application that it is running. T he
applications on different devices are not synchronized, and it is p ossible that multiple devices may all
try to talk at the same time. Meaningful transfer of information between devices on a network,
therefore, requires organization in the form of a set of rules and procedures. These rules and
procedures are the communication protocol, which may be referred to simply as the protocol. The
protocol defines the format of the messages being transmitted between devices and defines the actions
expected when one device sends a message to another. The protocol normally takes the form of
embedded software or firmware code in each device on the network. The CNP
defined by the ISO/IEC 14908-1 standard (defined national ly in the Uni ted States , Europe, and China
by the ANSI/EIA 709.1, EN 14908, and GB/Z 20177 standards, respectively). LonTalk/IP is based on
the ISO/IEC 14908-1 standard, with extensions to use IP as the transport protocol.
is an open protocol
Channels
A channel is the physical media between devices upon which the devices communicate. The
LonTalk/IP and CNP protocols are media independent; therefore, numerous types of media can be
used for channels: twisted pair, power line, fiber optics, IP, and radio frequency (RF) to name a few.
Channels are categorized into channel types, and the channel types are characterized by the device
transceiver. Common channel types include TP /FT-10 (ISO/IEC 14908-2 twisted pair free topology
channel) which is also called FT, TP/XF-1250 (high-speed twisted pair channel), PL-20 (ISO/IEC
14908-3 power line channel), FO-20 (ANSI/CEA-709.4 fiber optics channel), and IP-852 (ISO/IEC
14908-4 IP-communication).
14908-1
Different transceivers may be able to interoperate on the same channel; therefore, each transceiver type
specifies the channel type or types that it supports. The choice of channel type affects transmission
speed and distance as well as the network topology.
The IzoT Node Builder tool, IzoT Commissioning Tool, and Neuron Chips support all standard channel
types, but not all Neuro n Chips support all transceiver and channel types. Smart Transceivers
combine the transceiver and Neuron core in the same chip, and therefore support the channel types
supported by the integrated transceiver.
Routers
Multiple channels can be connected using routers. Routers are used to manage network message
traffic, extend the physical size of a channel (both length and number of devices attached), and connect
IzoT NodeBuilder User's Guide 9
channels that use different media (channel types) together. Unlike other devices, routers are always
attached to at least two channels.
The IzoT Router can be configured to act as a DHCP relay for address allocation on the LonTalk/IP
network. DHCP relay can be used to have a single server perform all of the allocation of addresses in
a network, and then have the server’s allocations forwarded onto another subnet.
To enable t he DHCP relay functionality, go to the DHCP page on configuration Web page of the IzoT
Router. Once there, select the Relay option and a box to enter the address of the DHCP server
appears. Enter the IP address of your server and click the Save Configuration button. DHCP requests
are now forwarded from the LonTalk/IP network to the DHCP server, and responses from the server
will be forwarded to devices on the LonTalk/IP network.
The DHCP server must have a separate subnet set up to allocate addresses from the LonTalk/IP subnet.
This is because the IzoT Router treats the IP and LonTalk/IP subnets as separate subnets, and uses the
subnets to determine which subnet to send me s s ages on. The subnet on the FT side needs to be
different than the subnet on the E t hernet side . If both the LonTalk/IP and IP subnets share the same
address range, the router cannot determine where to send the messages.
Applications
Every IzoT and LONWORKS device contains an application that defines the device’s behavior. The
application defines the inputs and outputs of the device. The inputs to a device can include
information sent on LonTalk/IP and L
from the device hardware (for example, the temperature from a temperature sensing device). The
outputs from a device can include information sent on LonTalk/IP and L
devices, as well as commands sent to the device hardware (for example, a fan, light, heater, or
actuator). You can use the IzoT NodeBuilder tool to write a device’s Neuron C ap plication.
ONWORKS channels fro m other devices, as well as information
ONWORKS channels to other
Program IDs
Every LONWORKS application has a unique, 16 digit, hexadecimal standard program ID with the
following format: FM:MM:MM:CC:CC:UU:TT:NN. This program ID is broken down into the
following fields:
Field Description
Format (F)
A 1 hex-d igit value d efining the structure o f the program ID. The up per
bit of the format defines the program ID as a standard program ID (SPID)
or a text program ID. The upper bit is set for standard program IDs, so
formats 8–15 (0x8–0xF) are reserved for standard program IDs.
•Program ID format 8 is reserved for L
ONMARK certified devices.
•Program ID format 9 is used for devices that will no t be L
certified, or for devices that will be c e rtified but are still in
development or have not yet completed the certification process.
• Program ID formats 10–15 (0xA–0xF) are reserved for future use.
• Text program ID formats are used by network interfaces and legacy
devices and, with the exception of network interfaces, cannot be used
for new devic es.
The IzoT NodeBuilder tool can be used to create applications with
program ID format 8 or 9.
ONMARK
Manufacturer ID(M)
A 5 hex-digit ID that is unique to each L
ONWORKS device manufacturer.
The upper bit identifies the manufacturer ID as a standard manufacturer ID (upper bit clear) or a temporary manufacturer ID (upper bit set).
10 Introduction
•Standard manufacturer IDs are assigned to manufacturers when they
A 2 hex-digit value identifying the specific pr oduct model. Model
Field Description
join LONMARK International, and are a lso published by LONMARK
International so that the device manufacturer of a L
device is easily identified. Standard manufacturer IDs are never
reused or reassigned. If your company is a L
you do not know your man ufacturer ID, you can find your I D in the
list of manufacturer IDs at
list at the time of release of the NodeBuilder tool is also included with
the IzoT NodeBuilder software.
•Temporary manufacturer IDs are available at no charge to anyone on
request by filling out a simple for m at www.lonmark.org/mid.
ONMARK certified
ONMARK member, but
www.lonmark.org/spid. The most curr ent
Device Class (C)
Usage (U)
Channel Type (T)
Model Number (N)
A 4 hex-d igit value identifying the primary function of the device. This
value is drawn from a registry of p re-defined device class definitions. If
an appropriate device class designation is not available, the L
ONMARK
International Secretary will assign one, upon request.
A 2 hex-d igit value identifying the intended usage o f the device. The
upper bit specifies whether the device has a changeable interface. The
next bit specifies whether the remainder of the usage field specifies a
standard usage or a functional-profile specific usage. The standard usage
values are drawn from a registry of pre-defined usage definitions. If an
appropri ate usage designation i s not available one will be assigned upon
request. If the second bit is set, a custom set of usage values is specified
by the primary functional profile for the device.
A 2 hex-digit value ide nt ifying the channel type suppo rted by the device’s
transceiver. The standard channel-type values are drawn from a registry
of pre-defined channel-type definitions. A custom channel-type is
available for channel types not listed in the standard registry.
numbers are assigned by the product manufacturer and must be unique
within the device class, usage, and channel type for the manufacturer. The
same hardware may be used for multiple model numbers depending on the
program that is loaded into the hardware. The model number within the
program ID does not have to conform to your published model number.
See the LonMark Application Layer Interoperability Guidelines for more
information about program IDs.
Network Variables
Applications exchange information with other LONWORKS devices using network variables. Every
network variable has a direction, type, and length. The network variable direction can be either input
or output, depending on whether the network variable is used to receive or send data. The network
variable type determines the format of the data.
Network variables of identical type and length but opposite directions can be connected to allow the
devices to share information. For example, an application on a lighting device could have an input
network variable that was of the switch type, while an application on a dimmer-switch device could
have an output networ k variable of the same t ype. A network management tool such as the IzoT
Commissioning Tool could be used to connect these two devices, allowing the switch to control the
lighting device, as shown in the following figure:
IzoT NodeBuilder User's Guide 11
A single network variable may be connected to multiple network variables of the same type but
opposite direction. The following example shows the same switch being used to control three lights:
The application program in a device does not need to know where input network variable values come
from or where output network varia ble values go. When the application progra m has a changed value
for an output network vari able, it simply assig ns the new value to the output network variabl e.
Through a process called binding that takes place during network design and installation, the device is
configured to know the logical address of the other device or group of devices in the network
expecting that network variable’s values. The device’s embedded firmware assembles and sends the
appropriate message(s) to these destinations. Similarly, when the device receives an updated value for
an input network variable required by its application program, its firmware passes the data to the
application program. The binding process thus creates logical connections between an output network
variable in one device and an input network variable in another device or group of devices.
Connections may be thought of as virtual wires. For example, the dimmer-switch device in the
dimmer-switch-light example could be replac ed with an occupancy sens or, witho ut making any
changes to the lightin g device.
The NodeBuilder Code Wizard automatically generates the required network variable declarations for
your device’s interface in your device’s Neuron C application. Typically, you don’t need implement
any code in the device application to handle the binding process, or the source or destination devices
for network variable values. Neuron C provides an easy-to-use programming model familiar to any C
language programmer that enca psulates the complexity of distrib uted a pplications.
Configuration Properties
IZOT AND LONWORKS applications may also contain configuration properties. Configuration
properties allow the device’s behavior to be custo mi zed using a network management tool such as t he
12 Introduction
Lamp Actuator
Mandatory network variables
Configuration properties
Optional network variables
nviLampValue
SNVT_switch
nv1
SFPTLampActuator
nvoLampValueFb
SNVT_switch
nv2
nvoEnergyCnt
SNVT_elec_kwh
nv4
nvoRunHours
SNVT_elapsed_tm
nv3
Mandatory
Optional
SCPT_location
SCPTinFbDly
SCPT_def_output
SCPTrunHrInit
SCPTrunHrAlarm
SCPTenrgyCntInit
IzoT Commissioning Tool or a customized plug-in created for the device (see the OpenLNS Plug-in
Programmer’s Guide for more information on creating OpenLNS device plug-ins).
For example, an application may allow an arithmetic function (ad d, subtract, multiply, or divide) to be
performed on two values received from two network variables. The function to be performed could be
determined by a configuration property. Another example of a configuration property is a heartbeat
that determines how often a device transmits network variable updates over the network.
Like network variables, configuration properties have types that determine the type and format of the
data they contain.
The Node Builder Code Wizard automatically generates the required configuration property
declarations for your device’s interface and most of the required infrastructure code in your device’s
Neuron C application. The IzoT NodeBuilder tool supports configuration properties with an
easy-to-use progr amming mod el in Neuron C.
Functional Blocks
Applications in devices are divided into one or more functional blocks. A functional block is a
collection of network variables and configuration properties, which are used together to perform one
task. These network variables and configuration properties are called the functional block members.
For example, a digital input device could have four digital input functio nal b locks that contain the
configuration properties and output network variabl e members for each of t he four hardware d igital
inputs on the device.
The NodeBuilder Code Wizard automatically generates the required functional block declarations for
your device’s interface in your device’s Neuron C application.
A functional block is an implementatio n of a functional profile.
Functional Profiles
A functional profile defines mandatory and optional network variable and configuration property
members for a type of functional block. For example, the standard functional profile for a light
actuator has mandatory SNVT_switch input and output network varia bles, optional SNVT_elapsed_tm and SNVT_elec_kwh output network variables, and a number of optional
configuration properties. The following diagram illustrates the components of the standard light
actuator functional profile:
IzoT NodeBuilder User's Guide 13
When a functional block is created from a functional profile, the application designer can determine
which of the optional configuration properties and network variables to implement.
Hardware Templates
A hardware template is a file with a .NbHwt extension that defines the hardware configuration for a
device. It specifies hardware attributes that include the transceiver type, Neuron Chip or Smart
Transceiver model, clock speed, system image, and memory configuration. Several hardware
templates are included with the IzoT NodeBuilder tool. You can use these or create your own.
Third-party development platform suppliers may also include hardware templates for their platforms.
Neuron C
Neuron C is a programming language, based on ANSI C, used to develop applications for devices that
use a Neuron Chip or Smart Transceiver as the application processor. Neuron C includes extensions
for network communication, device configuration, hardware I/O, and event-driven scheduling.
Device Templates
A device template defines a device type. The IzoT NodeBuilder tool uses two types of device
templates. The first is a NodeBuilder device template. The NodeBuilder device template is a file with
a .NbDt extension that specifies the information required for the IzoT NodeBuilder tool to build the
application for a device. It contains a list of the application Neuron C source files, device-related
preferences, and the hardware template name. When the application is built, the IzoT NodeBuilder
tool automatically produces a n IzoT device template and passes it to the IzoT Commissioning Tool and
other netwo rk tools. The IzoT device template defines the device interface, and it is used by the IzoT
Commissioning Tool and other network tools to configure and bind the device.
Device Interface Files
A device interface file (also known as an XIF file or an ex te rnal interface file) is a file that specifies the
interface of a device. It includes a list of all the functional blocks , net wor k variables, configuration
properties, and configuration property default values defined by the device’s application. IzoT tools
such as the IzoT Commissioning Tool use device interface files to create an IzoT device template.
This enables the network tool to be used to create network designs without being connected to the
physical devices, and it speeds up some configuration steps when the network tool is connected to the
physical device. A text device interface file with a .XIF extension is required by the LonMark Application Layer Interoperability Guidelines. A text device interface file is automatically produced
by the IzoT NodeBuilder tool when you build an application. The IzoT NodeBuilder tool als o
automatically creates binary (.XFB extension) a nd optimized-binary (.XFO extension) versions of the
device interface file that speed the import process for IzoT tools such as the IzoT Commissioning Tool.
Resource Files
Resource files define network variable types, configuration prop erty types, and functiona l profiles .
Resource files for standard types and profiles are distributed by L
resource files define standard network variable types (SNVTs), standard configuration property types
(SCPTs), and standard functional profiles. For example, SCPT_location is a standard configuration
property type for configuration properties containing the device loca t ion as a text string, and
SNVT_temp_f is a network variable type for network variables containing temperature as a
floating-point number. The standard network variable and configuration property types are defined at
types.lonmark.org.
As new SNVTs and SCPTs are defined, updated resource files and documentation are posted to the
ONMARK Web site. Standard functional profile s ar e inclu d ed with the IzoT NodeBuilder tool, and
L
their documentation is also availa ble on the L
resource files and documentation, go to the L
ONMARK Web site. To view and download the latest
ONMARK Web site at www.lonmark.org.
ONMARK International. The standard
14 Introduction
Device manufacturers may also create user resource files that contain manufacturer -defined types and
profiles called user network variable types (UNVTs), user configuration property types (UCPTs), and
user functional profiles (UFPTs).
You can create applications that only use the standard types and profiles. In this case, you do not need
to create user-defined resource files. If you need to define any new user types or profiles, you will use
the NodeBuilder Resource Editor to create them.
Targets
A target is a LONWORKS devi ce whose application is built by the IzoT NodeBuilder tool. There are
two types of targets, development targets and release targets. Development targets are used during
development; release targets are used when development is complete and the device will be released to
production. Each NodeBuilder device template specifies the definition for a development target and a
release target. Both target definitions use the same source code, program ID, interface, and resource
files, but can use different hardware templates and compiler, linker, and exporter options. The source
code may include code that is conditionally compiled based on the type of target.
IzoT NodeBuilder User's Guide 15
16 Introduction
Loading...
+ 261 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.