23.06.2014 Views

BACnet AS - sauter-controls.com sauter-controls.com

BACnet AS - sauter-controls.com sauter-controls.com

BACnet AS - sauter-controls.com sauter-controls.com

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> <strong>AS</strong><br />

User's Manual<br />

7001007003 S10<br />

7001007003 S10 Sauter Systems 1


<strong>BACnet</strong> <strong>AS</strong><br />

2 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Table of contents<br />

0<br />

1 <strong>BACnet</strong> basics ....................................................................................................... 11<br />

1.1 Bibliography.................................................................................................... 11<br />

1.1.1 <strong>BACnet</strong> Standard .................................................................................... 11<br />

1.1.2 <strong>BACnet</strong> engineering ................................................................................ 12<br />

1.2 Interoperability in building automation............................................................. 13<br />

1.3 <strong>BACnet</strong> as an open protocol for building automation ...................................... 13<br />

1.4 <strong>BACnet</strong> Data Link Layers................................................................................ 14<br />

1.5 Network topology............................................................................................ 15<br />

1.6 Router............................................................................................................. 15<br />

1.7 Virtual devices ................................................................................................ 15<br />

1.8 Client/server model......................................................................................... 15<br />

1.9 Data objects in the <strong>BACnet</strong>............................................................................. 16<br />

1.9.1 The Standard <strong>BACnet</strong> objects ................................................................. 16<br />

1.10 Access functions to <strong>BACnet</strong> devices and objects (services) ........................... 16<br />

1.10.1 Object access functions........................................................................... 17<br />

1.10.1.1 AddListElement ............................................................................ 17<br />

1.10.1.2 RemoveListElement ..................................................................... 17<br />

1.10.1.3 CreateObject ................................................................................ 17<br />

1.10.1.4 DeleteObject................................................................................. 17<br />

1.10.1.5 ReadProperty ............................................................................... 17<br />

1.10.1.6 ReadPropertyConditional.............................................................. 17<br />

1.10.1.7 ReadPropertyMultiple ................................................................... 17<br />

1.10.1.8 WriteProperty ............................................................................... 17<br />

1.10.1.9 WritePropertyMultiple ................................................................... 17<br />

1.10.1.10 ReadRange .................................................................................. 17<br />

1.10.2 File access functions ............................................................................... 18<br />

1.10.2.1 AtomicReadFile ............................................................................ 18<br />

1.10.2.2 AtomicWriteFile ............................................................................ 18<br />

1.10.3 Alarm and event functions ....................................................................... 18<br />

1.10.3.1 AcknowledgeAlarm....................................................................... 18<br />

1.10.3.2 ConfirmedCOVNotification............................................................ 18<br />

1.10.3.3 ConfirmedEventNotification .......................................................... 18<br />

1.10.3.4 GetAlarmSummary ....................................................................... 18<br />

1.10.3.5 GetEnrollmentSummary ............................................................... 18<br />

1.10.3.6 SubscribeCOV (UnsubscribeCOV) ............................................... 19<br />

1.10.3.7 UnconfirmedCOVNotification........................................................ 19<br />

1.10.3.8 UnconfirmedEventNotification....................................................... 19<br />

1.10.3.9 GetEventInformation Service........................................................ 19<br />

1.10.3.10 SubscribeCOVProperty Service.................................................... 19<br />

1.10.3.11 LifeSafety Service......................................................................... 19<br />

1.10.4 Remote device management functions.................................................... 20<br />

1.10.4.1 DeviceCommunicationControl ...................................................... 20<br />

7001007003 S10 Sauter Systems 3


0<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Table of contents<br />

1.10.4.2 ConfirmedPrivateTransfer .............................................................20<br />

1.10.4.3 UnconfirmedPrivateTransfer..........................................................20<br />

1.10.4.4 ReinitializeDevice..........................................................................20<br />

1.10.4.5 ConfirmedTextMessage ................................................................20<br />

1.10.4.6 UnconfirmedTextMessage.............................................................20<br />

1.10.4.7 TimeSynchronization.....................................................................20<br />

1.10.4.8 Who-Has .......................................................................................21<br />

1.10.4.9 I-Have ...........................................................................................21<br />

1.10.4.10 Who-Is...........................................................................................21<br />

1.10.4.11 I-Am ..............................................................................................21<br />

1.10.4.12 UTCTimeSynchronization..............................................................21<br />

1.10.5 Virtual Terminal functions.........................................................................21<br />

1.10.5.1 VT-Open .......................................................................................21<br />

1.10.5.2 VT-Close .......................................................................................21<br />

1.10.5.3 VT-Data.........................................................................................21<br />

1.10.6 Network security functions .......................................................................22<br />

1.10.6.1 Request Key..................................................................................22<br />

1.10.6.2 Authenticate ..................................................................................22<br />

1.11 Conformance and interoperability ....................................................................22<br />

1.11.1 Conformance codes .................................................................................22<br />

1.11.2 Conformance classes...............................................................................22<br />

1.11.3 Client/server behaviour ............................................................................22<br />

1.11.4 Functional groups.....................................................................................23<br />

1.12 PICS (Protocol Implementation Conformance Statement) ...............................23<br />

1.13 BIBBs (<strong>BACnet</strong> Interoperable Building Blocks) ................................................24<br />

1.14 <strong>BACnet</strong> procedures and mechanisms .............................................................24<br />

1.14.1 Initiating a connection with <strong>BACnet</strong> ..........................................................24<br />

1.14.2 Referencing with <strong>BACnet</strong> .........................................................................25<br />

1.14.3 Change-Of-Value reporting ......................................................................25<br />

1.14.4 Intrinsic reporting......................................................................................26<br />

1.14.5 Prioritising <strong>com</strong>mands..............................................................................26<br />

1.14.5.1 The priority array ...........................................................................26<br />

1.14.5.2 Writing a value with a priority indication.........................................27<br />

1.14.5.3 Deleting the priority .......................................................................27<br />

2 <strong>BACnet</strong> with Sauter EY3600...................................................................................29<br />

2.1 <strong>BACnet</strong> automation stations ............................................................................29<br />

2.2 <strong>BACnet</strong> server.................................................................................................30<br />

2.3 <strong>BACnet</strong> objects................................................................................................32<br />

2.3.1 Structure of a <strong>BACnet</strong> object ....................................................................32<br />

2.3.2 Portrayal of MFA to <strong>BACnet</strong> objects.........................................................32<br />

2.3.3 Link between <strong>BACnet</strong> object and input/output module..............................33<br />

4 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Table of contents<br />

0<br />

2.3.4 Link between <strong>BACnet</strong> object properties and input/output module<br />

parameters .............................................................................................. 35<br />

2.3.4.1 Analog input ................................................................................. 35<br />

2.3.4.2 Analog output ............................................................................... 36<br />

2.3.4.3 Analog value................................................................................. 37<br />

2.3.4.4 Binary input .................................................................................. 38<br />

2.3.4.5 Binary output ................................................................................ 39<br />

2.3.4.6 Binary value.................................................................................. 40<br />

2.3.4.7 Multistate input ............................................................................. 41<br />

2.3.4.8 Multistate output ........................................................................... 42<br />

2.3.4.9 Multistate value ............................................................................ 43<br />

2.3.4.10 Loop ............................................................................................. 44<br />

2.3.5 Relationship of <strong>BACnet</strong> unit code to module parameter ‘unit of<br />

measurement’.......................................................................................... 46<br />

3 <strong>BACnet</strong> hardware (EYK) ........................................................................................ 51<br />

3.1 Hardware platform .......................................................................................... 51<br />

3.2 Wiring diagram ............................................................................................... 51<br />

3.3 <strong>BACnet</strong> configuration...................................................................................... 51<br />

3.4 LED display for Ethernet interface .................................................................. 52<br />

4 <strong>BACnet</strong> in the network (topologies) ..................................................................... 53<br />

4.1 EYK as a native <strong>BACnet</strong> station...................................................................... 53<br />

4.2 EYK as a native <strong>BACnet</strong> head station............................................................. 54<br />

4.3 EYK as a native <strong>BACnet</strong> and novaNet station................................................. 55<br />

4.4 EYK as a <strong>BACnet</strong> station with bus-<strong>com</strong>patible devices (external protocols).... 56<br />

5 <strong>BACnet</strong> server configurator .................................................................................. 57<br />

5.1 Serial COM connection................................................................................... 57<br />

5.2 Installing the <strong>BACnet</strong> server configurator........................................................ 58<br />

5.3 Description of the configurator ........................................................................ 61<br />

5.3.1 Description of tabs................................................................................... 63<br />

5.3.1.1 Register „Device“.......................................................................... 63<br />

5.3.1.2 "Objects" Register ........................................................................ 64<br />

5.3.1.3 "Network" Register ....................................................................... 65<br />

5.3.1.4 The ‘EY3600’ tab.......................................................................... 66<br />

5.3.1.5 "Settings" Register........................................................................ 67<br />

5.3.1.6 "BBMD" Register .......................................................................... 68<br />

5.3.2 Description of menu items ....................................................................... 69<br />

6 <strong>BACnet</strong> system objects......................................................................................... 73<br />

6.1 Create device object ....................................................................................... 73<br />

6.1.1.1 Device Object ............................................................................... 74<br />

6.1.2 'Reinitialize Device' for <strong>BACnet</strong> device .................................................... 75<br />

7001007003 S10 Sauter Systems 5


0<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Table of contents<br />

6.1.3 Time synchronisation for the <strong>BACnet</strong> device ............................................76<br />

6.2 The 'Project engineering' object.......................................................................76<br />

6.3 The '<strong>AS</strong> status' object......................................................................................77<br />

6.4 The 'Restart-Indicator' object ...........................................................................77<br />

7 Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD ................................................................79<br />

7.1 Visualisation and operating..............................................................................79<br />

7.1.1 AI parameters ..........................................................................................79<br />

7.1.2 AI_Soft parameters ..................................................................................79<br />

7.1.3 CI parameters ..........................................................................................80<br />

7.1.4 CIF_Soft parameters................................................................................80<br />

7.1.5 CIV_Soft parameters................................................................................80<br />

7.1.6 Example...................................................................................................81<br />

7.1.7 Hours-run counter ....................................................................................82<br />

7.1.8 Example...................................................................................................82<br />

7.2 Analog output object........................................................................................83<br />

7.2.1 AO parameters.........................................................................................83<br />

7.3 Analog value object .........................................................................................83<br />

7.3.1 AI_Soft parameters ..................................................................................83<br />

7.3.2 AIA_Soft parameters................................................................................83<br />

7.3.3 CFB_Soft parameters...............................................................................84<br />

7.3.4 Example...................................................................................................84<br />

7.4 Binary input object...........................................................................................85<br />

7.4.1 BI parameters ..........................................................................................85<br />

7.4.2 BI_Soft parameters ..................................................................................85<br />

7.4.3 DI parameters ..........................................................................................85<br />

7.4.4 DI_Soft parameters ..................................................................................85<br />

7.4.5 Example...................................................................................................86<br />

7.5 Binary output object.........................................................................................86<br />

7.5.1 DO parameters.........................................................................................86<br />

7.5.2 Example...................................................................................................87<br />

7.6 Binary value object ..........................................................................................88<br />

7.6.1 DIA_Soft parameters................................................................................88<br />

7.6.2 DI_Soft parameters ..................................................................................88<br />

7.6.3 CFB_Soft parameters...............................................................................88<br />

7.7 Multistate input object......................................................................................89<br />

7.7.1 DI parameters ..........................................................................................89<br />

7.7.2 DI_Soft parameters ..................................................................................89<br />

7.8 Multistate output object....................................................................................89<br />

7.8.1 DO parameters.........................................................................................89<br />

7.8.2 Example...................................................................................................90<br />

7.9 Multistate value object .....................................................................................91<br />

7.9.1 DIA_Soft parameters................................................................................91<br />

6 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Table of contents<br />

0<br />

7.9.2 DI_Soft parameters ................................................................................. 91<br />

7.9.3 CFB_Soft parameters.............................................................................. 91<br />

7.10 Loop object..................................................................................................... 92<br />

7.10.1 Loop parameters ..................................................................................... 92<br />

8 Historical data recording with <strong>BACnet</strong>................................................................. 93<br />

8.1 Create a Trend Log object .............................................................................. 93<br />

8.2 Trend Log Object............................................................................................ 95<br />

8.3 How a Trend Log works.................................................................................. 96<br />

8.4 Engineering examples .................................................................................... 97<br />

8.4.1 Analogue input of Present-Value with time raster .................................... 97<br />

8.4.2 Analogue input of Present-Value with COV ............................................. 98<br />

8.4.3 External multistate output of Present-Value with COV ............................. 98<br />

8.4.4 Non-COV-supported property with time raster ......................................... 99<br />

8.5 Read log buffer with ReadRange .................................................................... 99<br />

8.6 Trend Log engineering notes ........................................................................ 101<br />

8.6.1 Background information......................................................................... 101<br />

8.6.2 Behaviour in case of power failure or reset of the <strong>BACnet</strong> server .......... 101<br />

9 Alarms and events............................................................................................... 103<br />

9.1 Change-Of-Value reporting........................................................................... 103<br />

9.2 Intrinsic-Reporting......................................................................................... 103<br />

9.3 Alarms with Notification Class objects........................................................... 105<br />

9.4 Notification Class Object............................................................................... 107<br />

9.4.1 Notification class 1 (OOR alarming notification)..................................... 108<br />

9.4.2 Notification class 2 (COS alarming notification) ..................................... 109<br />

9.4.3 Notification Class 3 (system events)...................................................... 110<br />

9.4.4 Notification class 4 (TrendLog buffer limit)............................................. 111<br />

9.4.5 Notification class 5 (floating limit notification)......................................... 112<br />

9.5 Alarm-Quittierung.......................................................................................... 113<br />

10 Time profiles ........................................................................................................ 115<br />

10.1 Create schedule object ................................................................................. 115<br />

10.1.1 Schedule object..................................................................................... 116<br />

10.1.2 Example ................................................................................................ 116<br />

10.2 Create calendar object.................................................................................. 117<br />

10.2.1 Calendar object ..................................................................................... 118<br />

10.2.2 Example ................................................................................................ 118<br />

11 EYK 300 parameterising for peer-to-peer data transmission ........................... 119<br />

11.1 Client ‘data sink’ functionality........................................................................ 119<br />

11.2 Client ‘data source’ functionality.................................................................... 119<br />

11.3 Engineering the data links............................................................................. 120<br />

11.4 Downloading the link file ............................................................................... 121<br />

7001007003 S10 Sauter Systems 7


0<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Table of contents<br />

11.5 Example: .......................................................................................................122<br />

11.5.1 Topology: ...............................................................................................122<br />

11.5.2 Transfer list bnsclt1.xls...........................................................................123<br />

11.5.3 Description of operation .........................................................................123<br />

11.5.3.1 Data sink .....................................................................................123<br />

11.5.3.2 Data source.................................................................................124<br />

12 EDE (Engineering Data Exchange)......................................................................125<br />

13 Data exchange with EYK (FTP)............................................................................127<br />

14 Annexe A: <strong>BACnet</strong> FAQ .......................................................................................129<br />

15 Annexe B: Troubleshooting the EYK ..................................................................131<br />

15.1 Error log file for the <strong>BACnet</strong> server................................................................131<br />

15.2 Communication tests.....................................................................................133<br />

15.2.1 Ping........................................................................................................133<br />

15.2.2 Telnet server ..........................................................................................134<br />

15.2.3 Hyperterminal.........................................................................................135<br />

16 Annexe C: System limits......................................................................................137<br />

16.1 System ..........................................................................................................137<br />

16.2 Objects..........................................................................................................137<br />

17 Annexe D: <strong>BACnet</strong> data types .............................................................................139<br />

18 Annexe E: <strong>BACnet</strong> client tool ..............................................................................141<br />

19 Annexe F: 'Inside' <strong>BACnet</strong> EYK...........................................................................143<br />

19.1 Hardware architecture ...................................................................................143<br />

19.2 The baseboard ..............................................................................................143<br />

19.3 The processor board .....................................................................................144<br />

20 Annexe G: <strong>BACnet</strong> server application update....................................................145<br />

21 Annexe H: <strong>BACnet</strong> on the Internet ......................................................................147<br />

8 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Table of contents<br />

0<br />

Trademarks<br />

Registered trademarks and product designations of various <strong>com</strong>panies and<br />

manufacturers are not specifically shown in this manual, but a summary of them is given<br />

here.<br />

Microsoft, Windows, MS-DOS<br />

Windows CE<br />

Microsoft Office<br />

Microsoft Excel<br />

Microsoft Access<br />

Microsoft Word<br />

Acrobat Reader<br />

BACstac<br />

OPC<br />

<strong>BACnet</strong>, <strong>AS</strong>HRAE<br />

LonTalk<br />

Ethernet<br />

ARCnet<br />

Intel, Pentium<br />

Trademark of Microsoft Corporation<br />

Trademark of Microsoft Corporation<br />

Trademark of Microsoft Corporation<br />

Trademark of Microsoft Corporation<br />

Trademark of Microsoft Corporation<br />

Trademark of Microsoft Corporation<br />

Adobe Systems Incorporated<br />

Trademark of Cimetrics, Inc.<br />

Trademark of the OPC Foundation<br />

Trademark of the American Society of Heating,<br />

Refrigerating and Air-Conditioning Engineers, Inc.<br />

Trademark of Echelon, Inc.<br />

Trademark of the Xerox Corporation<br />

Trademark of the Datapoint Corporation<br />

Trademark of the Intel Corporation<br />

All other brand or product names mentioned in the manual are trademarks and/or<br />

registered trademarks of the owners of the respective rights.<br />

7001007003 S10 Sauter Systems 9


0<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Table of contents<br />

10 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1<br />

1 <strong>BACnet</strong> basics<br />

<strong>BACnet</strong> is an open data <strong>com</strong>munication protocol for building automation and control<br />

networks (Building Automation and Control networks).<br />

<strong>BACnet</strong> was developed by the North-American <strong>AS</strong>HRAE (American Society of Heating,<br />

Refrigerating and Air-conditioning Engineers), adopted by the American National<br />

Standards Institute (ANSI) and is regularly revised by the International Standards<br />

Organisation (ISO).<br />

<strong>BACnet</strong> is suitable for both the management level and the automation level.<br />

Milestones in the history of <strong>BACnet</strong>:<br />

• 1987 <strong>AS</strong>HRAE establishes the Standard Project Committee, SSPC 135<br />

• 1995 Publication of <strong>AS</strong>HRAE 135-1995, adopted as <strong>AS</strong>HRAE/ANSI Standard 135-<br />

1995<br />

• 1999 With Addendum 135a, <strong>BACnet</strong>/IP be<strong>com</strong>es part of the standard<br />

• 2002 <strong>AS</strong>HRAE publishes <strong>AS</strong>HRAE/ANSI 135-2001<br />

• 2003 <strong>BACnet</strong> be<strong>com</strong>es the international standard (ISO 16484-5) and the<br />

European standard (EN ISO 16484-5)<br />

• 2004 <strong>AS</strong>HRAE publishes <strong>AS</strong>HRAE/ANSI 135-2004<br />

Milestones for Sauter:<br />

• 2003 First Sauter <strong>BACnet</strong> product on the market, based on <strong>BACnet</strong>/IP<br />

• 2004 Sauter passes the <strong>BACnet</strong> conformance test with the <strong>BACnet</strong> Automation<br />

Station (EYK 300) and obtains the BTL logo.<br />

1.1 Bibliography<br />

1.1.1 <strong>BACnet</strong> Standard<br />

[1a]<br />

ANSI/<strong>AS</strong>HRAE Standard 135-1995 <strong>BACnet</strong> A Data Communication Protocol for<br />

Building Automation and Control Networks:-<br />

This is the erste official <strong>AS</strong>HRAE standard on the subject of <strong>BACnet</strong> and covers the<br />

<strong>com</strong>plete <strong>AS</strong>HRAE Standard 135-1995 (<strong>BACnet</strong>). There are a number of extensions<br />

and annexes to this work which can be downloaded from the <strong>BACnet</strong> web site<br />

(www.bacnet.org). The more recent versions are:<br />

[1b] ANSI/<strong>AS</strong>HRAE Standard 135-2001: <strong>BACnet</strong>, A Data Communication Protocol for<br />

Building Automation and Control Networks<br />

[1c] ISO 16484-5:2003: Building Automation and Control Systems -- Part 5: Data<br />

Communication Protocol<br />

7001007003 S10 Sauter Systems 11


1<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

[1d] ANSI/<strong>AS</strong>HRAE Standard 135-2004: <strong>BACnet</strong>, A Data Communication Protocol for<br />

Building Automation and Control Networks<br />

This standard can be obtained from the following online bookshops:<br />

• <strong>AS</strong>HRAE: www.ashrae.org Bookstore<br />

• International Organisation for Standardization: www.iso.org ISO Store<br />

• Beuth Verlag: www.beuth.de<br />

• Promotor Verlag: www.cci-promotor.de<br />

• Swiss Standards Association: www.snv.ch<br />

• Austrian Standards Institute: www.on-norm.at<br />

• Italian HVAC Organisation (Associazione Italiana Condizionamento dell'Aria<br />

Riscaldamento Refrigerazione): www.aicarr.it<br />

Of course, there are other country-specific standardisation institutes from which you can<br />

also obtain global standard ISO 16484-5 (<strong>BACnet</strong> Protocol).<br />

1.1.2 <strong>BACnet</strong> engineering<br />

[2] B.I.G.-EU, VDI-TGA: Leitfaden zur Ausschreibung interoperabler<br />

Gebäudeautomation auf Basis von DIN EN ISO 16484-5, Systeme der<br />

Gebäudeautomation - Datenkommunikationsprotokoll (<strong>BACnet</strong>)<br />

[B.I.G.-EU, VDI-TGA: [GSA] Guide to Specifying Interoperable Building Automation<br />

and Control Systems based on DIN EN ISO 16484-5, Building Automation Systems<br />

- Data Communication Protocol (<strong>BACnet</strong>)]<br />

This is an extensive guideline that offers important advice on implementing <strong>BACnet</strong><br />

projects. It is the German translation of [3] and is available from www.big-eu.org <br />

Downloads.<br />

[3] NIST: GSA Guide to Specifying Interoperable Building Automation and Control<br />

Systems Using ANSI/<strong>AS</strong>HRAE Standard 135-1995, <strong>BACnet</strong>; NISTIR 6392<br />

This is the American guideline for <strong>BACnet</strong> projects, available from www.nist.gov <br />

Search NIST webspace Keyword: NISTIR 6392.<br />

[4] B.I.G.-EU, VDI-TGA: Begriffe und Definitionen für den Leitfaden zur Ausschreibung<br />

interoperabler Gebäudeautomation auf Basis von DIN EN ISO 16484-5<br />

[B.I.G.-EU, VDI-TGA: Terms and Definitions for the Guide to Specifying<br />

Interoperable Building Automation based on DIN EN ISO 16484-5]<br />

This is an additional document for [2] and is helpful for 'Anglo-Saxon' terms and their<br />

meanings that are not always translated into the other language in this field. You can<br />

also obtain it from www.big-eu.org Downloads.<br />

12 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1<br />

[5] Hans R. Kranz: <strong>BACnet</strong> Gebäude-Automation [<strong>BACnet</strong> Building Automation] 1.4,<br />

Promotor-Verlag Karlsruhe, ISBN 3-922420-02-8, 1st edition, 2005<br />

This is a very <strong>com</strong>prehensive book on <strong>BACnet</strong> basics, project engineering advice and<br />

specifications.<br />

1.2 Interoperability in building automation<br />

The main the problem is that many manufacturers use their own (proprietary)<br />

<strong>com</strong>munication protocols.<br />

Efforts to find a ‘<strong>com</strong>mon language’ for building automation systems have been made<br />

regularly in the past; some of these <strong>com</strong>munication protocols are still in use today.<br />

Here are some examples:-<br />

• FND<br />

• Profibus profile building automation<br />

• MODBUS<br />

• EIB<br />

• LONtalk<br />

Not all of the above-mentioned <strong>com</strong>munication protocols are/were successful.<br />

The reasons for this are, amongst other things: (a) the lack of acceptance of all those<br />

involved in the planning, realisation and running of building automation systems; and (b)<br />

the reluctance of manufacturers to make their systems <strong>com</strong>patible with the systems of<br />

other manufacturers.<br />

1.3 <strong>BACnet</strong> as an open protocol for<br />

building automation<br />

The following chapters concentrate on the <strong>BACnet</strong> <strong>com</strong>munication protocol.<br />

<strong>BACnet</strong> was designed as an interoperable <strong>com</strong>munication protocol for the automation<br />

and management levels of building automation systems. In Europe, <strong>BACnet</strong> has already<br />

achieved the status of a European standard.<br />

Therefore, interoperability has a decisive role for the use and acceptance of <strong>BACnet</strong><br />

products.<br />

In 2004, Sauter passed the European <strong>BACnet</strong> conformance test at the<br />

WSPLab testing institution with the <strong>BACnet</strong> Automation Station, giving it<br />

the BTL (<strong>BACnet</strong> Testing Laboratories) logo.<br />

7001007003 S10 Sauter Systems 13


1<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1.4 <strong>BACnet</strong> Data Link Layers<br />

For data <strong>com</strong>munication in the <strong>BACnet</strong>, numerous ‘data link layers’ were laid down. The<br />

following table shows the defined layers with their location in the ISO/OSI layer model:-<br />

Layers in the<br />

ISO/OSI<br />

reference model<br />

<strong>BACnet</strong> Application Layer<br />

Application<br />

<strong>BACnet</strong>/IP<br />

UDP/IP<br />

<strong>BACnet</strong> Network Layer<br />

Switching<br />

BVLL<br />

ISO 8802-2<br />

Type 1<br />

MS/TP PTP LonTalk Data backup<br />

Media access<br />

ISO 8802-3<br />

'Ethernet'<br />

ARCNET RS 485 RS 232 Bit transmission<br />

The following data link layers have been included in the European standard:-<br />

For the management level (ENV 1805-1):-<br />

• Ethernet (ISO 8802-3)<br />

• TCP/IP<br />

• PTP (point to point) mainly for dial-up connections<br />

For the automation level (ENV 13321-1):-<br />

• Ethernet (ISO 8802-3)<br />

• TCP/IP<br />

• PTP (point to point) mainly for dial-up connections<br />

• LONTalk<br />

14 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1<br />

1.5 Network topology<br />

<strong>BACnet</strong> devices use one of four LAN media or an asynchronous serial connection<br />

(possibly with dial-up connection) as a physical medium. The type of specified media<br />

chosen was <strong>com</strong>mon, standardised network media, in order to be able to realise<br />

inexpensive networks with standard <strong>com</strong>ponents.<br />

1.6 Router<br />

A big advantage of <strong>BACnet</strong> lies in the number of ready-defined data link layers and in<br />

the ability to ‘tunnel’ data. For instance, with the aid of routers, practically any media can<br />

be used, if the relevant routers convert the data on the one side into either another standard<br />

protocol or a proprietary protocol, which is forwarded again as a <strong>BACnet</strong> data<br />

package on the other side. This mechanism is of interest mainly for remote properties if,<br />

for example, TCP/IP (i.e. the ‘internet’ protocol) is to be used. For the <strong>BACnet</strong> devices in<br />

the network, this mechanism is fully transparent.<br />

1.7 Virtual devices<br />

If the application demands it, devices can be represented in <strong>BACnet</strong> virtually by a physical<br />

device. This is useful if all the devices of part of a building need to be addressed singly,<br />

but there is only one physical connection. The device that manages the physical connection<br />

then works as a router for one or more virtual networks.<br />

1.8 Client/server model<br />

<strong>BACnet</strong> is structured along the lines of a client/server model. The server is the device<br />

that provides data for other applications/devices (clients). Routers have both client and<br />

server functionality. Clients can log onto one or more servers and read or write the<br />

values of objects. Furthermore, there are mechanisms for event-orientated data <strong>com</strong>munication,<br />

i.e. clients are automatically notified of any changes in value in the server.<br />

7001007003 S10 Sauter Systems 15


1<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1.9 Data objects in the <strong>BACnet</strong><br />

Every <strong>BACnet</strong> device (the term ‘device’ also refers in this case to a superior management<br />

software or similar) manages so-called objects. At least the ‘device’ object, which<br />

the inscribes the device itself must be available. Objects are <strong>com</strong>prised of ‘properties’.<br />

1.9.1 The Standard <strong>BACnet</strong> objects<br />

Analog Input Command Multistate Input<br />

Analog Output Device Multistate Output<br />

Analog Value Event Enrollment Multistate Value<br />

Binary Input Notification Class Calendar<br />

Binary Output File Loop<br />

Binary Value Group Program<br />

Averaging Trend Log Schedule<br />

Accumulator<br />

Life Safety Point<br />

Pulse Converter<br />

Life Safety Zone<br />

The <strong>BACnet</strong> protocol is being expanded all the time, and new functions and objects for<br />

other applications, e.g. for fire-alarm systems, counter values etc. are being added.<br />

1.10 Access functions to <strong>BACnet</strong> devices<br />

and objects (services)<br />

To be able to access <strong>BACnet</strong> objects and their properties, numerous functions have been<br />

defined. These include functions to establish a connection to a device, to read/write<br />

properties and, for instance, to log COV services on.<br />

<strong>BACnet</strong> services are divided into various categories such as:<br />

• object access functions<br />

• file access functions<br />

• alarm and event functions<br />

• remote device management functions<br />

• virtual terminal functions<br />

• network security functions<br />

16 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1<br />

1.10.1 Object access functions<br />

1.10.1.1 AddListElement<br />

This function enables a client to attach an entry to a property which represents a list.<br />

1.10.1.2 RemoveListElement<br />

This function enables the client to remove an entry from a list.<br />

1.10.1.3 CreateObject<br />

This function enables a client to create a new instance of an object within a server.<br />

1.10.1.4 DeleteObject<br />

This function enables a client to remove an instance of an object from the server again.<br />

1.10.1.5 ReadProperty<br />

This function enables a client to ask for a property of an object from the server.<br />

1.10.1.6 ReadPropertyConditional<br />

This function is identical to the ReadProperty function, but restrictions can be stipulated,<br />

e.g. read all PresentValues that are less than 10.<br />

1.10.1.7 ReadPropertyMultiple<br />

This function is identical to the ReadProperty function, but the properties of several<br />

objects can be read with a demand.<br />

1.10.1.8 WriteProperty<br />

This function enables a client to write values into the properties of an object.<br />

1.10.1.9 WritePropertyMultiple<br />

This function is identical to the WriteProperty function, but the properties of several<br />

objects can be written with a demand.<br />

1.10.1.10 ReadRange<br />

This function enables a client to read a range of data. This function is used for trend<br />

objects, lists or arrays.<br />

7001007003 S10 Sauter Systems 17


1<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1.10.2 File access functions<br />

1.10.2.1 AtomicReadFile<br />

This function enables a file to be read from a device.<br />

1.10.2.2 AtomicWriteFile<br />

This function enables a file to be sent to a device.<br />

The purpose of use and the content of the files are not laid down. Applications can, for<br />

instance, be parameter definitions that can be loaded into devices with the aid of files.<br />

1.10.3 Alarm and event functions<br />

1.10.3.1 AcknowledgeAlarm<br />

This function enables a client to confirm an alarm from the server (usually in conjunction<br />

with a user acknowledgement in the user surface).<br />

1.10.3.2 ConfirmedCOVNotification<br />

This function enables a server to inform a client of the change in either a current value<br />

or the status flags. It ensures that the client has received the message. This does not<br />

mean, however, that a possible operator has been informed of the status.<br />

1.10.3.3 ConfirmedEventNotification<br />

This function enables a server to inform a client of an alarm or an event. Again, it<br />

ensures that the client has received the message. Similarly, the message means merely<br />

that the message has been sent, not that a user has acknowledged it.<br />

1.10.3.4 GetAlarmSummary<br />

This function enables a client to request a list of waiting alarms. This is done usually<br />

when the client starts the program.<br />

1.10.3.5 GetEnrollmentSummary<br />

This function enables a client to request a list of those objects that can trigger an alarm<br />

can. Again, this is done usually when the client starts the program.<br />

18 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1<br />

1.10.3.6 SubscribeCOV (UnsubscribeCOV)<br />

This function enables a client to subscribe as the recipient for the automatic server<br />

notification service when the current value or the status flag changes.<br />

UnsubscribeCOV: this function is used by a client to withdraw again from the automatic<br />

notification service. This is not an independent service, but a variant of SubscribeCOV.<br />

1.10.3.7 UnconfirmedCOVNotification<br />

This function is used by a server to notify a client of a change to the current value or<br />

status flags. This is an unconfirmed service, i.e. it cannot be ensured that the client<br />

really has been informed.<br />

1.10.3.8 UnconfirmedEventNotification<br />

This function is used by a server to notify a client of an alarm or an event. This is also an<br />

unconfirmed service, i.e. it cannot be ensured that the client really has been informed.<br />

1.10.3.9 GetEventInformation Service<br />

This function is used by a client to obtain an overview of all active event statuses.<br />

1.10.3.10 SubscribeCOVProperty Service<br />

This function is the same as SubscribeCOV, except that other properties than the<br />

current value and status flags can be notified to the server notification service for value<br />

changes.<br />

1.10.3.11 LifeSafety Service<br />

This function is used for fire and security systems to perform relevant tasks.<br />

7001007003 S10 Sauter Systems 19


1<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1.10.4 Remote device management functions<br />

1.10.4.1 DeviceCommunicationControl<br />

This function enables a device to be blocked for any network traffic (except Device<strong>com</strong>municationControl<br />

and ReinitializeDevice) either for a limited period or for an<br />

indefinite period.<br />

1.10.4.2 ConfirmedPrivateTransfer<br />

This message enables functions pertaining to a particular manufacturer to be carried out<br />

with a confirmation. The purpose of use and the content are subject to details pertaining<br />

to a particular manufacturer.<br />

1.10.4.3 UnconfirmedPrivateTransfer<br />

This message enables functions pertaining to a particular manufacturer to be carried out<br />

without a confirmation. The purpose of use and the content are subject to details<br />

pertaining to a particular manufacturer.<br />

1.10.4.4 ReinitializeDevice<br />

This function enables a device to be re-started. This can be either a reboot or a warm<br />

start (defined starting at a certain point).<br />

1.10.4.5 ConfirmedTextMessage<br />

This function enables confirmed text transfer to a device.<br />

Text messages can be prioritised and can also be given a message category. Again, the<br />

sending of the message is guaranteed, but there is no certainty that the operator actually<br />

reads it. This message should not be sent as a broadcast or a multicast.<br />

1.10.4.6 UnconfirmedTextMessage<br />

This function is similar to the ConfirmedTextMessage, but without confirmation that the<br />

message has been received; however, there is the option of sending it as either a<br />

broadcast or a multicast.<br />

1.10.4.7 TimeSynchronization<br />

This function enables the user to synchronise devices that should, on receipt of the<br />

message, set their internal clock accordingly.<br />

20 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1<br />

1.10.4.8 Who-Has<br />

This function is used to determine which DeviceObject and which network address of the<br />

device has the desired object. To do so, either the clear ObjectIdentifier (i.e. ObjectType<br />

and ObjectInstance) or the object name is used. This <strong>com</strong>mand can and should be sent<br />

as a broadcast <strong>com</strong>mand.<br />

1.10.4.9 I-Have<br />

With this function, a device announces that it has a certain object. This message can be<br />

sent as a response to a Who-Has message or as a broadcast on starting the device.<br />

1.10.4.10 Who-Is<br />

This function is used to determine the network address and/or the DeviceObjectidentifier<br />

of devices in the network.<br />

1.10.4.11 I-Am<br />

With this function, a device announces its network address and its DeviceObjectIdentifier.<br />

This message can be sent as a response to a Who-Is message or as a broadcast<br />

on starting the device.<br />

1.10.4.12 UTCTimeSynchronization<br />

This function is used to synchronise the time with the aid of time zones. Devices should<br />

set their internal clock accordingly on receiving this message.<br />

1.10.5 Virtual Terminal functions<br />

These Virtual Terminal functions are no longer used frequently with <strong>BACnet</strong>/IP and the<br />

new network technologies.<br />

1.10.5.1 VT-Open<br />

This function opens a virtual terminal of a device.<br />

1.10.5.2 VT-Close<br />

This function closes a virtual terminal.<br />

1.10.5.3 VT-Data<br />

This function is used to transfer data to a virtual terminal.<br />

7001007003 S10 Sauter Systems 21


1<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1.10.6 Network security functions<br />

These functions for network security are very rarely used, as other technologies are<br />

used for network security in most cases.<br />

1.10.6.1 Request Key<br />

This function is used by the <strong>BACnet</strong> client to obtain a Session Key with its Private Key,<br />

allowing <strong>com</strong>munication with another <strong>BACnet</strong> device.<br />

1.10.6.2 Authenticate<br />

This function is used to confirm access rights for <strong>com</strong>munication.<br />

1.11 Conformance and interoperability<br />

As already mentioned, interoperability is of great importance in the <strong>BACnet</strong> whenever<br />

systems of various manufacturers are to <strong>com</strong>municate with one another. To safeguard<br />

this, numerous rules have been laid down in the <strong>BACnet</strong> specification with regard to the<br />

relevant objects and their properties.<br />

1.11.1 Conformance codes<br />

There are three possible conformance codes for the properties of objects:-<br />

• R This property must be both present and readable.<br />

• W This property must be present, readable and writeable.<br />

• O This property is optional.<br />

1.11.2 Conformance classes<br />

<strong>BACnet</strong> specification 135-1995 divided <strong>BACnet</strong> functions into so-called 'Conformance<br />

Classes'. Each of these classes (1-6) contains a defined scope of functions that have to<br />

be supported. The classes are structured incrementally, i.e. a device that supports<br />

conformance class 3 must also support the functions of Classes 1 and 2.<br />

1.11.3 Client/server behaviour<br />

As already mentioned, <strong>BACnet</strong> uses the client/server model for data <strong>com</strong>munication.<br />

The terms ‘initiate’ and ‘execute’ are used to determine which device requests a service<br />

(‘initiate’) and which one carries out the service (‘execute’). These terms are often used<br />

in <strong>BACnet</strong> specification 135-1995 in connection with <strong>BACnet</strong> functions.<br />

22 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1<br />

1.11.4 Functional groups<br />

In addition to the Conformance Classes, <strong>BACnet</strong> specification 135-1995 also defined<br />

Functional Groups to allow the classification of devices. This is explained below using<br />

the examples ‘COV Event Initiation’ and ‘COV Event Response’.<br />

COV Event Initiation Functional Group (server functionality)<br />

Application Service Init Exec<br />

SubscribeCOV<br />

X<br />

ConfirmedCOVNotification X<br />

COV Event Response Functional Group (client functionality)<br />

Application Service Init Exec<br />

SubscribeCOV<br />

X<br />

ConfirmedCOVNotification<br />

X<br />

The letter ‘X’ in the ‘Init’ column denotes that the device (acting as a client) is capable of<br />

requesting or triggering the service. The letter ‘X’ in the ‘Exec’ column denotes that the<br />

device (acting as a server) is capable of carrying out the requested service.<br />

1.12 PICS (Protocol Implementation<br />

Conformance Statement)<br />

A PICS is a document that describes the scope of a device in terms of functions and<br />

objects. Among other aspects, it may also describe the supported Conformance<br />

Classes, the supported DataLinkLayers and the Functional Groups. Since <strong>BACnet</strong><br />

specification 135-2001, <strong>BACnet</strong> profiles, supported BIBBs and objects are also<br />

indicated.<br />

The official template for a PICS is defined in Annexe A of the AHSRAE Standard, which<br />

makes it part of that standard.<br />

For two devices to be able to interact properly, it is important that the PICS be <strong>com</strong>pared<br />

to one another. To achieve interoperability of both devices, you can, of course, only use<br />

functions, objects and DataLinkLayers that are supported by both devices. Another point<br />

to note here is which protocol revision is supported.<br />

7001007003 S10 Sauter Systems 23


1<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1.13 BIBBs (<strong>BACnet</strong> Interoperable Building<br />

Blocks)<br />

The system of 'Conformance Classes' and 'Functional Groups' has not proven to be<br />

ideal in practice, so <strong>BACnet</strong> specification 135-2001 included a definition of the BIBBs<br />

(<strong>BACnet</strong> Interoperable Building Blocks) as Annexe K. This annexe to the <strong>BACnet</strong><br />

Standard specifies functions in categories 'A' and 'B'.<br />

Category A lays down the user of the data (normally a client device). Category B lays<br />

down the provider of the data (normally a server device).<br />

As regards structure, the BIBBs can be <strong>com</strong>pared with the functional groups, but there is<br />

no strict classification in the conformance classes.<br />

With the BIBBs, the functions of devices can, therefore, be presented in much greater<br />

detail.<br />

1.14 <strong>BACnet</strong> procedures and mechanisms<br />

Client / server behaviour - how functions (services) are used and which ones - is<br />

described in various <strong>BACnet</strong> procedures and mechanisms. Some examples are cited<br />

below.<br />

1.14.1 Initiating a connection with <strong>BACnet</strong><br />

The device object makes the properties of a <strong>BACnet</strong> subscriber available to other<br />

subscribers in the <strong>BACnet</strong> as a standard object.<br />

Clients can use the ‘Who-Is’ service to ask which servers have logged on to the <strong>BACnet</strong><br />

network. Servers can use the ‘I-Am’ service to inform the clients in the <strong>BACnet</strong> network<br />

that they have logged on to the network.<br />

With the ‘Who-Has’ service, clients ask which servers in the <strong>BACnet</strong> have a particular<br />

object. With the ‘I-Have’ service, servers inform the <strong>BACnet</strong> clients that they have the<br />

object in question.<br />

These services are mostly sent as broadcast messages to all the connected subscribers<br />

in the <strong>BACnet</strong> network.<br />

24 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1<br />

1.14.2 Referencing with <strong>BACnet</strong><br />

In networks with a lot of subscribers, the unique referencing of devices and objects is<br />

necessary. The referencing of objects, and of device objects, is effected in the <strong>BACnet</strong><br />

via the object type and an instance number, which together form the unique <strong>BACnet</strong><br />

Object Identifier.<br />

The instance number of the device object must be unique in the entire network.<br />

The objects supported in the device must be unique within the object.<br />

Alternatively, addressing via the object name is possible. Here, too, it must be possible<br />

to reference the device object in the entire network uniquely and to reference every<br />

object in the device within the device.<br />

1.14.3 Change-Of-Value reporting<br />

In order to keep traffic in the network low, especially when there is a lot of data, the<br />

event-dependent notification of clients informs about changes to the present value or<br />

changes to the status flags (COV=‘Change of Value’) in the <strong>BACnet</strong>.<br />

To use this service, the client uses the ‘SubscribeCOV’ service to subscribe to the<br />

notification service for required objects after the link has been established.<br />

The server adds this information to an internal notification list and notifies the client e.g.<br />

about changes to the present value or changes to the status flags.<br />

The client can state whether this notification is to be confirmed or unconfirmed. It is also<br />

possible for the client to restrict the lifetime of the notification service (‘Lifetime’).<br />

7001007003 S10 Sauter Systems 25


1<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1.14.4 Intrinsic reporting<br />

Intrinsic reporting represents one of two ways of notifying clients of events or alarms.<br />

With intrinsic reporting, the Notification Class Object is used to lay down the type of<br />

event or alarm.<br />

This represents any number of event-triggering objects and determines the type of<br />

alarm, e.g. the priority and whether an acknowledge is necessary.<br />

Clients can enter themselves in the list of recipients. This entry is made using the<br />

<strong>BACnet</strong>Destination data structure.<br />

This includes the client’s network address and details of the valid period and the type of<br />

notification (confirmed/unconfirmed).<br />

1.14.5 Prioritising <strong>com</strong>mands<br />

The <strong>BACnet</strong> standard describes certain properties as ‘<strong>com</strong>mandable’ e.g. the<br />

Present_Value of an analog-output object. To enable prioritising of <strong>com</strong>mands, these<br />

objects support the properties ‘Priority_Array’ and ‘Relinquish_Default’. The support for<br />

these properties is, in some cases, even stipulated (e.g. for analog output).<br />

1.14.5.1 The priority array<br />

The Priority_Array, which is readable only, supports 16 priority levels (1=highest priority,<br />

16=lowest priority), which processes the issuing of <strong>com</strong>mands by different clients. In this<br />

array, either the last written value in each case or the word ‘NULL’ (there is no <strong>com</strong>mand<br />

for this priority level) is saved for each priority level.<br />

The use of the 16 priority levels is not standardised and it may vary from one plant to<br />

another. To guarantee interoperability, however, all the devices in a plant must conform<br />

to the same priority level scheme. The standard lists the Standard Command Priorities<br />

and their applications in a table.<br />

Priority Application<br />

Priority Application<br />

level<br />

level<br />

1 Manual Life Safety 9 Freely available<br />

2 Automatic Life Safety 10 Freely available<br />

3 Freely available 11 Freely available<br />

4 Freely available 12 Freely available<br />

5 Critical Equipment Control 13 Freely available<br />

6 Minimum On/Off 14 Freely available<br />

7 Freely available 15 Freely available<br />

8 Manual Operator 16 Freely available<br />

26 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

1<br />

1.14.5.2 Writing a value with a priority indication<br />

If a client writes a ‘Commandable property’ with the ‘WriteProperty’ or<br />

‘WritePropertyMultiple’ Service, he transfers (in addition to the value) the priority level in the<br />

range 1-16. If no priority is given, priority 16 is taken as standard. If a value with a higher<br />

priority has already been written (perhaps by another client), only the new value is added to<br />

the Priority_Array; the value of the <strong>com</strong>mandable property is not changed.<br />

If the priority of the value in question exceeds the highest present priority in the<br />

Priority_Array, then the new value is added to the Commandable Property, even if the<br />

priority levels are the same. The written value is also saved in the Priority_Array in the<br />

relevant priority level. The previous value for the corresponding priority level be<strong>com</strong>es<br />

invalid due to the writing operation and is overwritten without notification. <strong>BACnet</strong> does<br />

not stipulate that the information as to which process has carried out a write <strong>com</strong>mand<br />

has to be saved, but this can be implemented according to the manufacturer.<br />

1.14.5.3 Deleting the priority<br />

To remove an entry from the Priority_Array, a client writes the Commandable Property<br />

using either the ‘WriteProperty’ or ‘WritePropertyMultiple’ Service with the word ‘NULL’,<br />

stating the priority level. In this case, the relevant entry is removed from the<br />

Priority_Array and the value of the next lowest priority be<strong>com</strong>es applicable, i.e. the<br />

Commandable Property is set with this value.<br />

If all 16 elements in the Priority_Array have value 'NULL' ['ZERO'], the<br />

Commandable_Property should take the Relinquish_Default property of the object.<br />

7001007003 S10 Sauter Systems 27


1<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> basics<br />

28 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2<br />

2 <strong>BACnet</strong> with Sauter EY3600<br />

2.1 <strong>BACnet</strong> automation stations<br />

Sauter offers a <strong>BACnet</strong> <strong>com</strong>munication card (EYK 300) for modular automation stations<br />

(nova106 and novaCom) and two <strong>com</strong>pact <strong>BACnet</strong> automation stations (nova220 and<br />

nova230).<br />

EYK 300 F001 EYK 220 F001 EYK 230 F…<br />

<strong>BACnet</strong> nova220 with integrated nova230 with integrated<br />

COMMUNICATION CARD BACNET FUNCTION BACNET FUNCTION<br />

• The EYK 300 F001 is used to integrate the modular nova106 EY3600 automation<br />

stations and novaCom with the standardised '<strong>BACnet</strong> / IP based on Ethernet'<br />

<strong>com</strong>munication protocol in accordance with ISO 16484-5 (ENV 13321-1). It is<br />

assembled in rack EYU 108 or 109 in card position A and is operated together with a<br />

nova106 or with novaCom.<br />

• The EYK 220 F001 is the <strong>com</strong>pact nova220 unit in the EY3600 system family,<br />

equipped with an integrated <strong>BACnet</strong> <strong>com</strong>munication card.<br />

The EYK 230 F… is a <strong>com</strong>pact universal nova230 unit in the EY3600 system family,<br />

also equipped with an integrated <strong>BACnet</strong> <strong>com</strong>munication card. As well as the normal<br />

hardware volume structure for the HVAC applications, other devices with specific field<br />

bus protocols (e.g. Modbus, M-Bus, etc.) can also be integrated via RS232.<br />

7001007003 S10 Sauter Systems 29


2<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2.2 <strong>BACnet</strong> server<br />

As the <strong>BACnet</strong> server, this <strong>BACnet</strong> <strong>com</strong>munication card provides all the '<strong>BACnet</strong> objects'<br />

that are needed for the HVAC applications as well as the associated 'Properties' with the<br />

required 'Services' (or functions). Typical users (<strong>BACnet</strong> clients) of this information are<br />

open management systems, bus-wide control units/user panels, etc.<br />

In its function as a <strong>BACnet</strong> client (which is also integrated), the <strong>com</strong>munication card<br />

supports peer-to-peer transmission for a maximum of 100 datapoints with other <strong>BACnet</strong><strong>com</strong>patible<br />

automation stations.<br />

The connection between <strong>com</strong>munication processor EYK 300 and the automation station<br />

processor (EYL 106, EYL 2…) is made via 'novaNet'. Within the focal point of the<br />

installation, up to 100 intelligent novaFlex I/O controllers, subordinate EY3600 automation<br />

stations, novaCom and ecos can also be connected to it.<br />

Each EYK 300 F001, EYK 220 F001 or EYK 230 F… can manage up to a maximum of<br />

1000 <strong>BACnet</strong> objects.<br />

The following local objects are defined statically (s) or dynamically (d) for this purpose:<br />

• 1 device object (s)<br />

• 1 binary input object for Project Engineering status (s)<br />

• 1 binary input object for Restart-Indicator status (s)<br />

• 1 multistate input object per assigned automation station for <strong>AS</strong> status (s)<br />

• 5 predefined Notification Class objects (s) or<br />

13 or 14 freely available Notification Class objects and 2 predefined Notification<br />

Class objects (s)<br />

• 0 ... 100 Schedule objects (s/d)<br />

• 0 ... 40 Calendar objects (s/d)<br />

• 0 … 50 Trend Log objects (d)<br />

Every valid EY3600 <strong>AS</strong> data point and its corresponding parameters are automatically<br />

converted into a <strong>BACnet</strong> object and its corresponding properties.<br />

The updating of the properties is also done automatically. The following objects are<br />

supported and are generated automatically: Analogue Input, Analogue Output, Analogue<br />

Value, Binary Input, Binary Output, Binary Value, Multistate Input, Multistate Output,<br />

Mulitstate Value, Loop and Notification Class.<br />

30 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2<br />

Using the similarly implemented Scheduler (day and week calendar) and the associated<br />

‘Schedule and Calendar <strong>BACnet</strong> objects’, it is possible to process local <strong>BACnet</strong> time<br />

programs and also, therefore, to control process variables of the connected <strong>AS</strong> in accordance<br />

with a time programme. It is also possible to control objects from other <strong>BACnet</strong><br />

devices.<br />

The Trend Log objects have to be created dynamically by a <strong>BACnet</strong> client in order to<br />

obtain historical data records with <strong>BACnet</strong>. A <strong>BACnet</strong> client can perform the<br />

configuration of the Trend Log object and, accordingly, read the stored data from local or<br />

external <strong>BACnet</strong> objects with the ReadRange function.<br />

The <strong>AS</strong> data points (<strong>BACnet</strong> objects) can be transmitted either by <strong>BACnet</strong> clients via<br />

cyclical polling or by the COV (Change Of Value) subscription mechanism on the<br />

<strong>BACnet</strong> <strong>com</strong>munication card.<br />

Other <strong>BACnet</strong> specifications can be consulted according to the separate <strong>BACnet</strong> PICS<br />

(Protocol Implementation Conformance Statement), and the 'Sauter-Server-EY3600-<br />

PICS.pdf' document.<br />

The Annexe (section 16) contains more information about the system limit.<br />

.<br />

7001007003 S10 Sauter Systems 31


2<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2.3 <strong>BACnet</strong> objects<br />

2.3.1 Structure of a <strong>BACnet</strong> object<br />

A <strong>BACnet</strong> object <strong>com</strong>prises a collection of parameters (properties), which are either<br />

obligatory, optional or Author-specific. The following properties are obligatory and can<br />

be found in every <strong>BACnet</strong> object:-<br />

• Object_Identifier<br />

• Object_Name<br />

• Object_Type<br />

These properties must be unambiguous in a <strong>BACnet</strong> system.<br />

2.3.2 Portrayal of MFA to <strong>BACnet</strong> objects<br />

An MFA of an <strong>AS</strong> is always portrayed to exactly one instance of the corresponding<br />

<strong>BACnet</strong> object type. The instance number of such a <strong>BACnet</strong> object is worked out from<br />

the <strong>AS</strong> novaNet address (1...4194) and the MFA number as follows:-<br />

Object instance = <strong>AS</strong> address * 1000 + MFA number<br />

Important note:<br />

The calculation of these object instance numbers (<strong>AS</strong> address * 1000 + MFA number) yields<br />

a maximum permissible <strong>AS</strong> number of 4194.<br />

The <strong>BACnet</strong> <strong>com</strong>munication card or a <strong>BACnet</strong> <strong>AS</strong> cannot generate a <strong>BACnet</strong> object for an<br />

<strong>AS</strong> with a novaNet <strong>AS</strong> address which is higher than 4194 or equal to 0.<br />

The object name of a <strong>BACnet</strong> object is <strong>com</strong>posed of the house address and the protocol<br />

zone of a specified MFA and a freely definable constant text. The <strong>com</strong>position is specified<br />

by a formatting string that can be engineered in the configurator (see section 5).<br />

The object type of a <strong>BACnet</strong> object is automatically determined using the parameterised<br />

input/output modules.<br />

32 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2<br />

2.3.3 Link between <strong>BACnet</strong> object and input/output<br />

module<br />

The link to the EY3600 input/output modules is shown in the <strong>BACnet</strong> object-type table<br />

below:-<br />

<strong>BACnet</strong> Object-Type Code EY3600 input/output modules Function<br />

Analog Input 0 AI, CI, AI_Soft, CIF_Soft, CIV_Soft Measure / counter<br />

Analog Output 1 AO Positioning<br />

Analog Value 2 AI_Soft, AIA_Soft, CFB_Soft<br />

(AI_Soft)<br />

Setpoint<br />

Binary Input 3 BI, BI_Soft, DI, DI_Soft Alarm / State / BFB 0-I<br />

Binary Output 4 DO <strong>com</strong>mand 0-I<br />

Binary Value 5 DI_Soft, DIA_Soft, CFB_Soft<br />

(DI_Soft)<br />

<strong>com</strong>mand 0-I<br />

Loop 12 Loop + PID PID controller<br />

Multistate Input 13 DI, DI_Soft BFB 0-I-II-...<br />

Multistate Output 14 DO <strong>com</strong>mand 0-I-II-...<br />

Multistate Value 19 DI_Soft, DIA_Soft, CFB_Soft<br />

(DI_Soft)<br />

<strong>com</strong>mand 0-I-II-...<br />

This table is structured in accordance with the following rule:-<br />

To find out the <strong>BACnet</strong> object type for a particular MFA, the user should use its card<br />

code (DW 22), the HBG parameter (DW 33) and perhaps the number of projected BFB<br />

texts (DW 56 ff.) to find out the ‘multistateness’.<br />

A binary object is easier to use than a multistate object. Therefore, single-state and<br />

multistate <strong>com</strong>mands or BFBs are differentiated and sorted out.<br />

If a soft address can be written by the management level, (setpoint/positioning value or<br />

switching <strong>com</strong>mand) it is implemented as an value object.<br />

If a soft address can only be read by the management level, (measured value, alarm,<br />

status or BFB), it is implemented as an input object.<br />

7001007003 S10 Sauter Systems 33


2<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

Note on '<strong>com</strong>mandable' objects (Relinquish-Default):<br />

The mechanism for sending values as <strong>com</strong>mands (Command with WriteProperty<br />

Service) to the <strong>BACnet</strong> server is described in section 1.14.5. The behaviour of the<br />

<strong>BACnet</strong> server with 'Relinquish Commands' (withdrawn <strong>com</strong>mand; empty priority array)<br />

is mentioned here as a note.<br />

Relinquish-Default property: there is a Relinquish-Default property for the output and<br />

value objects. This value in the Relinquish-Default property is written to the Present-<br />

Value if it has no values in it in the priority array (all NULL/ZERO) .<br />

As the EY3600 cannot specify a default value for modules in addition to the X input, the<br />

Relinquish-Default value corresponds to the Automatic value (DDC value). However, the<br />

Relinquish-Default value is only updated by the Automatic value if there is no value in<br />

the priority array and if a novaNet telegram is triggered by a value change or a Round<br />

Robin refresh telegram.<br />

If value objects are implemented without an Automatic value (without an X-connection;<br />

as setpoints with AIA_Soft or switching <strong>com</strong>mands with DIA_Soft), the Relinquish-<br />

Default value will automatically match the last written value of a <strong>BACnet</strong> client (Present-<br />

Value).<br />

Output objects without an Automatic value always have value 0 for AO or FALSE for BO<br />

and 1 for MO. To obtain a Relinquish-Default on the EYK in the form of a constant as<br />

specified by <strong>BACnet</strong>, you can link the relevant modules (AO, DO, AIA_Soft, DIA_Soft)<br />

with soft addresses (AI_Soft, DI_Soft) parameterised as constants.<br />

34 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2<br />

2.3.4 Link between <strong>BACnet</strong> object properties and<br />

input/output module parameters<br />

2.3.4.1 Analog input<br />

Property Datatype EYK <strong>AS</strong><br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R MFA<br />

Object-Name CharacterString R HA<br />

Object-Type <strong>BACnet</strong>ObjectType R KC<br />

Present-Value Real R<br />

Status-Flags <strong>BACnet</strong>StatusFlags R<br />

Event-State <strong>BACnet</strong>EventState R<br />

Out-Of-Service Boolean W<br />

Units <strong>BACnet</strong>EngineeringUnits R DIMY<br />

Optional properties<br />

Description CharacterString R Atxt<br />

Device-Type CharacterString R FC2<br />

Reliability <strong>BACnet</strong>Reliability R<br />

Update-Interval Unsigned R<br />

Min-Pres-Value Real X<br />

Max-Pres-Value Real X<br />

Resolution Real R<br />

Profile-Name CharacterString X<br />

Optional properties conditional<br />

COV reporting supported<br />

COV-Increment Real W TRW<br />

Intrinsic reporting supported Out-Of-Range<br />

Time-Delay Unsigned R<br />

Notification-Class Unsigned R<br />

High-Limit Real W Lt<br />

Low-Limit Real W Lb<br />

Deadband Real R TRW<br />

Limit-Enable <strong>BACnet</strong>LimitEnable R<br />

Event-Enable <strong>BACnet</strong>EventTransitionBits R<br />

Acked-Transitions <strong>BACnet</strong>EventTransitionBits R<br />

Notify-Type <strong>BACnet</strong>NotifyType R<br />

Event-Time-Stamps <strong>BACnet</strong>Array[3] of <strong>BACnet</strong>TimeStamp R<br />

EYK : R = Read ; W = Write ; X = not supported<br />

7001007003 S10 Sauter Systems 35


2<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2.3.4.2 Analog output<br />

Property Datatype EYK <strong>AS</strong><br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R MFA<br />

Object-Name CharacterString R HA<br />

Object-Type <strong>BACnet</strong>ObjectType R KC<br />

Present-Value Real W<br />

Status-Flags <strong>BACnet</strong>StatusFlags R<br />

Event-State <strong>BACnet</strong>EventState R<br />

Out-Of-Service Boolean W<br />

Units <strong>BACnet</strong>EngineeringUnits R DIMY<br />

Priority-Array <strong>BACnet</strong>PriorityArray R<br />

Relinquish-Default Real R<br />

Optional properties<br />

Description CharacterString R Atxt<br />

Device-Type CharacterString R FC2<br />

Reliability <strong>BACnet</strong>Reliability R<br />

Min-Pres-Value Real R b<br />

Max-Pres-Value Real R a+b<br />

Resolution Real R<br />

Profile-Name CharacterString X<br />

Optional properties conditional<br />

COV reporting supported<br />

COV-Increment Real W TRW<br />

Intrinsic reporting supported Out-Of-Range<br />

Time-Delay Unsigned R<br />

Notification-Class Unsigned R<br />

High-Limit Real W Lt<br />

Low-Limit Real W Lb<br />

Deadband Real R TRW<br />

Limit-Enable <strong>BACnet</strong>LimitEnable R<br />

Event-Enable <strong>BACnet</strong>EventTransitionBits R<br />

Acked-Transitions <strong>BACnet</strong>EventTransitionBits R<br />

Notify-Type <strong>BACnet</strong>NotifyType R<br />

Event-Time-Stamps <strong>BACnet</strong>Array[3] of <strong>BACnet</strong>TimeStamp R<br />

EYK : R = Read ; W = Write ; X = not supported<br />

36 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2<br />

2.3.4.3 Analog value<br />

Property Datatype EYK <strong>AS</strong><br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R MFA<br />

Object-Name CharacterString R HA<br />

Object-Type <strong>BACnet</strong>ObjectType R KC<br />

Present-Value Real W<br />

Status-Flags <strong>BACnet</strong>StatusFlags R<br />

Event-State <strong>BACnet</strong>EventState R<br />

Out-Of-Service Boolean W<br />

Units <strong>BACnet</strong>EngineeringUnits R DIMY<br />

Priority-Array <strong>BACnet</strong>PriorityArray R<br />

Relinquish-Default Real R<br />

Optional properties<br />

Description CharacterString R Atxt<br />

Reliability <strong>BACnet</strong>Reliability R<br />

Profile-Name CharacterString X<br />

Optional properties conditional<br />

COV reporting supported<br />

COV-Increment Real W TRW<br />

Intrinsic reporting supported Out-Of-Range<br />

Time-Delay Unsigned R<br />

Notification-Class Unsigned R<br />

High-Limit Real W Lt<br />

Low-Limit Real W Lb<br />

Deadband Real R TRW<br />

Limit-Enable <strong>BACnet</strong>LimitEnable R<br />

Event-Enable <strong>BACnet</strong>EventTransitionBits R<br />

Acked-Transitions <strong>BACnet</strong>EventTransitionBits R<br />

Notify-Type <strong>BACnet</strong>NotifyType R<br />

Event-Time-Stamps <strong>BACnet</strong>Array[3] of <strong>BACnet</strong>TimeStamp R<br />

EYK : R = Read ; W = Write ; X = not supported<br />

7001007003 S10 Sauter Systems 37


2<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2.3.4.4 Binary input<br />

Property Datatype EYK <strong>AS</strong><br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R MFA<br />

Object-Name CharacterString R HA<br />

Object-Type <strong>BACnet</strong>ObjectType R KC<br />

Present-Value <strong>BACnet</strong>BinaryPV R<br />

Status-Flags <strong>BACnet</strong>StatusFlags R<br />

Event-State <strong>BACnet</strong>EventState R<br />

Out-Of-Service Boolean W<br />

Polarity <strong>BACnet</strong>Polarity R fBi<br />

Optional properties<br />

Description CharacterString R Atxt<br />

Device-Type CharacterString R<br />

Reliability <strong>BACnet</strong>Reliability R<br />

Profile-Name CharacterString X<br />

Optional properties conditional<br />

Texts<br />

Inactive-Text CharacterString R Txt0<br />

Active-Text CharacterString R Txt1<br />

Change-Of-State<br />

Change-Of-State-Time <strong>BACnet</strong>DateTime R<br />

Change-Of-State-Count Unsigned W<br />

Time-Of-State-Count-Reset <strong>BACnet</strong>DateTime R<br />

Active-Time<br />

Elapsed-Active-Time Unsigned32 X<br />

Elapsed-Active-Time-Reset <strong>BACnet</strong>DateTime X<br />

Intrinsic reporting supported Change-Of-State<br />

Time-Delay Unsigned R<br />

Notification-Class Unsigned R<br />

Alarm-Value <strong>BACnet</strong>BinaryPV R<br />

Event-Enable <strong>BACnet</strong>EventTransitionBits R<br />

Acked-Transitions <strong>BACnet</strong>EventTransitionBits R<br />

Notify-Type <strong>BACnet</strong>NotifyType R<br />

Event-Time-Stamps <strong>BACnet</strong>Array[3] of <strong>BACnet</strong>TimeStamp R<br />

EYK : R = Read ; W = Write ; X = not supported<br />

38 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2<br />

2.3.4.5 Binary output<br />

Property Datatype EYK <strong>AS</strong><br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R MFA<br />

Object-Name CharacterString R HA<br />

Object-Type <strong>BACnet</strong>ObjectType R KC<br />

Present-Value <strong>BACnet</strong>BinaryPV W<br />

Status-Flags <strong>BACnet</strong>StatusFlags R<br />

Event-State <strong>BACnet</strong>EventState R<br />

Out-Of-Service Boolean W<br />

Polarity <strong>BACnet</strong>Polarity R fBi<br />

Priority-Array <strong>BACnet</strong>PriorityArray R<br />

Relinquish-Default Real R<br />

Optional properties<br />

Description CharacterString R Atxt<br />

Device-Type CharacterString R<br />

Reliability <strong>BACnet</strong>Reliability R<br />

Profile-Name CharacterString X<br />

Minimum-Off-Time Unsigned32 X<br />

Minimum-On-Time Unsigned32 X<br />

Optional properties conditional<br />

Texts<br />

Inactive-Text CharacterString R Txt0<br />

Active-Text CharacterString R Txt1<br />

Change-Of-State<br />

Change-Of-State-Time <strong>BACnet</strong>DateTime R<br />

Change-Of-State-Count Unsigned W<br />

Time-Of-State-Count-Reset <strong>BACnet</strong>DateTime R<br />

Active-Time<br />

Elapsed-Active-Time Unsigned32 X<br />

Elapsed-Active-Time-Reset <strong>BACnet</strong>DateTime X<br />

Intrinsic reporting supported Command-Failure<br />

Time-Delay Unsigned X<br />

Notification-Class Unsigned X<br />

Feedback-Value <strong>BACnet</strong>BinaryPV X<br />

Event-Enable <strong>BACnet</strong>EventTransitionBits X<br />

Acked-Transitions <strong>BACnet</strong>EventTransitionBits X<br />

Notify-Type <strong>BACnet</strong>NotifyType X<br />

Event-Time-Stamps <strong>BACnet</strong>Array[3] of <strong>BACnet</strong>TimeStamp X<br />

EYK : R = Read ; W = Write ; X = not supported<br />

7001007003 S10 Sauter Systems 39


2<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2.3.4.6 Binary value<br />

Property Datatype EYK <strong>AS</strong><br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R MFA<br />

Object-Name CharacterString R HA<br />

Object-Type <strong>BACnet</strong>ObjectType R KC<br />

Present-Value <strong>BACnet</strong>BinaryPV W<br />

Status-Flags <strong>BACnet</strong>StatusFlags R<br />

Event-State <strong>BACnet</strong>EventState R<br />

Out-Of-Service Boolean W<br />

Polarity <strong>BACnet</strong>Polarity R fBi<br />

Priority-Array <strong>BACnet</strong>PriorityArray R<br />

Relinquish-Default Real R<br />

Optional properties<br />

Description CharacterString R Atxt<br />

Reliability <strong>BACnet</strong>Reliability R<br />

Profile-Name CharacterString X<br />

Minimum-Off-Time Unsigned32 X<br />

Minimum-On-Time Unsigned32 X<br />

Optional properties conditional<br />

Texts<br />

Inactive-Text CharacterString R Txt0<br />

Active-Text CharacterString R Txt1<br />

Change-Of-State<br />

Change-Of-State-Time <strong>BACnet</strong>DateTime R<br />

Change-Of-State-Count Unsigned W<br />

Time-Of-State-Count-Reset <strong>BACnet</strong>DateTime R<br />

Active-Time<br />

Elapsed-Active-Time Unsigned32 X<br />

Elapsed-Active-Time-Reset <strong>BACnet</strong>DateTime X<br />

Intrinsic reporting supported Change-Of-State<br />

Time-Delay Unsigned X<br />

Notification-Class Unsigned X<br />

Alarm-Value <strong>BACnet</strong>BinaryPV X<br />

Event-Enable <strong>BACnet</strong>EventTransitionBits X<br />

Acked-Transitions <strong>BACnet</strong>EventTransitionBits X<br />

Notify-Type <strong>BACnet</strong>NotifyType X<br />

Event-Time-Stamps <strong>BACnet</strong>Array[3] of <strong>BACnet</strong>TimeStamp X<br />

EYK : R = Read ; W = Write ; X = not supported<br />

40 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2<br />

2.3.4.7 Multistate input<br />

Property Datatype EYK <strong>AS</strong><br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R MFA<br />

Object-Name CharacterString R HA<br />

Object-Type <strong>BACnet</strong>ObjectType R KC<br />

Present-Value <strong>BACnet</strong>BinaryPV R<br />

Status-Flags <strong>BACnet</strong>StatusFlags R<br />

Event-State <strong>BACnet</strong>EventState R<br />

Out-Of-Service Boolean W<br />

Number-Of-States Unsigned R Txt<br />

Optional properties<br />

Description CharacterString R<br />

Device-Type CharacterString R<br />

Reliability <strong>BACnet</strong>Reliability R<br />

State-Text <strong>BACnet</strong>Array[N] of CharacterString R Txt<br />

Profile-Name CharacterString X<br />

Optional properties conditional<br />

Intrinsic reporting supported Change-Of-State<br />

Time-Delay Unsigned X<br />

Notification-Class Unsigned X<br />

Alarm-Values List of Unsigned X<br />

Fault-Values List of Unsigned X<br />

Event-Enable <strong>BACnet</strong>EventTransitionBits X<br />

Acked-Transitions <strong>BACnet</strong>EventTransitionBits X<br />

Notify-Type <strong>BACnet</strong>NotifyType X<br />

Event-Time-Stamps <strong>BACnet</strong>Array[3] of <strong>BACnet</strong>TimeStamp X<br />

EYK : R = Read ; W = Write ; X = not supported<br />

7001007003 S10 Sauter Systems 41


2<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2.3.4.8 Multistate output<br />

Property Datatype EYK <strong>AS</strong><br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R MFA<br />

Object-Name CharacterString R HA<br />

Object-Type <strong>BACnet</strong>ObjectType R KC<br />

Present-Value <strong>BACnet</strong>BinaryPV W<br />

Status-Flags <strong>BACnet</strong>StatusFlags R<br />

Event-State <strong>BACnet</strong>EventState R<br />

Out-Of-Service Boolean W<br />

Number-Of-States Unsigned R Txt<br />

Priority-Array <strong>BACnet</strong>PriorityArray R<br />

Relinquish-Default Real R<br />

Optional properties<br />

Description CharacterString R<br />

Device-Type CharacterString R<br />

Reliability <strong>BACnet</strong>Reliability R<br />

State-Text <strong>BACnet</strong>Array[N] of CharacterString R Txt<br />

Profile-Name CharacterString X<br />

Optional properties conditional<br />

Intrinsic reporting supported Command-Failure<br />

Time-Delay Unsigned X<br />

Notification-Class Unsigned X<br />

Feedback-Value BACNetBinaryPV X<br />

Event-Enable <strong>BACnet</strong>EventTransitionBits X<br />

Acked-Transitions <strong>BACnet</strong>EventTransitionBits X<br />

Notify-Type <strong>BACnet</strong>NotifyType X<br />

Event-Time-Stamps <strong>BACnet</strong>Array[3] of <strong>BACnet</strong>TimeStamp X<br />

EYK : R = Read ; W = Write ; X = not supported<br />

42 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2<br />

2.3.4.9 Multistate value<br />

Property Datatype EYK <strong>AS</strong><br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R MFA<br />

Object-Name CharacterString R HA<br />

Object-Type <strong>BACnet</strong>ObjectType R KC<br />

Present-Value <strong>BACnet</strong>BinaryPV W<br />

Status-Flags <strong>BACnet</strong>StatusFlags R<br />

Event-State <strong>BACnet</strong>EventState R<br />

Out-Of-Service Boolean W<br />

Number-Of-States Unsigned R Txt<br />

Priority-Array <strong>BACnet</strong>PriorityArray R<br />

Relinquish-Default Real R<br />

Optional properties<br />

Description CharacterString R<br />

Reliability <strong>BACnet</strong>Reliability R<br />

State-Text <strong>BACnet</strong>Array[N] of CharacterString R Txt<br />

Profile-Name CharacterString X<br />

Optional properties conditional<br />

Intrinsic reporting supported Change-Of-State<br />

Time-Delay Unsigned X<br />

Notification-Class Unsigned X<br />

Alarm-Values List of Unsigned X<br />

Fault-Values List of Unsigned X<br />

Event-Enable <strong>BACnet</strong>EventTransitionBits X<br />

Acked-Transitions <strong>BACnet</strong>EventTransitionBits X<br />

Notify-Type <strong>BACnet</strong>NotifyType X<br />

Event-Time-Stamps <strong>BACnet</strong>Array[3] of <strong>BACnet</strong>TimeStamp X<br />

EYK : R = Read ; W = Write ; X = not supported<br />

7001007003 S10 Sauter Systems 43


2<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2.3.4.10 Loop<br />

Property Datatype EYK <strong>AS</strong><br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R MFA<br />

Object-Name CharacterString R HA<br />

Object-Type <strong>BACnet</strong>ObjectType R KC<br />

Present-Value Real R<br />

Status-Flags <strong>BACnet</strong>StatusFlags R<br />

Event-State <strong>BACnet</strong>EventState R<br />

Out-Of-Service Boolean W<br />

Output-Units <strong>BACnet</strong>EngineeringUnits R DIMY<br />

Manipulated-Variable-Reference <strong>BACnet</strong>ObjectPropertyReference R<br />

Controlled-Variable-Reference <strong>BACnet</strong>ObjectPropertyReference R<br />

Controlled-Variable-Value Real R<br />

Controlled-Variable-Units <strong>BACnet</strong>EngineeringUnits R<br />

Setpoint-Reference <strong>BACnet</strong>SetpointReference R<br />

Setpoint Real R<br />

Action <strong>BACnet</strong>Action R fSLi<br />

Priority-For-Writing Unsigned R<br />

Optional properties<br />

Description CharacterString R Atxt<br />

Reliability <strong>BACnet</strong>Reliability R<br />

Update-Interval Unsigned R<br />

Bias Real R<br />

Maximum-Output Real R a+b<br />

Minimal-Output Real R b<br />

Profile-Name CharacterString X<br />

44 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2<br />

Property Datatype EYK <strong>AS</strong><br />

Optional properties conditional<br />

Proportional<br />

Proportional-Constant Real W XP<br />

Proportional-Constant-Units <strong>BACnet</strong>EngineeringUnits R<br />

Integral<br />

Integral-Constant Real W TN<br />

Integral-Constant-Units <strong>BACnet</strong>EngineeringUnits R<br />

Derivative<br />

Derivative-Constant Real W TV<br />

Derivative-Constant-Units <strong>BACnet</strong>EngineeringUnits R<br />

COV reporting supported<br />

COV-Increment Real W TRW<br />

Intrinsic reporting supported Floating-Limit<br />

Time-Delay Unsigned W Tdly<br />

Notification-Class Unsigned R<br />

Error-Limit Real W LtErr<br />

Event-Enable <strong>BACnet</strong>EventTransitionBits R<br />

Acked-Transitions <strong>BACnet</strong>EventTransitionBits R<br />

Notify-Type <strong>BACnet</strong>NotifyType R<br />

Event-Time-Stamps <strong>BACnet</strong>Array[3] of <strong>BACnet</strong>TimeStamp R<br />

EYK : R = Read ; W = Write ; X = not supported<br />

7001007003 S10 Sauter Systems 45


2<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2.3.5 Relationship of <strong>BACnet</strong> unit code to module<br />

parameter ‘unit of measurement’<br />

So that the unit of an analogue value can be converted into the right <strong>BACnet</strong> unit code,<br />

the 4 characters of the module parameter DIM or DIMY have to be entered as follows:-<br />

Range Unit of measurement <strong>BACnet</strong> Abbreviation *)<br />

code 1 2<br />

Area square-metres 0 m2 m 2<br />

square-centimetres 116 cm2 cm 2<br />

square-feet 1 sqft ft2<br />

square-inches 115 sqin in2<br />

Currency currency1 105 CHF<br />

currency2 106 £<br />

currency3 107 $<br />

currency4 108 Euro<br />

currency5 109 cur5<br />

currency6 110 cur6<br />

currency7 111 cur7<br />

currency8 112 cur8<br />

currency9 113 cur9<br />

currency10 114 cur1<br />

Electrical milliamperes 2 mA<br />

amperes 3 A<br />

ohms 4 Ohm<br />

kilohms 122 kOhm<br />

megohms 123 mOhm<br />

volts 5 V<br />

millivolts 124 mV<br />

kilovolts 6 kV<br />

Megavolts 7 MeV<br />

volt-amperes 8 VA<br />

kilovolt-amperes 9 kVA<br />

megavolt-amperes 10 MeVA<br />

volt-amperes-reactive 11 VAR<br />

kilovolt-amperes-reactive 12 kVAR<br />

megavolt-amperes-reactive 13 MVAR<br />

degrees-phase 14 °Ph<br />

power-factor 15 PF<br />

*) Upper/lower case is irrelevant.<br />

46 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2<br />

Range Unit of measurement <strong>BACnet</strong> Abbreviation *)<br />

code 1 2 3<br />

Energy joules 16 J<br />

kilojoules 17 kJ<br />

kilojoules-per-kilogram 125 kJKg<br />

megajoules 126 MJ<br />

watt-hours 18 Wh WStd<br />

kilowatt-hours 19 kWh<br />

btus 20 Btu<br />

therms 21 ther<br />

ton-hours 22 Th tStd<br />

Enthalpy joules-per-kilogram-dry-air 23 J/kg<br />

btus-per-pound-dry-air 24 b/lb<br />

btus-per-pound 117 btlb<br />

Entropy joules-per-degree-Kelvin 127 J/°K J°K<br />

joules-per-kilogram-degree- 128 Jk°K<br />

Kelvin<br />

Frequency cycles-per-hour 25 1/h<br />

cycles-per-minute 26 1/m<br />

hertz 27 Hz<br />

kilohertz 129 kHz<br />

megahertz 130 MHz<br />

per-hour 131 /Std /h<br />

Humidity<br />

grams-of-water-per-kilogramdry-air<br />

28 x gH2O<br />

percent-relative-humidity 29 %rF %rh %hr<br />

Length millimetres 30 mm<br />

centimetres 118 cm<br />

metres 31 m<br />

inches 32 in<br />

feet 33 ft<br />

Light watts-per-square-foot 34 W/f2 Wft2<br />

watts-per-square-metre 35 W/m2<br />

Lumens 36 lm<br />

Luxes 37 Lux Lx<br />

foot-candles 38 ftcd<br />

Mass kilograms 39 kg<br />

pounds-mass 40 lb lbs<br />

tons 41 t<br />

*) Upper/lower case is irrelevant.<br />

7001007003 S10 Sauter Systems 47


2<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

Range Unit of measurement <strong>BACnet</strong> Abbreviation *)<br />

code 1 2 3 4<br />

Mass Flow kilograms-per-second 42 kg/s<br />

kilograms-per-minute 43 kg/m<br />

kilograms-per-hour 44 kg/h<br />

pounds-mass-per-second 119 lb/s<br />

pounds-mass-per-minute 45 lb/m<br />

pounds-mass-per-hour 46 lb/h<br />

Power milliwatts 132 mW<br />

watts 47 W Watt<br />

kilowatts 48 kW<br />

megawatts 49 MeW<br />

btus-per-hour 50 bt/h<br />

horsepower 51 PS HP<br />

tons-refrigeration 52 tref<br />

Pressure pascals 53 Pa<br />

hectopascals 133 hPa<br />

kilopascals 54 kPa<br />

millibars 134 mbar<br />

bars 55 Bar<br />

pounds-force-per-square-inch 56 lbi2<br />

centimetres-of-water 57 cmWs<br />

inches-of-water 58 inH2 inwa<br />

millimetres-of-mercury 59 mmHg<br />

Centimetres-of-mercury 60 cmHg<br />

inches-of-mercury 61 inHg<br />

Temperature degrees-Celsius 62 °C degC<br />

degrees-Kelvin 63 °K degK<br />

degrees-Fahrenheit 64 °F degF<br />

degree-days-Celsius 65 °TC °dC °jC<br />

degree-days-Fahrenheit 66 °TF °dF °jF<br />

delta-degrees-Fahrenheit 120 d°F<br />

delta-degrees-Kelvin 121 d°K<br />

Time years 67 Y Year Jahr<br />

months 68 Mon Mois<br />

weeks 69 Week Woch Sem<br />

days 70 days Tag Jour<br />

hours 71 hour Std Std. heur<br />

minutes 72 min min.<br />

seconds 73 s sek. sec.<br />

*) Upper/lower case is irrelevant.<br />

48 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

2<br />

Range Unit of measurement <strong>BACnet</strong> Abbreviation *)<br />

code 1 2 3<br />

Velocity metres-per-second 74 m/s<br />

kilometres-per-hour 75 km/h<br />

feet-per-second 76 ft/s<br />

feet-per-minute 77 ft/m<br />

miles-per-hour 78 mph m/h<br />

Volume cubic-feet 79 cuft ft3<br />

cubic-metres 80 m3 qm cum<br />

imperial-gallons 81 Igal<br />

litres 82 l<br />

us-gallons 83 Ugal<br />

Volumetric cubic-feet-per-second 142 ft3s<br />

Flow cubic-feet-per-minute 84 ft3m<br />

cubic-metres-per-second 85 m3/s<br />

cubic-metres-per-hour 135 m3/h<br />

imperial-gallons-per-minute 86 Igam<br />

litres-per-second 87 l/s<br />

litres-per-minute 88 l/m<br />

litres-per-hour 136 l/h<br />

us-gallons-per-minute 89 Ugam<br />

Other degrees-angular 90 °ang<br />

degrees-Celsius-per-hour 91 °C/h<br />

degrees-Celsius-per-minute 92 °C/m<br />

degrees-Fahrenheit-per-hour 93 °F/h<br />

degrees-Fahrenheit-per-minute 94 °F/m<br />

kilowatt-hours-per-square-metre 137 kWhm<br />

kilowatt-hours-per-square-foot 138 kWhf<br />

megajoules-per-square-metre 139 MJm2<br />

megajoules-per-square-foot 140 MJf2<br />

no-units 95<br />

parts-per-million 96 ppm<br />

parts-per-billion 97 ppb<br />

percent 98 %<br />

percent-obscuration-per-foot 143 %Oft<br />

percent-obscuration-per-metre 144 %O/m<br />

percent-per-second 99 %/s<br />

per-minute 100 /min<br />

per-second 101 /s /sek /sec<br />

psi-per-degree-Fahrenheit 102 psiF<br />

radians 103 rad<br />

revolutions-per-minute 104 rpm n/m<br />

Watts/square-metre-d-kelvin 141 wm2K<br />

*) Upper/lower case is irrelevant.<br />

7001007003 S10 Sauter Systems 49


2<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> with Sauter EY3600<br />

50 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> hardware (EYK)<br />

3<br />

3 <strong>BACnet</strong> hardware (EYK)<br />

3.1 Hardware platform<br />

The hardware platform for the <strong>BACnet</strong> <strong>com</strong>munication card uses the Windows CE Version<br />

3.0 operating system. The interfaces that are supported are an RJ45 Ethernet connection<br />

for the <strong>BACnet</strong>/IP protocol on the one hand and, on the other, a novaNet290-<strong>com</strong>patible<br />

RJ11-novaNet interface for EY3600 datapoint access and a DB9 COM interface for<br />

configuration.<br />

3.2 Wiring diagram<br />

EYK 300 F001<br />

novaNet<br />

RJ-11<br />

a<br />

2<br />

b<br />

5<br />

Ethernet<br />

<strong>BACnet</strong><br />

RJ-45<br />

Tx+ Tx- Rx+ Rx-<br />

1 2 3 4 5 6 7 8<br />

75 75<br />

Speed<br />

LI<br />

ACT<br />

1 DCD (IN)<br />

2 RD (IN)<br />

3 TD (OUT)<br />

4 DTR (OUT)<br />

5 GND<br />

6 DSR (IN)<br />

7 RTS (OUT)<br />

8 CTS (IN)<br />

9 RIN (IN)<br />

COM 1<br />

9 Pol.<br />

SUB-D<br />

1 2 3 4 5<br />

6 7 8 9<br />

DB9 Stecker<br />

RS 232 C Schnittstelle (DTE)<br />

A09734<br />

3.3 <strong>BACnet</strong> configuration<br />

The EYK 300 F001, EYK 220 F001 and EYK 230 F... require a one-off configuration as<br />

<strong>BACnet</strong>/IP server devices:-<br />

• ‘Device Instance’ number and name<br />

• Number of calendar and schedule objects<br />

• Time synchronisation<br />

• IP address, subnet mask, <strong>BACnet</strong> router functionality (BBMD, Foreign Device)<br />

• novaNet PC address<br />

• Assigned automation stations<br />

This is parameterised using the Sauter software tool ‘<strong>BACnet</strong> Server Configurator’.<br />

(see chapter configuration).<br />

7001007003 S10 Sauter Systems 51


3<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> hardware (EYK)<br />

3.4 LED display for Ethernet interface<br />

Speed yellow<br />

Data transmission speed; is recognised automatically:-<br />

LED off: 10 Mbits/s<br />

LED on: 100 Mbits/s<br />

LI yellow Physical link established (Link)<br />

ACT yellow Transmission of <strong>BACnet</strong> protocol (Activity)<br />

52 7001007003 S10 Sauter Systems


UPS<br />

Power<br />

Receive<br />

Send<br />

a<br />

b<br />

a<br />

b<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> in the network (topologies)<br />

4<br />

4 <strong>BACnet</strong> in the network<br />

(topologies)<br />

Below, you will find several examples of network topologies with <strong>BACnet</strong> automation<br />

stations and possible subordinate EY3600 automation stations with novaNet or other<br />

<strong>BACnet</strong> devices based on <strong>BACnet</strong>/IP.<br />

4.1 EYK as a native <strong>BACnet</strong> station<br />

The topology shows nova106 or nova220 as a native <strong>BACnet</strong> station:-<br />

The <strong>com</strong>munication network on the automation level and on the management level is<br />

Ethernet with the <strong>BACnet</strong>/IP protocol.<br />

<strong>BACnet</strong> Client<br />

<strong>BACnet</strong>/IP<br />

Ethernet<br />

nova106 mit<br />

EYK 300 F001<br />

nova220<br />

EYK 220 F001<br />

novaNet<br />

<strong>BACnet</strong> Server<br />

X<br />

<strong>BACnet</strong> Server<br />

Y<br />

<strong>BACnet</strong> Server<br />

Z<br />

7001007003 S10 Sauter Systems 53


UPS<br />

Power<br />

Receive<br />

Send<br />

a<br />

b<br />

a<br />

b<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

4<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> in the network (topologies)<br />

4.2 EYK as a native <strong>BACnet</strong> head station<br />

The topology shows nova106 or nova220 as a native <strong>BACnet</strong> head station with<br />

subordinate novaNet stations.<br />

The <strong>com</strong>munication network on the automation level with other <strong>BACnet</strong>-capable DDCs,<br />

or on the management level, is Ethernet with the <strong>BACnet</strong>/IP protocol.<br />

The main <strong>com</strong>munication network with other EY3600 <strong>AS</strong> on the automation level<br />

remains the proprietary EY3600 novaNet system bus. For example, a <strong>BACnet</strong> head<br />

station can be installed inside the focal point of an installation.<br />

<strong>BACnet</strong> Client<br />

<strong>BACnet</strong>/IP<br />

Ethernet<br />

nova106 mit<br />

EYK 300 F001<br />

nova220<br />

EYK 220 F001<br />

novaNet<br />

<strong>BACnet</strong> Server<br />

X<br />

<strong>BACnet</strong> Server<br />

Y<br />

<strong>BACnet</strong> Server<br />

Z<br />

novaNet<br />

novaNet<br />

Note:<br />

From <strong>BACnet</strong> server version 2.4 onwards, up to 100 subordinate automation stations<br />

can be connected to one novaNet. Even so, however, the <strong>BACnet</strong> head station cannot<br />

manage more than 1000 objects. The first readout of a large novaNet network and the<br />

automatic generation of the <strong>BACnet</strong> objects can take quite a long time (~ 2-3 minutes<br />

per automation station).<br />

54 7001007003 S10 Sauter Systems


UP S<br />

Power<br />

Receive<br />

Send<br />

a<br />

b<br />

a<br />

b<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> in the network (topologies)<br />

4<br />

4.3 EYK as a native <strong>BACnet</strong> and novaNet<br />

station<br />

The topology shows nova106 and nova220 as native <strong>BACnet</strong> and novaNet stations:<br />

if the number of novaNet datapoints that are to be converted into <strong>BACnet</strong> objects is<br />

more than 1000, and if the bus may only be one novaNet segment for data exchange<br />

between all subordinate automation stations (e.g. due to a shared 'Common'), the<br />

following topology applies:-<br />

<strong>BACnet</strong> Client<br />

<strong>BACnet</strong>/IP<br />

Ethernet<br />

nova106 mit<br />

EYK 300 F001<br />

nova220<br />

EYK 220 F001<br />

<strong>BACnet</strong> Server<br />

X<br />

<strong>BACnet</strong> Server<br />

Y<br />

<strong>BACnet</strong> Server<br />

Z<br />

novaNet<br />

novaNet<br />

Note:<br />

You can assign which <strong>AS</strong> belongs to which <strong>BACnet</strong> head station in the <strong>BACnet</strong> server<br />

configurator with 'Integrate <strong>AS</strong> addresses'. In addition, you can individually assign each<br />

module with the parameter system number to the corresponding <strong>BACnet</strong> <strong>AS</strong> with the<br />

same <strong>BACnet</strong> system number.<br />

7001007003 S10 Sauter Systems 55


Power<br />

Re ce ive<br />

UPS<br />

a<br />

b<br />

a<br />

b<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

1<br />

2<br />

3<br />

4<br />

Send<br />

Send<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

Send<br />

Send<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

ESC<br />

4<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> in the network (topologies)<br />

4.4 EYK as a <strong>BACnet</strong> station with bus<strong>com</strong>patible<br />

devices (external<br />

protocols)<br />

The topology shows novaCom and nova230 as native <strong>BACnet</strong> stations, but they do not<br />

have the additional ability to integrate <strong>BACnet</strong>-<strong>com</strong>patible, bus-<strong>com</strong>patible<br />

('<strong>com</strong>municative') devices into the <strong>BACnet</strong> automation station.<br />

Shown here: novaCom for Modbus consisting of EYU 108 F001, EYK 300 F001,<br />

EYI 103 F001, EYI 280 F020 and EYI 288 F001, and nova230 for M-Bus<br />

(EYK 230 F010)<br />

<strong>BACnet</strong> Client<br />

<strong>BACnet</strong>/IP<br />

Ethernet<br />

novaCom mit<br />

EYK 300 F001<br />

nova230<br />

EYK 230 F010<br />

novaNet<br />

<strong>BACnet</strong> Server<br />

X<br />

<strong>BACnet</strong> Server<br />

Y<br />

<strong>BACnet</strong> Server<br />

Z<br />

novaNet<br />

Modbus (RS485)<br />

M-Bus<br />

56 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

5<br />

5 <strong>BACnet</strong> server configurator<br />

<strong>BACnet</strong> <strong>com</strong>munication card EYK 300 F001 and/or <strong>BACnet</strong> automation stations EYK<br />

220 F001 and EYK 230 F… have to be configured.<br />

The parameterisation is carried out with Sauter's '<strong>BACnet</strong> server configurator' software<br />

tool.<br />

The configuration is transmitted via the serial COM interface (DB9 plug) or via the<br />

Ethernet/IP interface, and is stored there in a flash memory so that it is safe against<br />

network outages. Data transfer via IP is handled via TCP port 51966, which is<br />

permanently set.<br />

Notes:<br />

• After switching on, the card needs at least 20 seconds until it is able to accept the<br />

configuration.<br />

• <strong>BACnet</strong> servers (nk.lzh) with version status prior to 2.4 must be engineered via the<br />

serial interface, for reasons of <strong>com</strong>patibility.<br />

5.1 Serial COM connection<br />

The cable used is identical to the novaNet291 router cable (MZ. 368301.001).<br />

The <strong>com</strong>munication parameters between the PC and the <strong>BACnet</strong> <strong>com</strong>munication card<br />

must be set to the standard settings (9600 Bd, 8 bits, without parity, 1 stop bit, without<br />

handshake).<br />

EYK 300<br />

novaNet<br />

DB9 - DB9<br />

PC<br />

(DTE)<br />

1<br />

2<br />

DCD<br />

RD<br />

DCD<br />

RD<br />

1<br />

2<br />

EYK 300<br />

(DTE)<br />

3<br />

TD<br />

TD<br />

3<br />

DB9<br />

Male<br />

4<br />

5<br />

6<br />

DTR<br />

GND<br />

DSR<br />

DTR<br />

GND<br />

DSR<br />

4<br />

5<br />

6<br />

DB9<br />

Male<br />

7<br />

RTS<br />

RTS<br />

7<br />

8<br />

CTS<br />

CTS<br />

8<br />

9<br />

RI<br />

RI<br />

9<br />

B09828<br />

The cable used is identical to the novaNet291 router cable (0368301 001).<br />

7001007003 S10 Sauter Systems 57


5<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

5.2 Installing the <strong>BACnet</strong> server<br />

configurator<br />

The program is installed using the installation program supplied.<br />

To install the <strong>BACnet</strong> server<br />

configurator, start the ‘Setup’<br />

program via ‘Start | Run’ in the<br />

relevant installation folder or on<br />

the CD.<br />

The setup program then shows<br />

its start window. Press ‘Next >‘ to<br />

continue the installation.<br />

58 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

5<br />

The setup program installs the<br />

software in the folder stated. Use<br />

the ‘Browse...’ button if you want<br />

to change the folder. Press<br />

‘Next >‘ to continue the installation.<br />

The setup program now states<br />

the name of the program group.<br />

This can also be changed if you<br />

so wish. Press ‘Next >‘ to<br />

continue the installation.<br />

The proposed (or changed)<br />

settings are all displayed<br />

together for verification before<br />

the actual installation takes<br />

place. Press ‘Next >‘ to start<br />

installing the program<br />

<strong>com</strong>ponents.<br />

7001007003 S10 Sauter Systems 59


5<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

When the installation has been<br />

concluded, a message to this<br />

effect appears on screen.<br />

The <strong>com</strong>puter should then be restarted.<br />

Press ‘Finish’ to carry<br />

out the option of your choice.<br />

Note:<br />

The Setup programme installs files BnsCfg.exe, BnsEncr.dll and tExeDlg.dll from the<br />

\Program directory into the selected programme directory, and files MFC42.dll and<br />

MSVCRT.dll into the Windows system directory.<br />

If the standard programme directory is not used, it may happen that the installed<br />

programme links have to be adjusted manually.<br />

60 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

5<br />

5.3 Description of the configurator<br />

After you call up the <strong>BACnet</strong> Server configurator (BnsCfg.exe) you<br />

are offered a choice of six tabs: "Device, Objects, Network, EY3600,<br />

Settings" and "BBMD".<br />

7001007003 S10 Sauter Systems 61


5<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

62 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

5<br />

5.3.1 Description of tabs<br />

5.3.1.1 Register „Device“<br />

The EYK 'Device object' is a local object that is generated using the EYK Device tab.<br />

After starting up, the basic rule is that the <strong>BACnet</strong> server is not time-synchronised.<br />

Synchronisation can be implemented both by reading the time from an <strong>AS</strong> and also by<br />

using the <strong>BACnet</strong> time synchronisation of a <strong>BACnet</strong> time master. Synchronisation using<br />

a <strong>BACnet</strong> time master takes precedence here.<br />

Entry Description Input range<br />

Device<br />

Instance number<br />

<strong>BACnet</strong> instance number of the <strong>AS</strong> 3600-<strong>BACnet</strong><br />

server<br />

1...2097151<br />

Name Name of <strong>BACnet</strong> server (Device object) max. 15 1)<br />

Description Description of the <strong>AS</strong> 3600-<strong>BACnet</strong> server max. 48<br />

Time<br />

synchronisation<br />

Disabled<br />

Allow from every<br />

time master<br />

Only allow from<br />

time master with<br />

specified MAC<br />

address<br />

MAC address<br />

This can be used to disable the time<br />

synchronisation for the server.<br />

With this option, every <strong>BACnet</strong> client (time master)<br />

can trigger a time synchronisation.<br />

If this option is used, a time synchronisation can<br />

only be triggered by a <strong>BACnet</strong> client with a specified<br />

MAC address (the network card address).<br />

With Ethernet, the MAC address is entered as<br />

6 hexadecimal digits separated by <strong>com</strong>mas.<br />

1)<br />

Remark: <strong>BACnet</strong> systems from other manufacturers sometimes have a limit on the<br />

length of the name here, i.e. the name should generally be kept as short as possible.<br />

The picture shows the<br />

permitted characters. This<br />

message appears if you make<br />

an incorrect entry.<br />

7001007003 S10 Sauter Systems 63


5<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

5.3.1.2 "Objects" Register<br />

All valid novaNet datapoints are converted into a <strong>BACnet</strong> object in which the "object<br />

name" property corresponds to the novaNet datapoint house address by default (%A).<br />

So as not to limit the "object name property" to 24 characters, it is possible to extend it<br />

with extra text and the novaNet datapoint protocol zone.<br />

Entry<br />

Description<br />

Format for object<br />

name<br />

Object name<br />

Characters<br />

Code to generate the object names. House address (%A)<br />

can be extended with freely definable text and protocol<br />

zone (%Z) - default: %A<br />

If this option is enabled, a minus sign in the object name is<br />

automatically replaced by an underscore.<br />

Assignment of<br />

Notification Class<br />

Static assignment<br />

Assignment via<br />

protocol category<br />

Automatic assignment defined via object type in five<br />

Notification Classes<br />

Assignment of instance number from the protocol category<br />

(0..14) for the respective MFA plus offset 10<br />

Hours-run meters<br />

Create objects<br />

Name extension<br />

An additional <strong>BACnet</strong> analogue input object is created for<br />

all hours-run meters enabled in the <strong>AS</strong><br />

<strong>AS</strong> house address house address extension for the<br />

associated hours-run meter object (Default: -HRC)<br />

64 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

5<br />

5.3.1.3 "Network" Register<br />

An Ethernet network interface is used for <strong>com</strong>munication with other <strong>BACnet</strong> devices.<br />

Communication is handled via the <strong>BACnet</strong>/IP transport protocol. The EYK 300 F001<br />

and/or the EYK 220 F001 require an IP address (mandatory).<br />

The EYK integrates an access-protected FTP server. The user name and the password<br />

can be modified on this tab.<br />

Entry Description Input range<br />

Address<br />

IP address<br />

Subnet mask<br />

Standard gateway<br />

IP address of the <strong>BACnet</strong> server<br />

Subnet mask of the <strong>BACnet</strong> server<br />

IP address of a gateway (if one is needed)<br />

Port<br />

Port ID<br />

Network number<br />

UDP port<br />

Access via FTP<br />

User name<br />

Change password<br />

Allow access via<br />

Telnet<br />

Number of the port that is used for<br />

transmission.<br />

Number of the network that is used for<br />

transmission.<br />

Number of the UDP port that is used for<br />

transmission.<br />

The default user name for the integrated FTP<br />

server is "Sauter". Upper/lower case is<br />

ignored.<br />

The default password for the integrated FTP<br />

server is "12345". Upper/lower case is taken<br />

into account.<br />

If this option is enabled, access to EYK is<br />

possible via Telnet.<br />

1 ... 255<br />

1 ... 65 534<br />

BAC0 ... BACF<br />

(Hex)<br />

Max.32 char.<br />

unlimited<br />

7001007003 S10 Sauter Systems 65


5<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

5.3.1.4 The ‘EY3600’ tab<br />

The connection to the automation station is made via the novaNet using an EYS290-<br />

<strong>com</strong>patible interface that is integrated on the card.<br />

The EYK 300 F001 must have a novaNet PC address (31744 ... 31999).<br />

Entry Description Input range<br />

EY3600 parameters:<br />

novaNet address<br />

<strong>BACnet</strong> system no.<br />

Allow novaNet<br />

<strong>com</strong>mands<br />

Integrate <strong>AS</strong> address:<br />

[Text field]<br />

Read stored MFA<br />

data in again at<br />

startup *)<br />

<strong>BACnet</strong> server novaNet PC address<br />

Default = 31999<br />

System number for assigning the MFA to<br />

<strong>BACnet</strong>, default = 0<br />

This option must be enabled if <strong>AS</strong> outputs are<br />

also to be changed via a manual user panel or<br />

other possible means of control.<br />

Engineering of the EY3600 <strong>AS</strong> to be entered for<br />

<strong>BACnet</strong>; if the input field is empty, all connected<br />

EY3600 <strong>AS</strong> are entered for <strong>BACnet</strong> (default).<br />

Example: 4,6,10-15 means that <strong>AS</strong> 4, 6 and 10<br />

to 15 are entered for <strong>BACnet</strong>.<br />

This option must be enabled to force a<br />

<strong>com</strong>plete scan of the MFA data at every new<br />

startup. If this option is not enabled, MFAs will<br />

only be newly read in if their time stamp has<br />

changed since the last save.<br />

31744 ... 31999<br />

0 ... 3<br />

max. 500<br />

characters<br />

*)<br />

Technical note:<br />

The <strong>BACnet</strong> server has been revised and optimised from Version 2.4 onwards so that multiple stations (up<br />

to 100) can also be managed.<br />

This allows problem-free use of a <strong>BACnet</strong> station as the 'head station' of a fairly large EY3600 novaNet<br />

network with several 'substations' with EY3600 ecos room controllers, for example. (See also section 4.2.)<br />

Nevertheless, reading in the EY3600 stations (<strong>AS</strong>, ecos, novaFlex) for the first time still always takes about<br />

2-3 minutes per station. If a network of this kind has been read into the <strong>BACnet</strong> server, you can<br />

parameterise the EYK with the <strong>BACnet</strong> server configurator so as to eliminate the entire read-in when the<br />

EYK is switched on, if necessary.<br />

Changes to the novaNet, e.g. stations added, are still recognised and the <strong>BACnet</strong> server will automatically<br />

update the changes.<br />

66 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

5<br />

5.3.1.5 "Settings" Register<br />

Entry Description Input range<br />

File generation<br />

[Text field]<br />

After a change to the engineering data, for<br />

example after newly scanning the MFAs or<br />

after describing a Schedule object, it is<br />

necessary to save the data on the flash<br />

disk. After a change of this kind, there is a<br />

waiting period lasting the time indicated in<br />

seconds, without any new modifications<br />

taking place, before the data are written.<br />

- Delayed saving for the persistent data.<br />

10..86400<br />

seconds<br />

[Text field] Delayed saving for EDE data 10..86400<br />

seconds<br />

Enable error recording<br />

If this option is enabled, errors occurring at<br />

runtime are recorded in two alternating files<br />

and are stored on the flash disk so that they<br />

are safe against network outages. The<br />

maximum size of a file is about 500kByte in<br />

each case, and the file is saved with<br />

\flashfx\bnsErrA.txt or bnsErrB.txt as the<br />

filename. In addition, start information and<br />

errors are saved in \flashfx\bnsStart.txt.<br />

These files can be downloaded via FTP for<br />

system analysis.<br />

..<br />

Create schedule and calendar objects<br />

Number of schedule<br />

objects<br />

Number of calendar<br />

objects<br />

Number of <strong>BACnet</strong> schedule objects<br />

created in the server<br />

Number of <strong>BACnet</strong> calendar objects created<br />

in the server<br />

0...100<br />

0...40<br />

7001007003 S10 Sauter Systems 67


5<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

Notification of engineering<br />

change<br />

Automatic reset after:<br />

You can make an entry in minutes for the<br />

delayed automatic reset of 'Engineering<br />

Changed' Present-Values in the Project<br />

Engineering object and the 'Restart'<br />

Present-Values in the Restart-Indicator<br />

object.<br />

2..60<br />

minutes<br />

5.3.1.6 "BBMD" Register<br />

This tab can be used to enable the BBMD (<strong>BACnet</strong> Broadcast Management Device)<br />

function or the FD (Foreign Device) function. The BBMD function can only be enabled<br />

once per network.<br />

Entry Description Input range<br />

BBMD<br />

Enable <strong>BACnet</strong><br />

Broadcast<br />

Management Device<br />

function<br />

Broadcast Distribution<br />

Table (BDT)<br />

If this option is set, the BBMD functionality is<br />

enabled and entries can be made in the<br />

Broadcast Distribution table.<br />

All BBMDs with which the <strong>BACnet</strong> server<br />

should <strong>com</strong>municate must be engineered in the<br />

BDT. Use the 'Add' button to add another<br />

BBMD to the BDT. The 'Edit' button allows you<br />

to change a previously marked BBMD entry and<br />

the 'Remove' button deletes it (Caution: the<br />

entry is deleted without an enquiry.)<br />

68 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

5<br />

Entry Description Input range<br />

Use direct<br />

broadcasting in own<br />

subnetwork (One<br />

Hop)<br />

You should enable this option if the connected<br />

router transports so-called 'Directed<br />

Broadcasts'. Ask the responsible network<br />

administrator about this setting.<br />

Foreign Device table<br />

Enable<br />

Number of FDT<br />

entries<br />

Allows Foreign Devices to log onto the BBMD; if<br />

it is enabled, the 'Number of FDT entries' input<br />

box is activated.<br />

Maximum number of Foreign Devices that can<br />

log onto the BBMD.<br />

max. 16<br />

5.3.2 Description of menu items<br />

File - New<br />

Ctrl+N<br />

Enables you to create a new configuration file.<br />

File – Open...<br />

Ctrl+O<br />

Enables you to open an existing configuration file.<br />

File – Save<br />

Ctrl+S<br />

Enables you to save the configuration file that is currently open. If the file is one that has<br />

just been newly created, the ‘File-Save’ dialog box appears, allowing you to enter the<br />

folder and the file name. In the case of an existing file, it is saved directly.<br />

File – Save as...<br />

Enables a newly created or an existing configuration file to be saved under a folder and<br />

file name of your choice.<br />

File – Send configuration<br />

7001007003 S10 Sauter Systems 69


5<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

1. Transmission with serial interface:<br />

Enables the present configuration to be sent via the chosen interface to the <strong>AS</strong> 3600-<br />

<strong>BACnet</strong> server. Before sending, you are asked to<br />

confirm. On pressing the ‘Yes’ button, the sending<br />

operation is started and the window shown here on<br />

the right appears on the screen. Press ‘No’ if you want<br />

to abort the operation. On pressing the ‘Yes’ button,<br />

the ‘Execute’ dialog appears, showing the progress of<br />

the sending operation. Use the ‘Details’ button to get<br />

more information on the sending operation. The<br />

activated option ‘Automatically close the dialog box<br />

after successful <strong>com</strong>pletion’ closes the dialog box if<br />

everything was sent OK.<br />

2. Transmission with Ethernet interface (TCP/IP):<br />

After acknowledging the security enquiry<br />

positively (as for a serial connection), the<br />

network is searched for <strong>BACnet</strong> servers. The<br />

devices that are found are<br />

shown for selection. After you<br />

mark them and press the OK<br />

button, the data are<br />

transmitted and the Send<br />

operation is displayed as for a<br />

serial interface.<br />

70 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

5<br />

File – Read configuration<br />

Enables the present configuration to be read via the chosen interface by the <strong>AS</strong> 3600-<br />

<strong>BACnet</strong> server.<br />

File – Settings...<br />

Enables you to choose the serial interface<br />

or the Ethernet interface (TCP/IP<br />

connection) via which the configuration<br />

data are to be read or sent.<br />

Furthermore, you can use the ‘Reset after<br />

download’ option to decide whether the<br />

EYK 300 F001 should be reset after the<br />

sending operation has finished.<br />

The ‘Program start | Load last configuration’ option enables the configuration file that<br />

was edited most recently to be loaded automatically.<br />

7001007003 S10 Sauter Systems 71


5<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> server configurator<br />

File – Last file<br />

This menu item is inscribed with ‘Last file’ as long as no file has been<br />

opened or saved. This section shows the last four files to be edited, so<br />

that you can access them more easily.<br />

In the example shown here on the right (marked with a red bar), the file<br />

<strong>AS</strong>3600_02 was the last one to be used; preceded by the file<br />

<strong>AS</strong>3600_01. The extension ‘INI’ is set by default.<br />

File - Close<br />

This menu item closes the EYK 300 configurator. If you have made changes but have<br />

not saved them, you are asked whether you want to save the changes before closing.<br />

View – Symbol bar<br />

This menu item lets you hide or show the symbol bar.<br />

View – Status bar<br />

This shows or hides the status<br />

bar at the bottom of the window.<br />

Column 1 of the status line shows either the ‘Ready’ status or a description of the<br />

chosen menu item. Column 2 shows the currently-set interface via which the<br />

configuration can be read or sent. Other columns show the status of the ‘Caps Lock’,<br />

‘Num Lock’ and the ‘Scroll’ button.<br />

72 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> system objects<br />

6<br />

6 <strong>BACnet</strong> system objects<br />

The <strong>BACnet</strong> server on the <strong>BACnet</strong> <strong>com</strong>munication card manages three system objects<br />

and (as already mentioned), an <strong>AS</strong> status object for each subordinate EY3600<br />

automation station, ecos or novaFlex.<br />

6.1 Create device object<br />

The EYK Device object is a local object that is parameterised with the help of the<br />

'Device' tab in the <strong>BACnet</strong> server configurator.<br />

7001007003 S10 Sauter Systems 73


6<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> system objects<br />

As soon as the configuration of the <strong>BACnet</strong> card is downloaded with the <strong>BACnet</strong> server<br />

configurator and the <strong>BACnet</strong> server has <strong>com</strong>pleted a full read-in (scan) of an automation<br />

station, the Device object can be created in the <strong>BACnet</strong> server.<br />

6.1.1.1 Device Object<br />

Property Datatype EYK<br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R<br />

Object-Name CharacterString R<br />

Object-Type <strong>BACnet</strong>ObjectType R<br />

System-Status <strong>BACnet</strong>DeviceStatus R<br />

Vendor-Name CharacterString R<br />

Vendor-Identifier Unsigned16 R<br />

Model-Name CharacterString R<br />

Firmware-Revision CharacterString R<br />

Application-Software-Version CharacterString R<br />

Protocol-Version Unsigned R<br />

Protocol-Revision Unsigned R<br />

Protocol-Services-Supported <strong>BACnet</strong>ServicesSupported R<br />

Protocol-Object-Types-Supported <strong>BACnet</strong>ObjectTypesSupported R<br />

Object-List<br />

<strong>BACnet</strong>Array[N] of<br />

R<br />

<strong>BACnet</strong>ObjectIdentifier<br />

Max-APDU-Length-Accepted Unsigned R<br />

Segmentation-Supported <strong>BACnet</strong>Segmentation R<br />

APDU-Timeout Unsigned R<br />

Number-of-APDU-Retries Unsigned R<br />

Device-Adress-Binding List of <strong>BACnet</strong>AdressBinding R<br />

Database-Revision Unsigned R<br />

Optional properties<br />

Location CharacterString R<br />

Description CharacterString R<br />

List-of-Session-Keys List Of <strong>BACnet</strong>SessionKey X<br />

Profile-Name CharacterString X<br />

74 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> system objects<br />

6<br />

Property Datatype EYK<br />

Optional properties conditional<br />

Segmentation supported<br />

Max-Segments-Accepted Unsigned R<br />

APDU-Segment-Timeout Unsigned R<br />

Virtual Terminal Supported<br />

VT-Classes-Supported List of <strong>BACnet</strong>VTClass X<br />

Active-VT-Sessions List of <strong>BACnet</strong>VTSession X<br />

Service "TimeSynchronization Execute" is supported<br />

Local-Time Time R<br />

Local-Date Date R<br />

Service "UTCTimeSynchronization Execute" is supported<br />

UTC-Offset Integer R<br />

Daylight-Savings-Status Boolean R<br />

Required if device is a TimeMaster<br />

Time-Synchronization-Recipients List of <strong>BACnet</strong>Recipient<br />

X<br />

Required if device is a MS/TP master node<br />

Max-Master Unsigned (1..127) X<br />

Max-Info-Frames Unsigned X<br />

Backup and Restore Procedures supported<br />

Configuration-Files<br />

<strong>BACnet</strong>Array[N] of<br />

X<br />

<strong>BACnet</strong>ObjectIdentifier<br />

Last-Restore-Time <strong>BACnet</strong>DateTime X<br />

Backup-Failure-Timeout Unsigned16 X<br />

"SubscribeCOV Execute" or "SubscribeCOVProperty Execute" supported<br />

Active-COV-Subscritpions List of <strong>BACnet</strong>COVSubscriptions R<br />

EYK : R = Read ; W = Write ; X = not supported<br />

6.1.2 'Reinitialize Device' for <strong>BACnet</strong> device<br />

<strong>BACnet</strong> supports a variety of device management functions that can be triggered using<br />

the Device object. The <strong>BACnet</strong> server supports the ReinitializeDevice service. This<br />

function makes it possible to restart the <strong>BACnet</strong> server. Values Coldstart and Warmstart<br />

are accepted as <strong>BACnet</strong> service parameters. Other parameters are not supported and<br />

they will all be rejected.<br />

Coldstart:<br />

Warmstart:<br />

This triggers a reset of the EYK. The system is rebooted.<br />

This triggers a <strong>com</strong>pletely new read-in of the MFA engineering data for all<br />

connected EY3600 stations.<br />

7001007003 S10 Sauter Systems 75


6<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> system objects<br />

6.1.3 Time synchronisation for the <strong>BACnet</strong> device<br />

The <strong>BACnet</strong> server supports the <strong>BACnet</strong> TimeSynchronisation and<br />

UTCTimeSynchronisation services. The <strong>BACnet</strong> server is the performing service (i.e.<br />

not <strong>BACnet</strong> time-master but time-slave). The possibility of time synchronisation via<br />

<strong>BACnet</strong> can be set with the <strong>BACnet</strong> server configurator.<br />

Note on implementing the service:<br />

The EYK platform realtime clock is not battery-buffered. It follows that the system time<br />

and date for a cold start (after a network failure) are always set to the corresponding<br />

initialisation value of the system BIOS. This means that the system is basically not timesynchronised<br />

after startup. Synchronisation can be performed both by reading the time<br />

from an EY3600 <strong>AS</strong> and also by using the <strong>BACnet</strong> time synchronisation from a <strong>BACnet</strong><br />

time-master. Synchronisation via a <strong>BACnet</strong> time-master takes precedence here. If no<br />

time synchronisation has taken place via <strong>BACnet</strong>, the time stamp for the first <strong>AS</strong> that is<br />

recorded will be used for this purpose. After the first time synchronisation via <strong>BACnet</strong>,<br />

the time stamp of the <strong>AS</strong> is permanently ignored. Moreover, all EY3600 <strong>AS</strong> are<br />

synchronised with the time <strong>com</strong>municated by <strong>BACnet</strong> via novaNet broadcasting.<br />

6.2 The 'Project engineering' object<br />

When <strong>com</strong>missioning takes place, there is often a need to make changes in relation to<br />

the engineering that was originally drafted on paper; this means that a <strong>BACnet</strong> object list<br />

that was once valid is changed again, and the logged-on <strong>BACnet</strong> clients can no longer<br />

access the original data, or can only do so to a limited extent.<br />

A separate object (Binary Input; object name Engineering-Change; instance number 1)<br />

makes it possible to identify changes to the engineering and to notify them automatically<br />

via COV or Event Notification.<br />

The current engineering status is stored in the Database-Revision property, in the<br />

Device object, as a consecutive number. If the value of this property changes, the<br />

Present-Value of Engineering-Change is set from Inactive to Active. Clients that are<br />

logged on via COV subscription or via Intrinsic-Reporting by means of the Notification<br />

Class 3 System Events object are then automatically notified of this event (Notify<br />

type=1).<br />

Present-Value = 0 Project Engineering - No Changes<br />

Present-Value = 1 Project Engineering - Engineering Changed<br />

The Active status can be reset via the <strong>BACnet</strong> Acknowledge Alarm service on the client<br />

side; as an alternative, a timeout that can be configured with the <strong>BACnet</strong> server<br />

configurator is also implemented, and after it has expired, the status of the Present-<br />

Value is automatically set to Inactive.<br />

76 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> system objects<br />

6<br />

6.3 The '<strong>AS</strong> status' object<br />

For every EY3600 automation station that is recorded on the <strong>BACnet</strong> <strong>com</strong>munication<br />

card, an additional object (type: Multistate input) is generated, reflecting the status of the<br />

relevant <strong>AS</strong>. The object name takes the object from the house address of the<br />

automation station. If no house address is assigned, the default object name is '<strong>AS</strong>'+<strong>AS</strong><br />

address. Two statuses have initially been implemented for the object:<br />

Present-Value = 1 <strong>AS</strong> Status - Offline (<strong>AS</strong> switched off)<br />

Present-Value = 2 <strong>AS</strong> Status - Online (<strong>AS</strong> switched on)<br />

The object instance number is calculated as follows:<br />

'<strong>AS</strong> Status' object instance = <strong>AS</strong> address * 1000 + 256<br />

As well as the usual method of notifying their value changes (COV), the '<strong>AS</strong> Status'<br />

objects are also able to notify them as alarms via Intrinsic-Reporting using the<br />

Notification Class 3 System Events object (Notify type=0). In this case, 'Online' status is<br />

treated as normal and 'Offline' is treated as off-normal. To generate an alarm for the<br />

'Offline' status, it is entered as an element in the list of alarm values.<br />

6.4 The 'Restart-Indicator' object<br />

From <strong>BACnet</strong> server version 2.4 onwards, a 'Restart-Indicator' object (type: Binary input)<br />

is created automatically in every <strong>BACnet</strong> <strong>AS</strong>; this indicates a <strong>BACnet</strong> server restart<br />

triggered by a power failure or a ReinitializeDevice. This system object offers a generally<br />

valid possibility for client-side recognition and acknowledgement of a cold start by the<br />

<strong>BACnet</strong> server.<br />

After a <strong>BACnet</strong> server power failure, all previously logged-on COV subscriptions are<br />

lost. This phenomenon is usually counteracted by a limited lifetime for logons of this<br />

type, and by having the connected <strong>BACnet</strong> clients log on again cyclically. Firstly,<br />

however, the logon of a correspondingly high number of subscriptions leads to a high<br />

load on the network and secondly, a long subscription lifetime entails the uncertainty of<br />

having to live without updated values after a brief server outage. This object allows<br />

optimization of renewed <strong>BACnet</strong> client-side logon.<br />

The 'Restart-Indicator' object is implemented as a binary input object; after startup, its<br />

Present-Value changes to Restart, which also corresponds to the alarm value for this<br />

object.<br />

Present-Value = 0 Device Restart-Indicator - Operational (device is running)<br />

Present-Value = 1 Device Restart-Indicator - Restart (device was restarted)<br />

In addition to the usual method of notifying the value change (COV), the transition to<br />

Restart status can be sent as an Event (Notify type=1) to all <strong>BACnet</strong> clients entered in<br />

7001007003 S10 Sauter Systems 77


6<br />

<strong>BACnet</strong> <strong>AS</strong><br />

<strong>BACnet</strong> system objects<br />

the Recipient List of the Notification Class 3 System Event via Intrinsic-Reporting.<br />

According to choice, the status can be reset to Operational either by acknowledging the<br />

event or after the time interval that is also entered for the 'Engineering-Change'<br />

notification after the server starts up.<br />

78 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7<br />

7 Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

To create an MFA in an adequate <strong>BACnet</strong> object, you need a projected house address<br />

and the successful conversion of the card code, manual-operating unit code and the<br />

number of projected BFB texts, in a valid <strong>BACnet</strong> object type.<br />

Incorporation of MFA’s with a projected house address into the <strong>BACnet</strong> object list is also<br />

controlled by the <strong>BACnet</strong> System ID. If this ID does not match the <strong>BACnet</strong> System ID<br />

(0... 3) configured for the EYK 300 F001 in question, the corresponding MFA will not be<br />

processed.<br />

For an individual assignment of alarms to Event Notification Classes (Notification Class<br />

objects), the protocol category (PC) must be set in the modules from 0..13 (or 14) (see<br />

section 9).<br />

So that an <strong>AS</strong>-MFA is implemented as a ‘<strong>BACnet</strong> Object’, the following parameters<br />

should be set using the relevant C<strong>AS</strong>E FBD input/output module.<br />

7.1 Visualisation and operating<br />

The <strong>BACnet</strong> Analogue Input object can only be visualised by a <strong>BACnet</strong> client<br />

(management level) and should be used for visualising measured values or counter<br />

readings.<br />

7.1.1 AI parameters<br />

HA Identification<br />

Atxt Address text<br />

DIMY Dimension (unit of measurement)<br />

TRW Threshold width<br />

SNr System number System 0<br />

7.1.2 AI_Soft parameters<br />

HA Identification<br />

Atxt Address text<br />

DIMY Dimension<br />

fSP Input value from control panel No<br />

TRW Threshold width<br />

SNr System number System 0<br />

7001007003 S10 Sauter Systems 79


7<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7.1.3 CI parameters<br />

WT Impulse divider<br />

HA Identification<br />

Atxt Address text<br />

DIM Dimension<br />

TRW Threshold width<br />

SNr System number System 0<br />

7.1.4 CIF_Soft parameters<br />

WT Impulse divider<br />

HA Identification<br />

Atxt Address text<br />

DIM Dimension<br />

TRW Threshold width<br />

SNr System number System 0<br />

7.1.5 CIV_Soft parameters<br />

HA Identification<br />

Atxt Address text<br />

DIM Dimension<br />

TRW Threshold width<br />

SNr System number System 0<br />

80 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7<br />

7.1.6 Example<br />

C<strong>AS</strong>E FBD: In the <strong>AS</strong> (novaNet address 01), MFA 00 has been parameterised with an<br />

AI module for visualising measured values.<br />

EYK: This AI module is then implemented as an analog input with instance number 1000,<br />

as a <strong>BACnet</strong> object.<br />

7001007003 S10 Sauter Systems 81


7<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7.1.7 Hours-run counter<br />

If the hours-run counter for a datapoint is enabled and object generation is also enabled,<br />

an additional <strong>BACnet</strong> Analogue Input object is also implemented with the same instance<br />

number, address text and house address, with the extension that was entered in the<br />

<strong>BACnet</strong> server configurator (see the following example).<br />

7.1.8 Example<br />

C<strong>AS</strong>E FBD: in the <strong>AS</strong> (novaNet address 01), MFA 72 was parameterised with a BI_Soft<br />

module for a status with hours-run counter visualisation.<br />

EYK: for this BI_Soft module, two <strong>BACnet</strong> objects - one binary input and one analogue<br />

input - are then implemented with instance number 1072.<br />

82 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7<br />

7.2 Analog output object<br />

The <strong>BACnet</strong> Analogue Output Object can be visualised and operated by the <strong>BACnet</strong><br />

client (management level), and should be used for manual positioning values,<br />

specification to a hardware datapoint.<br />

7.2.1 AO parameters<br />

HA Identification<br />

Atxt Address text<br />

DIMY Dimension<br />

TRW Threshold width<br />

SNr System number System 0<br />

7.3 Analog value object<br />

The <strong>BACnet</strong> Analogue Value object can be visualised and operated by a <strong>BACnet</strong> client<br />

(management level), and should be used for manually specifying setpoints on a software<br />

datapoint.<br />

7.3.1 AI_Soft parameters<br />

HA Identification<br />

Atxt Address text<br />

DIMY Dimension<br />

fSP Input value from control panel Yes<br />

TRW Threshold width<br />

SNr System number System 0<br />

7.3.2 AIA_Soft parameters<br />

HA Identification<br />

Atxt Address text<br />

DIMY Dimension<br />

TRW Threshold width<br />

SNr System number System 0<br />

7001007003 S10 Sauter Systems 83


7<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7.3.3 CFB_Soft parameters<br />

The CFB output must be connected with a CFB input (instruction).<br />

HA Identification<br />

Atxt Address text<br />

DIMY Dimension<br />

TRW Threshold width<br />

SNr System number System 0<br />

7.3.4 Example<br />

C<strong>AS</strong>E FBD: In the <strong>AS</strong> (novaNet address 01), MFA 65 has been parameterised with an<br />

AI_Soft module for a setpoint setting.<br />

EYK: This AI_Soft module is then implemented as an analog value with instance<br />

number 1065, as a <strong>BACnet</strong> object.<br />

Enter setpoint: Enter 20.0 at the ‘Property Present value’.<br />

The value 20.0 equates to a temperature setpoint of 20.0 °C.<br />

84 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7<br />

7.4 Binary input object<br />

The <strong>BACnet</strong> binary input object can be visualised only by the <strong>BACnet</strong> client<br />

(management level). It should be used for alarm, status or single-state binary feedback.<br />

7.4.1 BI parameters<br />

Visualisation applies only to output fC8 (Bit 31).<br />

HA Identification<br />

Atxt Address text<br />

CPB1 CP release Alarm or Status<br />

Txt0 Text Alarm On/Status Off<br />

Txt1 Text Alarm Off/Status On<br />

SNr System number System 0<br />

7.4.2 BI_Soft parameters<br />

fALSt Alarm/Status flag Alarm or Status<br />

HA Identification<br />

Atxt Address text<br />

CPB1 CP release Alarm or Status<br />

Txt0 Text Alarm On/Status Off<br />

Txt1 Text Alarm Off/Status On<br />

SNr System number System 0<br />

7.4.3 DI parameters<br />

HA Identification<br />

Atxt Address text<br />

CPB2 CP release Yes<br />

Txt0 BFB text stage 0<br />

Txt1 BFB text stage 1<br />

SNr System number System 0<br />

7.4.4 DI_Soft parameters<br />

HA Identification<br />

Atxt Address text<br />

CPB2 CP release BFB<br />

CTxt0 BFB text stage 0<br />

CTxt1 BFB text stage 1<br />

SNr System number System 0<br />

7001007003 S10 Sauter Systems 85


7<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7.4.5 Example<br />

C<strong>AS</strong>E FBD: In the <strong>AS</strong> (novaNet address 01), MFA 68 was parameterised with a BI_Soft<br />

module for alarm visualisation.<br />

EYK: This BI_Soft module is then implemented as a binary input with instance number<br />

1068, as a <strong>BACnet</strong> object.<br />

7.5 Binary output object<br />

The <strong>BACnet</strong> binary output object can be visualised and operated by the <strong>BACnet</strong> client<br />

(management level). It should be used for manual single-state switching <strong>com</strong>mand to<br />

hardware data point.<br />

7.5.1 DO parameters<br />

HA Identification<br />

Atxt Address text<br />

CTxt0 Command text stage 0<br />

CTxt1 Command text stage 1<br />

fCP0 Command release stage 0<br />

fCP1 Command release stage 1<br />

SNr System number System 0<br />

86 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7<br />

7.5.2 Example<br />

C<strong>AS</strong>E FBD: In the <strong>AS</strong> (novaNet address 01), MFA 32 was parameterised with a DO<br />

module for a single-state switching <strong>com</strong>mand.<br />

EYK: This DO module is then implemented as a binary output with instance number 1032,<br />

as a <strong>BACnet</strong> object.<br />

Enter switching <strong>com</strong>mand: enter 0,1 or NULL for the ‘Property Present Value’.<br />

• Value 0 equates to a switching <strong>com</strong>mand with Stage 0<br />

• Value 1 equates to a switching <strong>com</strong>mand with Stage 1<br />

• The value NULL denotes that there is no switching <strong>com</strong>mand and positions the<br />

relevant MFA to ‘Automatic’.<br />

7001007003 S10 Sauter Systems 87


7<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7.6 Binary value object<br />

The <strong>BACnet</strong> Binary Value Object can be visualised and operated by the <strong>BACnet</strong> client<br />

(management level) and should be used for a manual single-stage switching <strong>com</strong>mand<br />

on a software datapoint.<br />

7.6.1 DIA_Soft parameters<br />

HA Identification<br />

Atxt Address text<br />

CTxt0 Command text stage 0<br />

CTxt1 Command text stage 1<br />

fCP0 Command release stage 0<br />

fCP1 Command release stage 1<br />

SNr System number System 0<br />

7.6.2 DI_Soft parameters<br />

HA Identification<br />

Atxt Address text<br />

CPB2 CP release Command<br />

CTxt0 Command text stage 0<br />

CTxt1 Command text stage 1<br />

fCP0 Command release stage 0<br />

fCP1 Command release stage 1<br />

SNr System number System 0<br />

7.6.3 CFB_Soft parameters<br />

Output cCFB must be connected with a cCFB output (instruction).<br />

HA Identification<br />

Atxt Address text<br />

CTxt0 Command text stage 0<br />

CTxt1 Command text stage 1<br />

fCP0 Command release stage 0<br />

fCP1 Command release stage 1<br />

SNr System number System 0<br />

88 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7<br />

7.7 Multistate input object<br />

The <strong>BACnet</strong> Multistate Input object can only be visualised by the <strong>BACnet</strong> client<br />

(management level) and should be used for multi-stage binary feedback.<br />

7.7.1 DI parameters<br />

HA<br />

Identification<br />

Atxt<br />

Address text<br />

CPB2 CP release BFB<br />

Txt0 BFB text stage 0<br />

Txt1-6 BFB text stage 1-6<br />

SNr System number System 0<br />

7.7.2 DI_Soft parameters<br />

HA<br />

Identification<br />

Atxt<br />

Address text<br />

CPB2 CP release BFB<br />

CTxt0 BFB text stage 0<br />

CTxt1-6 BFB text stage 1-6<br />

SNr System number System 0<br />

7.8 Multistate output object<br />

The <strong>BACnet</strong> multistate output object can be visualised and operated by the <strong>BACnet</strong><br />

client (management level). It should be used for manual multi-state switching <strong>com</strong>mand<br />

to hardware data point.<br />

7.8.1 DO parameters<br />

HA<br />

Identification<br />

Atxt<br />

Address text<br />

CTxt0 Command text stage 0<br />

CTxt1-6 Command text stage 1-6<br />

fCP0 Command release stage 0<br />

fCP1-6 Command release stage 1-6<br />

SNr System number System 0<br />

7001007003 S10 Sauter Systems 89


7<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7.8.2 Example<br />

C<strong>AS</strong>E FBD: In the <strong>AS</strong> (novaNet address 02), MFA 37 was parameterised with a DO<br />

module for a multi-state switching <strong>com</strong>mand.<br />

EYK: This DO module is then implemented as a multistate output, with instance<br />

number 2037, as a <strong>BACnet</strong> object.<br />

Enter switching <strong>com</strong>mand: enter 1 to 8 or NULL for the ‘Property Present Value’.<br />

• A value of 1 equates to a switching <strong>com</strong>mand with Stage 0<br />

• A value of 2 equates to a switching <strong>com</strong>mand with Stage 1<br />

• A value of 3 equates to a switching <strong>com</strong>mand with Stage 2<br />

• ...<br />

• A value of 7 equates to a switching <strong>com</strong>mand with Stage 6<br />

• The value NULL denotes that there is no switching <strong>com</strong>mand and positions the<br />

relevant MFA to ‘Automatic’.<br />

90 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7<br />

7.9 Multistate value object<br />

The <strong>BACnet</strong> multistate value object can be visualised and operated by the <strong>BACnet</strong> client<br />

(management level). It should be used for manual multi-state switching <strong>com</strong>mand to<br />

software data point.<br />

7.9.1 DIA_Soft parameters<br />

HA<br />

Identification<br />

Atxt<br />

Address text<br />

CTxt0 Command text stage 0<br />

CTxt1-6 Command text stage 1-6<br />

fCP0 Command release stage 0<br />

fCP1-6 Command release stage 1-6<br />

SNr System number System 0<br />

7.9.2 DI_Soft parameters<br />

HA<br />

Identification<br />

Atxt<br />

Address text<br />

CPB2 CP release Command<br />

CTxt0 Command text stage 0<br />

CTxt1-6 Command text stage 1-6<br />

fCP0 Command release stage 0<br />

fCP1-6 Command release stage 1-6<br />

SNr System number System 0<br />

7.9.3 CFB_Soft parameters<br />

Output cCFB must be connected with a cCFB input (instruction).<br />

HA<br />

Identification<br />

Atxt<br />

Address text<br />

CTxt0 Command text stage 0<br />

CTxt1-6 Command text stage 1-6<br />

fCP0 Command release stage 0<br />

fCP1-6 Command release stage 1-6<br />

SNr System number System 0<br />

7001007003 S10 Sauter Systems 91


7<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Parameterising the <strong>AS</strong> with C<strong>AS</strong>E FBD<br />

7.10 Loop object<br />

The <strong>BACnet</strong> loop object maps a PID controller loop. The three constants – Proportional,<br />

Integral and Derivative - can be visualised and changed by the <strong>BACnet</strong> client<br />

(management level).<br />

Note:<br />

So that the loop object is implemented by the EYK 300, the PID controller has to be<br />

connected to the loop module as follows. In addition, the AI (Controlled_Variable),<br />

AI_Soft (Setpoint) and AO (Manipulated_Variable) must also be converted into <strong>BACnet</strong><br />

objects.<br />

Hinweis:<br />

Ab C<strong>AS</strong>E FBD Version 5.1 SR2+ kann auch ein AIA_Soft (oder AI_Soft) als<br />

Manipulated_Variable verwendet werden. Ein AI_Soft ist jedoch nicht zu empfehlen, da<br />

das fSP-Flag freigeschaltet werden müsste, damit es ein Analog Value (AV) Objekt gibt;<br />

doch somit könnte auch eine andere novaNet Bedienung dieses AV Objekt verstellen.<br />

7.10.1 Loop parameters<br />

HA<br />

House address<br />

Atxt<br />

Address text<br />

DIMXP<br />

Proportional_Constant_Units<br />

TRW<br />

Half raster width<br />

SNr System number System 0<br />

XP<br />

Proportional_Constant<br />

TN<br />

Integral_Constant<br />

TV<br />

Derivative_Constant<br />

LtErr<br />

Error_Limit<br />

Tdly<br />

Time_Delay<br />

92 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Historical data recording with <strong>BACnet</strong><br />

8<br />

8 Historical data recording with <strong>BACnet</strong><br />

<strong>BACnet</strong> uses Trend Log objects to implement the storage of historical data. The Trend<br />

Log objects are local EYK objects that are created or deleted dynamically with the help<br />

of a <strong>BACnet</strong> client. The Trend Log object can record a property from an internal or an<br />

external <strong>BACnet</strong> object. The stored data are read by a <strong>BACnet</strong> client using the<br />

'ReadRange' service. The EYK can manage up to 50 Trend Log objects dynamically. A<br />

maximum of up to 10,000 historical data entries can be stored on the EYK.<br />

8.1 Create a Trend Log object<br />

The Trend Log object has to be created with a <strong>BACnet</strong> client which supports the 'Create<br />

Object' service. For example, you can use the novaPro Open <strong>BACnet</strong> Configuration<br />

Console (BCC) or the <strong>BACnet</strong> client tool.<br />

Notes:<br />

• as <strong>BACnet</strong> client-Tool (BACtool.exe) ist ein kleiner <strong>BACnet</strong> client basierend auf dem<br />

Cimetrics BACstac 4.x und wird mit dem <strong>BACnet</strong>-Server Konfigurator mitgeliefert.<br />

Das <strong>BACnet</strong> client-Tool unterstützt die Services "Create Object" und "Delete Object",<br />

damit dynamisch erzeugbare Objekte in einem <strong>BACnet</strong> Server erstellt werden<br />

können. Die Objekte werden mit Default Properties vorgegeben und können<br />

anschliessend von einem <strong>BACnet</strong> client angepasst werden. Es ist nicht möglich eine<br />

Liste von Initialwerten (List of Initial Values) zu übergeben.<br />

Da der <strong>BACnet</strong> OPC Server von Cimetrics/MBS das dynamische Anlagen von<br />

Objekten nicht unterstützt, ist dieses <strong>BACnet</strong>-Client Tool als Ergänzung zu diesem<br />

<strong>BACnet</strong> OPC Server gedacht. Weitere Hinweise zum <strong>BACnet</strong>-Client Tool können<br />

dem Anhang im Kapitel 18 entnommen werden.<br />

• Dynamic creation of <strong>BACnet</strong> objects with a specified list of initial values is possible<br />

with novaPro Open BCC from version 2.1 onwards.<br />

• The Trend Log object in version 2.4 is implemented according to <strong>BACnet</strong> Protocol<br />

Revision 1.2.<br />

The relevant 'Object Properties' for a Trend Log object have to be configured correctly<br />

and can also be changed by a <strong>BACnet</strong> client during operation:<br />

• Log-Device-Object property:<br />

This property defines which property is recorded, by which object and from which<br />

device.<br />

• Log-Enable:<br />

This property turns recording on or off.<br />

7001007003 S10 Sauter Systems 93


8<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Historical data recording with <strong>BACnet</strong><br />

• Start-Time, Stop-Time:<br />

These properties define when the recording is turned on or off respectively. If<br />

wildcards (*) are included in a time or date field in these properties, turning on or off<br />

is ignored.<br />

• Buffer-Size:<br />

Buffer-Size specifies the number of data records that can be stored in this Trend Log<br />

object. The default value is 100.<br />

• Notification-Threshold:<br />

Notification-Threshold defines when an Intrinsic-Reporting Buffer-Ready is triggered.<br />

• Stop-When-Full:<br />

If Stop-When-Full is set, no more values will be stored and Log-Enable is switched<br />

off. If Stop-When-Full is not set, the oldest value from the buffer disappears and the<br />

new value is added (FIFO).<br />

• Log-Interval specifies the periodic interval in 1/100ths of a second at which the<br />

referenced property is recorded. If the value is 0, recording will be performed with<br />

COV Reporting using a COV subscription for the referenced property. In most cases,<br />

this is the Present-Value with which the 'Change-Of-State' (COS) of a status flag is<br />

also recorded.<br />

• COV-Resubscription-Interval:<br />

If a COV property is recorded by an external device (Remote Device) with the Trend<br />

Log object, the interval for logging back on must be indicated in seconds.<br />

94 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Historical data recording with <strong>BACnet</strong><br />

8<br />

8.2 Trend Log Object<br />

Property Data type EYK<br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R<br />

Object-Name CharacterString W<br />

Object-Type <strong>BACnet</strong>ObjectType R<br />

Log-Enable Boolean W<br />

Stop-When-Full Boolean W<br />

Buffer-Size Unsigned32 W<br />

Log-Buffer List of <strong>BACnet</strong>LogRecord R<br />

Record-Count Unsigned32 W<br />

Total-Record-Count Unsigned32 R<br />

Event-State <strong>BACnet</strong>EventState R<br />

Optional properties<br />

Description CharacterString W<br />

COV-Resubscription-Interval Unsigned W<br />

Client-COV-Increment <strong>BACnet</strong>ClientCOV R<br />

Profile-Name CharacterString X<br />

Optional properties conditional<br />

Required when monitored property is a <strong>BACnet</strong> property<br />

Start-Time <strong>BACnet</strong>DateTime W<br />

Stop-Time <strong>BACnet</strong>DateTime W<br />

Log DeviceObjectProperty <strong>BACnet</strong>DeviceObjectPropertyReference W<br />

Log-Interval Unsigned W<br />

Intrinsic-Reporting supported Buffer-Ready<br />

Notfication-Threshold Unsigned32 R<br />

Records-Since-Notification Unsigned32 R<br />

Previous-Notify-Time <strong>BACnet</strong>DateTime R<br />

Current-Notify-Time <strong>BACnet</strong>DateTime R<br />

Notification-Class Unsigned R<br />

Event-Enable <strong>BACnet</strong>EventTransitionBits R<br />

Acked-Transitions <strong>BACnet</strong>EventTransitionBits R<br />

Notify-Type <strong>BACnet</strong>NotifyType R<br />

Event-Time-Stamps <strong>BACnet</strong>Array[3] of <strong>BACnet</strong>TimeStamp R<br />

7001007003 S10 Sauter Systems 95


8<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Historical data recording with <strong>BACnet</strong><br />

8.3 How a Trend Log works<br />

A Trend Log object records a property of a referenced object if predefined conditions<br />

materialise, and it stores (or 'logs') the values for this property with a time stamp in an<br />

internal buffer.<br />

The referenced object may be located either on the same device (Device) or on an<br />

external device.<br />

There are two ways of recording the data. They can be recorded at periodic intervals, or<br />

when a status/value changes (COV). In addition, errors and changes to the status and<br />

function of the Trend Log object are recorded. Every entry in the Trend Log buffer ('Log<br />

Buffer') is known as a 'Record'. If a referenced object supports status flags ('Status<br />

Flags') with COV Reporting, an entry will also be made when the status of a flag<br />

changes. The status of the status flags is also recorded in a Record.<br />

The buffer size of a Trend Log object is defined in the 'Buffer-Size' property, and it can<br />

be changed manually by a <strong>BACnet</strong> client. (The buffer can be enlarged during recording;<br />

if the buffer is set lower than 'Record Count', the entire 'Log Buffer' is deleted).<br />

If the 'Stop-When-Full' property is set, recording is stopped automatically when the<br />

buffer is full. If this property is not set, recording continues and the oldest value<br />

disappears from the buffer.<br />

You can use 'Log-Enable' to enable ('True') or disable ('False') recording manually. This<br />

also tells you the current status of the Trend Log object. You can use the dates and<br />

times defined in the 'Start-Time' and 'Stop-Time' properties to specify recording for<br />

limited times. Setting 'Log-Enable' to 'False' takes precedence over a 'Start/Stop-Time'<br />

specification.<br />

If the number of records in the buffer reaches the number specified in the 'Notification-<br />

Threshold' property, a 'Buffer-Ready' notification is sent with Notification Class object 4<br />

('Trendlog Buffer-Limit Notification'). The Notification Threshold should be about half or<br />

3/4 of the buffer size so that sufficient time is available to read out and archive the data<br />

in the Trend Log object.<br />

The 'Record-Count' property represents the current number of records in the Log Buffer.<br />

If this property is given value 0, the Log Buffer is deleted.<br />

96 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Historical data recording with <strong>BACnet</strong><br />

8<br />

8.4 Engineering examples<br />

This section provides some examples of the various parameterisations for Trend Log<br />

objects. Parameterisation can be performed with the <strong>BACnet</strong> OPC server, for example.<br />

Notes on parameterisation with the Cimetrics/MBS <strong>BACnet</strong> OPC server:<br />

• The <strong>BACnet</strong> OPC Server represents wildcards for properties with data type<br />

<strong>BACnet</strong>DateTime for 'Start-Time' or 'Stop-Time' (*.*.*, *:*:*) as '01.01.1970,<br />

00:00:00.00' (for example).<br />

• The syntax in the <strong>BACnet</strong> OPC server for the 'Log-device-object-property' property<br />

should be entered as follows, for example:<br />

<br />

<br />

for a local <strong>BACnet</strong> object: {{(analogue-input,1083),present-value}} with<br />

{(analogue-input,1083,present-value} - i.e. without outer curved brackets<br />

for an external <strong>BACnet</strong> object: {{(device,200),(analogue-input,2083),presentvalue}}<br />

with {(analogue-input,2083),present-value,?,(device,200)}.<br />

8.4.1 Analogue input of Present-Value with time<br />

raster<br />

Recording of the 'Device-internal' analogue input object 4111001 Present-Value with a<br />

time raster of 10 seconds.<br />

The properties could be parameterised as follows:<br />

'Log-device-object-property' = {{(analogue-input,4111001),present-value}}<br />

'Log-enable' = T (Trend Log is active (True))<br />

'COV-resubscription-interval' = 3600 (only relevant for COV Reporting of external<br />

objects; in seconds)<br />

'Log-interval' = 1000 (gives a time raster of 10 seconds; in 1/100ths of a second)<br />

'Start-time' = 31.07.2005, 00:00:00.00 (optional)<br />

'Stop-time' = 31.08.2005, 00:00:00.00 (optional)<br />

7001007003 S10 Sauter Systems 97


8<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Historical data recording with <strong>BACnet</strong><br />

8.4.2 Analogue input of Present-Value with COV<br />

Recording of the 'Device-internal' analogue input object 4111000 Present-Value after a<br />

'Raster Threshold Violation' (COV Reporting)<br />

The properties could be parameterised as follows:<br />

'Log-device-object-property' = {{(analogue-input,4111000),present-value}}<br />

'Log-enable' = T (Trend Log is active (True))<br />

'COV-resubscription-interval' = 3600 (not relevant)<br />

'Log-interval' = 0 (for COV Reporting, this value must be 0!)<br />

'Start-time' = 31.07.2005, 00:00:00.00 (optional)<br />

'Stop-time' = 31.08.2005, 00:00:00.00 (optional)<br />

8.4.3 External multistate output of Present-Value with<br />

COV<br />

Recording of the 'Device-external' multistate output object 4112037 Present-Value after<br />

a 'Raster Threshold Violation' (COV Reporting)<br />

The properties could be parameterised as follows:<br />

'Log-device-object-property' = {{(device,4112),(analogue-input,4112037),presentvalue}}<br />

'Log-enable' = T (Trend Log is active (True))<br />

'COV-resubscription-interval' = 3600 (log on again every hour; in seconds; this value<br />

must not be equal to 0!)<br />

'Log-interval' = 0 (for COV Reporting, this value must be 0!)<br />

'Start-time' = 01.01.1970, 00:00:00.00 (corresponds to *.*.*, *:*:* and is always active)<br />

'Stop-time' = 01.01.1970, 00:00:00.00 (corresponds to *.*.*, *:*:* and is always active)<br />

98 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Historical data recording with <strong>BACnet</strong><br />

8<br />

8.4.4 Non-COV-supported property with time raster<br />

If possible, recording of non-COV-supported properties should only be used if there is<br />

an urgent need (to minimise the load on the bus due to unnecessary polling).<br />

Recording of 'Device-internal' loop object 4111109 proportional-constant with a time<br />

raster of 1 hour.<br />

The properties could be parameterised as follows:<br />

'Log-device-object-property' = {{((loop,4111109),proportional-constant}}<br />

'Log-enable' = T (Trend Log is active (True))<br />

'COV-resubscription-interval' = 3600 (not relevant)<br />

'Log-interval' = 360000 (gives a time raster of 1 hour; in 1/100ths of a second)<br />

'Start-time' = 01.01.1970, 00:00:00.00 (corresponds to *.*.*, *:*:* and is always active)<br />

'Stop-time' = 01.01.1970, 00:00:00.00 (corresponds to *.*.*, *:*:* and is always active)<br />

Recording of a non-COV-supported property can also be performed with an external<br />

object.<br />

8.5 Read log buffer with ReadRange<br />

A <strong>BACnet</strong> client is told via the 'Buffer-Ready' intrinsic reporting mechanism (using<br />

Notification Class object 4) that the size of the log buffer has reached the threshold limit<br />

and that it should be read out.<br />

The readout can be performed manually (T-VMT-B: Trending-Viewing and Modifying<br />

Trends) with the ReadRange service or automatically (T-ATR-B: Trending-Automated<br />

Trend Retrieval), which is supported by the intrinsic reporting 'Buffer-Ready'.<br />

Manual readout, for example with the <strong>BACnet</strong> OPC server from Cimetrics/MBS, is<br />

shown here:<br />

Double-click on the<br />

Trend Log object to open a<br />

dialogue window where the<br />

Trend Log range can be<br />

read out and saved.<br />

The result of a log buffer<br />

read-out may appear in a file<br />

as follows:<br />

7001007003 S10 Sauter Systems 99


8<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Historical data recording with <strong>BACnet</strong><br />

# Date Value type Value Status flags<br />

1 30.08.2005 14:22:014.00 real 22.26 (FFFF) ()<br />

2 30.08.2005 14:22:010.00 real 15.73 (FFFF) ()<br />

3 30.08.2005 14:22:002.00 real 17.73 (FFFF) ()<br />

4 30.08.2005 14:21:049.00 real 10.19 (FFFT) (out-of-service)<br />

5 30.08.2005 14:21:038.00 real 10.19 (FFFF) ()<br />

6 30.08.2005 14:21:035.00 real 12.39 (FFFF) ()<br />

7 30.08.2005 14:21:031.00 real 15.93 (FFFF) ()<br />

8 30.08.2005 14:21:028.00 real 21.15 (FFFF) ()<br />

9 30.08.2005 14:21:024.00 real 18.1 (FFFF) ()<br />

10 30.08.2005 14:21:021.00 real 12.67 (FFFF) ()<br />

11 30.08.2005 14:21:017.00 real 12.3 (FFFF) ()<br />

12 30.08.2005 14:21:013.00 real 15.79 (FFFF) ()<br />

13 30.08.2005 14:21:006.00 real 18.5 (FFFF) ()<br />

14 30.08.2005 14:21:003.00 real 25.35 (FFFF) ()<br />

15 30.08.2005 14:20:059.00 real 33.31 (FFFF) ()<br />

16 30.08.2005 14:20:056.00 real 53.52 (FFFF) ()<br />

17 30.08.2005 14:20:052.00 real 64.51 (FFFF) ()<br />

18 30.08.2005 14:20:028.00 log-status (FT) ----<br />

The ReadRange service (according to Revision 1.2 of the protocol) supports various<br />

mechanisms for data readout:<br />

• Read all (the optional Range parameter in the service is not used)<br />

• With position (in this case, the number of data records to be read out is defined<br />

starting from a specified position)<br />

• With time (in this case, the start time and number of data records to be read out is<br />

specified) – this is not supported with the <strong>BACnet</strong> OPC server.ß<br />

• With time range (in this case, the start and end times are specified).<br />

Note: the mechanisms such as 'With sequence number' or 'With time and number with<br />

returned start sequence number' are not (yet) supported (this will only be possible after<br />

implementation as per Revision 1.3 of the protocol).<br />

With novaPro Open <strong>BACnet</strong> Driver 2.1, automatic Trend-Log Retrieval is supported.<br />

100 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Historical data recording with <strong>BACnet</strong><br />

8<br />

8.6 Trend Log engineering notes<br />

8.6.1 Background information<br />

Prior to <strong>BACnet</strong> server Version 2.4, attempts were made to use the Historical Database<br />

(HDB) of the EY3600 automation station with <strong>BACnet</strong>. For each datapoint that was<br />

HDB-<strong>com</strong>patible, a <strong>BACnet</strong> Trend Log object was created (if the <strong>BACnet</strong> server<br />

configurator had set this option). However, due to aggravated <strong>com</strong>patibility reasons, it<br />

was decided that historical data storage with the Trend Log objects would no longer be<br />

linked with the HDB of the EY3600 system. As a result, the HDB of an <strong>AS</strong> has no<br />

relationship with a <strong>BACnet</strong> Trend Log object.<br />

8.6.2 Behaviour in case of power failure or reset of<br />

the <strong>BACnet</strong> server<br />

Battery buffering is not provided on the <strong>BACnet</strong> <strong>com</strong>munication card. There must not be<br />

too many write cycles on the available flash disk and for this reason, the recorded data<br />

('Log buffers') of the Trend Log objects are only kept in the normal working memory of<br />

the EYK. Unfortunately, this means that the data for the 'Log buffer' property are lost<br />

every time the server is restarted due to a power failure, the ReinitializeDevice Service<br />

or also after engineering via the <strong>BACnet</strong> server configurator.<br />

Measures have to be taken to minimise or totally eliminate the data loss. Here are some<br />

suggestions that may be used:<br />

a) Keep the buffer size of the individual Trend Log objects and especially the Threshold<br />

limits as small as possible, so that the data are read out frequently via the Intrinsic-<br />

Reporting 'Buffer-Ready' using a <strong>BACnet</strong> client with ReadRange, meaning that they<br />

can be archived at management level. In this way, a <strong>BACnet</strong> client can save the data<br />

persistently over long periods in a database or a file. A low Threshold limit therefore<br />

keeps data loss from the Log buffer at a low level.<br />

b) Before a ReinitializeDevice service is carried out by a <strong>BACnet</strong> client or an<br />

engineering change is made via the <strong>BACnet</strong> server configurator, all 'Log buffers'<br />

should be read out.<br />

c) To prevent data loss <strong>com</strong>pletely in case of a power failure, the <strong>BACnet</strong> <strong>AS</strong> or the<br />

modular <strong>BACnet</strong> station (nova106 or novaCom) must be supported with an external<br />

UPS device (Uninterruptible Power Supply, 230V).<br />

d) An alternative would be to use the Sauter EY3600-USP (EYZ101F001) for the<br />

<strong>BACnet</strong> <strong>AS</strong> or, for the modular <strong>BACnet</strong> station (EYK 300 F001), to use the<br />

nova108/nova109 assembly variant with the novaCom supply and UPS card<br />

(EYI 103 F001) at plug position B.<br />

It should be remembered that the <strong>BACnet</strong> <strong>com</strong>munication card consumes a<br />

maximum of 0.4 A of extra power during operation.<br />

7001007003 S10 Sauter Systems 101


8<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Historical data recording with <strong>BACnet</strong><br />

102 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Alarms and events<br />

9<br />

9 Alarms and events<br />

<strong>BACnet</strong> allows various mechanisms for transmitting data (process variables), alarm<br />

notifications (alarms) or special status changes (events). Detailed descriptions of these<br />

services are available in the <strong>BACnet</strong> Standard [1] or the Guide [2]. 'Change-Of-Value'<br />

reporting for data exchange is supported with the <strong>BACnet</strong> <strong>com</strong>munication card. Alarm<br />

notifications are supported with the Intrinsic-Reporting mechanism and the Notification<br />

Class objects.<br />

9.1 Change-Of-Value reporting<br />

The Change-Of-Value reporting function is <strong>com</strong>pletely dynamic, i.e. the number of<br />

logons (COV subscriptions) is only limited by the memory and performance of the EYK.<br />

In view of this, however, no more than 3000 COV subscriptions should be used. This<br />

means that with a maximum number of objects, at most 3 clients can log on to all object<br />

instances at the same time. The COV subscriptions are not persistent so they are no<br />

longer available after a power failure.<br />

Logged-on clients should release the COV subscriptions correctly (using<br />

'UnsubscribeCOV'), so that there is no unnecessary accumulation of unused memory.<br />

The <strong>BACnet</strong> server automatically releases all COV subscriptions for the relevant<br />

recipient after a COV Notification Request has been cancelled with a timeout. In<br />

addition, a cyclical Resubscribe should be carried out to counteract the loss of COV<br />

subscriptions which may have occurred due to <strong>com</strong>munication failures or other faults<br />

(including a server network outage).<br />

9.2 Intrinsic-Reporting<br />

A <strong>BACnet</strong> object receives the properties for Intrinsic-Reporting via the <strong>BACnet</strong> <strong>AS</strong><br />

precisely when a special status (alarm) can be recorded by means of an appropriate<br />

algorithm.<br />

This is always the case for all analogue variables (AI, AO and AV), because the<br />

corresponding limit values are defined in an <strong>AS</strong>. The Out-Of-Range (OOR) algorithm is<br />

used in this case. However, the relevant limit value monitoring is only performed if the<br />

limits are enabled. The validity of the respective limit value is mapped in the Enable bits<br />

of the 'Limits_Enable' property. The half raster width is used as the hysteresis<br />

('Deadband' property).<br />

7001007003 S10 Sauter Systems 103


9<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Alarms and events<br />

For binary digital variables BI, BO and BV, the properties for Intrinsic-Reporting are only<br />

created if the HBG parameter Code involves an alarm. In this case, a change of status is<br />

notified by the Change-Of-State (COS) event type.<br />

For the Loop object, a Floating-Limit Intrinsic-Reporting alarm is triggered if the absolute<br />

difference between 'Setpoint' and 'Controlled-Variable-Value' exceeds the 'Error-Limit'<br />

value for longer than 'Time-Delay'.<br />

For the Trend Log object, a Buffer-Ready Intrinsic-Reporting alarm is triggered if the<br />

'Records-Since-Notification' and 'Notification-Threshold' properties are the same.<br />

The 'Project Engineering' and 'Restart-Indicator' system objects have a Change-Of-State<br />

algorithm implemented as an event, and they refer to the System Events Notification<br />

Class object intended for this purpose.<br />

104 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Alarms and events<br />

9<br />

9.3 Alarms with Notification Class objects<br />

Notification of events to one or more <strong>BACnet</strong> clients requires a knowledge of the<br />

recipient(s) and the time-related release conditions, among other things. With Intrinsic-<br />

Reporting this is implemented solely by reference to a corresponding Notification Class<br />

object ('event notification class') which contains the necessary information. For example,<br />

the list of recipients ('Recipient_List' property) is stored in a non-volatile manner in this<br />

object after each client entry, so that the list is available again after restarting. This<br />

allows you to set the behaviour for event notifications on a group-by-group basis.<br />

Event notifications for standard <strong>BACnet</strong> objects are always sent with Notify_Type = 0<br />

(alarm).<br />

From <strong>BACnet</strong> server Version 2.4 onwards, there are two possible ways of assigning the<br />

event notifications to corresponding Notification Class objects. You can specify the type<br />

of assignment in the <strong>BACnet</strong> server configurator.<br />

1. Static assignment via object type<br />

In the <strong>BACnet</strong> <strong>AS</strong>, there is a Notification Class object for every type of event<br />

7001007003 S10 Sauter Systems 105


9<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Alarms and events<br />

notification. The <strong>BACnet</strong> objects with properties for Intrinsic-Reporting automatically<br />

receive the relevant reference to the appropriate Notification Class object<br />

('Notification_Class' property). The following five Notification Class objects are<br />

created in the <strong>BACnet</strong> server.<br />

Instance<br />

no.<br />

Name<br />

Description<br />

1 OOR Alarming Notification Class Out Of Range Alarming – class 1<br />

2 COS Alarming Notification Class Change-Of-State Alarming – class 2<br />

3 System Events System Events - class 3<br />

4 Trend Log Buffer-Limit Notification Trend Log Buffer-Limit Notification - class 4<br />

5 Floating Limit Notification Floating Limit Notification - class 5<br />

2. Assignment via protocol category<br />

If 'Assignment via protocol category' is selected, 13 or 14 Notification Class objects<br />

are automatically created in the <strong>BACnet</strong> <strong>AS</strong>. These 13 or 14 Notification Class<br />

objects are used for individual grouping of the event/alarm notifications, and the<br />

protocol category is parameterised in the engineering with C<strong>AS</strong>E FBD for the<br />

individual I/O modules. In this case, an Intrinsic-Reporting Out-Of-Range, Change-<br />

Of-State, Floating-Limit alarm algorithm for the I/O modules is assigned to the<br />

relevant Notification Class objects using the protocol category (PC) .<br />

Instance<br />

no.<br />

Name<br />

Description<br />

10 Protocol-Category 0 Protocol-Category 0 – class 10<br />

11 Protocol-Category 1 Protocol-Category 1 – class 11<br />

… … …<br />

23 Protocol-Category 13 Protocol-Category 13 – class 23<br />

Optional if the 'Use protocol category 14' flag is enabled:<br />

Instance<br />

no.<br />

Name<br />

Description<br />

24 Protocol-Category 14 Protocol-Category 14 – class 24<br />

Note:<br />

This enabled status should only be used if 14 freely usable Notification Class<br />

objects really have to be used. Protocol category 14 should remain reserved for any<br />

new <strong>BACnet</strong> server functions.<br />

If this flag is not enabled and an I/O module nevertheless has protocol category 14<br />

parameterised, the Intrinsic-Reporting functionality will be disabled on the<br />

corresponding <strong>BACnet</strong> object.<br />

106 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Alarms and events<br />

9<br />

The Notification Class objects for the System events and the Trend Log Buffer Limit<br />

notifications are retained.<br />

Instance<br />

no.<br />

Name<br />

Description<br />

3 System Events System Events - class 3<br />

4 Trend Log Buffer-Limit Notification Trend Log Buffer-Limit Notification - class 4<br />

9.4 Notification Class Object<br />

Property Data type EYK<br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R<br />

Object-Name CharacterString W<br />

Object-Type <strong>BACnet</strong>ObjectType R<br />

Notification-Class Unsigned R<br />

Priority <strong>BACnet</strong>Array[3] of Unsigned W<br />

Ack-Required <strong>BACnet</strong>EventTransitionBits R<br />

Recipient-List List of <strong>BACnet</strong>Destinations W<br />

Optional properties<br />

Description CharacterString W<br />

Profile-Name CharacterString X<br />

EYK : R = Read ; W = Write ; X = not supported<br />

Note:<br />

From Version 2.4 onwards, the 'Object name' and 'Description' properties can be filled<br />

in.<br />

The default priority value for the Notification Class object is 1. This value can be filled in,<br />

and it should be parameterised by a <strong>BACnet</strong> client for correct classification (Alarm/Event<br />

Class Priority). The <strong>BACnet</strong> Standard makes the following informative suggestion<br />

(Annexe M):<br />

Notification<br />

group<br />

Priority Network priority Description<br />

Safety of persons<br />

(Life Safety)<br />

Building security<br />

(Property Safety)<br />

Monitoring<br />

(Supervisory)<br />

Problem case<br />

(Trouble)<br />

00 – 31 Life-saving<br />

notification<br />

32 – 63 Life-saving<br />

notification<br />

64 – 95 Equipmentcritical<br />

notification<br />

96 – 127 Equipmentcritical<br />

Notification of acute danger to life, safety and<br />

health such as a fire alarm, armed robbery<br />

Notification of acute danger to buildings, such as<br />

forcible intrusion<br />

Notification of incorrect execution, monitoring<br />

failure (especially for safety of people and<br />

buildings) or if money is lost (EMAX)<br />

Notification of <strong>com</strong>munication failure (especially<br />

for safety of people and buildings)<br />

7001007003 S10 Sauter Systems 107


9<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Alarms and events<br />

Alarms and events<br />

of higher priority<br />

Alarms and events<br />

of lower priority<br />

notification<br />

128 – 191 Important<br />

notification<br />

192 – 255 Normal<br />

notification<br />

Notifications in higher categories regarding<br />

dis<strong>com</strong>fort for persons present, normal operation,<br />

normal monitoring or return to normal status.<br />

Notifications in lower categories regarding<br />

dis<strong>com</strong>fort, normal operation, normal monitoring or<br />

return to normal status.<br />

9.4.1 Notification class 1 (OOR alarming notification)<br />

All analogue objects (analogue input, analogue output and analogue value objects) that<br />

have corresponding limit values (parameters Lt and Lb) defined in an <strong>AS</strong> will support<br />

intrinsic reporting with the Out Of Range algorithms. These objects are assigned to<br />

notification class 1.<br />

Acknowledgement of alarms is possible only for in<strong>com</strong>ing alarm messages. In the<br />

‘Property Ack_Required’ in object notification class 1, only the related enabling bit is set<br />

for TO-OFFNORMAL.<br />

108 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Alarms and events<br />

9<br />

9.4.2 Notification class 2 (COS alarming notification)<br />

In the case of binary digital variables (object binary input), the properties for intrinsic<br />

reporting are created only if the parameter CPB1 (HBG enable) stands at Alarm on the<br />

BI or BI_Soft module.<br />

In so doing, a status change is reported by the event type Change-Of-State (COS).<br />

These objects are assigned to notification class 2.<br />

Acknowledgement of alarms is possible only for in<strong>com</strong>ing alarm messages. In the<br />

‘Property Ack_Required’ in object notification class 2, only the related enabling bit is set<br />

for TO-OFFNORMAL.<br />

7001007003 S10 Sauter Systems 109


9<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Alarms and events<br />

9.4.3 Notification Class 3 (system events)<br />

This event notification class is reserved for general system events. At present, the<br />

automatically generated system objects are used with this Notification Class object.<br />

These are the 'Project Engineering' object, the '<strong>AS</strong> Status' objects and the 'Restart-<br />

Indicator' object (see section 6).<br />

Acknowledgement of alarms is only possible for in<strong>com</strong>ing alarm notifications. For this<br />

purpose, only the associated Enable bit for TO-OFFNORMAL is set in 'Property<br />

Ack_Required' in the Notification Class 3 object.<br />

110 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Alarms and events<br />

9<br />

9.4.4 Notification class 4 (TrendLog buffer limit)<br />

All trend log objects support intrinsic reporting with the buffer-ready algorithms. These<br />

objects are assigned to notification class 4.<br />

Alarm acknowledgement is not possible.<br />

7001007003 S10 Sauter Systems 111


9<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Alarms and events<br />

9.4.5 Notification class 5 (floating limit notification)<br />

All loop objects which have the corresponding Tdly and LtErr parameters defined in an<br />

<strong>AS</strong> will support intrinsic reporting with the floating limit algorithms. These objects are<br />

assigned to notification class 5.<br />

Alarm acknowledgement is not possible.<br />

112 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Alarms and events<br />

9<br />

9.5 Alarm-Quittierung<br />

In general, <strong>AS</strong>-side acknowledgement of alarms is only possible for in<strong>com</strong>ing alarm<br />

notifications. Accordingly, when an event notification (Event Notifications) is due to be<br />

sent, a user acknowledgement is only requested by <strong>BACnet</strong> if the event status in<br />

question is a transition to the TO-OFFNORMAL status. For this purpose, only the<br />

associated Enable bit is set to TO-OFFNORMAL in the Ack_Required property of the<br />

respective object instances of the Notification Class type.<br />

Notes on functioning:<br />

An Acknowledge-Alarm Request initiated by a <strong>BACnet</strong> client with a correspondingly<br />

acknowledgeable event status is forwarded directly to the automation station. The<br />

identity specified (Id=255) is used to identify the originator.<br />

In this case, it should be noted that with analogue variables, the various monitoring<br />

mechanisms may bring about different alarm statuses in the automation station and in<br />

the <strong>BACnet</strong> server. If this happens, a user acknowledgement by <strong>BACnet</strong> may<br />

temporarily seem implausible from the viewpoint of the automation station under certain<br />

circumstances.<br />

7001007003 S10 Sauter Systems 113


9<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Alarms and events<br />

114 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Time profiles<br />

10<br />

10 Time profiles<br />

10.1 Create schedule object<br />

The schedule objects are local EYK objects and they are created, either dynamically with<br />

the use of a <strong>BACnet</strong>-Client (e.g. with novaPro Open, see manual novaPro Open) or<br />

statically within the <strong>BACnet</strong>-Server Configurator (BnsCfg) in the "Settings" tab. Up to 100<br />

schedule objects can be created.<br />

The 4 relevant "object properties"- "Effective Period", "Exception Schedule", "List of Object<br />

Property References" and "Weekly Schedule" - are empty and still have to be<br />

parameterised from the management level.<br />

7001007003 S10 Sauter Systems 115


10<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Time profiles<br />

10.1.1 Schedule object<br />

Property Datatype EYK<br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R<br />

Object-Name CharacterString W<br />

Object-Type <strong>BACnet</strong>ObjectType R<br />

Present-Value Any R<br />

Effective-Period <strong>BACnet</strong>DateRange W<br />

List-Of-Object-Property-References List of<br />

W<br />

<strong>BACnet</strong>DeviceObjectPropertyReference<br />

Priority-For-Writing Unsigned (1..16) R<br />

Optional properties<br />

Description CharacterString W<br />

Profile-Name CharacterString X<br />

Optional properties conditional<br />

Weekly-Schedule <strong>BACnet</strong>Array[7] of <strong>BACnet</strong>DailySchedule W<br />

Exception-Schedule <strong>BACnet</strong>Array[N] of <strong>BACnet</strong>SpecialEvent W<br />

EYK : R = Read ; W = Write ; X = not supported<br />

10.1.2 Example<br />

ISP06_SH00 (Schedule (0)) is active (present value = 1) every Tuesday from 8:00<br />

onwards and is inactive (present value = 0) every Tuesday from 16:00 onwards.<br />

Binary output 1033 is written with this value, with write priority 16.<br />

116 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Time profiles<br />

10<br />

10.2 Create calendar object<br />

The calendar objects are local EYK objects and they are created , either dynamically<br />

with the use of a <strong>BACnet</strong>-Client (e.g. with novaPro Open, see manual novaPro Open) or<br />

statically within the <strong>BACnet</strong>-Server Configurator (BnsCfg) in the "Settings" tab. Up to 40<br />

calendar objects can be created.<br />

The relevant "object property" - "Datelist" - is empty and still has to be parameterised<br />

from the management level.<br />

7001007003 S10 Sauter Systems 117


10<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Time profiles<br />

10.2.1 Calendar object<br />

Property Datatype EYK<br />

Required properties<br />

Object-Identifier <strong>BACnet</strong>ObjectIdentifier R<br />

Object-Name CharacterString W<br />

Object-Type <strong>BACnet</strong>ObjectType R<br />

Present-Value Boolean R<br />

Date-List List of <strong>BACnet</strong>CalendarEntry W<br />

Optional properties<br />

Description CharacterString W<br />

Profile-Name CharacterString X<br />

EYK : R = Read ; W = Write ; X = not supported<br />

10.2.2 Example<br />

ISP06_CA00 (Calendar (0)) is active (present value = true) on Tuesday 5 February<br />

2004 and Friday 19 March 2004.<br />

118 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

EYK 300 parameterising for peer-to-peer data transmission<br />

11<br />

11EYK 300 parameterising for peerto-peer<br />

data transmission<br />

Using the integrated client functionality, the data exchange of present values with<br />

external <strong>BACnet</strong> devices is possible as both a data sink and a data source.<br />

11.1 Client ‘data sink’ functionality<br />

Present values of an external <strong>BACnet</strong> servers are recorded and written with a pre-set<br />

write priority to the present value of a local object.<br />

Data acquisition is possible either event-controlled per COV reporting (COV=Change-<br />

Of-Value) or via cyclical polling (Read-Property).<br />

Local objects can only be selected as data targets if they have the Priority-Array<br />

property (all Output and Value object types) so that they are '<strong>com</strong>mandable'.<br />

If a data source fails, a value of ‘NULLs written on the present value of the linked local<br />

object. This causes the value of the associated write-priority level to be<strong>com</strong>e invalid, so<br />

the value of the lower priority level <strong>com</strong>es into effect. If there is no valid value left,<br />

automatic mode is enforced.<br />

Communication is not started until the object belonging to such a link has been created.<br />

11.2 Client ‘data source’ functionality<br />

This function enables a local present value to be written directly to the present value of<br />

an external <strong>BACnet</strong> device. The writing operation is triggered when a value changes<br />

outside a projectable hysteresis (similar to COV increment).<br />

Objects can only be selected as external data targets if they have the Priority-<br />

Array property (all Output and Value object types) so that they are '<strong>com</strong>mandable'.<br />

7001007003 S10 Sauter Systems 119


11<br />

<strong>BACnet</strong> <strong>AS</strong><br />

EYK 300 parameterising for peer-to-peer data transmission<br />

11.3 Engineering the data links<br />

Up to 100 external data links can be projected. This is done using an Excel table that is<br />

saved as a CSV file bnsclt*.csv (*=Device instance number of EYK 300F001).<br />

Note: It can happen that the EYK is delivered with an example file: bnsclt.xls. However,<br />

it is mandatory to save this file as a CSV file (.csv) in order to enable the client<br />

functionality of the EYK.<br />

Link description<br />

Remote object type<br />

Remote object<br />

instance<br />

Local object instance<br />

Write priority<br />

Function code<br />

(0=Polling 1=COV<br />

2=Write)<br />

Lifetime/poll time-out<br />

[sec]<br />

COV<br />

increment/threshold<br />

Test analogue-value polling 45 AI 45000 220020 15 0 30<br />

Test analogue-value COV 45 AI 45001 220021 15 1 600 0,1<br />

Test analogue-value write 45 AO 45022 220002 15 2 0,1<br />

Remote deviceinstance<br />

The links are configured line by line. The values of each column should be entered as<br />

follows:-<br />

Column Explanation Range<br />

Link description<br />

Description of the external dataobject<br />

for engineering aid. This<br />

Any text (except<br />

separators)<br />

column is ignored by Bns36.<br />

Remote device instance Device-instance number of the 1..4194303<br />

Remote object type<br />

Remote object instance<br />

Local object instance<br />

Local write priority<br />

external server.<br />

Symbol for the object type of the<br />

remoteseitgen data-object:-<br />

AI=Analogue Input<br />

AO=Analogue Output<br />

AV=Analogue Value<br />

BI=Binary Input<br />

BO=Binary Output<br />

BV=Binary Value<br />

MSI=Multistate Input<br />

MSO=Multistate Output<br />

MSV=Multistate Value<br />

Instance number of the remoteside<br />

data object<br />

Instance number of the local data<br />

object<br />

Priority level for the writing<br />

operation (1=highest, 15=lowest<br />

priority)<br />

AI,AO,AV,BI,BO,BV,M<br />

SI,MSO<br />

(upper/lower case<br />

permitted)<br />

1..4194303<br />

1..4194303<br />

1..15<br />

120 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

EYK 300 parameterising for peer-to-peer data transmission<br />

11<br />

Function code<br />

Lifetime/poll time-out [sec]<br />

COV increment/threshold<br />

Method of data transmission<br />

0=Cyclical polling<br />

1=COV reporting<br />

2=Write<br />

Lifetime of the COV subscription or<br />

poll time-out<br />

(N.B.: Lifetime for COV = 0<br />

denotes unlimited lifetime)<br />

This entry is ignored when function<br />

code=2.<br />

COV increment when data<br />

acquisition via COV reporting.<br />

Hysteresis for writing function; if<br />

field is empty, 0.0 is taken. The<br />

hysteresis works only for analogue<br />

variables.<br />

0,1,2<br />

0..4294967295<br />

Floating decimal point<br />

11.4 Downloading the link file<br />

The EYK integrates an access-protected FTP server. The user name and password<br />

(default: Sauter 12345) can be modified by means of the <strong>BACnet</strong> configurator.<br />

Using an FTP client (e.g. Internet Explorer), the file bnsclt*.csv (*=device instance<br />

number of EYK 300F001) should be downloaded to the EYK 300 or EYK 220 into the<br />

FlashFx folder direct via TCP/IP. After the download, the EYK 300 has to be re-started.<br />

7001007003 S10 Sauter Systems 121


11<br />

<strong>BACnet</strong> <strong>AS</strong><br />

EYK 300 parameterising for peer-to-peer data transmission<br />

11.5 Example:<br />

11.5.1 Topology:<br />

Client functionality of the <strong>BACnet</strong> server/client device-instance no. 1:-<br />

Data sink (read/receive)<br />

Data source (write)<br />

<strong>BACnet</strong>/IP<br />

Ethernet<br />

Device-Instance No.: 1<br />

EYK 300 F001<br />

Device-Instance No.: 2<br />

EYK 300 F001<br />

novaNet 1<br />

novaNet 2<br />

<strong>AS</strong>-novaNet No.: 1<br />

EYL 106 F001<br />

<strong>BACnet</strong> Server/Client 1<br />

<strong>AS</strong>-novaNet No.: 2<br />

EYL 220 F001<br />

<strong>BACnet</strong> Server/Client 2<br />

122 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

EYK 300 parameterising for peer-to-peer data transmission<br />

11<br />

11.5.2 Transfer list bnsclt1.xls<br />

Link description<br />

Remote deviceinstance<br />

Remote object type<br />

Remote object<br />

instance<br />

Local object instance<br />

Write priority<br />

Function code<br />

(0=polling 1=COV<br />

2=write)<br />

Life-time/poll-timeout<br />

[sec]<br />

COV<br />

increment/threshold<br />

AI 2010 --> AO 1020 2 AI 2010 1020 16 1 600 0.05<br />

MSI 2052 --> MSO 1036 2 MSI 2052 1036 16 1 600<br />

BI 2064 --> BO 1032 2 BI 2064 1032 16 1 600<br />

AV 1066 --> AO 2020 2 AO 2020 1066 16 2 0.05<br />

MSV 1073 --> MSO 2039 2 MSO 2039 1073 16 2<br />

AI 1000 --> AV 2065 2 AV 2065 1000 16 2 0.05<br />

MSI 1052 --> MSO 2038 2 MSO 2038 1052 16 2<br />

11.5.3 Description of operation<br />

11.5.3.1 Data sink<br />

Present values of the external <strong>BACnet</strong> server (device-instance no. 2) are recorded and<br />

are written with a pre-set writing priority onto the present value of the local object<br />

(<strong>BACnet</strong> client device-instance no. 1).<br />

Line 1<br />

The present value of the external analogue input object (object instance 2010) is written<br />

onto the present value of the local analogue output object (object instance 1020).<br />

Line 2<br />

The present value of the external multistate input object (object instance 2052) is written<br />

onto the present value of the local multistate output object (object instance 1036).<br />

Line 3<br />

The present value of the external binary input object (object instance 2064) is written<br />

onto the present value of the local binary output object (object instance 1032).<br />

7001007003 S10 Sauter Systems 123


11<br />

<strong>BACnet</strong> <strong>AS</strong><br />

EYK 300 parameterising for peer-to-peer data transmission<br />

11.5.3.2 Data source<br />

This function enables the local present value (<strong>BACnet</strong> client device-instance no. 1) to be<br />

written directly onto the present value of the external <strong>BACnet</strong> server (device-instance No. 2).<br />

Line 4<br />

The present value of the local analog value object (object instance 1066) is written onto<br />

the present value of the external analog output object (object instance 2020).<br />

Line 5<br />

The present value of the local multistate value object (object instance 1073) is written<br />

onto the present value of the external multistate output object (object instance 2039).<br />

Line 6<br />

The present value of the local analog input object (object instance 1000) is written onto<br />

the present value of the external analog value object (object instance 2065).<br />

Line 7<br />

The present value of the local multistate input object (object instance 1052) is written<br />

onto the present value of the external multistate output object (object instance 2038).<br />

124 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

EDE (Engineering Data Exchange)<br />

12<br />

12 EDE (Engineering Data Exchange)<br />

With regard to the acquisition of object data from alien <strong>BACnet</strong> sub-systems, it is often<br />

not possible to download them online via the internet, since the engineering work for it<br />

cannot usually be done on site. For this reason, a format was developed by the Working<br />

Group Technic of the B.I.G. (<strong>BACnet</strong> Interest Group) Europe for exchanging this<br />

engineering data (Description of EDE SpreadSheet.doc).<br />

Roughly speaking, these data <strong>com</strong>prise four separate tables that are saved as CSV<br />

(Comma Separated Value) files. These are namely: object data, state-text references,<br />

unit-text references and coding of object types. Since the EYK 300 F001 of <strong>BACnet</strong><br />

uses pre-defined unit-of-measurement texts and object types, these tables are constant<br />

and are not created by EYK 300 F001. Only the ‘object data’ and ‘state-text references’<br />

tables are dependent on the peculiarities of the installation and should be created<br />

accordingly.<br />

The generation of the EDE files is done automatically after an initial <strong>com</strong>parison of the<br />

object table and after every change. The tables edeData*.csv (object data) and<br />

edeStateText*.csv (state-text references) are created (*=device instance number von<br />

EYK 300 F001). Since these files very often have to be re-written due to the automatic<br />

<strong>com</strong>parison, they are saved in the temporary folder \TEMP.<br />

The files can be read out via the integrated access-protected FTP server (default: user<br />

name: Sauter password: 12345).<br />

7001007003 S10 Sauter Systems 125


12<br />

<strong>BACnet</strong> <strong>AS</strong><br />

EDE (Engineering Data Exchange)<br />

126 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Data exchange with EYK (FTP)<br />

13<br />

13 Data exchange with EYK (FTP)<br />

EYK <strong>BACnet</strong> data can be read out or exchanged via the integrated access-protected<br />

FTP server. (Default: login with user name:Sauter and password:12345).<br />

This should be used for update and backup functions.<br />

The data are distributed as follows:<br />

The persistent files are located in directory \FlashFx.<br />

• Application NK.LZH<br />

This is a specially zipped file containing the <strong>BACnet</strong> functions, WINCE and<br />

BACstack. The date determines the recognition of the version. Caution: This file<br />

must always be present!<br />

• Object list BnsObj*.bin<br />

One BnsObj*.bin per connected <strong>AS</strong> is created here (* = <strong>AS</strong> number).<br />

All other objects (Device, Schedule, Calendar, Notification Class and Trend Log) are<br />

stored in file BnsObjRt.bin.<br />

• Peer-to-peer file Bnsclt*.csv<br />

If this file is present, the client functionality of the EYK is enabled.<br />

7001007003 S10 Sauter Systems 127


13<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Data exchange with EYK (FTP)<br />

• The FSLOADCE.* files<br />

These files are used to start the application automatically when the EYK is switched<br />

on. Caution: these files must never be deleted!<br />

Directory Temp contains the temporary files.<br />

• Files EDE*.csv<br />

If these files are present, the <strong>BACnet</strong> application is able to function; if not, check the<br />

configuration or the novaNet connection.<br />

128 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Annexe A: <strong>BACnet</strong> FAQ<br />

14<br />

14 Annexe A: <strong>BACnet</strong> FAQ<br />

The Frequently Asked Questions about <strong>BACnet</strong> and the Sauter EY3600 <strong>BACnet</strong><br />

automation stations are available on the Sauter Intranet.<br />

Sauter Intranet Technical Support FAQ EY3600 <strong>BACnet</strong><br />

7001007003 S10 Sauter Systems 129


14<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Annexe A: <strong>BACnet</strong> FAQ<br />

130 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Annexe B: Troubleshooting the EYK<br />

15<br />

15 Annexe B: Troubleshooting the EYK<br />

15.1 Error log file for the <strong>BACnet</strong> server<br />

From version 2.4 onwards, the <strong>BACnet</strong> server has an integrated error log mechanism to<br />

improve diagnostic possibilities for EYK users. General error statuses/events are also<br />

logged in text form in two alternating files ('dynamic' log files: BnsErrA.txt, BnsErrB.txt).<br />

The maximum size of these files is about 500kByte. In addition, system information or<br />

errors which can only occur once when the system is started up are stored in a separate<br />

file ('static' log file: BnsStart.txt)<br />

You can enable this functionality (co-logging of errors) in the <strong>BACnet</strong> server configurator<br />

using the 'Enable error recording' option.<br />

These error log files can be donwloaded from the EYK (\FlashFx directory) with an FTP<br />

client, so they can be used for problem analysis.<br />

7001007003 S10 Sauter Systems 131


15<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Annexe B: Troubleshooting the EYK<br />

Example of an extract from a BnsStart.txt file:<br />

Time stamp<br />

Description<br />

07.09.2005 10:35:41 ** startup **<br />

07.09.2005 10:35:42 application version: '2.4-008 build on Aug 31 2005 14:21:49,<br />

BACstac(TM) 4.0'<br />

07.09.2005 10:35:42 configuration changed<br />

07.09.2005 10:35:42 IP-address '10.1.41.11', novaNet-address '31989'<br />

07.09.2005 10:35:43 normal memory state (avail=24044 [KB], load=7%)<br />

07.09.2005 10:35:43 verified <strong>AS</strong>3600 (addr=4111, type=EYL220, index=G)<br />

07.09.2005 10:35:43 verified <strong>AS</strong>3600 (addr=4113, type=EYL106, index=H)<br />

132 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Annexe B: Troubleshooting the EYK<br />

15<br />

Example of an extract from a BnsErrA.txt file:<br />

Time stamp Device ID ObjectID Description<br />

05.08.2005 09:48:22 (device,4111) (trend-log,10) dynamic object creation<br />

09.08.2005 06:37:10 (device,4111) device <strong>com</strong>munication control<br />

'disable'<br />

09.08.2005 18:24:58 (device,4111) (trend-log,10) dynamic object deletion<br />

09.08.2005 18:33:40 (device,4111) (trend-log,11) dynamic object creation<br />

11.08.2005 06:09:48 (device,4112) state online<br />

15.08.2005 09:48:50 (device,4112) state offline<br />

31.12.1999 23:00:14 (device,4112) state online<br />

31.12.1999 23:00:14 (device,4111) (binary-input,2) event notif failed, dest={local,<br />

IP:10.1.142.88:47808}, eventType=change-of-state, fromState=normal, toState=offnormal,<br />

BACstac status 65: <strong>BACnet</strong> reject (reject reason 9: Unrecognized service)<br />

31.08.2005 13:54:25 (device,4112) state offline<br />

Note: For reasons already stated (see Time synchronisation, section 6.1.3) a time/date<br />

stamp is not always correct when the device starts up.<br />

15.2 Communication tests<br />

The <strong>BACnet</strong> server application on the EYK is based on a Windows CE operating<br />

system. After successfully starting this Windows CE, other TCP/IP-based services such<br />

as 'ping' and 'telnet' are available in addition to the FTP server. These services may be<br />

used to test the <strong>com</strong>munication between the PC and the EYK so as to test the<br />

functionality of the EYK card.<br />

15.2.1 Ping<br />

To know whether a <strong>BACnet</strong> <strong>com</strong>munication card is functioning correctly in a LAN (Local<br />

Area Network), a 'Ping' (ping.exe) must trigger a response.<br />

1. Start a Command window (Start Run… Open: 'cmd' and and confirm with<br />

OK)<br />

2. Enter the 'ping' <strong>com</strong>mand with the defined IP address of the EYK<br />

ping e.g. ping 10.1.41.11<br />

3. 'Response from…' will be given by an active <strong>BACnet</strong> EYK that is functioning<br />

correctly in the network. An incorrect LAN configuration would report 'Request<br />

time exceeded'.<br />

7001007003 S10 Sauter Systems 133


15<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Annexe B: Troubleshooting the EYK<br />

You can obtain more information about the 'Ping' <strong>com</strong>mand by entering 'ping /?'<br />

15.2.2 Telnet server<br />

The EYK's Telnet server can be called up with a Telnet client (telnet.exe) in Windows.<br />

Start the Telnet client by entering the Host IP address (Start Run… Open: 'telnet<br />

' and confirm with OK).<br />

134 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Annexe B: Troubleshooting the EYK<br />

15<br />

You will see the EYK console. Using the Telnet client, you can now execute DOS<br />

<strong>com</strong>mand line <strong>com</strong>mands (dir, cd, copy, …) on the connected device. This access<br />

should only be used by experienced technical experts and it can be disabled in the<br />

<strong>BACnet</strong> server configurator if necessary.<br />

15.2.3 Hyperterminal<br />

A minimal function test can be carried out with a serial PC-EYK connection. In this case,<br />

three <strong>com</strong>mands are also available. Hyperterminal can be started via Start ><br />

Programmes > Accessories > Communication.<br />

1. Configure the Hyperterminal with the following connection settings:<br />

Baud rate: 19,200; data bits: 8; parity: none; stop bits: 1; flow control: none<br />

In addition, the Line Feed setting should be switched on in <strong>AS</strong>CII Setup .<br />

2. Switch on the EYK (if you have not already done so) and establish the<br />

Hyperterminal connection.<br />

3. Enter a <strong>com</strong>mand line:<br />

a. d m : 'display memory'; shows the memory used by the EYK in (%)<br />

b. d a : 'display application version'; shows the installed application<br />

c. d r : 'display recipients'; shows all logged-on recipients<br />

These functions only provide very minimal information and should only be used for<br />

the purposes of function testing if the card no longer responds via TCP/IP.<br />

7001007003 S10 Sauter Systems 135


15<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Annexe B: Troubleshooting the EYK<br />

136 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Annexe C: System limits<br />

16<br />

16 Annexe C: System limits<br />

An overview of the system and object limits of the EY3600 <strong>BACnet</strong> server (software)<br />

and the <strong>BACnet</strong> <strong>com</strong>munication card (hardware).<br />

16.1 System<br />

Description: EYK hardware Specification Fix<br />

CPU clock rate (cycle frequency) 133 MHz x<br />

FlashRAM 16 MByte x<br />

RAM 32 MByte x<br />

Flash: minimum number of Delete cycles per 128 kByte block 100,000<br />

Ethernet interface 10/100 MBits auto<br />

Serial interface:<br />

19,200 x<br />

Baud rate: 19,200, data bits 8, no parity, 1 stop bit, no flow control<br />

Usable EY3600 <strong>AS</strong> numbers 1..4194<br />

Description: <strong>BACnet</strong> server (software) Specification Fix<br />

Number of possible COV subscriptions 3000<br />

gives the number of <strong>BACnet</strong> clients entered at the same time about 3<br />

Number of objects, total 1000 x<br />

Number of subordinate novaNet stations (<strong>AS</strong>, ecos, novaFlex) 100<br />

Number of peer-to-peer connections 100 x<br />

TCP/IP port number for <strong>BACnet</strong> server configurator 51966 x<br />

<strong>BACnet</strong> port number for <strong>BACnet</strong> data <strong>com</strong>munication 47808..47823<br />

16.2 Objects<br />

Object Property Number / limit Fix<br />

Device Object-List Number of objects, total 1000 x<br />

Trend Log Number of objects 50 x<br />

Log-Buffer<br />

Number of entries in the Trend Log 10'000 x<br />

buffer, total<br />

Schedule Number of objects 100 x<br />

Exception-Schedule Number of '<strong>BACnet</strong>SpecialEvent' 40<br />

entries<br />

Exception-Schedule Number of '<strong>BACnet</strong>TimeValue' entries 12<br />

per <strong>BACnet</strong>SpecialEvent<br />

Weekly-Schedule Number of '<strong>BACnet</strong>TimeValue' entries 24<br />

List-Of-Cbject-Property-<br />

References<br />

per Daily-Schedule<br />

Number of<br />

'<strong>BACnet</strong>DeviceObjectPropertyReferenc<br />

e' entries<br />

Calendar Number of objects 40 x<br />

Date-List<br />

Number of '<strong>BACnet</strong>CalendarEntry' 30<br />

entries<br />

Notification<br />

Class<br />

Recipient-List Number of '<strong>BACnet</strong>Destination' entries 12<br />

More <strong>BACnet</strong> specifications are available in the <strong>BACnet</strong> PICS (Sauter-Server-EY3600-<br />

PICS.pdf).<br />

30<br />

7001007003 S10 Sauter Systems 137


16<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Annexe C: System limits<br />

138 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Annexe D: <strong>BACnet</strong> data types<br />

17<br />

17 Annexe D: <strong>BACnet</strong> data types<br />

The <strong>BACnet</strong> data types are described in the <strong>BACnet</strong> Standard (Clause 21). But as not<br />

all users may have received a standard, the most important data types in use are listed<br />

here.<br />

<strong>BACnet</strong>EventState ::= ENUMERATED {<br />

normal (0), fault (1), offnormal (2), high-limit (3), low-limit (4),…}<br />

<strong>BACnet</strong>EventTransitionBits ::= BIT STRING {<br />

to-offnormal (0), to-fault (1), to-normal (2)}<br />

<strong>BACnet</strong>EventType ::= ENUMERATED {<br />

change-of-bitstring (0), change-of-state (1), change-of-value (2),<br />

<strong>com</strong>mand-failure (3), floating-limit (4), out-of-range (5), …, buffer-ready (10), …}<br />

<strong>BACnet</strong>LimitEnable ::= BIT STRING {<br />

lowLimitEnable (0), highLimitEnable (1)}<br />

<strong>BACnet</strong>NotifyType ::= ENUMERATED {<br />

alarm (0), event (1), ack-notification (2)}<br />

<strong>BACnet</strong>Polarity ::= ENUMERATED {<br />

normal (0), reverse (1)}<br />

<strong>BACnet</strong>Reliability ::= ENUMERATED {<br />

no-fault-detected (0), no-sensor (1), over-range (2), under-range (3),<br />

open-loop (4), shorted-loop (5), no-output (6), unreliable-other (7),<br />

process-error (8), multi-state-fault (9), configuration-error (10), …}<br />

<strong>BACnet</strong>StatusFlags ::= BIT STRING {<br />

in-alarm (0), fault (1), overridden (2), out-of-service (3)}<br />

ReinitializeDevice-Request ::= SEQUENCE {<br />

reinitializedStateOfDevice [0] ENUMERATED {<br />

coldstart (0), warmstart (1), …}<br />

password<br />

[1] CharacterString (1..20) OPTIONAL}<br />

DeviceCommunicationControl-Request ::= SEQUENCE {<br />

timeDuration<br />

[0] Unsigned16 OPTIONAL,<br />

enable-disable [1] ENUMERATED {<br />

enable (0), disable (1), disable-initiation (2)},<br />

password<br />

[2] CharacterString (1..20) OPTIONAL}<br />

7001007003 S10 Sauter Systems 139


17<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Annexe D: <strong>BACnet</strong> data types<br />

140 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Annexe E: <strong>BACnet</strong> client tool<br />

18<br />

18 Annexe E: <strong>BACnet</strong> client tool<br />

This small tool (BACtool.exe) is used for dynamic client-side creation or deletion of<br />

<strong>BACnet</strong> objects.<br />

The tool is based on the Cimetrics BACstac 4.x and can only be used if a BACstac of<br />

this kind is installed on the PC and licensed. The use of this tool is intended as an addon<br />

to the <strong>BACnet</strong> OPC server from Cimetrics/MBS or other <strong>BACnet</strong> Operator<br />

Workstations (B-OWS) which do not allow dynamic creation of objects.<br />

This tool is very simple and self-explanatory, and it uses the <strong>BACnet</strong> CreateObject and<br />

DeleteObject services. It is not possible to specify a 'List of Initial Values' so the objects<br />

are created with the standard <strong>BACnet</strong> server values.<br />

The tool supports objects of types Schedule, Calendar, Trend Log and Notification Class<br />

as well as all analogue, binary and multistate 'types'.<br />

The tool can be downloaded from the Sauter Intranet.<br />

7001007003 S10 Sauter Systems 141


18<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Annexe E: <strong>BACnet</strong> client tool<br />

142 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Annexe F: 'Inside' <strong>BACnet</strong> EYK<br />

19<br />

19 Annexe F: 'Inside' <strong>BACnet</strong> EYK<br />

The EY3600 <strong>BACnet</strong> EYK Hardware Platform <strong>com</strong>prises a baseboard and a processor<br />

board.<br />

19.1 Hardware architecture<br />

EYK<br />

Baseboard:<br />

Processor<br />

board:<br />

- FSForth<br />

- AMD SC520<br />

- OS WinCE 3.0<br />

ISA-Bus<br />

Dual-Port<br />

SRAM<br />

Ethernet<br />

interface<br />

novaNet<br />

interface<br />

RJ45<br />

RJ11<br />

Ethernet<br />

novaNet<br />

Serial<br />

interface<br />

DB9<br />

RS232<br />

19.2 The baseboard<br />

The baseboard is a plug-in card which is similar to the EYS290 plug-in card, but with the<br />

EYU Rack Format as the form factor instead of the familiar ISA format for the PC.<br />

The baseboard is an ISA-Bus 'Memory Card' <strong>com</strong>prising a 'Dual Port RAM'. Access is<br />

possible via novaNet interface and also via the plugged-on processor board (small PC)<br />

via ISA-Bus.<br />

The baseboard also contains the DB9 plug for the serial interface and the RJ45 plug for<br />

the Ethernet network interface of the processor board.<br />

The voltage supply (12V DC, 0.4 A) <strong>com</strong>es from the EYU rack (card position A) or from<br />

the EYK 220 or EYK 230 automation station.<br />

7001007003 S10 Sauter Systems 143


19<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Annexe F: 'Inside' <strong>BACnet</strong> EYK<br />

19.3 The processor board<br />

The processor board (from FS Forth) is plugged onto the baseboard. The hardware<br />

<strong>com</strong>prises one AMD SC520 processor (x86-<strong>com</strong>patible, MOD520, 133 MHz) with the<br />

Windows CE 3.0 operating system. The processor board has a 16 MB flash memory for<br />

persistent data (files, registry) and a working memory (RAM) of 32 MB for the<br />

applications and the operating system.<br />

The voltage supply <strong>com</strong>es from the baseboard.<br />

144 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Annexe G: <strong>BACnet</strong> server application update<br />

20<br />

20 Annexe G: <strong>BACnet</strong> server<br />

application update<br />

A new <strong>BACnet</strong> server application (NK.LZH with Windows CE Kernel, BACstac and<br />

<strong>BACnet</strong> server application) can be loaded onto the EYK (EYK300, EYK220, EYK230)<br />

with an FTP client (e.g. Internet Explorer). Perform these steps:<br />

1. Obtain information (FTP user name, FTP password and IP address) for the<br />

<strong>BACnet</strong> card (from the existing <strong>BACnet</strong> server configuration)<br />

2. Switch the automation station off<br />

3. Disconnect the <strong>BACnet</strong> card from novaNet<br />

4. Switch the automation station on and wait for at least 30 seconds<br />

5. Close all applications on the Windows <strong>com</strong>puter and make sure that the<br />

Windows <strong>com</strong>puter (laptop) will not suffer a power failure during the next steps<br />

6. Start Internet Explorer or the FTP client and type the following in the address<br />

field:<br />

ftp://Username[:Password]@IP address<br />

e.g. ftp://Sauter@192.168.0.1<br />

7. In the next dialogue, enter the FTP password and log on.<br />

8. Go to directory 'FlashFX'<br />

9. Copy file NK.LZH from the local directory (e.g. c:\temp) into the FlashFX<br />

directory.<br />

7001007003 S10 Sauter Systems 145


20<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Annexe G: <strong>BACnet</strong> server application update<br />

10. Choose yes to have the existing file overwritten.<br />

Important note: this process must not be interrupted and may take 1 to 2<br />

minutes.<br />

11. After copying is <strong>com</strong>plete, you can close the FTP Explorer.<br />

12. Connect novaNet to the EYK and switch the station off and on. This allows a<br />

perfect start for the newly updated <strong>BACnet</strong> server.<br />

Notes:<br />

Information on data exchange with the EYK is also provided in section 13.<br />

To minimise the FTP transfer risk, you can copy the new application as a file name,<br />

e.g. nk24009.lzh into the \FlashFx directory. In the next step, delete the existing<br />

application (or rename it as nk22003.lzh, for example) and correctly name the new<br />

application (nk24009.lzh) as NK.LZH before restarting the EYK card.<br />

Files NK.LZH, FSLOADCE.BIN and FSLOADCE.CFG in the \FlashFX directory must<br />

always be present before the EYK card is switched off and on again. The FSLOADCE.*<br />

files must never be deleted.<br />

146 7001007003 S10 Sauter Systems


<strong>BACnet</strong> <strong>AS</strong><br />

Annexe H: <strong>BACnet</strong> on the Internet<br />

21<br />

21 Annexe H: <strong>BACnet</strong> on the Internet<br />

Interesting <strong>BACnet</strong> references (various articles, discussions and FAQ) are available on<br />

the Internet. Here are some links:<br />

www.bacnet.org - Bibliography<br />

www.big-eu.org<br />

www.bacnet.ru<br />

www.wikipedia.org - <strong>BACnet</strong><br />

www.bacnetassociation.org<br />

www.wsplab.de - Protokollprüfung<br />

www.cimetrics.<strong>com</strong> - B<strong>AS</strong> Products<br />

www.mbs-software.de<br />

www.gopolar.<strong>com</strong> - <strong>BACnet</strong> FAQ<br />

www.aamatrix.<strong>com</strong> - <strong>BACnet</strong> Definitions<br />

7001007003 S10 Sauter Systems 147


21<br />

<strong>BACnet</strong> <strong>AS</strong><br />

Annexe H: <strong>BACnet</strong> on the Internet<br />

.<br />

148 7001007003 S10 Sauter Systems

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!