Output points control the flow of data from the PI server to the BACnet device. For example, to write a value to an ANALOG_OUTPUT BACnet object, one would use an output point.
Outputs are triggered for UniInt-based interfaces. That is, outputs are typically not scheduled to occur on a periodic basis. There are two mechanisms for triggering an output.
As of UniInt 3.3.4, event conditions can be placed on triggered outputs. The conditions are specified using the event condition keywords as described below. For output points, event conditions are specified in the extended descriptor as follows. The default is "Anychange".
-
Event Condition
|
Description
|
Anychange
|
Trigger on any change as long as the value of the current event is different than the value of the previous event. System digital states also trigger events. For example, an event will be triggered on a value change from 0 to “Bad Input,” and an event will be triggered on a value change from “Bad Input” to 0.
|
Increment
|
Trigger on any increase in value. System digital states do not trigger events. For example, an event will be triggered on a value change from 0 to 1, but an event will not be triggered on a value change from “Pt Created” to 0. Likewise, an event will not be triggered on a value change from 0 to “Bad Input.”
|
Decrement
|
Trigger on any decrease in value. System digital states do not trigger events. For example, an event will be triggered on a value change from 1 to 0, but an event will not be triggered on a value change from “Pt Created” to 0. Likewise, an event will not be triggered on a value change from 0 to “Bad Input.”
|
Nonzero
|
Trigger on any non-zero value. Events are not triggered when a system digital state is written to the trigger tag. For example, an event is triggered on a value change from “Pt Created” to 1, but an event is not triggered on a value change from 1 to “Bad Input.”
| Trigger Method 1 (Recommended)
For trigger method 1, a separate trigger point must be configured. The output point must have the same point source as the interface. The trigger point can be associated with any point source, including the point source of the interface. Also, the point type of the trigger point does not need to be the same as the point type of the output point.
The output point is associated with the trigger point by setting the SourceTag attribute of the output point equal to the tag name of the trigger point. An output is triggered when a new value is sent to the Snapshot of the trigger point. The new value does not need to be different than the previous value that was sent to the Snapshot to trigger an output, but the timestamp of the new value needs to be more recent than the previous value. If no error is indicated, then the value that was sent to the trigger point is also written to the output point with the same timestamp as the trigger point. If the output is unsuccessful, then an appropriate digital state that is indicative of the failure is usually written to the output point. If an error is not indicated, the output still may not have succeeded because the interface may not be able to tell with certainty that an output has failed.
Trigger Method 2
For trigger method 2, a separate trigger point is not configured. To trigger an output, write a new value to the Snapshot of the output point itself. The new value does not need to be different than the previous value to trigger an output, but the timestamp of the new value must be more recent than the previous value.
Trigger method 2 may be easier to configure than trigger method 1, but trigger method 2 has a significant disadvantage. If the output is unsuccessful, there is no tag to receive a digital state that is indicative of the failure, which is very important for troubleshooting.
BACnet Output
The BACnet interface sends out a writeProperty request to the device for each output event. If the request is successful and the device returns a simple acknowledgment, the interface takes no further reaction. If the device returns an error response, the interface writes an error message with description to the log and a SYSTEM digital state to the output tag. If the error code is WRITE_ACCESS_DENIED, the output tag gets an AccessDenied digital state, otherwise it gets a Bad Output digital state. If the no response is heard passing the IO Timeout time period, the output tag gets an I/O Timeout digital state.
The write priority can be configured for an output tags when the writeProperty requests is sent by specifying /WritePriority in InstrumentTag. Refer to Tag Configuration for details.
Output Tag Configuration Location2
1 - Output tag. This has to be set manually after the query tool creates the tags.
Location4
0 - Output tag. This has to be set manually after the query tool creates the tags.
SourceTag
Trigger tag name if trigger method 1 is used. See previous section.
Exdesc
Event condition using either trigger method. See previous section.
InstrumentTag
/WritePriority: an integer in the range 1-16, which indicates the priority assigned to this write operation. Default:16 (the lowest priority)
All other tag attributes are configured exactly the same way as for input tags.
Output Debugging
Debugging messages for output tags will be written to the PIPC log when the following debug parameter is configured:
/BACnetDbg=0x0004
It can be combined with other debug settings. See description of /BACnetDbg in the Command-Line Parameters section.
Dostları ilə paylaş: |