The Building Automation and Control Network or BACnet protocol was designed to allow building systems to communicate with each other and to allow users to write external applications that can send requests to the BACnet devices or retrieve information from them. Systems that normally communicate with the BACnet protocol are HVAC equipment, Fire/Life safety, lighting control and other building automation systems.
The PI BACnet Interface is a BACnet interface for the OSIsoft PI System. The interface uses the BACnet/IP Datalink layer which implements the BACnet Virtual Link Control (BVLC) for networking using UDP/IP and conforms to the ANSI/ASHRAE Standard 135-2004: BACnet – A Data Communication Protocol for Building Automation and Control Networks Annex J.
The PI BACnet Interface is bidirectional, meaning that it supports both reading from and writing to the BACnet controllers. The PI BACnet Interface can communicate with any device using BACnet/IP which is a UDP based protocol. The PI BACnet interface can also communicate to other devices which use different BACnet protocols via a BACnet Gateway or a BACnet Router. The BACnet devices or routers do not need to be on the same subnet as the interface. The data can be obtained from the BACnet controller by either polling for the data on a specific frequency or by using the BACnet Change-Of-Value (COV) protocol which allows the BACnet Controller to send data as it changes without the interface having to request the data.
The PI BACnet Interface will support the ability to read the following BACnet objects Types:
Analog Input
Analog Output
Analog Value
Binary Input
Binary Output
Binary Value
Loop
Multi-State Input
Multi-State Output
Multi-State Value
Life Safety Point
Life Safety Zone
Accumulator
The PI BACnet Interface supports UniInt Phase 2 Failover.
Note: The value of [PIHOME] variable for the 32-bit interface will depend on whether the interface is being installed on a 32-bit operating system (C:\Program Files\PIPC) or a 64 bit operating system (C:\Program Files (x86)\PIPC).
The value of [PIHOME64] variable for a 64-bit interface will be C:\Program Files\PIPC on the 64-bit Operating system.
In this documentation [PIHOME] will be used to represent the value for either [PIHOME] or [PIHOME64]. The value of [PIHOME] is the directory which is the common location for PI client applications.
Note: Throughout this manual there are references to where messages are written by the interface which is the PIPC.log. This interface has been built against a of UniInt version (4.5.0.59 and later) which now writes all its messages to the local PI Message log.
Please note that any place in this manual where it references PIPC.log should now refer to the local PI message log. Please see the document UniInt Interface Message Logging.docx in the %PIHOME%\Interfaces\UniInt directory for more details on how to access these messages.
Reference Manuals OSIsoft Vendor
ANSI/ASHRAE Standard 135-2004: BACnet - A Data Communication Protocol for Building Automation and Control Networks
Supported Features -
Feature
|
Support
|
Part Number
|
PI-IN- OS-BACN-NTI
|
* Platforms
|
32-bit Interface
|
64-bit Interface
|
Windows XP
|
|
|
32-bit OS
|
Yes
|
No
|
64-bit OS
|
Yes (Emulation Mode)
|
No
|
Windows 2003 Server
|
|
|
32-bit OS
|
Yes
|
No
|
64-bit OS
|
Yes (Emulation Mode)
|
No
|
Windows Vista
|
|
|
32-bit OS
|
Yes
|
No
|
64-bit OS
|
Yes (Emulation Mode)
|
No
|
Windows 2008
|
|
|
32-bit OS
|
Yes
|
No
|
64-bit OS
|
Yes (Emulation Mode)
|
No
|
Windows 2008 R2
|
|
|
64-bit OS
|
Yes (Emulation Mode)
|
No
|
Windows 7
|
|
|
32-bit OS
|
Yes
|
No
|
64-bit OS
|
Yes (Emulation Mode)
|
No
|
|
|
APS Connector
|
No
|
Point Builder Utility
|
No
|
ICU Control
|
Yes
|
PI Point Types
|
Int32 / Int16 / Digital / Float 64 / Float32 / Float16 / String
|
Sub-second Timestamps
|
No
|
Sub-second Scan Classes
|
No
|
Automatically Incorporates PI Point Attribute Changes
|
Yes
|
Exception Reporting
|
Yes
|
Outputs from PI
|
Yes
|
Inputs to PI: Scan-based / Unsolicited / Event Tags
|
Scan-based/Unsolicited
|
Supports Questionable Bit
|
No
|
Supports Multi-character PointSource
|
Yes
|
Maximum Point Count
|
Unlimited
|
* Uses PI SDK
|
No
|
PINet String Support
|
N/A
|
* Source of Timestamps
|
PI Server
|
History Recovery
|
No
|
* UniInt-based
* Disconnected Startup
* SetDeviceStatus
|
Yes
Yes
Yes
|
* Failover
|
UniInt Failover (Phase 2, Hot, Warm and Cold)
|
* Vendor Software Required on PI Interface Node / PINet Node
|
No
|
Vendor Software Required on Foreign Device
|
No
|
Vendor Hardware Required
|
No
|
* Additional PI Software Included with Interface
|
Yes
|
Device Point Types
|
Real/Digital/Integer/String
|
Serial-Based Interface
|
No
|
* See available paragraphs below for further explanation.
Platforms
The Interface is designed to run on the above mentioned Microsoft Windows operating systems and their associated service packs.
Please contact OSIsoft Technical Support for more information.
Uses PI SDK
The PI SDK and the PI API are bundled together and must be installed on each PI Interface node. This Interface does not specifically make PI SDK calls.
Source of Timestamps
The interface uses the PI Server time as the source of timestamps for the values sent by the PI BACnet interface. The interface writes a timestamp that reflects the time at which it receives data from the BACnet devices.
UniInt-based
UniInt stands for Universal Interface. UniInt is not a separate product or file; it is an OSIsoft-developed template used by developers, and is integrated into many interfaces, including this interface. The purpose of UniInt is to keep a consistent feature set and behavior across as many of OSIsoft’s interfaces as possible. It also allows for the very rapid development of new interfaces. In any UniInt-based interface, the interface uses some of the UniInt supplied configuration parameters and some interface-specific parameters. UniInt is constantly being upgraded with new options and features.
The UniInt Interface User Manual is a supplement to this manual.
Disconnected Start-Up
The PI BACnet interface is built with a version of UniInt that supports disconnected start-up. Disconnected start-up is the ability to start the interface without a connection to the PI server. This functionality is enabled by adding /cachemode to the list of start-up parameters or by enabling disconnected startup using the ICU. Refer to the UniInt Interface User Manual for more details on UniInt Disconnect startup.
SetDeviceStatus
The PI BACnet Interface supports health tags. The Device Status health tag has its point attribute Exdesc set to [UI_DEVSTAT] and is used to represent the status of the source device. The following events can be written into this tag:
"Good" – the interface is communicating with all BACnet Devices assigned to this interface.
"1 | Starting | UI x.x.x.x" – the interface is starting.
"3 | n BACnet device(s) in error | message" – The number of BACnet Devices not operational.
"4 | Intf Shutdown" – the interface is shutting down.
"5 | n BACnet Object(s) in error | message " - The number of BACnet Objects not operational.
Please refer to the UniInt Interface User Manual.doc file for more information on how to configure health points.
Failover
UniInt Phase 2 Failover provides support for cold, warm, or hot failover configurations. The Phase 2 hot failover results in a no data loss solution for bi-directional data transfer between the PI Server and the Data Source given a single point of failure in the system architecture similar to Phase 1. However, in warm and cold failover configurations, you can expect a small period of data loss during a single point of failure transition. This failover solution requires that two copies of the interface be installed on different interface nodes collecting data simultaneously from a single data source. Phase 2 Failover requires each interface have access to a shared data file. Failover operation is automatic and operates with no user interaction. Each interface participating in failover has the ability to monitor and determine liveliness and failover status. To assist in administering system operations, the ability to manually trigger failover to a desired interface is also supported by the failover scheme.
The failover scheme is described in detail in the UniInt Interface User Manual, which is a supplement to this manual. Details for configuring this Interface to use failover are described in the UniInt Failover Configuration section of this manual.
Additional PI Software
The PI BACnet Query Tool allows a user to test the connection of BACnet devices on the network. It also allows a user to create BACnet PI tags directly using the PI SDK or to produce a CSV file for consumption by PI SMT to create PI Tags. The Query Tool supports the following BACnet Commands:
-
WhoIs Function – The WhoIs function returns a list of all BACnet devices that are listening on the current network subnet or a specific IP address. If a devices shows up on the WhoIs list, it can be accessed by the PI BACnet Interface.
-
ReadProperty Function - The ReadProperty function can be used to pull single values from BACnet objects.
-
COV Function – The query tool allows the testing of the BACnet COV commands.
BACnet information is represented by collections of objects on each BACnet device. The objects can consist of one data point or groups of related data points. Each object has a set of required properties and optional properties depending on the equipment vendor. To read information from BACnet the Device, object, object type and object property must be known.
A list of all supported object types can be found in Appendix C. BACnet Object Types and a list of supported BACnet Object Properties in Appendix D. BACnet Object Properties.
The object property values that are returned to PI can be either numeric or string values.
Dostları ilə paylaş: |