Echelon IzoT BACnet Developes User Manual

IzoT BACnet Developer’s Guide
Develop BACnet applications using the FT 6000 EVK and the FT 6050 Smart Transceiver.
078-0507-01A
Echelon, LON, LonWorks, Neuron, 3120, 3150, Digital Home, i.LON, 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 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 © 2014 by Echelon Corporation. Echelon Corporation www.echelon.com
ii Preface
Contents
Getting Started with BACnet ........................................................... 4
Hardware Requirements ............................................................................... 5
Compiling the BACnet Sample Projects ................................................ 5
Using BACnet ...................................................................................... 7
BACnet Terminology...................................................................................... 8
Differences between BACnet and LONWORKS .......................................... 9
BACnet Read Operations ...................................................................... 10
Write Operation Resolution .................................................................. 10
BACnet Interface Overview .................................................................. 12
Data Flow during a LONWORKS Write to a Network Variable ........ 13
Data Flow during a LONWORKS Read of a Network Variable ......... 14
Data Flow during an outgoing Network Variable Update .................. 14
Data Flow during a BACnet Write to a BACnet Object ...................... 14
Data Types and BACnet to Lon Mapping ............................................ 14
BACnet Instance Numbering ............................................................... 14
BACnet Object to LONMARK SNVT Mapping – The “Mapping Table”15
BACnet Object Properties ..................................................................... 15
Device ID and Device Name ................................................................. 16
Mapping Table Structure ...................................................................... 16
Requirements to add the BACnet Stack to a FT 6050 application ........... 16
Mapping BACnet Objects to Network Variables ....................................... 17
Mapping BACnet Objects to non-Network Variables ................................ 17
Complex Mapping ........................................................................................ 18
Mapping UNVTs .................................................................................... 18
Device Object Instance and Name .............................................................. 18
BACnet Test Tools ....................................................................................... 18
Appendix A Glossary ....................................................................... 21
Using BACnet and LONWORKS with the FT 6000 EVK 3

Getting Started with BACnet

This chapter provides the information to get started with BACnet on the
IzoT network.
1
4 Getting Started with BACnet

Hardware Requirements

The following hardware is required to develop and test a BACnet application on the FT 6050
IzoT Router – required to translate the Ethernet packets to FT-10. This device
acts as an IP packet router but also contains a module that makes the IzoT
Router act as a BACnet Router, per the BACnet standard.
Echelon Series 6000 EVB - for running the demos, and for the development and
testing of a complete BACnet application by the user.
See the FT 6000 EVK Quick Start Guide and Echelon Series 6000 EVB Hardware Guide for information on using your IzoT Router and EVB with BACnet.

Compiling the BACnet Sample Projects

The sample projects allow you to build the demo that are downloaded and tested to verify the tool-chain and procedures. It should be done before attempting to link a user developed application.
There is a BACevb sample project that is intended to run on the Echelon Series 6000 EVB, and which measures and displays space temperature, flashes LEDs and interacts with the user.
BACsimple is a simplified project to show the minimum viable project using BACnet, allowing easier integration with the final application.
Procedure
1. The BAClon Toolkit will be installed along with the other IzoT tools. To access
the BACevb sample project, run NodeBuilder, then open the following project:
C:\LonWorks\NeuronC\Examples\BAClon\BACevb\BACdemo.NbPrj
2. Build the project
3. Using NodeUtil, download BACevb.ndl to the Echelon Series 6000 EVB
4. Confirm that it works. On successful startup:
LED1 will illuminate
LED2 will flash
LED1 will go out if SW1 is held down for 1 second. This LED will come on again
each time the system restarts. It can be used to check for system crashes.
5. Set the Domain Table to reflect the IP address choices for your network, or set
DHCP
6. On a PC attached to the network, run the BACnet Browser for IzoT. This should
discover the BACnet Device on the network, and should list the BACnet Objects
contained in it.
(The BACnet Browser for IzoT can be found here:
http://www.connect-ex.com/demos_and_downloads/bacnet-browser-for-
echelons-izot
Note that the FT6050’s device ID and Object Name will be automatically set
based on the IP address of the FT6050. If desired, this can be changed by the
Using BACnet and LONWORKS with the FT 6000 EVK 5
user to match the requirements of their site through most standard BACnet
Workstations, including the BACnet Browser for IzoT. To do so, right click on the
EVB ‘Device’ icon displayed in the BACnet Browser and input the desired
parameters.
7. Confirm that Temperature and Lux readings appear and that the output setpoint
(SP on the LCD display) can be modified from the BACnet Browser.
6 Getting Started with BACnet
2

Using BACnet

This chapter explains the BACnet terminology and illustrates the
differences between BACnet and L
ONWORKS.
Using BACnet and LONWORKS with the FT 6000 EVK 7

BACnet Terminology

The following terms are a brief summary of BACnet terminology.
BACnet Network – A group of BACnet Devices on a single network, which may be
any of BACnet’s physical layer options, namely Ethernet, RS-485, LonTalk, and now IzoT, identified by a Network Number.
BACnet Internetwork – A collection of connected BACnet Networks connected via
BACnet Routers. The resulting devices are all able to communicate
with one another. Every BACnet Device is required to have a unique BACnet Device Instance and Device Object Name to unambiguously distinguish it, and every BACnet Network must have a unique Network Number.
BACnet Device – A controller, operator workstation, etcetera, that supports
BACnet communications
BACnet Object – A data point, measurement or some other value in a BACnet
Device
BACnet Object Identifier – An identifying parameter for each object in a Device
which is unique on a Device basis, which comprises the Object Type and the Object’s Instance Number.
BACnet Property – A BACnet Object contains multiple Properties, some optional
and some mandatory. For example, Properties such as Present Value could reflect the value of a physical input such as temperature, the Object Identifier Property of an Object identifies the Object.
BACnet Device Instance – More exactly, the Instance Number of the Object
Identifier of the Device Object that every BACnet device is required to contain. It has to be unique across the whole of the BACnet Internetwork.
BACnet Router – A standard BACnet component that allows the interconnection of
different BACnet Networks. They may effect a physical and logical change between networks of different physical types and different Network Numbers, or sometimes only a logical change between different BACnet Network Numbers.
Priority Array – An array of 16 values for some BACnet output Objects, (e.g.
Analog Output), which allows multiple systems to control a single output, by writing to the Priority Array, with predetermined results. The value of the resulting highest Priority Array item is transferred to the Present Value
Present Value – One of a BACnet Object’s Properties, usually containing a physical
input or output value.
Relinquish Default – A value that is transferred to the Present Value when the
Priority Array does not contain any values at all.
BACnet Priority – Specified when writing a value to the BACnet Priority Array.
8 Using BACnet
External
LonWorks
Device
External
LonWorks
Device
FT 6000 based LonWorks Device
Standard LonWorks Function Block
AO: Temp Setpoint
BAC ne t Write BACnet Read
BACnet Read
Vi rtual BA Cn et S erver (N ew)
nviSpaceTemp
AO: Space Temp
nviSetPoint
nvoSpaceTemp
AI:SpaceTemp
AI

Differences between BACnet and LONWORKS

There is a fundamental difference between BACnet and LONWORKS “Input” and “Output” concepts pertaining to physical I/O. For example, when considering a temperature sensor; when using BACnet, the temperature sensor is viewed as an “Analog Input” and displayed and processed accordingly. In a L to process the measurement internally and expose the resulting temperature as an “Analog Output” of a Function Block. Similarly, in the case of a setpoint for example; in BACnet systems, setpoints are normally considered “Analog Outputs” to be written to a device, whereas when using L
ONWORKS, setpoints are processed as Analog Inputs to
Function Blocks.
ONWORKS example, the common approach is
With this in mind, the mapping of the BACnet conceptual model to a L
ONWORKS model
can easily be achieved by the creation of a “Virtual BACnet Server” model within the Neuron Chip, and other BACnet devices interact with this virtual device as they would with any other native BACnet device.
Figure 1. Conceptual Model of a Virtual BACnet Server
Figure 1 shows 3 L embodied as the Virtual BACnet Server (VBS) which exists within the Neuron 6050 chip. It is this interface that a BACnet Client (such as a Building Management System, Operator Workstation, or perhaps another BACnet Controller) communicates with. The model of the VBS is such that the BACnet Client can read from and write to BACnet points in a completely BACnet-compliant fashion. The VBS connects and maps these BACnet points internally to the L
Normal L Network Variables in the original function blocks as before, and the L
ONWORKS connections can still be bound, simultaneously, to the LONWORKS
will continue normal operation.
It should be noted that in some cases a single L multiple SNVT fields will map to Multiple BACnet Objects.
Using BACnet and LONWORKS with the FT 6000 EVK 9
ONWORKS Devices. The central device contains the BACnet Interface,
ONWORKS Network Variables.
ONWORKS Network Variable with
ONWORKS systems
FT 6000 based LonWorks Device
Ext ernal Lo nW orks De vi ce
Physic al Sensor
LonWorks Write
Temp from External
Device
Vi rtual BA Cn et S erver
Standard LonWorks Function Block
BAC ne t Wr ite
Fr om B ACn et
Device
BACnet Read
nviSpaceTemp
AO: Space Temp
For example, in Figure 1 there is a nviSpaceTemp that is normally connected to some other nvo output from another device. If a BACnet Client is required to supply this parameter, then the BACnet Client will execute a write to the Analog Output “AO:TempSetpoint” in the Virtual BACnet Server. Internally the BACnet Stack will map this write to the nviSpaceTemp.
Similarly, if a BACnet Client wants to know the value of a L
ONWORKS output, it would
read the BACnet point mapped to that Network Variable output (nvo).

BACnet Read Operations

When the BACnet Client polls for data, it can request any BACnet Property contained within the BACnet Object. Most of these properties are rather static (e.g. Object ID, Object Name) and are seldom polled, sometimes only once, and these types of reads are handled completely within the VBS.
Reads for live data normally are a BACnet read for the “Present Value” Property of the BACnet Object, e.g. An Analog Input, Instance 1. This results in the VBS interface accessing the appropriate “live” data in the L
ONWORKS Network Variable associated with
the BACnet Object.

Write Operation Resolution

BACnet Write operations are more complex within BACnet, and this is further complicated by the fact that there is a conflict as to who is in control of the point being written to.
It would be possible to have implemented a “last device to write wins” method. However, using this approach makes it very difficult to diagnose problems in a system. Luckily, BACnet already presents a solution, as outlined below.
Figure 2. Write Operation Resolution
10 Using BACnet
Loading...
+ 22 hidden pages