Enhancement to AND and OR functions of UFL interface

Discussion created by matthewskl Champion on Apr 20, 2020

Could users of the UFL interface please take a minute to vote for this enhancement?


and operator – User Feedback for OSIsoft Products and Services 


Here's my use case.  


AND and OR within the UFL interface do not work

  1. The same way that they do in Performance Equations
  2. The same way that they do in AF Analyses
  3. The way that they are documented in the UFL interface manual


I would like to be able to use AND and OR to perform bit parsing operations on values read by the UFL interface.  This would allow for situations where an integer is sent for a block of statuses.

As an example, 129 would be received by the UFL interface, in binary this would be 10000001, showing that alarms 8 and 1 in the block are active. In order to parse this out, formulas need to be applied for each position. Where VALUE=129 and x is the bit position, the formulas would take this form

ABS(VALUE AND 2^(x-1))/2^(x-1)

Position 1 would be ABS(129 AND 2^0)/2^0) = 1
Position 8 would be ABS(129 AND 2^7)/2^7) = 1
All other positions would be 0

By executing these formulas at the UFL level it prevents reliance upon Performance Equations (which are not installed by default in the data archive any longer) as well as the analysis service within AF.


Thanks for your time!