Pi bacnet Interface


Diagram of Hardware Connection



Yüklə 0,71 Mb.
səhifə3/26
tarix07.04.2018
ölçüsü0,71 Mb.
#46976
1   2   3   4   5   6   7   8   9   ...   26

Diagram of Hardware Connection



  1. Principles of Operation


The PI BACnet Interface is designed to operate as a passive device on a BACnet network. It supports both input and output modes. In input mode, the interface either queries the BACnet devices with ReadProperty or ReadPropertyMultiple requests, or subscribes to value changes using the BACnet COV function. In output mode, the interface sends WriteProperty requests to BACnet devices with values from the PI server.

The PI BACnet Interface establishes the initial connection to PI and reconnects to PI in the event that the connection is lost for some reason. If the Interface is started while the PI Server is down, the Interface will periodically try to establish a connection until the PI Server is up. When the interface starts up with the disconnected startup option and a connection to a PI server cannot be established, the interface will startup using disconnected startup logic. If the interface is not setup to start in disconnected mode, it will wait for the connection to PI to be established.

Once startup is complete, the Interface enters the processing loop, which includes:


  • Getting BACnet Device information for points that have not been processed yet.

  • Servicing scheduled input points. Each Scan Class is processed in turn.

  • The PI Point Database is checked every 2 minutes for points that are added, edited, and deleted. If point updates are detected, the points are loaded (or reloaded) by the Interface as appropriate. The 2-minute update interval can be adjusted with the /updateinterval command-line parameter discussed in the UniInt Interface User Manual. The Interface will only process 25 point updates at a time. If more than 25 points are added, edited, or deleted at one time, the Interface will process the first 25 points, wait 30 seconds (or by the time specified by the /updateinterval parameter, whichever is lower), process the next 25 points, and so on. Once all points have been processed, the Interface will resume checking for updates every 2 minutes (or by the time specified by the /updateinterval parameter). The Interface will write the digital state SCAN OFF to any points that are removed from the Interface while it is running.

The interface builds a list of all BACnet devices on the network by grouping PI tags based on the following attributes found in each PI Tag’s InstrumentTag attribute: /DeviceIP, /RouterDeviceID and /DeviceID (or /DeviceMAC). The InstrumentTag field also contains other information that defines where the interface should gather data for the PI point. /ObjectID specifies the numerical ID of a specific object in a device. /ObjectType specifies the objects type (i.e Analog_Input). /ObjectProperty specifies the actual property of an object (i.e. Present_Value). ObjectType and ObjectProperty can either be standard types defined by ASHRAE, or vendor proprietary. In the latter case, enumeration values should be used for /ObjectType and aObjectProperty. See Appendices C and D for a complete list of ASHRAE object types and object properties. Vendors are not required to support all object properties, so check with the device documentation to see what objects and properties are valid for your device.

Two types of input tags are supported by the interface: polled (or scanned) tags and COV tags. For polled tags, the interface sends data requests to the device at specified time intervals. The interface can send either ReadProperty or ReadPropertyMultiple requests depending on the /RPMCount parameter specified in the interface startup file. The recommended option is ReadPropertyMultiple unless it is not supported by the device, because the interface runs much more efficiently by grouping requests from multiple tags. The /RPMCount parameter specifies the number of properties to be included in a ReadPropertyMultiple request, with a default value of 50. User can increase this value to achieve higher efficiency to the extent allowed by the device.

For COV tags, the interface subscribes to the device for Change of Value (COV) of the object properties. The device only sends data updates when the change of value has exceeded the specified COVIncrement parameter. Each COV subscription has a defined Lifetime. The interface does not re-send subscription requests until the COV lifetime has expired. The /COV and /COVIncrement parameters are configured at the tag level in the InstrumentTag attribute. If the /COV option exists, the tag will receive data by the COV subscription method, otherwise it is a polled tag. The /COVLifeTime parameter is configured at the interface level in the startup command file.

To communicate to objects that reside behind a BACnet router, two additional parameters are required: /RouterDeviceID and /DeviceID (or /DeviceMAC). The /RouterDeviceID parameter is the BACnet Device ID for the router. The /DeviceID and /DeviceMAC parameters represent the BACnet Device ID of the sub-device behind the router, which is defined by SADR (Original source MAC layer address) in the NPDU (Network layer Protocol Data Unit) of the I-AM response from the sub-device. /DeviceID is used when SADR is an integer, and /DeviceMAC is used when SADR is a 6-byte MAC address.



    If the interface node has multiple IP addresses on different isolated networks, the interface needs to use the IP address on the same network as the device. This can be configured either at the interface level with the /LocalAddr command line parameter, or at the tag level with the /LocalIP parameter in InstrumentTag. If both parameters exist, the tag-level /LocalIP parameter is ignored. If neither parameter is found, the interface uses the default IP address as defined by the local routing table.

    The BACnet Query Tool sends a broadcast message when performing a Who-Is device query. This prohibits it from running on the machine with other BACnet applications that send broadcast messages, for example, the BACnet device. Violation will lead to a Winsock error: [10048] Only one usage of each socket address (protocol/network address/port) is normally permitted. The BACnet interface, however, does not perform Who-Is query and communicates with devices via unicast messages. Thus, there is no socket conflict between the interface and other BACnet applications. In other words, the interface can run on the same node as the device, the Query Tool, or concurrently with other BACnet interface instances.


Special Considerations for COV Tags and I/O Timeout

A COV subscription does not expire until the COV Lifetime has elapsed. In the case of a transient network disruption between the interface node and the device, the COV subscription does not automatically renew after network reconnection. Therefore, it may take up to the amount of time specified by /COVLifetime for the COV tags to start receiving updates again after a network interruption. If the above is a concern, the user may reduce the COV Lifetime to force a quicker re-subscription. Note, however, that frequent subscription requests to the device can reduce the overall responsiveness of the BACnet device.

If the device is busy handling data requests and/or has many COV subscriptions, it is possible that it does not respond to all COV tag subscriptions. In this case, some COV tags may not receive updates even when the COV Increment has been met. If this happens, it is recommended to increase the COV Increment values or to convert some COV tags to polled tags.

Because BACnet uses UDP as the communication protocol, by nature it does not contain any connection establishment or connection closing. Therefore, the I/O Timeout digital state is defined as when the interface has not received data response for any tag passing the time period specified by the IOTimeout parameter, rather than when the interface detects a network communication loss from the device. If the interface has only COV tags and their values have not changed for more than the IOTimeout period, the interface will get into the IO Timeout state until some tag receives update again. To avoid such situation, it is recommended to have at least one polled tag with a scan interval smaller than the IOTimeout period.

UniInt Failover

This interface supports UniInt failover. Refer to the UniInt Failover Configuration section of this document for configuring the interface for failover.
Other Protocols

The interface allows connectivity using some other BACnet-based protocols, specified by the /OtherProto parameter in the interface startup file. Currently there are two other options:

/OtherProto

Protocol

1

Japanese IEIEJ-P-0003:2000

2

Japanese IEIEJ-P-0003:2000 Addendum-a

  1. Yüklə 0,71 Mb.

    Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   ...   26




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin