Echelon IzoT NodeBuilder User Manual

4 (1)
Echelon IzoT NodeBuilder User Manual

IzoTTM

NodeBuilder

User’s Guide

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, LONMARK, 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 PARTICULAR PURPOSE, 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 Templates......................................................

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 Wizard ...............................................

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_occurs(<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 Changeable-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 NodeBuilder Devices .................................

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 Debugger ......................................................

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 NodeBuilder Project.......................................

254

Appendix C Glossary ........................................................................

257

Appendix D NodeBuilder Software License Agreement.................

271

IzoT NodeBuilder User's Guide

vii

viii

Preface

Preface

The IzoTNodeBuilder® 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 LONWORKS devices.

Audience

This guide is intended for device and system designers with an understanding of control networks.

Hardware Requirements

Requirements for computers running the IzoT NodeBuilder tool are listed below:

Microsoft® Windows. Windows 8 64-bit and 32-bit, or Windows 7 64-bit and 32-bit, or Windows XP 32-bit. Echelon recommends that you install the latest service pack available from Microsoft for your version of Windows.

An Intel® Pentium® or compatible processor meeting the minimum Windows requirements for the selected version of Windows.

300 to 550 megabytes (MB) free hard-disk space, plus the minimum Windows requirements for the selected version of Windows.

o The IzoT NodeBuilder tool requires 100 MB of free space.

o The IzoT Commissioning Tool, which is required to install the IzoT NodeBuilder 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 features 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 IzoT or LONWORKS device using the IzoT NodeBuilder tool.

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

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 Wizard, 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 Wizard to implement your device functionality. Explains 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 Commissioning 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 LONWORKS devices in a network.

Debugging a Neuron C Application. Describes how the use the NodeBuilder debugger to troubleshoot your Neuron C application.

Appendices. Provides information for using the command line project make facility and managing an IzoTNodeBuilder project using a source control application. Also includes a glossary with definitions for many terms commonly used with an IzoT NodeBuilder device development.

Note: Screenshots in this document were taken during 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 supplemental information to the material in this guide. You can download these documents from Echelon’s Web site at www.echelon.com.

FT 6000 EVB Examples Guide

Describes how to run the Neuron C example applications

( 078-0505-01)

included with the FT 6000 EVK on an FT 6000 EVB.

FT 6000 EVB Hardware Guide

Describes how to connect the FT 6000 EVBs, and describes the

(078-0504-01)

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.

Introduction to the LONWORKS

Provides a high-level introduction to LONWORKS networks and

Platform

the tools and components that are used for developing, installing,

(078-0183-01B)

operating, and maintaining them.

OpenLNS Plug-in Programmer’s

Describes how to write plug-ins using .NET programming

Guide (078-0393-01A)

languages such as C# and Visual Basic .NET

IzoT NodeBuilder User's Guide

xi

IzoT Commissioning ToolUser’s

Describes how to use the IzoT Commissioing Tool to design,

Guide (078-0514-01)

commission, modify, and maintain LONWORKS networks.

LONMARK SNVT and SCPT Guide

Documents the standard network variable types (SNVTs),

 

standard configuration property types (SCPTs), and standard

 

enumeration types that you can declare in your applications.

IZOT Plug-in for WireShark Guide

Describes how to use the IzoT Plug-in for WireShark. This is

(078-9511-01A)

the packet analyzer to monitor, analyze, and troubleshoot

 

network protocol problems

Neuron C Programmer’s Guide

Describes how to write programs using the Neuron® C Version

( 078-0002-02I)

2.3 language.

Neuron C Reference Guide

Provides reference information for writing programs using the

(078-0140-02G)

Neuron C language.

Neuron Tools Error Guide

Provides reference information for Neuron tool errors.

(078-0402-01D)

 

NodeBuilder Resource Editor User’s

Describes how to use the NodeBuilder Resource Editor to create

Guide (078-0194-01C)

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 then 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 Echelon or an Echelon support partner. See www.echelon.com/support for more information on Echelon 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 about device development training at www.echelon.com/training.

You can obtain technical support via phone, fax, or e-mail from your closest Echelon support center. The contact information is as follows:

Region

Languages Supported

Contact Information

 

 

 

The Americas

English

Echelon Corporation

 

Japanese

Attn. Customer Support

 

 

550 Meridian 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

Region

Languages Supported

Contact Information

 

 

 

Europe

English

Echelon Europe Ltd.

 

German

Suite 12

 

French

Building 6

 

Italian

Croxley Green Business Park

 

 

Hatters Lane

 

 

Watford

 

 

Hertfordshire WD18 8YH

 

 

United Kingdom

 

 

Phone: +44 (0)1923 430200

 

 

Fax: +44 (0)1923 430300

 

 

lonsupport@echelon.co.uk

 

 

 

Japan

Japanese

Echelon Japan

 

 

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

 

 

 

China

Chinese

Echelon Greater China

 

English

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

 

 

 

Other Regions

English

Phone: +1-408-938-5200

 

Japanese

Fax: +1-408-328-3801

 

 

lonsupport@echelon.com

 

 

 

IzoT NodeBuilder User's Guide

xiii

1

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.

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 maintaining IzoT and LONWORKS devices based on the Neuron 6000 Processor and FT 6000 Smart Transceiver and all previous-generation Series 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 devices in a variety of systems including building and 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 code to implement your device’s functionality.

Compile, build, and download your application to a development platform or to your own devices.

Test with prototype I/O hardware on either the FT 6000 EVB Evaluation Boards included 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 LONWORKS network and test how your device interoperates with other IzoT and LONWORKS devices.

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 protocol that implements IzoT Control Services. IzoT Control Services are based on the LONMARK Layer 7 protocol, the ISO/IEC 14908-1 Layers 3 to 6 protocols, 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 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 router as long as they are on the same LonTalk-compatible channel. LonTalk/IP

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 configure the IzoT Router included 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 16484- 5, 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 requirements 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 and 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 functions.

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 LONWORKS devices. The FT 6000 EVB includes a FT 6050 Smart Transceiver with an 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 following 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 inputs

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 debugging.

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.

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 changeable-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:

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 ChangeableType Network Variables in the Neuron C Programmer’s Guide for more detail.

Neuron C Version 2.3 Enhancements

The new features in the Neuron C Version 2.3 programming language include 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 and automatic memory maps is detailed earlier in this section.

The new preprocessor, based on the open source MCPP implementation by Kioshi Matsui, provides previously unsupported 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 which 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 of the 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-friendly alias, pragma 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 LONWORKS free topology (FT) twisted pair channel.

IzoT Commissioning Tool EVK Edition DVD. Contains the software tool for designing, installing, and maintaining IzoT and LONWORKS control networks. The EVK Edition 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 LONWORKS networks.

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.

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 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 includes 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 automatically generate Neuron C source code 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 three Neuron C example applications that you can 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 LONWORKS networks. You can view the Neuron C code used in the example applications, and then create a new device application by modifying the existing example applications 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 LONWORKS device that you can use to evaluate the IzoT and LONWORKS platforms and create IzoT and LONWORKS devices. The FT 6000 EVB includes an FT 6050 Smart Transceiver with an external 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 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 inputs

2 LED outputs

Light-level sensor

Temperature sensor

The FT 6000 EVB Evaluation 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 debugging.

Each FT 6000 EVB also features a flash ICE header that supports the SPI and I2C 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 install, connect, configure, test, and update devices that you develop with the IzoT NodeBuilder software. It is a software package for designing, installing, and maintaining IzoT and LONWORKS control networks. Based on Echelon’s IzoT Network Services Server, the Izot Commissioning Tool combines a powerful network services platform with an easy-to-use Visio user interface. The IzoT Commissioning tool is compatible with a number of OpenLNS and LNS plug-ins, simplifying network 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 in 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.

Network Documentation Tool. You can create an IzoT CT drawing during the network design and installation process. This drawing is an accurate, logical representation 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, subsystems, 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 is the standard network management software platform for commercial and industrial IzoT and LONWORKS networks.

IzoT Router

The IzoT Router is 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.

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 NodeBuilder software that enabled Wireshark to decode LonTalk/IP packets. See the IzoT Plug-in for Wireshark Guide for details on how to download Wireshark, 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 some 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 14908-1 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 consumes information as instructed by the application that it is running. The applications on different devices are not synchronized, and it is possible 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 is an open protocol defined by the ISO/IEC 14908-1 standard (defined nationally in the United 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.

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).

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 NodeBuilder tool, IzoT Commissioning Tool, and Neuron Chips support all standard channel types, but not all Neuron 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 the 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 messages on. The subnet on the FT side needs to be different than the subnet on the Ethernet 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 LONWORKS channels from other devices, as well as information 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 LONWORKS channels to other 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 application.

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-digit value defining the structure of the program ID. The upper

 

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 LONMARK certified devices.

 

Program ID format 9 is used for devices that will not be LONMARK

 

certified, or for devices that will be certified 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 devices.

 

The IzoT NodeBuilder tool can be used to create applications with

 

program ID format 8 or 9.

Manufacturer ID (M) A 5 hex-digit ID that is unique to each LONWORKS 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

Field

Description

 

Standard manufacturer IDs are assigned to manufacturers when they

 

join LONMARK International, and are also published by LONMARK

 

International so that the device manufacturer of a LONMARK certified

 

device is easily identified. Standard manufacturer IDs are never

 

reused or reassigned. If your company is a LONMARK member, but

 

you do not know your manufacturer ID, you can find your ID in the

 

list of manufacturer IDs at www.lonmark.org/spid. The most current

 

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 form at www.lonmark.org/mid.

Device Class (C)

A 4 hex-digit value identifying the primary function of the device. This

 

value is drawn from a registry of pre-defined device class definitions. If

 

an appropriate device class designation is not available, the LONMARK

 

International Secretary will assign one, upon request.

Usage (U)

A 2 hex-digit value identifying the intended usage of 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

 

appropriate usage designation is 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.

Channel Type (T)

A 2 hex-digit value identifying the channel type supported 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.

Model Number (N)

A 2 hex-digit value identifying the specific product model. Model

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 network variable of the same type. 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 variable values go. When the application program has a changed value for an output network variable, it simply assigns the new value to the output network variable.

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 replaced with an occupancy sensor, without making any changes to the lighting 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 encapsulates the complexity of distributed applications.

Configuration Properties

IZOT AND LONWORKS applications may also contain configuration properties. Configuration properties allow the device’s behavior to be customized using a network management tool such as the

12

Introduction

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 (add, 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 NodeBuilder 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 programming model 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 functional blocks that contain the configuration properties and output network variable members for each of the four hardware digital 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 implementation 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 variables, 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:

 

 

 

Lamp Actuator

 

 

 

 

 

 

SFPTLampActuator

 

 

 

 

 

 

 

 

 

 

 

 

 

Mandatory network variables

 

 

 

nv1

 

nviLampValue

nv2

 

nvoLampValueFb

 

 

 

SNVT_switch

 

 

SNVT_switch

 

 

 

 

 

 

 

 

 

 

 

 

Optional network variables

nv3 nvoRunHours SNVT_elapsed_tm

nv4 nvoEnergyCnt SNVT_elec_kwh

Configuration properties

Mandatory

Optional

 

SCPT_location

SCPTrunHrInit

 

SCPTinFbDly

SCPTrunHrAlarm

 

SCPT_def_output

SCPTenrgyCntInit

 

 

 

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 an IzoT device template and passes it to the IzoT Commissioning Tool and other network 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 external interface file) is a file that specifies the interface of a device. It includes a list of all the functional blocks, network 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 also automatically creates binary (.XFB extension) and 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 property types, and functional profiles. Resource files for standard types and profiles are distributed by LONMARK International. The standard 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 location 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 LONMARK Web site. Standard functional profiles are included with the IzoT NodeBuilder tool, and their documentation is also available on the LONMARK Web site. To view and download the latest resource files and documentation, go to the LONMARK Web site at www.lonmark.org.

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 device 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