Table of Contents |
---|
Bacnet Write Level vs Write Level
There are 2 two different write levels available in FIN Stack: write level and connector write level (in our current example we are talking about a Haystack Bacnet connector, so Haystack Bacnet write level). The reason there are two different write levels is because FIN has its own priority array and is not synced with the Bacnet or any particular connector protocol priority array. This means if a user executes any action whether an "Override" or "Set" on a commandable point, it will write to the same priority level in Bacnet. The user can define the priority level that all commands write to in Bacnet.
The main differences between the 2 two write levels are:
- any writable point will have the write level, but only a point from a Haystack Bacnet connector will have the Haystack Bacnet write level
- the write level will show the level where the point will be written inside the FIN Stack database, while the Haystack Bacnet write level will point to the input level where the point will be written inside the target databasedevice
For every point in FIN Stack that is made writable, in the properties sheet the user can find a Write Level. That is the level were the point gets written in the FIN Stack database (by default that is set to 17). It changes depending on the action that is invoked.
The user can also see the FIN write array, by selecting the small icon dropdown arrow next to the Is Writable "writeArray" field. Every time the user invokes any of the actions on the point, the array will display the written value at the proper level (For instance, a manual action is set by default to level 8).
For points that are connected, so they that are basically coming from a connector like HaystackBacnet, (or more specifically, nHaystack from a Niagara stationBacnet device, in the example below), there is going to be an extra property called HaystackWriteLevel BacnetWriteLevel for any writable point. This level represents the level where the point is going to get written into the point on the Niagara server Bacnet Device side. This property can be found in the main details Property Editor window of the point as well.
Of course there is a Haystack write array similar to the write array for the FIN Stack
There is a Bacnet Priority Array tool that displays the Bacnet priority array (if available) of a Bacnet object. To get this array, the user will select a Haystack Bacnet writable point and go under to Tools icon towards the Tools top menu option top right in the point essentials view and select: Haystack Bacnet Priority Array. This will pop up a new window with the array showing what value has been written at what level and by whom has been written on the Bacnet device side not FIN.
In our example this property is set to level 16. This is the default level that Haystack points are going to get. This also
For example, by default the Bacnet write level is 16. This means that if the value is changed in FIN Stack, then we will get the value on input 16 in the corresponding Niagara point.Bacnet point. In this case, we invoked an override. In the FIN array, it shows up at write level 8, but on the Bacnet device array, it shows up at level 16 because of the Bacnet write level.
If the user wants to write to the point at a different level then than 16, the Bacnet write level value needs to be changed to that value, either by typing in the desired value or by using the small arrows to select the value. Then the apply button at the bottom right corner needs to be selected. In this case, we changed it to level 8. We invoked a set command. In the FIN array, it shows up at write level 17 (default), but on the Bacnet device array, it shows up at level 8 because of the Bacnet write level.
Once the Bacnet write level has been changed, nothing is going to happen in Niagara on the Bacnet side. Only after the user has changed the value of the point in FIN Stack we will see that , that it will display the new value will get in the new specified input field.
...
The user can also notice, that once the HaystackWriteLevel has been changed, the WriteLevel has changed automatically. In our current example we changed the HaystackWriteLevel to 13 and the WriteLevel has become 8 (from the original and default value 17)
If the HaystackWriteLevel changes can be seen in Niagara, the WriteLevel changes can be seen in FIN Stack, by selecting the small 3 bars icons next to the Is Writable value field.
...
Bacnet write level 1 for 1
If the user wants to match a write 1 for 1 from FIN to Bacnet priority array, they can but will have to set up the actions differently. Meaning if a user invokes a manual override action, it will write to level 8 on the bacnet device side and if invoking a set action, it will write it to level 16 etc. Examples are provided in the BACnet Actions doc.