Ever wanted to know which functions are available for PI Vision calculations and how to use them exactly? Don't worry, here is a list of all Functions available for Calculations in PI Vision 2021 and above:
Function | Description | Example Usage |
---|---|---|
Exp | Calculates the exponential value of a number | Exp(2) |
False | Represents a boolean false value | False |
FindEq | Finds the first occurrence of a specified value within a range | FindEq('tag1', '-1d', '*', 50) |
FindGE | Finds the first occurrence of a value greater than or equal to a specified value within a range | FindGE('tag1', '-1d', '*', 50) |
FindGT | Finds the first occurrence of a value greater than a specified value within a range | FindGT('tag1', '-1d', '*', 50) |
FindLE | Finds the first occurrence of a value less than or equal to a specified value within a range | FindLE('tag1', '-1d', '*', 50) |
FindLT | Finds the first occurrence of a value less than a specified value within a range | FindLT('tag1', '-1d', '*', 50) |
FindNE | Finds the first occurrence of a value not equal to a specified value within a range | FindNE('tag1', '-1d', '*', 50) |
Hour | Extracts the hour component from a time expression | Hour('t') |
If | Returns one value if a condition is true, and another value if the condition is false | if('tag1' > 10) then 0 else 1 |
Left | Extracts a specified number of characters from the left side of a string | Left('string', 3) |
Ln | Calculates the natural logarithm of a number | Ln(10) |
Max | Returns the maximum value from a list of arguments | Max('tag1', 'tag2', 'tag3') |
Min | Returns the minimum value from a list of arguments | Min('tag1', 'tag2', 'tag3') |
Minute | Extracts the minute component from a time expression | Minute('t') |
Month | Extracts the month component from a time expression | Month('t') |
NotEquals | Compares two values and returns true if the first value is not equal to the second value | 'tag1' <> 'tag2' |
NextVal | Returns the next value after a specified time | NextVal('tag1', 't') |
Or | Performs a logical OR operation on two boolean values | 'tag1' or 'tag2' |
PrevVal | Returns the previous value before a specified time | PrevVal('tag1', 't') |
Round | Rounds a number to the nearest integer or to a specified number of decimal places | Round('tag1', 2) |
Second | Extracts the second component from a time expression | Second('t') |
Sin | Calculates the sine of an angle in radians | Sin(0) |
TagAvg | Calculates the average of a tag over a specified time range | TagAvg('tag1', '-1h', '*') |
TagMax | Retrieves the maximum value of a tag within a specified time range | TagMax('tag1', '-1h', '*') |
TagMin | Retrieves the minimum value of a tag within a specified time range | TagMin('tag1', '-1h', '*') |
TagSpan | Retrieves the span (difference between maximum and minimum) value of a tag within a specified time range | TagSpan('tag1') |
TagSource | Retrieves the point source string of a tag | TagSource('tag1') |
TagTot | Calculates the totalized value (time integral) of a tag over a specified time range | TagTot('tag1', 'y', '*', 85) |
TagType | Retrieves the type character (I, R, or D) of a tag | TagType('tag1') |
TagTypVal | Retrieves the typical value of a tag | TagTypVal('tag1') |
TagVal | Retrieves the archived value of a tag at a given time | TagVal('tag1', '23-aug-2012 15:00:00') |
TagZero | Retrieves the zero value of a tag | TagZero('tag1') |
Tan | Calculates the tangent of an angle in radians | Tan(1) |
Tanh | Calculates the hyperbolic tangent of a number | Tanh(1) |
Text | Concatenates strings representing argument values | Text(Round('sinusoid', 1), " is the current value of 'sinusoid' at ", '*') |
Total | Returns the sum of two or more values | Total('tag1', 'tag2', TagVal('tag1', 'y')) |
Trim | Trims blanks on both sides of a string | Trim(" String ") |
Trunc | Truncates a number or time to the next lower unit | Trunc(28.75, 10) |
UCase | Converts a string to uppercase | UCase("String") |
Weekday | Extracts the day of the week from a time expression | Weekday('*') |
Year | Extracts the year from a time expression | Year('*') |
Yearday | Extracts the day of the year from a time expression | Yearday('*') |
For more information visit the official AVEVA Documentation: https://docs.aveva.com/bundle/pi-server-da-smt/page/1021628.html
Is there a way to calculate or convert a decimal into binary? Drawing from excel an array can be made using modulus. Can arrays be made? Using the Pi Vision web program. I don’t have access into the higher layers.
I recommend that, if you want to carry out, a series of calculations to be deployed, even complex and cycles that require iterations, inferences, etc., these be carried out outside the PI server or the PIVision server and better have a calculation server and then send the specific results to the PI server. this eliminates configuration work on PIvision or the PI server. I use an Emerson Deltav simulator as a calculating machine.
Existe un equivalente a CALCULATE de Power BI?
Hi there, is “Ln” function working? i can use “log” fuction but not “Ln”
yes “if…then…else” still does work