Echelon IzoT NodeBuilder User Manual

IzoTTM NodeBuilder
Develop hardware devices and software applications using Echelon's Series 6000, 5000, and 3100 chips and Smart
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.
Printed in the United States of America. Copyright ©1997–2014 by Echelon Corporation. Echelon Corporation www.echelon.com
ii
CONTENTS
Preface ................................................................................................... ix
Purpose ........................................................................................................... x
Audience .......................................................................................................... x
Hardware Requirements .................................................................................. x
Content ............................................................................................................ x
Related Manuals ............................................................................................. xi
For More Information and Technical Support ................................................. xii
1 Introduction ....................................................................................... 1
Introduction to the IzoT NodeBuilder Tool ....................................................... 2
New Features in the IzoT NodeBuilder Tool ................................................... 2
LonTalk/IP Support ................................................................................... 2
BACnet/IP Support .................................................................................... 3
Series 6000 Chip Support ......................................................................... 3
Transient Functions and Automatic Memory Maps .................................. 3
FT 6000 EVB Evaluation Board ................................................................ 4
Extended Address Table ........................................................................... 4
Network Variables Up To 228 Bytes ......................................................... 4
Neuron C Version 2.3 Enhancements ...................................................... 5
What's Included with the IzoT FT 6000 EVK ................................................... 6
IzoT NodeBuilder Development Tool ........................................................ 6
FT 6000 EVB Evaluation Boards .............................................................. 7
IzoT Commissioning Tool ......................................................................... 8
IzoT Network Services Server .................................................................. 8
IzoT Router ............................................................................................... 8
IzoT Plug-in for Wireshark ........................................................................ 8
Introduction to NodeBuilder Device Development and Network Integration ... 9
Channels ................................................................................................... 9
Routers ...................................................................................................... 9
Applications ............................................................................................. 10
Program IDs ............................................................................................ 10
Network Variables ................................................................................... 11
Configuration Properties ......................................................................... 12
Functional Blocks .................................................................................... 13
Functional Profiles................................................................................... 13
Hardware Templates ............................................................................... 14
Neuron C ................................................................................................. 14
Device Templates ................................................................................... 14
Device Interface Files.............................................................................. 14
Resource Files ........................................................................................ 14
Targets .................................................................................................... 15
2 Installing the IzoT NodeBuilder Development Tool ...................... 17
Installing the IzoT FT 6000 EVK .................................................................... 18
Installing the IzoT NodeBuilder Software ................................................ 18
3 IzoT NodeBuilder Quick-Start Exercise ......................................... 25
IzoT NodeBuilder Quick-Start Exercise ......................................................... 26
Step 1: Creating an IzoT NodeBuilder Project ........................................ 26
Step 2: Creating a NodeBuilder Device Template .................................. 29
Step 3: Defining the Device Interface and Creating its Neuron C
Application Framework ........................................................................... 33
Step 4: Developing the Device Application ............................................. 38
IzoT NodeBuilder User's Guide iii
FT 6000 Evaluation Boards .............................................................. 39
LTM-10A Platform and Gizmo 4 I/O Board ...................................... 41
Step 5: Compiling, Building, and Downloading the Application .............. 42
Step 6: Testing the Device Interface ....................................................... 46
Step 7: Debugging the Device Application ............................................. 48
Step 8: Connecting and Testing the Device in a Network ...................... 54
Additional Device Development Steps .................................................... 60
Creating an IzoT CT Stencil ............................................................. 60
Creating an IzoT Device Plug-in ....................................................... 64
Developing an HMI ........................................................................... 65
Creating a Device Installation Application ........................................ 65
Applying for LONMARK Certification .................................................. 67
4 Creating and Opening IzoT NodeBuilder Projects ....................... 69
Introduction to the NodeBuilder Project Manager ......................................... 70
Using the Project Pane ........................................................................... 71
Creating a NodeBuilder Project ..................................................................... 72
Creating a NodeBuilder Project from IzoT CT ........................................ 73
Creating a NodeBuilder Project from the NodeBuilder Project Manager 73
Creating a NodeBuilder Project from the New Device Wizard................ 76
Opening a NodeBuilder Project ..................................................................... 78
Opening a NodeBuilder Project from the IzoT Commissioning Tool ...... 78
Opening a NodeBuilder Project from the NodeBuilder Project Manager 80
Copying NodeBuilder Projects ....................................................................... 81
Using the IzoT Commissioning Tool to Backup and Restore a
NodeBuilder Project ................................................................................ 81
Manually Copying NodeBuilder Project Files .......................................... 84
Copying NodeBuilder Device Templates ....................................................... 85
Copying User-Defined Resource Files .......................................................... 86
Viewing and Printing NodeBuilder XML Files ................................................ 86
5 Creating and Using Device Templates .......................................... 88
Introduction to Device Templates .................................................................. 89
Creating Device Templates ........................................................................... 89
Starting the New Device Template Wizard ............................................. 89
Specifying the Device Template Name ................................................... 90
Specifying the Program ID ...................................................................... 91
Specifying Target Platforms .................................................................... 96
Managing and Editing Device T em plates ...................................................... 98
Managing Device Templates .................................................................. 98
Viewing and Editing Device Templates................................................... 99
Viewing Device Template Components ................................................ 100
Managing Development and Release Targets ..................................... 102
Setting Device Template Target Properties: Compiler ................... 103
Setting Device Template Target Properties: Linker ....................... 106
Setting Device Template Target Properties: Exporter .................... 107
Setting Device Template Target Properties: Configuration ............ 109
Inserting a Library into a NodeBuilder Device Template ...................... 111
Using Hardware Templates ......................................................................... 114
Creating Hardware Templates .............................................................. 115
Editing Hardware Templates ................................................................. 117
Setting Hardware Properties .......................................................... 117
Setting Memory Properties ............................................................. 120
5000 Series Chips .................................................................... 121
6000 Series Chips .................................................................... 122
3150 Neuron Core ................................................................... 122
iv Preface
3120 and 3170 Neuron Core ................................................... 122
Setting the Hardware Template Description ................................... 122
6 Defining Device Interfaces and Creating their Neuron C Application
Framework .......................................................................................... 124
Introduction to Device Interfaces ................................................................. 125
Starting the Code Wizard ...................................................................... 125
Using the Resource Pane............................................................... 126
Introduction to Resource File Sets ........................................... 127
Introduction to Resources ........................................................ 128
Using the NodeBuilder Resource Editor .................................. 130
Using the Program Interface Pane ................................................. 130
Defining the Device Interface ................................................................ 132
Adding Functional Blocks ............................................................... 135
Using Large Functional Block Arrays ....................................... 138
Editing Mandatory Network Variables ............................................ 138
Editing Mandatory Configuration Properties................................... 145
Implementing Optional Network Variables ..................................... 151
Implementing Optional Configuration Properties ........................... 153
Adding Implementation-specific Network Variables ....................... 155
Adding Implementation-specific Configuration Properties ............. 158
Setting Initial Values for Network Variables and
Configuration Properties ................................................................. 161
Setting Initial Values for Structured Data Types ...................... 162
Setting Initial Values for Enumerations .................................... 164
Setting Initial Values for Floating Point and s32 Data Types ... 165
Using Changeable-Type Network Variables .................................. 166
Generating Code with the Code W izard ............................................... 167
Files Created by the Code Wizard ................................................. 167
Using Code Wizard Templates .................................................... 170
Version 3 Templates ................................................................ 170
Version 2 Templates ................................................................ 170
Version 1 Templates ................................................................ 171
Creating the Device Application ..................................................... 171
7 Developing Device Applications .................................................. 173
Introduction to Neuron C ............................................................................. 174
Unique Aspects of Neuron C ................................................................ 174
Neuron C Variables ............................................................................... 176
Neuron C Variable Types ............................................................... 176
Neuron C Storage Classes ............................................................. 176
Variable Initialization ....................................................................... 177
Neuron C Declarations ................................................................... 177
Introduction to Neuron C Code Editing ........................................................ 178
Modifying Neuron C Code Generated by the Code Wizard .................. 179
Code Commands ............................................................................ 179
Code Guidelines ............................................................................. 180
Add I/O and Timer Declarations ............................................... 180
Add when-tasks Responding to I/O and Timer Events ............ 181
Add interrupt-tasks Responding to Interrupt Requests ............ 181
Add Code to when(nv_update_ occ ur s( <nv>)) when-task
of Functional Blocks with Input NVs......................................... 181
Share Code with filexfer.nc when Handling Explicit
Messages on a Device Implementing FTP .............................. 181
Ignore NCC#310 and NC#463 Compiler Warnings ................. 181
Implementing Changeab le-Type Network Variables ...................... 181
IzoT NodeBuilder User's Guide v
Neuron C Version 2 Features Not Supported by the Code Wizard 183
Message Tags.......................................................................... 183
I/O Models ................................................................................ 183
Network Variables .................................................................... 183
Configuration Properties .......................................................... 183
when() clauses ......................................................................... 184
LONMARK Style ......................................................................... 184
Director Functions .................................................................... 184
Interrupt Tasks ......................................................................... 184
Using the NodeBuilder Editor ...................................................................... 184
Using Syntax Highlighting ..................................................................... 185
Searching Source Files ......................................................................... 185
Searching a Single File for a String ................................................ 185
Replacing Text ................................................................................ 186
Searching Multiple Files for a String ............................................... 186
Using Bookmarks .................................................................................. 189
Setting Editor Options ........................................................................... 189
8 Building and Downloading Device Applications ........................ 191
Introduction to Building and Downloading Applications .............................. 192
Building an Application Image ..................................................................... 192
Excluding Targets from a Build ............................................................. 197
Cleaning Build Output Files .................................................................. 197
Viewing Build Status ............................................................................. 198
Setting Build Options............................................................................. 200
Downloading an Application Image ............................................................. 201
Programming 5000 and 6000 Off-chip Memory .................................... 203
Programming 5000 and 6000 Series Chips In-Circuit .................... 203
Programming 3150 Off-chip Memory .................................................... 208
Programming 3150 On-chip Memory .................................................... 209
Programming 3120 and 3170 On-chip Memory .................................... 210
Programming PL 3120 and PL 3170 Smart Transceiver
Parameters ..................................................................................... 210
Upgrading Device Applications ............................................................. 211
Adding and Managing Target Devices ........................................................ 211
Adding a Target Device with the IzoT Commissioning Tool ................. 211
Adding a Target Device with the NodeBuilder Project Manager .......... 215
Managing Target Devices ..................................................................... 217
Editing Target Device Settings .............................................................. 218
9 Testing a NodeBuilder Device Using the IzoT Commissioning Tool 221
Introduction to Testing NodeBuilder Devices .............................................. 222
Monitoring and Controlling Node Bu il der De vic es ................................. 222
Using the Data Point Shape ........................................................... 222
Using the LonMaker Browser ......................................................... 224
Connecting NodeBuilder Devices ......................................................... 227
10 Debugging a Neuron C Application ............................................. 233
Introduction to Debugging ........................................................................... 234
Starting the NodeBuilder Debug ger ...................................................... 234
Using the Debugger Toolbar ................................................................. 236
Stopping an Application ........................................................................ 237
Halting an Application ..................................................................... 238
Running to the Cursor .................................................................... 238
Setting and Using Breakpoints ....................................................... 238
Stepping Through Applications ............................................................. 239
vi Preface
Debugging Interrupts for 5000 or 6000 Series chips ............................ 239
Using Statement Expansion .................................................................. 239
Using the Watch List Pane .................................................................... 239
Using the Call Stack Pane .................................................................... 243
Using the Debug Device Manager Pane............................................... 243
Peeking and Poking Memory ................................................................ 244
Executing Code in Development Targets Only ..................................... 245
Using the Debug Error Log Tab ............................................................ 245
Setting Debugger Options ..................................................................... 245
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 IzoT­compatible 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 16484­5, with 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 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 application­specific 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:
unsigned _RESIDENT get_nv_length_override(unsigned nvIndex) {
#if defined(_SUPPORT_LARGE_NV) unsigned uResult = get_declared_nv_length(nvIndex); #else unsigned uResult = 0xFF; #endif
4 Introduction
// 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 network recovery.
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