BACnet AS - sauter-controls.com sauter-controls.com
BACnet AS - sauter-controls.com sauter-controls.com
BACnet AS - sauter-controls.com sauter-controls.com
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