Browsing Bacnet virtual points

Unlike the Virtual device extension, there is no special view for a virtual gateway—you can simply double-click it to access its property sheet, or expand it in the Nav tree. When you do this for a device’s BacnetVirtualGateway, a call is made to the device to discover its BACnet objects, each appearing as a virtual object (slot) under the gateway. This request returns the device’s “object list” (Figure 61).

Figure 61. BacnetVirtualGateway functions as BACnet object list


BacnetVirtualGateway functions as BACnet object list

As shown above, virtual objects are listed by object ID, i.e. <objectType>_<instanceNumber>, for example analogInput_2 or trendLog_1. You can expand any Bacnet virtual object to see that object’s properties, where each property is a child virtual. See the next section About BacnetVirtualProperties (AX-3.3 and later).

NoteNote if an AX-3.2 station, this varies slightly—see Bacnet AX-3.2 virtual notes.

Figure 62. Properties of a BacnetVirtualObject are BacnetVirtualProperty components (AX-3.3 and later)


Properties of a BacnetVirtualObject are BacnetVirtualProperty components (AX-3.3 and later)

About BacnetVirtualProperties (AX-3.3 and later)

Starting in AX-3.3, the granularity of Bacnet virtual points increased to the “object, property level”, using BacnetVirtualProperty components. Each BacnetVirtualProperty has two properties: Status and value, as shown in Figure 63. By default, value automatically includes the object’s units abbreviation, state_text, and so on.

Figure 63. Each BacnetVirtualProperty has two properties: Status and value


Each BacnetVirtualProperty has two properties: Status and value

Note that status reflects Niagara poll status, but does not reflect any “intrinsic” BACnet status (such as alarm). Intitially, status changes from “stale” to “ok” upon the first polled read, and typically remains “ok”. Status could possibly change to either “stale” or “down” in certain scenarios.

Each BacnetVirtualProperty also has a “set” action for right-click access, as shown in Figure 63.

Figure 64. Each BacnetVirtualProperty has a write action


Each BacnetVirtualProperty has a write action

This allows you to easily do “one time” configuration tweaks from the Workbench property sheet of the virtual property—providing that the remote BACnet device permits writes, of course. Note that this write action exists for every property of the BACnet object, even read-only or status types. Furthermore, this action is also available on a Px widget bound to any BacnetVirtualProperty. see Px usage of Bacnet virtuals (AX-3.3 and later) for related details.

NoteYou can globally rename the set action (and resultant popup dialog) to something else by editing the bacnet lexicon value for the key named BacnetVirtualProperty.set.

In addition, each BacnetVirtualProperty has a default “Bacnet Virtual Property View” that shows both value and status, as shown in Figure 65.

Figure 65. Default “Bacnet Virtual Property View” shows both value and poll status


Default “Bacnet Virtual Property View” shows both value and poll status

Although it is not an exciting view, it is an option when creating Px bindings and selecting “Workbench view,” and it also provides a quick preview outside of the Px editor.

Bacnet AX-3.2 virtual notes

In AX-3.2 only, Bacnet virtual points are at the “object level” ony, using a single BacnetVirtualComponent to model each BACnet object under the device’s gateway. See Figure 66.

Figure 66. Property sheet of BacnetVirtualComponent (AX-3.2 only)


Property sheet of BacnetVirtualComponent (AX-3.2 only)

This “virtual view” property sheet reflects current property values. If needed, you can modify selectively and click Save with new values entered. Unlike with the later AX-3.3 virtual point design, there is no available action on BacnetVirtualComponents, nor is status (of polling) included with property values.

NoteIf making wide use of Bacnet virtual points, it is recommended to use AX-3.3 or later. In addition to providing more features, polling has proven to work better under certain scenarios.