SmartSignal Expression Syntax
Unit Conversions
Electric Current
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
Amps | A | ToAmps |
Kiloamps | kA | ToKiloamps |
Milliamps | mA | ToMilliamps |
Electric Potential
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
Millivolts | mV | ToMillivolts |
Volts | V | ToVolts |
Kilovolts | kV | ToKilovolts |
Flow Rate - Mass
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
pound per second | lbm/sec | ToPoundsOfMassPerSecond |
pound per minute | lbm/min | ToPoundsOfMassPerMinute |
pound per hour | lbm/hr | ToPoundsOfMassPerHour |
pound per day | lbm/day | ToPoundsOfMassPerDay |
kilopounds per sec | klbm/sec | ToThousandsOfPoundsOfMassPerSecond |
kilopound per minute | klbm/min | ToThousandsOfPoundsOfMassPerMinute |
kilopound per hour | klbm/hr | ToThousandsOfPoundsOfMassPerHour |
kilopound per day | klbm/day | ToThousandsOfPoundsOfMassPerDay |
megapound per second | Mlbm/sec | ToMillionsOfPoundsOfMassPerSecond |
megapound per minute | Mlbm/min | ToMillionsOfPoundsOfMassPerMinute |
megapound per hour | Mlbm/hr | ToMillionsOfPoundsOfMassPerHour |
megapound per day | Mlbm/day | ToMillionsOfPoundsOfMassPerDay |
kilograms per sec | kg/sec | ToKilogramsOfMassPerSecond |
kilograms per minute | kg/min | ToKilogramsOfMassPerMinute |
kilograms per hour | kg/hr | ToKilogramsOfMassPerHour |
kilograms per day | kg/day | ToKilogramsOfMassPerDay |
metric ton per second | Metric Ton/sec | ToMetricTonsPerSecond |
metric ton per hour | Metric Ton/hr | ToMetricTonsPerHour |
metric ton per day | Metric Ton/day | ToMetricTonsPerDay |
metric ton per minute | Metric Ton/min | ToMetricTonsPerMinute |
Flow Rate - Volumetric
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
Barrels of oil per day | bbl/day | ToBarrelsOfOilPerDay |
Barrels of oil per hour | bbl/hr | ToBarrelsOfOilPerHour |
Barrels of oil per minute | bbl/min | ToBarrelsOfOilPerMinute |
Barrels of oil per second | bbl/sec | ToBarrelsOfOilPerSecond |
Cubic centimeters per day | cm3/day | ToCubicCentimetersPerDay |
Cubic centimeters per hour | cm3/hr | ToCubicCentimetersPerHour |
Cubic centimeters per minute | cm3/min | ToCubicCentimetersPerMinute |
Cubic centimeters per second | cm3/sec | ToCubicCentimetersPerSecond |
Cubic feet per day | ft3/day | ToCubicFeetPerDay |
Cubic feet per hour | ft3/hr | ToCubicFeetPerHour |
Cubic feet per minute | ft3/min | ToCubicFeetPerMinute |
Cubic feet per second | ft3/sec | ToCubicFeetPerSecond |
Gallons per day | ga/day | ToGallonsPerDay |
Gallons per hour | gal/hr | ToGallonsPerHour |
Gallons per minute | gal/min | ToGallonsPerMinute |
Gallons per second | gal/sec | ToGallonsPerSecond |
Cubic inches per day | in3/day | ToCubicInchesPerDay |
Cubic inches per hour | in3/hr | ToCubicInchesPerHour |
Cubic inches per minute | in3/min | ToCubicInchesPerMinute |
Cubic inches per second | in3/sec | ToCubicInchesPerSecond |
Thousands of barrels of oil per day | kbbl/day | ToThousandsOfBarrelsOfOilPerDay |
Thousands of barrels of oil per hour | kbbl/hr | ToThousandsOfBarrelsOfOilPerHour |
Thousands of barrels of oil per minute | kbbl/min | ToThousandsOfBarrelsOfOilPerMinute |
Thousands of barrels of oil per second | kbbl/sec | ToThousandsOfBarrelsOfOilPerSecond |
Thousands of cubic feet per day | k(ft3)/day | ToThousandsOfCubicFeetPerDay |
Thousands of cubic feet per hour | k(ft3)/hr | ToThousandsOfCubicFeetPerHour |
Thousands of Cubic feet per minute | k(ft3)/min | ToThousandsOfCubicFeetPerMinute |
Thousands of cubic feet per second | k(ft3)/sec | ToThousandsOfCubicFeetPerSecond |
Liters per day | liter/day | ToLitersPerDay |
Liters per hour | liter/hr | ToLitersPerHour |
Liters per minute | liter/min | ToLitersPerMinute |
Liters per second | liter/sec | ToLitersPerSecond |
Cubic meters per day | m3/day | ToCubicMetersPerDay |
Cubic meters per hour | m3/hr | ToCubicMetersPerHour |
Cubic meters per minute | m3/min | ToCubicMetersPerMinute |
Cubic meters per second | m3/sec | ToCubicMetersPerSecond |
Thousands of cubic meter per day | k(m3)/day | ToThousandsOfCubicMetersPerDay |
Thousands of cubic meter per hour | k(m3)/hr | ToThousandsOfCubicMetersPerHour |
Thousands of Cubic meter per minute | k(m3)/min | ToThousandsOfCubicMetersPerMinute |
Thousands of cubic meter per second | k(m3)/sec | ToThousandsOfCubicMetersPerSecond |
Millions of cubic meter per day | M(m3)/day | ToMillionsOfCubicMetersPerDay |
Millions of cubic meter per hour | M(m3)/hr | ToMillionsOfCubicMetersPerHour |
Millions of cubic meter per minute | M(m3)/min | ToMillionsOfCubicMetersPerMinute |
Millions of cubic meter per second | M(m3)/day | ToMillionsOfCubicMetersPerSecond |
Millions of barrels of oil per day | Mbbl/day | ToMillionsOfBarrelsOfOilPerDay |
Millions of barrels of oil per hour | Mbbl/hr | ToMillionsOfBarrelsOfOilPerHour |
Millions of barrels of oil per minute | Mbbl/min | ToMillionsOfBarrelsOfOilPerMinute |
Millions of barrels of oil per second | Mbbl/sec | ToMillionsOfBarrelsOfOilPerSecond |
Millions of cubic feet per day | M(ft3)/day | ToMillionsOfCubicFeetPerDay |
Millions of cubic feet per hour | M(ft3)/hr | ToMillionsOfCubicFeetPerHour |
Millions of cubic feet per minute | M(ft3)/min | ToMillionsOfCubicFeetPerMinute |
Millions of cubic feet per second | M(ft3)/sec | ToMillionsOfCubicFeetPerSecond |
Frequency
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
Cycles per second | cycles/sec | ToCyclesPerSecond |
Cycles per minute | cycles/min | ToRevolutionsPerMinute |
Hertz | Hz | ToHertz |
Revolutions per minute | rpm | ToCyclesPerMinute |
Length
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
Milliinches | mils | ToMilliInches |
Inches | in | ToInches |
feet | ft | ToFeet |
Micrometers | µm | ToMicrometers |
Millimeters | mm | ToMilliMeters |
Centimeters | cm | ToCentiMeters |
Meters | m | ToMeters |
Mass
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
Kilograms | kg | ToKilograms |
Pounds | lbm | ToPounds |
Kilopounds | klbm | ToKilopounds |
Power
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
horsepower | hp | ToHorsepower |
british thermal units per hour | btu/hour | ToBtuPerHour |
millions of british thermal units per hour | Mbtu/hr | ToMillionsOfBtuPerHour |
Watts | W | ToWatts |
Kilowatts | kW | ToKilowatts |
Megawatts | MW | ToMegawatts |
Newton-meters per second | N-m/sec | ToNewtonMetersPerSecond |
Pressure
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
Atmospheres | atm | ToAtmospheres |
Pounds per square inch (absolute) | psia | ToPoundsPerSquareInchAbsolute |
Pounds per square inch (gauge) | psig | ToPoundsPerSquareInchGauge |
Bar (absolute) | bar a | ToBars |
Bar (gauge) | bar g | ToBarsGauge |
Millibars | mBar | ToMillibars |
Millimeters of water | mm.H2O | ToMillimetersOfH2O |
Inches of water | in.H2O | ToInchesOfH2O |
Feet of water | ft.H2O | ToFeetOfH2O |
Millimeters of mercury | mm.Hg | ToMillimetersOfMercury |
Inches of mercury | in.Hg | ToInchesOfMercury |
Torr | Torr | ToTorrs |
Kilograms per square centimeter absolute | kg/cm2 a | ToKilogramsPerSquareCentimeterAbsolute |
Kilograms per square centimeter gauge | kg/cm2 g | ToKilogramsPerSquareCentimeterGauge |
Micropascal | µPa | ToMicropascals |
Millipascal | mPa | ToMillipascals |
Centipascal | cPa | ToCentipascals |
Decipascal | dPa | ToDecipascals |
Pascal | Pa | ToPascals |
Dekapascal | daPa | ToDekapascals |
Hectopascal | hPa | ToHectopascals |
Kilopascal | kPa | ToKilopascals |
Megapascal | MPa | ToMegapascals |
Reactive Power
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
Millivar | mVar | ToMillivar |
Var | Var | ToVar |
Kilovar | kVar | ToKilovar |
Megavar | MVar | ToMegavar |
Speed
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
Inches per second | in/sec | ToInchesPerSecond |
Feet per minute | ft/min | ToFeetPerMinute |
Feet per second | ft/sec | ToFeetPerSecond |
Micrometers per second | µm/sec | ToMicrometersPerSecond |
Millimeters per second | mm/sec | ToMicrometersPerSecond |
Meters per minute | m/min | ToMetersPerMinute |
Meters per second | m/sec | ToMetersPerSecond |
Temperature
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
Fahrenheit | Fahrenheit | ToFahrenheit |
Rankine | Rankine | ToRankine |
Celcius | Celcius | ToCelsius |
Kelvin | Kelvin | ToKelvin |
Time
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
Days | days | ToDays |
Hours | hours | ToHours |
Minutes | minutes | ToMinutes |
Seconds | seconds | ToSeconds |
Years | years | ToYears |
Torque
Unit | Standard Unit | Unit Conversion Function |
---|---|---|
Foot pound force | ft-lbF | ToFootPoundsOfForce |
Newton-meters | N-m | ToNewtonMeters |
Mathematical Functions
This topic lists the Mathematical function descriptions that are currently supported by the SmartSignal Expression Syntax feature.
Algebraic
Function | Description | Argument | Example |
---|---|---|---|
Abs () | Returns the absolute value of a number | (Float value) value: A value to find the absolute value of | Abs(-9) = 9; Abs(9) = 9 |
Exp ( ) | Returns e raised to the specified power | (Float power) power: A power to raise e to | Exp(2) = 7.389 |
Log ( ) | Returns the natural (base-e) logarithm of a number | (Float value) value: A number to find its natural logarithm | log(10) = 2.303 |
Log10 ( ) | Returns the base 10 logarithm of a number | (Float value) value: A number to find its base 10 logarithm | log10(10) = 1 |
Modulus ( ) | The remainder after a number is divided by a divisor | (Float dividend, Float divisor) dividend: A dividend or numerator of the division divisor: A divisor or denominator of the division | Modulus (5.3, 2.0) = 1.3 |
Power ( ) | Returns the result of a number raised to a power | (Float value, Float power) value: The base of the exponentiation power: The power (exponent) of the exponentiation | Power(2,3) = 8 |
Quotient ( ) | Returns the integer portion of a division | (Float dividend, Float divisor) dividend: The dividend or numerator of the division divisor: The divisor or denominator of the division | Quotient(13,5) = 2 |
Sign ( ) | Returns the sign of a number: 1 if the number is positive, -1 if the number is negative | (Float value) value: A value to find the sign of | sign(-5) = -1 |
Sqrt ( ) | Returns the square root of a number | (Float value) value: A number to calculate its square root | sqrt(4) = 2 |
Sum ( ) | Returns the summation of a set of tag values | (List<Float> tagValues, Float lowerThreshold, Float upperThreshold, Boolean alwaysEvaluate) tagValues: A list of tag values on which the summation will be evaluated. Either a list of tags or a list of tag history can be accepted. If a list of tags is used only active tags (Active in Asset checked) will be used lowerThreshold: The lower threshold will be applied to the list of tagvalues. Any tag value less than the lowerThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than a lowerThreshold will not be applied upperThreshold: The upper threshold will be applied to the list of tagvalues. Any tag value greater than the upperThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than an upperThreshold will not be applied alwaysEvaluate: When set to true NaNs and tag values outside of the threshold(s) will be ignored and an summation of the remaining tag values will be returned. When set to false any NaN or tag value outside of the threshold(s) will cause a NaN to be returned. If not specified a value of true is assumed |
Sum([Tag1, Tag2, Tag3]); Sum (Tag1.Actual(20)) Sum ([Tag1, Tag2, Tag3], Tag1.ActualHigh, Tag1,ActualLow, False) |
Statistical
Function | Description | Argument | Example |
---|---|---|---|
Average ( ) | Returns the average of a set of tag values | (List<Float> tagValues, Float lowerThreshold, Float upperThreshold, Boolean alwaysEvaluate) tagValues: A list of tag values on which the average will be evaluated. Either a list of tags or a list of tag history can be accepted. If a list of tags is used only active tags (Active in Asset checked) will be used lowerThreshold: The lower threshold will be applied to the list of tagvalues. Any tag value less than the lowerThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than a lowerThreshold will not be applied upperThreshold: The upper threshold will be applied to the list of tagvalues. Any tag value greater than the upperThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than an upperThreshold will not be applied. alwaysEvaluate: When set to true NaNs and tag values outside of the threshold(s) will be ignored and an average of the remaining tag values will be returned. When set to false any NaN or tag value outside of the threshold(s) will cause a NaN to be returned. If not specified a value of true is assumed. |
Average([Tag1, Tag2, Tag3]); Average(Tag1.Actual(20)); Average([Tag1, Tag2, Tag3], Tag1.ActualLow, Tag1,ActualHigh, False) |
Maximum ( ) | Returns the maximum of a set of tag values | (List<Float> tagValues, Float lowerThreshold, Float upperThreshold, Boolean alwaysEvaluate) tagValues: A list of tag values on which the maximum will be evaluated. Either a list of tags or a list of tag history can be accepted. If a list of tags is used only active tags (Active in Asset checked) will be used. lowerThreshold: The lower threshold will be applied to the list of tagvalues. Any tag value less than the lowerThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than a lowerThreshold will not be applied upperThreshold: The upper threshold will be applied to the list of tagvalues. Any tag value greater than the upperThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than an upperThreshold will not be applied. alwaysEvaluate: When set to true NaNs and tag values outside of the threshold(s) will be ignored and an average of the remaining tag values will be returned. When set to false any NaN or tag value outside of the threshold(s) will cause a NaN to be returned. If not specified a value of true is assumed. |
Maximum([Tag1, Tag2, Tag3]); Maximum (Tag1.Actual(20)) Maximum ([Tag1, Tag2, Tag3], Tag1.ActualHigh, Tag1,ActualLow, False) |
Minimum ( ) | Returns the minimum of a set of tag values | (List<Float> tagValues, Float lowerThreshold, Float upperThreshold, Boolean alwaysEvaluate) tagValues: A list of tag values on which the maximum will be evaluated. Either a list of tags or a list of tag history can be accepted. If a list of tags is used only active tags (Active in Asset checked) will be used. lowerThreshold: The lower threshold will be applied to the list of tagvalues. Any tag value less than the lowerThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than a lowerThreshold will not be applied upperThreshold: The upper threshold will be applied to the list of tagvalues. Any tag value greater than the upperThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than an upperThreshold will not be applied. alwaysEvaluate: When set to true NaNs and tag values outside of the threshold(s) will be ignored and an average of the remaining tag values will be returned. When set to false any NaN or tag value outside of the threshold(s) will cause a NaN to be returned. If not specified a value of true is assumed. |
Minimum([Tag1, Tag2, Tag3]); Minimum (Tag1.Actual(20)) Minimum ([Tag1, Tag2, Tag3], Tag1.ActualHigh, Tag1,ActualLow, False) |
MeanShiftedWindow ( ) | Returns the average of a set of tag values over a window shifted backwards from current | (List<Float> tagValues, Integer windowSize, Integer windowStart) tagValues: A list of tag values to find the average of. Be sure that the number of tag values provided is greater than windowSize + WindowStart windowSize: The size of the window to average the tagValues windowStart: The index (datapolls) back from current of where to start the windowSize. A value of 0 will not shift the window and yield the same results as average() | MeanShiftedWindow(Tag.Actual(11), 5, 5) |
Median ( ) | Returns the median of a set of tag values | (List<Float> tagValues, Float lowerThreshold, Float upperThreshold, Boolean alwaysEvaluate) tagValues: A list of tag values on which the median will be evaluated. Either a list of tags or a list of tag history can be accepted. If a list of tags is used only active tags (Active in Asset checked) will be used. lowerThreshold: The lower threshold will be applied to the list of tagvalues. Any tag value less than the lowerThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than a lowerThreshold will not be applied upperThreshold: The upper threshold will be applied to the list of tagvalues. Any tag value greater than the upperThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than an upperThreshold will not be applied alwaysEvaluate: When set to true NaNs and tag values outside of the threshold(s) will be ignored and an median of the remaining tag values will be returned. When set to false any NaN or tag value outside of the threshold(s) will cause a NaN to be returned. If not specified a value of true is assumed |
Median([Tag1, Tag2, Tag3]); Median (Tag1.Actual(20)); Median ([Tag1, Tag2, Tag3], Tag1.ActualHigh, Tag1,ActualLow, False) |
Random ( ) | Returns a random number between the specified limits | (Integer minValue, Integer maxValue) minValue: The result will be greater than or equal to minValue maxValue: The result will be less than maxValue | Random(0, 1) |
SlopePerPoll ( ) |
Returns the 1st order regression modeling slope of a set of tag valuesThe specified tag values will be used for the y coordinates. X coordinates will be indexed. The resultant slope will be measured in change in tag value per index (E.g. change in tag value per datapoll rate) | (List<Float> tagValues) tagValues: A set of tag values to find the slope of | Slope(Tag.Actual(10)) |
Spread ( ) | Returns the spread of a set of tag values. Spread is the difference between the maximum and minimum tag values | (List<Float> tagValues, Float lowerThreshold, Float upperThreshold, Boolean alwaysEvaluate) tagValues: A list of tag values on which the spread will be evaluated. Either a list of tags or a list of tag history can be accepted. If a list of tags is used only active tags (Active in Asset checked) will be used. lowerThreshold: The lower threshold will be applied to the list of tagvalues. Any tag value less than the lowerThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than a lowerThreshold will not be applied. upperThreshold: The upper threshold will be applied to the list of tagvalues. Any tag value greater than the upperThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than an upperThreshold will not be applied. alwaysEvaluate: When set to true NaNs and tag values outside of the threshold(s) will be ignored and an spread of the remaining tag values will be returned. When set to false any NaN or tag value outside of the threshold(s) will cause a NaN to be returned. If not specified a value of true is assumed. |
Spread([Tag1, Tag2, Tag3]); Spread (Tag1.Actual(20)) Spread ([Tag1, Tag2, Tag3], Tag1.ActualHigh, Tag1,ActualLow, False) |
StandardDeviation ( ) | Returns the standard deviation of a set of tag values | (List<Float> tagValues, Float lowerThreshold, Float upperThreshold, Boolean alwaysEvaluate) tagValues: A list of tag values on which the spread will be evaluated. Either a list of tags or a list of tag history can be accepted. If a list of tags is used only active tags (Active in Asset checked) will be used. lowerThreshold: The lower threshold will be applied to the list of tagvalues. Any tag value less than the lowerThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than a lowerThreshold will not be applied. upperThreshold: The upper threshold will be applied to the list of tagvalues. Any tag value greater than the upperThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than an upperThreshold will not be applied. alwaysEvaluate: When set to true NaNs and tag values outside of the threshold(s) will be ignored and an spread of the remaining tag values will be returned. When set to false any NaN or tag value outside of the threshold(s) will cause a NaN to be returned. If not specified a value of true is assumed. |
StandardDeviation([Tag1, Tag2, Tag3]); Spread (Tag1.Actual(20)) StandardDeviation ([Tag1, Tag2, Tag3], Tag1.ActualHigh, Tag1,ActualLow, False) |
Variance ( ) | Returns the variance of a set of tag values | (List<Float> tagValues, Float lowerThreshold, Float upperThreshold, Boolean alwaysEvaluate) tagValues: A list of tag values on which the median will be evaluated. Either a list of tags or a list of tag history can be accepted. If a list of tags is used only active tags (Active in Asset checked) will be used. lowerThreshold: The lower threshold will be applied to the list of tagvalues. Any tag value less than the lowerThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than a lowerThreshold will not be applied upperThreshold: The upper threshold will be applied to the list of tagvalues. Any tag value greater than the upperThreshold will be ignored during evaluation. If a threshold is not specified or NaN() than an upperThreshold will not be applied alwaysEvaluate: When set to true NaNs and tag values outside of the threshold(s) will be ignored and an median of the remaining tag values will be returned. When set to false any NaN or tag value outside of the threshold(s) will cause a NaN to be returned. If not specified a value of true is assumed |
Variance([Tag1, Tag2, Tag3]); Variance (Tag1.Actual(20)) Variance ([Tag1, Tag2, Tag3], Tag1.ActualHigh, Tag1,ActualLow, False) |
VarianceShiftedWindow ( ) | Returns the variance of a set of tag values over a window shifted backwards from current | (List<Float> tagValues, Integer windowSize, Integer windowStart) tagValues: A list of tag values to find the variance of. Be sure that the number of tag values provided is greater than windowSize + WindowStart windowSize: The size of the window to find the variance of the tagValues windowStart: The index (datapolls) back from current of where to start the windowSize. A value of 0 will not shift the window and yield the same results as variance() | VarianceShiftedWindow(Tag.Actual(11), 5, 5) |
Trignometric
Function | Description | Argument | Example |
---|---|---|---|
Sin ( ) | Returns the sine of an angle | (Float angle) angle: An angle in radians | Sin(π) = 0; Sin(π/2) = 1 |
Asin ( ) | Returns the angle in radians whose sine is the specified number | (Float value) value: A number representing a sine | asin(0) = 0; asin(1) = π/2 |
Cos ( ) | Returns the cosine of an angle | (Float angle) angle: An angle in radians | Cos(π) = -1; Cos(π/2) = 0 |
ACos ( ) | Returns the angle in radians whose cosine is the specified number | (Float value) value: A number representing a cosine | acos(0) = π/2; acos(1) = 0 |
Tan ( ) | Returns the tangent of an angle | (Float angle) angle: An angle in radians | Tan(π) = 0; Tan(π/2) = ∞ |
Atan ( ) | Returns the angle in radians whose tangent is the specified number | (Float value) value: A number representing a tangent | atan(0) = 0; atan(1) = π/4 |
Atan2 ( ) | Returns the angle in radians of the specified x and y coordinates | (Float x, Float y) x: The x coordinate of a point y: The y coordinate of a point | atan2(0,1) = π/2; atan2(1,0) = 0; atan2(1,1) = π/4 |
Pi ( ) | Return the value of Pi (π | N/A | Pi() = π or 3.14159265… |
ToRadians ( ) | Converts an angle from degrees to radians | (Float degrees) degrees: An angle measured in degrees | ToRadians(Tag.Actual) |
ToDegrees ( ) | Converts an angle from radians to degrees | (Float radians) radians: An angle measured in radians | ToDegrees(Tag.Actual) |
Smoothing
Function | Description | Argument | Example |
---|---|---|---|
MovingAverage ( ) | This function applies smoothing by averaging the set of tag values | (List<Float> values) values: A set of tag history to be smoothed | MovingAverage(Tag.Actual(6)) |
Olympic ( ) | This function applies smoothing by using a moving average after discarding the highest and lowest values | (List<Float> values) values: A set of tag history to be smoothed | Olympic(Tag.Actual(6)) |
Spline ( ) | This function applies smoothing via a spline curve fit of the data | (List<Float> values, Float factor, Float stdDeviation) values: A set of tag history to be smoothed factor: A value between 0 and 1 scaling the amount of fitting. A value of 0 will fit the data to a line, a value of 1 will result in a perfect fit (i.e. no smoothing). A factor of 0.25 is often a good place to start. stdDeviation: The standard deviation of the data | Spline(Tag.Actual(6), 0.25, Tag.ActualStandardDeviationReference) |
Rounding
Function | Description | Argument | Example |
---|---|---|---|
Round ( ) | Returns the nearest integer value | (Float value) value: The number to be rounded | Round(2.4) = 2, Round(2.5) = 3 |
RoundUp ( ) | Returns the smallest integer value that is greater than or equal to a value | (Float value) value: The number to be rounded up | RoundUp(5.3) = 6, RoundUp(-5.3) = -5, RoundUp(5) = 5 |
RoundDown ( ) | Returns the largest integer value that is less than or equal to a value | (Float value) value: The number to be rounded down | RoundDown(5.3) = 5, RoundDown(-5.3) = -6 |
Truncate ( ) | Truncates a number to an integer by removing the decimal | (Float value) value: The number to be truncated | Truncate(6.6) = 6, Truncate(-5.3) = -5 |
Logical Functions
This topic lists the Mathematical function descriptions that are currently supported by the SmartSignal Expression Syntax feature.
Logical Functions
Function | Description | Arguments | Example |
---|---|---|---|
WindowRatio ( ) | This function looks at a window of data and compares it to a threshold. If the number of true comparisons is greater than or equal to the trueSize than windowRatio will return true otherwise it will return false | (Integer trueSize, List<Float> values, String comparisonOperator, Float threshold, Integer requiredGoodSize) trueSize: The trueSize specifies the number of true comparison must be found in the window (specified in values) for windowRatio to return True. When a NaN present in values the TrueSize is divided by the window to create a ratio (or percentage) for which values: A list of tag values to be compared to the threshold. The window size is specified by the size of the list. E.g. Tag.Actual(20) is a window of 20 comparisonOperator: Specifies how to compare the values to the threshold. Valid options are: =, >, <, >=, <=, !=. The operator must be in quotes, “=” threshold: A threshold that the values will be compared to requiredGoodSize: The required number of numeric values. If the number of numeric (non NaNs) in values is less than this value windowRatio will return false. Typically requiredGoodSize is about one half the window size | WindowRatio(17, Tag.ResidualIndicationPositive(18), ”=”, 1, 9) |
Compare ( ) | This function looks at a window of data and compares it to a threshold. If the number of true comparisons is greater than or equal to the trueSize than compare will return true otherwise it will return false | (Integer trueSize, List<Float> tagValues, String compareOperator, Float threshold) trueSize: The trueSize specifies the number of true comparison must be found in the window (specified in tagValues) for windowRatio to return True tagValues: A list of tag values to be compared to the threshold. The window size is specified by the size of the list. E.g. Tag.Actual(20) is a window of 20. When a NaN present in tagValues compare will return a false compareOperator: Specifies how to compare the tagValues to the threshold. Valid options are: =, >, <, >=, <=, !=. The operator must be in quotes, “=” threshold: A threshold that the tagValues will be compared to | Compare(17, Tag.ResidualIndicationPositive(18), ”=”, 1) |
IsConstantValue ( ) |
This function returns true if the values provided are constant in value. The average of all provided values is evaluated. A constant value is determined if all values are within one (plus or minus) epsilon of the average. If any value is a NaN the function will return false. If any value is outside of the lowerThreshold or upperThreshold the function will return false. | (List<Float> values, Float epsilon, Float lowerThreshold, Float upperThreshold) values: A list of tag history epsilon: Specifies the resolution of how similar the values most be to be considered constant. All values most be within + or - one epsilon lowerThreshold: All values must be higher in value then the lowerThreshold or the function will return false. Outlier checking can be ignored by specifying a lowerThreshold of Nan() upperThreshold: All values must be lower in value then the upperThreshold or the function will return false. Outlier checking can be ignored by specifying an upperThreshold of NaN() | isConstantValue(Tag.Actual(10), 0.00000001, Tag.ActualHigh, Tag.ActualLow) |
IsStep ( ) |
This function returns true if there is a step change in values provided. Olympic smoothing will be performed on the values provided (excluding the most recent observation) to obtain the averageValue previous to the most recent observation. The two most recent observations will be compared to the averageValue evaluating the difference. A step change is determined if for both comparisons: value – averageValue > |stepUpThreshold| or value – averageValue < -|stepDownThreshold| | (List<Float> actualValues, Float stepUpThreshold, Float stepDownThreshold ) values: A set of tag history containing at least 4 observations E.g. Tag.Actual(7) stepUpThreshold: Required magnitude of the step change in the positive direction. Step up can be ignored by specifying a stepUpThreshold of NaN() stepDownThreshold: Required magnitude of the step change in the negative direction. Step down can be ignored by specifying a stepUpThreshold of NaN() | isStep(Tag.Actual(7), Tag.StepHigh, Tag.StepLow) |
IsBetween ( ) | Returns true if the value is between the lower and upper thresholds | (Float value, Float lowerThreshold, Float upperThreshold) value: The value to validate is between the lower and upper thresholds lowerThreshold: The lower threshold for which value must be greater than upperThreshold: The upper threshold for which value must be less than trueSize: The minimum number of values that must be between the thresholds to evaluate as true | isBetween(Tag.Actual, Tag.ActualLow, Tag.ActualLow) |
IsEqual ( ) |
Returns true if the left and right values are equal to each other within a value of epsilon Using the equal symbol (”=”) is the same as IsEqual() with an epsilon of 0.00000001 | (Float leftValue, Float rightValue, Float epsilon leftValue: The left side of the equality rightValue: The right side of the equality epsilon: The acceptable amount of error. For IsEqual()( to return true abs(leftValue – rightValue) < epsilon | IsEqual(Tag1.Actual, Tag2.Actual, 0.00000001) |
IsNaN ( ) | Returns true of the value is a not a number (NaN) | (Float value) value: The value to validate is a NaN | IsNaN(Tag.Actual) |
IsOutlier ( ) | Returns true if the value are outside the lower and upper thresholds | (Float value, Float lowerThreshold, Float upperThreshold) value: The value to validate is an outlier lowerThreshold: The lower threshold for which value must be less than upperThreshold: The upper threshold for which value must be greater than | IsOutlier(Tag.Actual, Tag.ActuaLow, Tag.ActualLow) |
IsNanOrOutlier ( ) | Returns true if the value are outside the lower and upper thresholds or a NaN | (Float value, Float LowerThreshold, Float upperThreshold) value: The value to validate is an outlier or NaN LowerThreshold: The lower threshold for which value must be less than upperThreshold: The upper threshold for which value must be greater than | IsNanOrOutlier(Tag.Actual, Tag.ActualLow, Tag.ActualHigh) |
IsNanOrOutlier ( ) | Returns true if the value are outside the lower and upper thresholds or a NaN | (Float value, Float LowerThreshold, Float upperThreshold) value: The value to validate is an outlier or NaN LowerThreshold: The lower threshold for which value must be less than upperThreshold: The upper threshold for which value must be greater than index: The index (datapolls) back from current of where to validate the a value. An index of 0 will not shift the window and yield the same results as using InNanOrOutlier without an index | InNanOrOutlier(Tag.Actual(6), Tag.ActualLow, Tag.ActualHigh, 5) |
IsValidHistoryLength ( ) |
Returns true if all values are valid. Invalid values are NaNs or values outside the lower and upper thresholds | (List<Float> values, Float lowerThreshold, Float upperThreshold) values: A list of tag history lowerThreshold: The lower threshold for which all values must be greater than. The lower threshold can be ignored by specifying NaN() upperThreshold: The upper threshold for which all values must be less than. The upper threshold can be ignored by specifying NaN() | isValidHistoryLength(Tag.Actual(10), Tag.OutlierNegative, Tag.OutlierPositive) |
IsValidHistoryLength ( ) |
Returns true if the number of valid values is greater than or equal to windowSize. Invalid values are NaNs or values outside the lower and upper thresholds | (List<Float> values, Integer windowSize, Float lowerThreshold, Float upperThreshold) values: A list of tag history windowSize: The required number of valid values in the tag history lowerThreshold: The lower threshold for which all values must be greater than. The lower threshold can be ignored by specifying NaN() upperThreshold: The upper threshold for which all values must be less than. The upper threshold can be ignored by specifying NaN() | IsValidHistoryLength(Tag.Actual(12), 10, Tag.OutlierNegative, Tag.OutlierPositive) |
Counting Functions
This topic lists the Mathematical function descriptions that are currently supported by the SmartSignal Expression Syntax feature.
Counting Functions
Function | Description | Arguments | Example |
---|---|---|---|
CountComparison ( ) | This function looks at a window of data and compares it to a threshold then returns the number of times the comparison returns a true result | (List<Float> tagValues, String comparisonOperator, Float threshold) tagValues: A list of tag values to be compared to the threshold. The window size is specified by the size of the list. E.g. Tag.Actual(20) is a window of 20 comparisonOperator: Specifies how to compare the values to the threshold. Valid options are: =, >, <, >=, <=, !=. The operator must be in quotes, “=” threshold: A threshold that the tagValues will be compared to | CountComparison(Tag.Actual(10), “>”, Tag.ActualHigh) |
CountOutliers ( ) | This function looks at a window of data and returns the number of times an outlier is found | (List<Float> values, Float lowerThreshold, Float upperThreshold) values: A list of tag values to look for outliers in lowerThreshold: The lower threshold for which value must be less than upperThreshold: The upper threshold for which value must be greater than | CountOutliers(Tag.Actual(10), Tag.OutlierNegative, Tag.OutlierPositive) |
CountNaNs ( ) | This function looks at a list of values and returns the number of times an NaN is found | (List<Float> values) values: A list of tag values to look for NaNs in | CountNaNs(Tag.Actual(10)); CountNaNs([Tag1.Actual, Tag2.Actual]) |
Steam Table Functions
All steam table function require a unitSet input. This is an integer from 0 to 6 that picks a set of units from the below table. The specified unitSet determines the require unit of measure of all inputs as well as the unit of measure of the functional output.
Unit Set | English | SI Customary | English Gauge | SI Formal | SI kPa | Metric | Metric Formal |
---|---|---|---|---|---|---|---|
Unit Set Number | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
Unit Set Name | "ENG" | "SI" | "ENGG" | "SIF" | "SIK" | "MET" | "METF" |
Temperature | °F | °C | °F | K | °C | °C | °C |
Pressure | Psia | Bar | Psig | Mpa | kPa | Bar | kg/cm2 |
Enthalpy | Btu/lbm | kJ/kg | Btu/lbm | kJ/kg | kJ/kg | kcal/kg | kcal/kg |
Entropy | Btu/lbm/°F | kJ/kg/°C | Btu/lbm/°F | kJ/kg/°C | kJ/kg/°C | kJcalkg/°C | kJcalkg/°C |
Specific Volume | Ft3/lb | mt3/kg | Ft3/lb | mt3/kg | mt3/kg | mt3/kg | mt3/kg |
Quality | Non-Dim | Non-Dim | Non-Dim | Non-Dim | Non-Dim | Non-Dim | Non-Dim |
Specific Heat | Btu/lb/°F | kJ/kg/°C | Btu/lb/°F | kJ/kg/°C | kJ/kg/°C | kcal/kg/°C | kcal/kg/°C |
Thermal Conductivity | Btu/hr/ft/°F | Watt/m/°C | Btu/hr/ft/°F | Watt/m/K | Watt/m/°C | Watt/m/°C | kcal/m/h/°C |
Dynamic Viscosity | lbm/ft/hr | Centipoise | lbm/ft/hr | Pa-sec | Centipoise | Centipoise | Centipoise |
Isentropic Expansion Coefficient | Non-Dim | Non-Dim | Non-Dim | Non-Dim | Non-Dim | Non-Dim | Non-Dim |
Sonic Velocity | ft/sec | m/sec | ft/sec | m/sec | m/sec | m/sec | m/sec |
Function | Description | Arguments | Example |
---|---|---|---|
Saturation | |||
StemTableSaturationPressure ( ) | Returns the corresponding saturation steam pressure for the provided saturation temperature | (Float temperature, Integer unitSet) temperature: A saturated steam temperature value | StemTableSaturationPressure(Tag1.Actual.ToFahrenheit, 0) |
SteamTableSaturationTemperature ( ) | Returns the corresponding saturation steam temperature for the provided saturation pressure | (Float pressure, Integer unitSet) pressure: A saturated steam pressure value | SteamTableSaturationTemperature(Tag1.Actual.ToPoundsPerSquareInchAbsolute, 0) |
SteamTableDynamicViscosity ( ) | Returns the dynamic viscosity of steam | (Float pressure, Float temperature, Integer unitSet) pressure: A steam pressure value temperature: A steam temperature value | SteamTableDynamicViscosity(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2.Actual.ToFahrenheit, 0) |
SteamTableDynamicViscosityPQ ( ) | Returns the dynamic viscosity of steam | (Float pressure, Float quality, Integer unitSet) pressure: A steam pressure value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor. | SteamTableDynamicViscosityPQ(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableDynamicViscosityTQ ( ) | Returns the dynamic viscosity of steam | (Float temperature, Float quality, Integer unitSet) temperature: A steam temperature value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor. | SteamTableDynamicViscosityTQ(Tag1.Actual.ToFahrenheit, Tag2, 0) |
Enthalpy | |||
SteamTableEnthalpy ( ) | Returns the enthalpy of steam | (Float pressure, Float temperature, Integer unitSet) pressure: A steam pressure value temperature: A steam temperature value | SteamTableEnthalpy(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2.Actual.ToFahrenheit, 0) |
SteamTableEnthalpyPS ( ) | Returns the enthalpy of steam | (Float pressure, Float entropy, Integer unitSet) pressure: A steam pressure value entropy: A steam entropy value | SteamTableEnthalpyPS(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableEnthalpyPQ ( ) | Returns the enthalpy of steam | (Float pressure, Float quality, Integer unitSet) pressure: A saturated steam pressure value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor. | SteamTableEnthalpyPQ(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableEnthalpyTQ ( ) | Returns the enthalpy of steam | (Float temperature, Float quality, Integer unitSet) temperature: A steam temperature value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor. | SteamTableEnthalpyTQ (Tag1.Actual.ToFahrenheit, Tag2, 0) |
Entropy | |||
SteamTableEntropy ( ) | Returns the entropy of steam | (Float pressure, Float temperature, Integer unitSet) pressure: A steam pressure value temperature: A steam temperature value | SteamTableEntropy(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2.Actual.ToFahrenheit, 0) |
SteamTableEntropyPH ( ) | Returns the entropy of steam | (Float pressure, Float enthalpy, Integer unitSet) pressure: A steam pressure value enthalpy: A steam enthalpy value | SteamTableEntropyPH(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableEntropyPQ ( ) | Returns the entropy of steam | (Float pressure, Float quality, Integer unitSet) pressure: A steam pressure value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor. | SteamTableEntropyPQ(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableEntropyTQ ( ) | Returns the entropy of steam | (Float temperature, Float quality, Integer unitSet) temperature A steam temperature value quality A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor. | SteamTableEntropyTQ(Tag1.Actual.ToFahrenheit, Tag2, 0) |
Isentropic Expansion Coefficient | |||
SteamTableIsentropicExpansion ( ) | Returns the isentropic expansion of steam | (Float pressure, Float temperature, Integer unitSet) pressure: A steam pressure value temperature: A steam temperature value | SteamTableIsentropicExpansion(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2.Actual.ToFahrenheit, 0) |
SteamTableIsentropicExpansionPH ( ) | Returns the isentropic expansion of steam | (Float pressure, Float enthalpy, Integer unitSet) pressure: A steam pressure value enthalpy: A steam enthalpy value | SteamTableIsentropicExpansionPH(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableIsentropicExpansionPS ( ) | Returns the isentropic expansion of steam | (Float pressure, Float entropy, Integer unitSet) pressure: A steam pressure value entropy: A steam entropy value | SteamTableIsentropicExpansionPS(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableIsentropicExpansionPQ ( ) | Returns the isentropic expansion of steam | (Float pressure, Float quality, Integer unitSet) pressure: A saturated steam pressure value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor. | SteamTableIsentropicExpansionPQ(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableIsentropicExpansionTQ ( ) | Returns the isentropic expansion of steam | (Float temperature, Float quality, Integer unitSet) temperature: A steam temperature value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor | SteamTableIsentropicExpansionTQ(Tag1.Actual.ToFahrenheit, Tag2, 0) |
Sonic Velocity | |||
SteamTableSonicVelocity ( ) | Returns the sonic velocity of steam | (Float pressure, Float temperature, Integer unitSet) pressure: A steam pressure value temperature: A steam temperature value | SteamTableSonicVelocity(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2.Actual.ToFahrenheit, 0) |
SteamTableSonicVelocityPH ( ) | Returns the sonic velocity of steam | (Float pressure, Float enthalpy, Integer unitSet) pressure: A steam pressure value enthalpy: A steam enthalpy value | SteamTableSonicVelocityPH(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableSonicVelocityPS ( ) | Returns the sonic velocity of steam | (Float pressure, Float enthalpy, Integer unitSet) pressure: A steam pressure value enthalpy: A steam enthalpy value | SteamTableSonicVelocityPS(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableSonicVelocityPQ ( ) | Returns the sonic velocity of steam | (Float pressure, Float quality, Integer unitSet) pressure: A saturated steam pressure value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor. | SteamTableSonicVelocityPQ(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableSonicVelocityTQ ( ) | Returns the sonic velocity of steam | (Float temperature, Float quality, Integer unitSet) temperature: A steam temperature value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor | SteamTableSonicVelocityTQ(Tag1.Actual.ToFahrenheit, Tag2, 0) |
Specific Volume | |||
SteamTableSpecificVolume ( ) | Returns the specific volume of steam | (Float pressure, Float temperature, Integer unitSet) pressure: A steam pressure value temperature: A steam temperature value | SteamTableSpecificVolume(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2.Actual.ToFahrenheit, 0) |
SteamTableSpecificVolumePH ( ) | Returns the specific volume of steam | (Float pressure, Float enthalpy, Integer unitSet) pressure: A steam pressure value enthalpy: A steam enthalpy value | SteamTableSpecificVolumePH(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableSpecificVolumePS ( ) | Returns the specific volume of steam | (Float pressure, Float entropy, Integer unitSet) pressure: A steam pressure value entropy: A steam entropy value | SteamTableSpecificVolumePS(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableSpecificVolumePQ ( ) | Returns the specific volume of steam | (Float pressure, Float quality, Integer unitSet) pressure: A steam pressure value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor. | SteamTableSpecificVolumePQ(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableSpecificVolumeTQ ( ) | Returns the specific volume of steam | (Float temperature, Float quality, Integer unitSet) temperature: A steam temperature value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor. | SteamTableSpecificVolumeTQ(Tag1.Actual.ToFahrenheit, Tag2, 0) |
Specific Heat | |||
SteamTableSpecificHeat ( ) | Returns the specific heat of steam | (Float pressure, Float temperature, Integer unitSet) pressure: A steam pressure value temperature: A steam temperature value | SteamTableSpecificHeat(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2.Actual.ToFahrenheit, 0) |
SteamTableSpecificHeatPH ( ) | Returns the specific heat of steam | (Float pressure, Float enthalpy, Integer unitSet) pressure: A steam pressure value enthalpy: A steam enthalpy value | SteamTableSpecificHeatPH(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableSpecificHeatPS ( ) | Returns the specific heat of steam | (Float pressure, Float entropy, Integer unitSet) pressure: A steam pressure value entropy: A steam entropy value | SteamTableSpecificHeatPS(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableSpecificHeatPQ ( ) | Returns the specific heat of steam | (Float pressure, Float quality, Integer unitSet) pressure: A saturated steam pressure value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor. | SteamTableSpecificHeatPQ(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableSpecificHeatTQ ( ) | Returns the specific heat of steam | (Float temperature, Float quality, Integer unitSet) temperature: A steam temperature value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor. | SteamTableSpecificHeatTQ(Tag1.Actual.ToFahrenheit, Tag2, 0) |
Temperature | |||
SteamTableTemperaturePH ( ) | Returns the temperature of steam | (Float pressure, Float enthalpy, Integer unitSet) pressure: A steam pressure value enthalpy: A steam enthalpy value | SteamTableTemperaturePH(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableTemperaturePS ( ) | Returns the temperature of steam | (Float pressure, Float entropy, Integer unitSet) pressure: A steam pressure value entropy: A steam entropy value | SteamTableTemperaturePS(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
Thermal Conductivity | |||
SteamTableThermalConductivity ( ) | Returns the thermal conductivity of steam | (Float pressure, Float temperature, Integer unitSet) pressure: A steam pressure value temperature: A steam temperature value | SteamTableThermalConductivity(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2.Actual.ToFahrenheit, 0) |
SteamTableThermalConductivityPQ ( ) | Returns the thermal conductivity of steam | (Float pressure, Float quality, Integer unitSet) pressure: A steam pressure value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor. | SteamTableThermalConductivityPQ(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableThermalConductivityTQ ( ) | Returns the thermal conductivity of steam | (Float temperature, Float quality, Integer unitSet) temperature: A steam temperature value quality: A steam quality. Vapor quality is the percentage of mass in a saturated mixture that is vapor | SteamTableThermalConductivityTQ(Tag1.Actual.ToFahrenheit, Tag2, 0) |
Quality | |||
SteamTableQualityPH ( ) | Returns the quality of steam | (Float pressure, Float enthalpy, Integer unitSet) pressure: A saturated steam pressure value enthalpy: A saturated steam enthalpy value | SteamTableQualityPH(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
SteamTableQualityPS ( ) | Returns the quality of steam | (Float pressure, Float entropy, Integer unitSet) pressure: A saturated steam pressure value entropy: A saturated steam entropy value | SteamTableQualityPQ(Tag1.Actual.ToPoundsPerSquareInchAbsolute, Tag2, 0) |
Temperature Scale Conversion | |||
SteamTableTemperatureTo1990 ( ) | Returns the corresponding 1990 steam temperature for the provided 1968 steam temperature | (Float temperature, Integer unitSet) temperature: A steam temperature value | SteamTableTemperatureTo1990(Tag1.Actual.ToFahrenheit, 0) |
SteamTableTemperatureTo1968 ( ) | Returns the corresponding 1968 steam temperature for the provided 1990 steam temperature | (Float temperature, Integer unitSet) temperature: A steam temperature value | SteamTableTemperatureTo1968(Tag1.Actual.ToFahrenheit, 0) |
Equipment Specific Functions
Function | Description | Arguments | Example |
---|---|---|---|
Airplane Engine | |||
NonLinearFuelFlowEstimate ( ) | - | (Float totalAirTemperature, Float pressureAltitude, Float aircraftMachNumber, Float mainEngineControl, Float beta1, Float beta2, Float beta3, Float beta4, Float beta5, Float beta6) | - |
Air Heater | |||
AirHeaterEfficiency ( ) | Returns air heater efficiency (percentage, ratio of gas heat transfer to the air) assuming no leakage | (Float inletGasTemp, Float outletGasTemp, Float inletAirTemp) inletGasTemp: DEG F -- Gas inlet temp to the air heater from the boiler outletGasTemp: DEG F -- Gas outlet temp from the air heater inletAirTemp: DEG F -- Air inlet temp to the air heater | AirHeaterEfficiency(Gas_Inlet_Temp_Mean.Actual.ToFahrenheit, Gas_Outlet_Temp_Mean.Actual.ToFahrenheit, Air_Inlet_Temp_Mean.Actual.ToFahrenheit) |
AirHeaterEfficiency2 ( ) | Returns air heater efficiency (percentage, ratio of gas heat transfer to the air) accounting for leakage with an assumption of 20.9 % oxygen in air | (Float inletGasTemp, Float outletGasTemp, Float inletAirTemp, Float inletGasOxygenConcentration, Float outletGasOxygenConcentration) inletGasTemp: DEG F -- Gas inlet temp to the air heater from the boiler outletGasTemp: DEG F -- Gas outlet temp from the air heater inletAirTemp: DEG F -- Air inlet temp to the Air Heater inletGasOxygenConcentration: % -- Flue gas oxygen content into the Air Heater outletGasOxygenConcentration: % -- Flue gas oxygen content out of the Air Heater | AirHeaterEfficiency2(Gas_Inlet_Temp_Mean.Actual.ToFahrenheit, Gas_Outlet_Temp_Mean.Actual.ToFahrenheit, Air_Inlet_Temp_Mean.Actual.ToFahrenheit, O2_Concencentation_In, O2_Concentration_Out) |
AirHeaterLeakageRate ( ) | Returns the leakage rate (%) with an assumption of 20.9% oxygen in air | (Float inletGasOxygenConcentration, Float outletGasOxygenConcentration) inletGasOxygenConcentration: % -- Flue gas oxygen content into the air heater outletGasOxygenConcentration: % -- Flue gas oxygen content out of the air heater | AirHeaterLeakageRate(O2_Concencentation_In, O2_Concentration_Out) |
AirHeaterThermalPower ( ) | Returns the thermal power (Btu/hr) of the air heater using an assumed Cp for air of 0.245 (Btu/lbm.F) | (Float airFlowrate, Float inletAirTemp, Float outletAirTemp) airFlowrate: Lbm/hr -- Air mass flow rate through the air-side inletAirTemp: DEG F -- Air inlet temp to the air-side outletAirTemp: DEG F -- Air outlet temp from the air-side | AirHeaterThermalPower(Total_Mass_Air_Flow.Actual.ToPoundsOfMassPerHour, Air_Inlet_Temp_Mean.Actual.ToFahrenheit, Air_Outlet_Temp_Mean.Actual.ToFahrenheit) |
AirHeaterCrossRatio ( ) | Returns the X-ratio (unitless, the ratio of gas temperature drop to air temperature rise) assuming no leakage | (Float inletGasTemp, Float outletGasTemp, Float inletAirTemp, Float outletAirTemp) inletGasTemp: DEG F -- Gas inlet temp to the air heater from the boiler outletGasTemp: DEG F -- Gas outlet temp from the air heater inletAirTemp: DEG F -- Air inlet temp to the air heater outletAirTemp: DEG F -- Air outlet temp from the air-side | AirHeaterCrossRatio(Gas_Inlet_Temp_Mean.Actual.ToFahrenheit,Gas_Outlet_Temp_Mean.Actual.ToFahrenheit, Air_Inlet_Temp_Mean.Actual.ToFahrenheit, Air_Outlet_Temp_Mean.Actual.ToFahrenheit) |
AirHeaterCrossRatio2 ( ) | Returns the X-ratio (Unitless, ratio of gas temperature drop to air temperature rise) accounting for leakage with the assumption of 20.9% oxygen in air | (Float inletGasTemp, Float outletGasTemp, Float inletAirTemp, Float outletAirTemp, Float inletGasOxygenConcentration, Float outletGasOxygenConcentration) inletGasTemp: DEG F -- Gas inlet temp to the air heater from the boiler outletGasTemp: DEG F -- Gas outlet temp from the air heater inletAirTemp: DEG F -- Air inlet temp to the air heater outletAirTemp: DEG F -- Air outlet temp from the air-side inletGasOxygenConcentration: % -- Flue gas oxygen content into the air heater outletGasOxygenConcentration: % -- Flue gas oxygen content out of the air heater | AirHeaterCrossRatio2(Gas_Inlet_Temp_Mean.Actual.ToFahrenheit, Gas_Outlet_Temp_Mean.Actual.ToFahrenheit, Air_Inlet_Temp_Mean.Actual.ToFahrenheit, Air_Outlet_Temp_Mean.Actual.ToFahrenheit, O2_Concencentation_In, O2_Concentration_Out) |
Heat Exchanger | |||
SteamHeatExchangerThermalPower ( ) | Returns the heat exchanger thermal power (Btu/lb) of a steam heat exchanger via steam table functions | (Float flowrate, Float inletPressure, Float inletTemp, Float outletTemp) flowrate: Klbm/hr -- Mass flowrate of the water to be heated inletPressure: PSIG -- Pressure of the water to be heated inletTemp: DEG F -- Inlet temperature of the water to be heated outletTemp: DEG F -- Outlet temperature of the water to be heated | SteamHeatExchangerThermalPower(Feedwater_Flow.Actual.ToThousandsOfPoundsOfMassPerHour, Feedwater_Pressure.Actual.ToPoundsPerSquareInchGauge, Feedwater_Heater_Inlet_Temp.Actual.ToFahrenheit, Feedwater_Heater_Outlet_Temp.Actual.ToFahrenheit) |
HeatExchangerLogMeanTemperatureDiff ( ) | Returns the log-mean temperature difference of a heat exchanger in the same units of the inputs. All inputs must be in consistent temperature units | (Float hotFluidInletTemp, Float coldFluidInletTemp, Float hotFluidOutletTemp, Float coldFluidOutletTemp) hotFluidInletTemp: Consistent Temps -- Hot side inlet temp of the heat exchanger coldFluidInletTemp: Consistent Temps -- Cold side inlet temp of the heat exchanger hotFluidOutletTemp: Consistent Temps -- Hot side outlet temp of the heat exchanger coldFluidOutletTemp: Consistent Temps -- Cold side outlet temp of the heat exchanger | HeatExchangerLogMeanTemperatureDiff(Hot_Process_Gas_Temp, Cooling_Water_Supply_Temp, Cooled_Process_Gas_Temp, Cooling_Water_Outlet_Temp) |
Centrifugal Compressor | |||
CompressorHorsePower ( ) | This returns the compression work (hp) by the compressor | (Float polytropicHead, Float volumetricFlowRate, Float polytropicEfficiency, Float molecularWeight) polytropicHead: Ft -- Polytropic head of the compressor process stage volumetricFlowRate: Mft3/day -- Volumetric flow rate of the compressor process stage polytropicEfficiency: % -- Polytropic efficiency of the compressor process stage molecularWeight: Lbm/mole -- Process gas molecular weight | CompressorHorsePower(Process_Stage_1_Polytropic_Head, Process_Stage_1_Suction_Flow.Actual.ToMillionsOfCubicFeetPerDay, Process_Stage_1_Polytropic_Efficiency, Process_Stage_1_Gas_Molecular_Weight) |
CompressorPolytropicEfficiency ( ) | This returns the Polytropic Efficiency (%, the ratio of the work performed by the compressor under ideal polytropic conditions to the actual work performed by the compressor) of a compressor process stage | (Float pressureRatio, Float temperatureRatio, Float specificHeatRatio) pressureRatio: Unitless -- Compressor pressure ratio temperatureRatio: Unitless -- Compressor temperature ratio specificHeatRatio: Unitless -- Process gas specific heat ratio (Gamma, Cp/Cv) | CompressorPolytropicEfficiency(Process_Stage_1_Press_Ratio, Process_Stage_1_Temp_Ratio, Process_Stage_1_Gas_Specific_Heat_Ratio) |
CompressorPolytropicHead ( ) | Returns the polytropic head (feet) of a compressor | (Float pressureRatio, Float suctionTemp, Float specificHeatRatio, Float molecularWeight, Float compressibilityFactor) pressureRatio: Unitless -- Pressure ratio of the compressor process stage suctionTemp: DEG F -- Compressor suction gas temp specificHeatRatio: Unitless -- Process gas specific heat ratio (Gamma, Cp/Cv) molecularWeight: Lbm/mole -- Process gas molecular weight compressibilityFactor: Unitless -- Process gas compressibility factor (Z) | CompressorPolytropicHead(Process_Stage_1_Press_Ratio, Process_Stage_1_Suction_Temp.Actual.ToFahrenheit, Process_Stage_1_Gas_Specific_Heat_Ratio, Process_Stage_1_Gas_Molecular_Weight, Process_Stage_1_Gas_Compressibility_Factor) |
Combustion Turbine | |||
CTCompressorEfficiency ( ) | Returns the compressor isentropic efficiency (%, ratio of the work performed by the compressor under ideal isentropic compression to the actual work performed by the compressor) using a gamma (Cp/Cv) of 1.4 for air at 59 DEG F and 14.7 psia | (Float pressureRatio, Float temperatureRatio) pressureRatio: Unitless -- Compressor pressure ratio temperatureRatio: Unitless -- Compressor temperature ratio | CTCompressorEfficiency(Compressor_Press_Ratio, Compressor_Temp_Ratio) |
CTModifiedWobbeIndex ( ) | Returns the Modified Wobbe Index (Unitless) which is a temperature-corrected measure of the volumetric energy content of the fuel gas. The function uses the measuredHeatValue if available otherwise the defaultHeatValue will be used | (Float fuelGasSupplyTemp, Float measuredHeatValue, Float defaultHeatValue) fuelGasSupplyTemp: DEG F -- Fuel gas temperature measuredHeatValue: Btu/ft3 -- Measured fuel gas heating value defaultHeatValue: Btu/ft3 -- Assumed constant fuel gas heating value when a measured value is unavailable | CTModifiedWobbeIndex(Fuel_Gas_Supply_Temp.Actual.ToFahrenheit, Fuel_Gas_Heating_Value, Fuel_Gas_Heating_Value_Constant) |
CTPressureRatio ( ) | Returns the compressor pressure ratio (unitless). The function uses the first available tag among the inletPressure, barometricPressure, and differentialPressure to calculate the pressure ratio. If none are available the function uses standard atmospheric pressure (14.69595 psia) | (Float OutletPressure, Float InletPressure, Float barometricPressure, Float differentialPressure) OutletPressure: PSIG -- Compressor discharge pressure inletPressure: PSIA -- Compressor static inlet pressure barometricPressure: PSIA -- Barometric pressure as a proxy for inlet pressure differentialPressure: PSIA -- Differential pressure across the inlet from standard pressure | CTPressureRatio(Compressor_Discharge_Press_Selected.Actual.ToPoundsPerSquareInchGauge, Compressor_Inlet_Press_Absolute.Actual.ToPoundsPerSquareInchAbsolute, Barometric_Press.Actual.ToPoundsPerSquareInchAbsolute, Compressor_Inlet_Press_Drop.Actual.ToPoundsPerSquareInchAbsolute) |
CTTemperatureRatio ( ) | Returns the temperature ratio (unitless). Both inputs must be consistent absolute temperatures | (Float outletTemp, Float inletTemp) outletTemp: Kelvin, Rankine -- Compressor discharge temp inletTemp: Kelvin, Rankine -- Compressor inlet temp | CTTemperatureRatio(Compressor_Discharge_Temp_Median.Actual.ToRankine, Compressor_Inlet_Temp_Median.Actual.ToRankine) |
CTThermalEfficiency ( ) |
Returns the CT overall thermal efficiency (%, ratio of the total power produced by the CT to the power available in the natural gas fuel) The function uses the volumetricFuelFlowRate if available otherwise the massFuelFlowRate will be used. massFuelFlowRate is converted to volumetric flow using specific volume 20 (ft3/lbm) for natural gas. The function uses the measuredHeatValue if available otherwise the defaultHeatValue will be used. | (Float turbinePower, Float volumetricFuelFlowRate, Float massFuelFlowRate, Float measuredHeatValue, Float defaultHeatValue) turbinePower: MW -- Power output of the CT volumetricFuelFlowRate: ft3/hr -- Total volumetric fuel flow rate massFuelFlowRate: Lbm/hr -- Total mass fuel flow rate measuredHeatValue: Btu/ft3 – Measured fuel gas heating value defaultHeatValue: Btu/ft3 -- Assumed constant fuel gas heating value when a measured value is unavailable | CTThermalEfficiency(Gross_Load.Actual.ToMegawatts, Volumetric_Fuel_Flow.Actual.ToCubicFeetPerHour, Mass_Fuel_Flow.Actual.ToPoundsOfMassPerHour, Gas_Fuel_Heating_Value, 1030) |
CTTurbineEfficiency ( ) | Returns the turbine isentropic efficiency (%, ratio of the actual performed by the turbine to the work performed under ideal isentropic expansion). The function uses a gamma (Cp/Cv) of 1.4 of air at 59 DEG F and 14.7 psia | (Float pressureRatio, Float temperatureRatio) pressureRatio: Unitless -- This is the turbine expansion ratio (in/out) temperatureRatio: Unitless -- This is the turbine temperature ratio (in/out) | CTTurbineEfficiency(Power_Turbine_Press_Ratio, Power_Turbine_Temp_Ratio) |
Steam Turbine | |||
SteamTurbineEfficiency ( ) | Returns the Steam Turbine isentropic efficiency (%, ratio of the actual power extracted from the steam to the ideal, isentropic power). The process is assumed to be adiabatic and the ideal state (H2s) involves no increase in entropy. The function will return a NaN anytime the turbine exhaust temperature is at or below the saturation temperature and uses steam table lookups | (Float exhaustPressure, Float inletPressure, Float exhaustTemp, Float inletTemp) exhaustPressure: PSIG -- Steam turbine exhaust pressure inletPressure: PSIG -- Steam turbine inlet pressure (after valves) exhaustTemp: DEG F -- Steam turbine exhaust temperature inletTemp: DEG F -- Steam turbine inlet temperature (after valves) | SteamTurbineEfficiency(Turbine_Exhaust_Steam_Press_Mean.Actual.ToPoundsPerSquareInchGauge, Turbine_Inlet_Steam_Press_Mean.Actual.ToPoundsPerSquareInchGauge, Turbine_Exhaust_Steam_Temp_Mean.Actual.ToFahrenheit, Turbine_Inlet_Steam_Temp_Mean.Actual.ToFahrenheit) |
SteamTurbineFlow ( ) | Returns the steam turbine flow function (ft2). It is a function of the effective cross-sectional area of the flow-path past the turbine blades. This function uses steam tables to lookup the specific volume of steam | (Float steamFlowRate, Float inletPressure, Float inletTemp) steamFlowRate: Klb/hr -- Steam turbine inlet steam flow rate inletPressure: PSIG -- Steam turbine inlet steam pressure (after control valves) inletTemp: DEG F -- Steam turbine inlet steam temperature | SteamTurbineFlow(HPT_Inlet_Steam_Flow_Median.Actual.ToThousandsOfPoundsOfMassPerHour, HPT_First_Stage_Steam_Press_MT1.Actual.ToPoundsPerSquareInchGauge, HPT_ First_Stage _Steam_Temp_Mean.Actual.ToFahrenheit) |
SteamTurbineHighPressureEfficiency ( ) | Returns the steam turbine isentropic efficiency (%, ratio of the actual power extracted from the steam to the ideal, isentropic power). The process is assumed to be adiabatic and the ideal state (H2s) involves no increase in entropy. The function will return a NaN anytime the turbine exhaust temperature is at or below the saturation temperature and uses steam table lookups | (Float inletPressure, Float inletTemp, Float exhaustPressure, Float exhaustTemp) inletPressure: PSIG -- Steam turbine inlet pressure (after valves) inletTemp: DEG F -- Steam turbine inlet temperature (after valves) exhaustPressure: PSIG -- Steam turbine exhaust pressure exhaustTemp: DEG F -- Steam turbine exhaust temperature | SteamTurbineEfficiency(HPT_First_Stage_Steam_Press_MT1.Actual.ToPoundsPerSquareInchGauge, HPT_ First_Stage_Steam_Temp_Mean.Actual.ToFahrenheit,HPT_CRH_Press_MT1.Actual.ToPoundsPerSquareInchGauge, HPT_Exhaust_Steam_Temp_MT1.Actual.ToFahrenheit) |
SteamTurbineLowPressureEfficiency ( ) | Returns the steam turbine isentropic efficiency (%, ratio of the actual power extracted from the steam to the ideal, isentropic power). The process is assumed to be adiabatic and the ideal state (H2s) uses the entropy at the inlet to determine the enthalpy at the exhaust for wet steam | (Float inletPressure, Float inletTemp, Float exhaustPressure, Float exhaustSteamQuality) inletPressure: PSIG -- Steam turbine inlet steam pressure inletTemp: DEG F -- Steam turbine inlet steam temperature exhaustPressure: PSIG -- Steam turbine exhaust pressure exhaustSteamQuality: Unitless (0-1) -- Steam turbine exhaust steam quality | SteamTurbineLowPressureEfficiency(LP_turbine_Inlet_Press.Actual.ToPoundsPerSquareInchGauge, LP_Turbine_inlet_Temp.Actual.ToFahrenheit, LP_Turbine_Exhaust_Press.Actual.ToPoundsPerSquareInchGauge, LP_Turbine_Exhaust_Steam_Quality_Calculated) |
Pump | |||
PumpDriverPower ( ) | This returns the driver power (Hp) required at the current conditions | (Float hydraulicPower, Float efficiency) hydraulicPower: Hp -- Hydraulic power to pump the fluid efficiency: Unitless (0-1) -- Pump efficiency | PumpDriverPower(Pump_Hydraulic_Power.Actual.ToHorsepower, (Pump_efficiency_Percent/100)) |
PumpEfficiency ( ) | Returns the pump isentropic efficiency (%, ratio of the actual power used to pump water to the ideal, isentropic power). The process is assumed to be adiabatic and the ideal state (H2s) involves no increase in entropy. This function is for water pumping applications and uses steam table lookups | (Float dischargePressure, Float suctionPressure, Float dischargeTemp, Float suctionTemp) dischargePressure: PSIG -- Pump discharge pressure suctionPressure: PSIG -- Pump suction pressure dischargeTemp: DEG F -- Pump discharge temperature suctionTemp: DEG F -- Pump suction temperature | PumpEfficiency(Feedpump_discharge_Press.Actual.ToPoundsPerSquareInchGauge, Feedpump_Suction_Press.Actual.ToPoundsPerSquareInchGauge, Feedpump_Discharge_Temp.Actual.ToFahrenheit, Feedpump_Suction_Temp.Actual.ToFahrenheit) |
PumpHydraulicPower ( ) | Returns the required pump hydraulic power (hp) pump water at the current pressures and flow rates. This function is for water pumping applications and uses steam table lookups | (Float dischargeFlowRate, Float dischargePressure, Float suctionPressure, Float dischargeTemp) dischargeFlowRate: Klbm/hr -- Pump water mass flow rate dischargePressure: PSIG -- Pump discharge pressure suctionPressure: PSIG -- Pump suction pressure dischargeTemp: DEG F -- Water temperature moved through the pump for specific volume lookup | PumpHydraulicpower(Condensate_Flow.Actual.ToThousandsOfPoundsOfMassPerHour, Condensatepump_discharge_Press.Actual.ToPoundsPerSquareInchGauge, Condsatepump_Suction_Press.Actual.ToPoundsPerSquareInchGauge, Condensate_Temp.Actual.ToFahrenheit) |
PumpTorque ( ) | Returns the pump torque (ft-lbf) | (Float driverPower, Float speed) driverPower: Hp -- Pump shaft power speed: RPM -- Pump speed | PumpTorque(Pump_Motor_Driver_Power.Actual.ToHorsepower, Pump_Speed.Actual.ToRevolutionsPerMinute) |
PumpTotalDischargeHead ( ) | Returns the pump total discharge head (Ft). This function uses steam table lookups and is only applicable for applications that pump water | (Float dischargePressure, Float suctionPressure, Float dischargeTemp) dischargePressure: PSIG -- Pump discharge pressure suctionPressure: PSIG -- Pump suction pressure dischargeTemp: DEG F -- Water temperature moved through the pump for specific volume lookup | PumpTotalDischargeHead(Condensate_Pump_Discharge_Press.Actual.ToPoundsPerSquareInchGauge, Condsate_Pump_Suction_Press.Actual.ToPoundsPerSquareInchGauge, Condensate_Temp.Actual.ToFahrenheit) |
Journal Bearing (Extended Vibration Monitoring) | |||
ForwardAmplitude ( ) | Returns the magnitude of the forward component of a vibration vector. This function checks for probe quality as the last argument before returning an output otherwise it returns NaN | (float amplitudeA, float amplitudeB, float phaseA, float phaseB, boolean isRadianUnitAngleMeasurement, boolean isValidVibrationProbeSignal) amplitudeA: The filtered amplitude of a vibration reading typically called X or Horizontal amplitudeB: The filtered amplitude of a vibration reading typically called Y or Vertical phaseA: The filtered phase of a vibration reading typically called X or Horizontal phaseB: The filtered phase of a vibration reading typically called Y or Vertical isRadianUnitAngleMeasurement: True/False: A Boolean statement to define the units of measurement of the phase signals. Typically an internal tag. True=Radians, False=Degrees isValidVibrationProbeSignal: True/False: A Boolean statement to define the sensor validity of the readings coming for amplitudeA and amplitudeB, this can be a dynamically updating calculation or an embedded function | ForwardAmplitude(DE_BRG_VIB_HOR_1X_AMPLITUDE, DE_BRG_VIB_VER_1X_AMPLITUDE, DE_BRG_VIB_HOR_1X_PHASE, DE_BRG_VIB_VER_1X_PHASE, PHASE_MEASUREMENT_ISRADIAN.defaultvalue, (DE_BRG_VIB_HOR_1X_ISVALID AND DE_BRG_VIB_VER_1X_ISVALID)) |
ReverseAmplitude ( ) | Returns the magnitude of the reverse component of a vibration vector. This function checks for probe quality as the last argument before returning an output otherwise it returns NaN | (float amplitudeA, float amplitudeB, float phaseA, float phaseB, boolean isRadianUnitAngleMeasurement, boolean isValidVibrationProbeSignal) amplitudeA: The filtered amplitude of a vibration reading typically called X or Horizontal amplitudeB: The filtered amplitude of a vibration reading typically called Y or Vertical phaseA: The filtered phase of a vibration reading typically called X or Horizontal phaseB: The filtered phase of a vibration reading typically called Y or Vertical isRadianUnitAngleMeasurement: True/False: A Boolean statement to define the units of measurement of the phase signals. Typically an internal tag. True=Radians, False=Degrees isValidVibrationProbeSignal: True/False: A Boolean statement to define the sensor validity of the readings coming for amplitudeA and amplitudeB, this can be a dynamically updating calculation or an embedded function | ReverseAmplitude(DE_BRG_VIB_HOR_1X_AMPLITUDE, DE_BRG_VIB_VER_1X_AMPLITUDE, DE_BRG_VIB_HOR_1X_PHASE, DE_BRG_VIB_VER_1X_PHASE, PHASE_MEASUREMENT_ISRADIAN.defaultvalue, (DE_BRG_VIB_HOR_1X_ISVALID AND DE_BRG_VIB_VER_1X_ISVALID)) |
ForwardPhase ( ) | Returns the direction (polar) of the forward component of a vibration vector. This function checks for probe quality as the last argument before returning an output otherwise it returns NaN | (float amplitudeA, float amplitudeB, float phaseA, float phaseB, boolean isRadianUnitAngleMeasurement, boolean isValidVibrationProbeSignal) amplitudeA: The filtered amplitude of a vibration reading typically called X or Horizontal amplitudeB: The filtered amplitude of a vibration reading typically called Y or Vertical phaseA: The filtered phase of a vibration reading typically called X or Horizontal phaseB: The filtered phase of a vibration reading typically called Y or Vertical isRadianUnitAngleMeasurement: True/False: A Boolean statement to define the units of measurement of the phase signals. Typically an internal tag. True=Radians, False=Degrees isValidVibrationProbeSignal: True/False: A Boolean statement to define the sensor validity of the readings coming for amplitudeA and amplitudeB, this can be a dynamically updating calculation or an embedded function | ForwardPhase(DE_BRG_VIB_HOR_1X_AMPLITUDE, DE_BRG_VIB_VER_1X_AMPLITUDE, DE_BRG_VIB_HOR_1X_PHASE, DE_BRG_VIB_VER_1X_PHASE, PHASE_MEASUREMENT_ISRADIAN.defaultvalue, (DE_BRG_VIB_HOR_1X_ISVALID AND DE_BRG_VIB_VER_1X_ISVALID)) |
ReversePhase ( ) | Returns the direction (polar) of the reverse component of a vibration vector. This function checks for probe quality as the last argument before returning an output otherwise it returns NaN | (float amplitudeA, float amplitudeB, float phaseA, float phaseB, boolean isRadianUnitAngleMeasurement, boolean isValidVibrationProbeSignal) amplitudeA: The filtered amplitude of a vibration reading typically called X or Horizontal amplitudeB: The filtered amplitude of a vibration reading typically called Y or Vertical phaseA: The filtered phase of a vibration reading typically called X or Horizontal phaseB: The filtered phase of a vibration reading typically called Y or Vertical isRadianUnitAngleMeasurement: True/False: A Boolean statement to define the units of measurement of the phase signals. Typically an internal tag. True=Radians, False=Degrees isValidVibrationProbeSignal: True/False: A Boolean statement to define the sensor validity of the readings coming for amplitudeA and amplitudeB, this can be a dynamically updating calculation or an embedded function | ReversePhase(DE_BRG_VIB_HOR_1X_AMPLITUDE, DE_BRG_VIB_VER_1X_AMPLITUDE, DE_BRG_VIB_HOR_1X_PHASE, DE_BRG_VIB_VER_1X_PHASE, PHASE_MEASUREMENT_ISRADIAN.defaultvalue, (DE_BRG_VIB_HOR_1X_ISVALID AND DE_BRG_VIB_VER_1X_ISVALID)) |
MajorAxis ( ) | Returns the magnitude for the major axis of a filtered orbit. The major axis is the sum of the forward and reverse amplitudes. This function checks for probe quality as the last argument before returning an output otherwise it returns NaN | (float amplitudeA, float amplitudeB, float phaseA, float phaseB, boolean isRadianUnitAngleMeasurement, boolean isValidVibrationProbeSignal) amplitudeA: The filtered amplitude of a vibration reading typically called X or Horizontal amplitudeB: The filtered amplitude of a vibration reading typically called Y or Vertical phaseA: The filtered phase of a vibration reading typically called X or Horizontal phaseB: The filtered phase of a vibration reading typically called Y or Vertical isRadianUnitAngleMeasurement: True/False: A Boolean statement to define the units of measurement of the phase signals. Typically an internal tag. True=Radians, False=Degrees isValidVibrationProbeSignal: True/False: A Boolean statement to define the sensor validity of the readings coming for amplitudeA and amplitudeB, this can be a dynamically updating calculation or an embedded function | MajorAxis(DE_BRG_VIB_HOR_1X_AMPLITUDE, DE_BRG_VIB_VER_1X_AMPLITUDE, DE_BRG_VIB_HOR_1X_PHASE, DE_BRG_VIB_VER_1X_PHASE, PHASE_MEASUREMENT_ISRADIAN.defaultvalue, (DE_BRG_VIB_HOR_1X_ISVALID AND DE_BRG_VIB_VER_1X_ISVALID)) |
MinorAxis ( ) | Returns the magnitude for the minor axis of a filtered orbit. The minor axis is the absolute difference of the forward and reverse amplitudes. This function checks for probe quality as the last argument before returning an output otherwise it returns NaN | (float amplitudeA, float amplitudeB, float phaseA, float phaseB, boolean isRadianUnitAngleMeasurement, boolean isValidVibrationProbeSignal) amplitudeA: The filtered amplitude of a vibration reading typically called X or Horizontal amplitudeB: The filtered amplitude of a vibration reading typically called Y or Vertical phaseA: The filtered phase of a vibration reading typically called X or Horizontal phaseB: The filtered phase of a vibration reading typically called Y or Vertical isRadianUnitAngleMeasurement: True/False: A Boolean statement to define the units of measurement of the phase signals. Typically an internal tag. True=Radians, False=Degrees isValidVibrationProbeSignal: True/False: A Boolean statement to define the sensor validity of the readings coming for amplitudeA and amplitudeB, this can be a dynamically updating calculation or an embedded function | MinorAxis(DE_BRG_VIB_HOR_1X_AMPLITUDE, DE_BRG_VIB_VER_1X_AMPLITUDE, DE_BRG_VIB_HOR_1X_PHASE, DE_BRG_VIB_VER_1X_PHASE, PHASE_MEASUREMENT_ISRADIAN.defaultvalue, (DE_BRG_VIB_HOR_1X_ISVALID AND DE_BRG_VIB_VER_1X_ISVALID)=1.0) |
EllipticityRatio ( ) | This function returns a non-dimensional relationship of the major and minor axis to quantify the shape of an orbit map. This will return 0 when the orbit is completely circular and 1 when the orbit is completely planar. This function checks for probe quality as the last argument before returning an output otherwise it returns NaN | (float amplitudeA, float amplitudeB, float phaseA, float phaseB, boolean isRadianUnitAngleMeasurement, boolean isValidVibrationProbeSignal) amplitudeA: The filtered amplitude of a vibration reading typically called X or Horizontal amplitudeB: The filtered amplitude of a vibration reading typically called Y or Vertical phaseA: The filtered phase of a vibration reading typically called X or Horizontal phaseB: The filtered phase of a vibration reading typically called Y or Vertical isRadianUnitAngleMeasurement: True/False: A Boolean statement to define the units of measurement of the phase signals. Typically an internal tag. True=Radians, False=Degrees isValidVibrationProbeSignal: True/False: A Boolean statement to define the sensor validity of the readings coming for amplitudeA and amplitudeB, this can be a dynamically updating calculation or an embedded function | EllipticityRatio(DE_BRG_VIB_HOR_1X_AMPLITUDE, DE_BRG_VIB_VER_1X_AMPLITUDE, DE_BRG_VIB_HOR_1X_PHASE, DE_BRG_VIB_VER_1X_PHASE, PHASE_MEASUREMENT_ISRADIAN.defaultvalue, (DE_BRG_VIB_HOR_1X_ISVALID AND DE_BRG_VIB_VER_1X_ISVALID)=1.0) |
PrecessionDirection ( ) | This function is a relationship between forward and reverse amplitude components and returns an integer that describes the direction of the precession of the shaft motion relative to the rotational direction. Forward precession indicates the shaft motion is in the same direction as the rotational direction and is outputted to 1.0. Indeterminate precession is denoted 0. Reverse precession indicates the shaft motion is in the opposite direction of rotation and is denoted -1.0. This function checks for probe quality as the last argument before returning an output otherwise it returns NaN | (float amplitudeA, float amplitudeB, float phaseA, float phaseB, boolean isRadianUnitAngleMeasurement, boolean isValidVibrationProbeSignal, float lowFactor, float highFactor) amplitudeA: The filtered amplitude of a vibration reading typically called X or Horizontal amplitudeB: The filtered amplitude of a vibration reading typically called Y or Vertical phaseA: The filtered phase of a vibration reading typically called X or Horizontal phaseB: The filtered phase of a vibration reading typically called Y or Vertical isRadianUnitAngleMeasurement: True/False: A Boolean statement to define the units of measurement of the phase signals. Typically an internal tag. True=Radians, False=Degrees isValidVibrationProbeSignal: True/False: A Boolean statement to define the sensor validity of the readings coming for amplitudeA and amplitudeB, this can be a dynamically updating calculation or an embedded function lowFactor: Constant: This is a threshold typically set to 0.99 for bounding the relationship between forward and reverse amplitude to determine forward precession (output 1.0) highFactor: Constant: This is a threshold typically set to 1.01 for bounding the relationship between forward and reverse amplitude to determine reverse precession (output -1.0) | PrecessionDirection(DE_BRG_VIB_HOR_1X_AMPLITUDE, DE_BRG_VIB_VER_1X_AMPLITUDE, DE_BRG_VIB_HOR_1X_PHASE, DE_BRG_VIB_VER_1X_PHASE, PHASE_MEASUREMENT_ISRADIAN.defaultvalue, (DE_BRG_VIB_HOR_1X_ISVALID AND DE_BRG_VIB_VER_1X_ISVALID)=1.0, 0.99, 1.01) |
MaximumProbeRange ( ) | This function describes the maximum valid reading output from the vibration probe. The maximum reading is a sum of gap voltage and the amplitude peak to peak variation over one rotation of the shaft. It converts the amplitude reading to voltage using the voltage displacement gradient constant | (float probeGap, float directAmplitude, float voltageDisplacementGradient) probeGap: This is the gap reading coming from a vibration probe, typically in DC Voltage directAmplitude: This is the direct amplitude reading coming from the vibration probe in displacement voltageDisplacementGradient: Constant: This is typically an internal tag that describes the calibration of DC voltage to displacement of the probe | MaximumProbeRange(DE_BRG_VIB_HOR_GAP, DE_BRG_VIB_HOR_DIRECT_AMPLITUDE, VOLTAGE_DISPLACEMENT_GRADIENT) |
MinimumProbeRange ( ) | This function describes the minimum valid reading output from the vibration probe. The minimum reading is the difference of gap voltage and the amplitude peak to peak variation over one rotation of the shaft. It converts the amplitude reading to voltage using the voltage displacement gradient constant | (float probeGap, float directAmplitude, float voltageDisplacementGradient) probeGap: This is the gap reading coming from a vibration probe, typically in DC Voltage directAmplitude: This is the direct amplitude reading coming from the vibration probe in displacement voltageDisplacementGradient: Constant: This is typically an internal tag that describes the calibration of DC voltage to displacement of the probe | MaximumProbeRange(DE_BRG_VIB_HOR_GAP, DE_BRG_VIB_HOR_DIRECT_AMPLITUDE, 0.2) |
CompensatedAmplitude ( ) | This function is the amplitude (magnitude) of the vector difference between a reference vector and current vector. The reference vector is typically at slow roll conditions (Coast down at 5-15 % running speed) where dynamic influences are negated. This function checks for probe quality as the last argument before returning an output otherwise it returns NaN | (float amplitude, float amplitudeSlowRoll, float phase, float phaseSlowRoll, boolean isRadianUnitAngleMeasurement, boolean isValidVibrationProbeSignal) amplitude: The current filtered amplitude of a vibration reading typically called 1X, 2X etc. amplitudeSlowRoll: The reference filtered amplitude of a vibration reading typically called 1X, 2X at slow roll conditions phase: The filtered phase of a vibration reading typically called 1X,2X etc. phaseSlowRoll: The reference filtered phase of a vibration reading typically called 1X, 2X at slow roll conditions isRadianUnitAngleMeasurement: True/False: A Boolean statement to define the units of measurement of the phase signals. Typically an internal tag. True=Radians, False=Degrees isValidVibrationProbeSignal: True/False: A Boolean statement to define the sensor validity of the readings coming for amplitudeA and amplitudeB, this can be a dynamically updating calculation or an embedded function | CompensatedAmplitude(BEARING_1_VIB_HOR_1X_AMPLITUDE, BEARING_1_VIB_HOR_1X_SLOW_ROLL_AMPLITUDE_SSC, BEARING_1_VIB_HOR_1X_PHASE, BEARING_1_VIB_HOR_1X_SLOW_ROLL_PHASE_SSC, PHASE_MEASUREMENT_ISRADIAN.defaultvalue, IsValidVibrationProbeSignal(BEARING_1_VIB_HOR_1X_AMPLITUDE, MIN_AMPLITUDE_THRESHOLD, BEARING_1_VIB_HOR_MAXIMUM_PROBE_RANGE, BEARING_1_VIB_HOR_MAXIMUM_PROBE_RANGE.ActualHigh, BEARING_1_VIB_HOR_MINIMUM_PROBE_RANGE, BEARING_1_VIB_HOR_MINIMUM_PROBE_RANGE.ActualLow) |
CompensatedPhase ( ) | This function is the direction (polar) vector difference between a reference vector and current vector. The reference vector is typically at slow roll conditions (Coast down at 5-15% running speed) where dynamic influences are negated. This function checks for probe quality as the last argument before returning an output otherwise it returns NaN | (float amplitude, float amplitudeSlowRoll, float phase, float phaseSlowRoll, boolean isRadianUnitAngleMeasurement, boolean isValidVibrationProbeSignal) amplitude: The current filtered amplitude of a vibration reading typically called 1X, 2X etc. amplitudeSlowRoll: The reference filtered amplitude of a vibration reading typically called 1X, 2X at slow roll conditions phase: The filtered phase of a vibration reading typically called 1X,2X etc. phaseSlowRoll: The reference filtered phase of a vibration reading typically called 1X, 2X at slow roll conditions isRadianUnitAngleMeasurement: True/False: A Boolean statement to define the units of measurement of the phase signals. Typically an internal tag. True=Radians, False=Degrees isValidVibrationProbeSignal: True/False: A Boolean statement to define the sensor validity of the readings coming for amplitudeA and amplitudeB, this can be a dynamically updating calculation or an embedded function | CompensatedPhase(BEARING_1_VIB_HOR_1X_AMPLITUDE, BEARING_1_VIB_HOR_1X_SLOW_ROLL_AMPLITUDE_SSC, BEARING_1_VIB_HOR_1X_PHASE, BEARING_1_VIB_HOR_1X_SLOW_ROLL_PHASE_SSC, PHASE_MEASUREMENT_ISRADIAN.defaultvalue, IsValidVibrationProbeSignal(BEARING_1_VIB_HOR_1X_AMPLITUDE, MIN_AMPLITUDE_THRESHOLD, BEARING_1_VIB_HOR_MAXIMUM_PROBE_RANGE, BEARING_1_VIB_HOR_MAXIMUM_PROBE_RANGE.ActualHigh, BEARING_1_VIB_HOR_MINIMUM_PROBE_RANGE, BEARING_1_VIB_HOR_MINIMUM_PROBE_RANGE.ActualLow) |
OrbitShape ( ) | This function returns a quantitive value to describe the shape of a filtered orbit based on the relationship between the Major and Minor Axis. There are 5 defined shapes and are compared to their corresponding thresholds to output an integer orbit shape. Circular = 0, Elliptical = 1, Highly Elliptical = 2, Planar = 3, Indeterminate = 4. This function checks for probe quality as the last argument before returning an output otherwise it returns NaN | (float amplitudeA, float amplitudeB, float phaseA, float phaseB, boolean isRadianUnitAngleMeasurement, boolean isValidVibrationProbeSignal, float ellipticalThreshold, float highlyEllipticalThreshold, float planarThreshold, float minimumAmplitudeThreshold) amplitudeA: The filtered amplitude of a vibration reading typically called X or Horizontal amplitudeB: The filtered amplitude of a vibration reading typically called Y or Vertical phaseA: The filtered phase of a vibration reading typically called X or Horizontal phaseB: The filtered phase of a vibration reading typically called Y or Vertical isRadianUnitAngleMeasurement: True/False: A Boolean statement to define the units of measurement of the phase signals. Typically an internal tag. True=Radians, False=Degrees isValidVibrationProbeSignal: True/False: A Boolean statement to define the sensor validity of the readings coming for amplitudeA and amplitudeB, this can be a dynamically updating calculation or an embedded function ellipticalThreshold: Constant: Typically an internal tag and set to 0.8. A Major to minor relationship below this number determines the Orbit Shape of 1. This threshold is dependent on equipment type and expert opinion highlyEllipticalThreshold: Constant: Typically an internal tag and set to 0.4. A Major to minor relationship below this number determines the Orbit Shape of 2. This threshold is dependent on equipment type and expert opinion planarThreshold: Constant: Typically an internal tag and set to 0.025. This number is dependent on equipment type and expert opinion for determining the Orbit Shape of 3 minimumAmplitudeThreshold: Constant displacement: This is the minimum amplitude reading at which there is no longer reliable value to detect the energy from shaft dynamic changes. This value is inversely dependent on running speed | OrbitShape(BEARING_1_VIB_HOR_1X_AMPLITUDE, BEARING_1_VIB_VER_1X_AMPLITUDE, BEARING_1_VIB_HOR_1X_PHASE, BEARING_1_VIB_VER_1X_PHASE, PHASE_MEASUREMENT_ISRADIAN.defaultvalue, BEARING_1_VIB_HOR_1X_ISVALID AND BEARING_1_VIB_VER_1X_ISVALID)=1.0, 0.8, 0.4, 0.025, 0.3) |
IsValidVibrationProbeSignal ( ) | This function returns a Boolean True or False result after doing a series of comparisons to determine whether a Vibration Probe output is good. It checks for range, NaNs and Minimum Amplitude. This function would be used for each probe and filtered harmonic pair, ie Horizontal 1X | (float amplitude, float minimumAmplitudeThreshold, float maximumProbeRange, float maximumProbeRangeLimit, float minimumProbeRange, float minimumProbeRangeLimit) amplitude: The filtered amplitude of a vibration reading typically called 1X, 2X minimumAmplitudeThreshold: Constant displacement: This is the minimum amplitude reading at which there is no longer reliable value to detect the energy from shaft dynamic changes. This value is inversely dependent on running speed maximumProbeRange: The output of the high range of a probe, the output of the MaximumProbeRange Function maximumProbeRangeLimit: The threshold for the maximum probe range. The Maximum Probe Range must be less than this value to be considered valid minimumProbeRange: The output of the low range of a probe, the output of the MinimumProbeRange Function minimumProbeRangeLimit: The threshold for the minimum probe range. The Minimum Probe Range must be greater than this value to be considered valid | IsValidVibrationProbeSignal(BEARING_1_VIB_HOR_1X_AMPLITUDE, MIN_AMPLITUDE_THRESHOLD.defaultvalue, BEARING_1_VIB_HOR_MAXIMUM_PROBE_RANGE, BEARING_1_VIB_HOR_MAXIMUM_PROBE_RANGE.ActualHigh, BEARING_1_VIB_HOR_MINIMUM_PROBE_RANGE, BEARING_1_VIB_HOR_MINIMUM_PROBE_RANGE.ActualLow) Or as a Calculated Variable (If (IsValidVibrationProbeSignal(BEARING_1_VIB_HOR_1X_AMPLITUDE, MIN_AMPLITUDE_THRESHOLD.defaultvalue, BEARING_1_VIB_HOR_MAXIMUM_PROBE_RANGE, BEARING_1_VIB_HOR_MAXIMUM_PROBE_RANGE.ActualHigh, BEARING_1_VIB_HOR_MINIMUM_PROBE_RANGE, BEARING_1_VIB_HOR_MINIMUM_PROBE_RANGE.ActualLow)=TRUE) then 1.0 else 0.0) |
Concatenation Functions
Function | Description | Arguments | Example |
---|---|---|---|
TextLength ( ) | Returns the number of characters in a set of text | (String sourceString) sourceString: A string to count the number of characters | TextLength(“message”) = 7 |
IsContainedInText ( ) | Returns true if the substring is contained in the sourceString. This function is not case sensitive | (string subString, string sourceString) subString: The sub string to search for sourceString: The string to search in | IsContainedInText(“your”, “Your flight”) = true |
TextPosition ( ) | Returns the starting position of the first occurrence of the substring in the sourcestring. Returns 0 if the substring was not found | (string subString, string sourceString) subString: The sub string to search for sourceString: The string to search in | TextPosition("fli", "Your flight") = 6 |
ReadFromText ( ) | Returns the string of characters beginning at startIndex and ending at endIndex | (string sourceString, Integer startIndex, Integer endIndex) sourceString: The string to read from startIndex: The index of the first character to read endIndex: The index of the last character to read | ReadFromText("one two three", 5, 7) = "two" |
InsertInText ( ) | Returns the sourceString with the substring inserted before the character at insertIndex | (string stringToInsert, string sourceString, Integer insertIndex) stringToInsert: The string to insert sourceString sourceString: The source string insertIndex: The index to insert before | InsertInText(" not ", "do enter", 3) = "do not enter" |
ReplaceInText ( ) | Returns the sourceString with a text substitution starting and startIndex and ending at endIndex | (string stringToSubstitute, string sourceString, Integer startIndex, Integer endIndex) stringToSubstitute: The string to substitute sourceString: The source string startIndex: The start index to begin substitution endIndex: The end index to end substitution | ReplaceInText("exit", "do not enter here", 8 , 12) = "do not exit here" |
OmitFromText ( ) | Returns the sourceString omitting the characters startIndex and ending at endIndex | (string sourceString, Integer startIndex, Integer endIndex) sourceString: The source string startIndex: The start index to begin omission endIndex: The end index to end omission | OmitFromText("do not enter",4,7) = "do enter" |
CapitalizeWords ( ) | Returns the sourceString with the first letter of each word capitalized | (string sourceString) sourceString: The source string | CapitalizeWords("this is a test") = "This Is A Test" |
UppercaseText ( ) | Returns the sourceString will all alphabetic characters capitalized | (string sourceString) sourceString: The source string | UppercaseText("123AbcDef") = "123ABCDEF" |
LowercaseText ( ) | Returns the sourceString will all alphabetic characters uncapitalized | (string sourceString) sourceString: The source string | LowercaseText("123AbcDef") ="123abcdef" |
DoesTextBeginWithQuantity ( ) | Returns true if the string begins with one or more numeric characters | (string sourceString) sourceString: The source string | DoesTextBeginWithQuantity("123abc") = true; DoesTextBeginWithQuantity("abc123") = false |
Diagnostics Functions
These functions are only available when writing diagnostics.
Function | Description | Arguments | Example |
---|---|---|---|
AssetIndications ( ) |
Returns a count of the number of asset tag advisory indications on a set of asset tags. An advisory indication exists when the conditional logic of the rule evaluates to true for the asset tag. Using the AssetIndications() function will assign each of the asset rules to each of the asset tags. When the conditional logic is met the advisory indication chart marker will be displayed in Sentinel. | (List<AssetBlueprintTagRule> assetTagRules, List<AssetTag> assetTags) assetTagRules: A list of asset blueprint tag rules (mnemonics). Asset blueprint tag rules are specified on the Rules tab (in blue) assetTags: A list of asset blueprint tags aliases. Asset blueprint tags are specified on the Tags sub tab of the Asset Blueprints tab | If (AssetIndications([AVH],[Tag1, Tag2]) >=2 ) then … |
ModelIndications( ) |
Returns a count of the number of model tag advisory indications on a set of model tags. An advisory indication exists when the conditional logic of the rule evaluates to true for the model tag. Using the ModelIndications() function will assign each of the model rules to each of the model tags. When the conditional logic is met the advisory indication chart marker will be displayed in Sentinel. | (Model model, List<ModelBlueprintTagRule> modelTagRules, List<AssetTag> assetTags) model: A name of a model in the asset blueprint. Only one model may be specified. All modelTagRules will counted from this model only modelTagRules: A list of model blueprint tag rules (mnemonics). Model blueprint tag rules are specified on the Rules tab of Blueprint Center (in green) assetTags: A list of asset blueprint tags aliases. Asset blueprint tags are specified on the Tags sub tab of the Asset Blueprints tab. If the asset blueprint tag alias is not assigned to the model then model tag advisory indications cannot be created | If (ModelIndications(Mechanical,[H],[Tag1, Tag2]) >=2 ) then … |
Priority ( ) | Result of a diagnostic condition. When the diagnostic condition is true an advisory will be created of the specified priority | (Integer value, String message) value: The priority of the diagnostic condition. Can range from 1 to 5 where 1 is the highest priority possible message: The advisory message of the diagnostic condition. If a message is not specified name of the diagnostic will be used for the advisory message in Sentinel. | If (ModelIndications(Mechanical,[H],[Tag1, Tag2]) >=2 ) then Priority(5) else … |
None ( ) | Used to complete diagnostic logic | - | If (ModelIndications(Mechanical,[H],[Tag1, Tag2]) >=2 ) then Priority(5) else None() |
Normal ( ) |
Returns true when there are no specified asset tag advisory indications on any of the specified asset tags Any specified asset tag advisory indication on any specified asset tag will cause Normal() to return false. If none of the specified asset tags are active in asset Normal() will return false | (List<AssetBlueprintTagRule> assetTagRules, List<AssetTag> assetTags) assetTagRules: A list of asset blueprint tag rules (mnemonics). Asset blueprint tag rules are specified on the Rules tab (in blue) assetTags: A list of asset blueprint tags aliases. Asset blueprint tags are specified on the Tags sub tab of the Asset Blueprints tab | If (Normal([AVH],[Tag1, Tag2])) then … |
Normal ( ) | Returns true when there are no specified model tag advisory indications on any of the specified model tags Any specified model tag advisory indication on any specified model tag will cause Normal() to return false. If none of the specified asset tags are active in asset Normal() will return false | (Model model, List<ModelBlueprintTagRule> modelTagRules, List<AssetTag> assetTags) model: A name of a model in the asset blueprint. Only one model may be specified. All modelTagRules will counted from this model only modelTagRules: A list of model blueprint tag rules (mnemonics). Model blueprint tag rules are specified on the Rules tab of Blueprint Center (in green) assetTags: A list of asset blueprint tags aliases. Asset blueprint tags are specified on the Tags sub tab of the Asset Blueprints tab. If the asset blueprint tag alias is not assigned to the model then model tag advisory indications cannot be created | If (Normal(Mechanical,[H],[Tag1, Tag2])) then … |
IsAssociated ( ) |
Used to complete diagnostic logic as well as associated asset tags with diagnostic logic Associated tags will be displayed in the diagnostic advisory folder in Sentinel’s asset explorer. Any asset tag used in Assetindications() is automatically associated with the diagnostic | (List<AssetTag> assetTags) assetTags: A list of asset tags to associate with the diagnostic | If (AssetIndications([AVH],[Tag1, Tag2]) >=2 ) then Priority(5) else IsAssociated([Tag3]) |
IsAssociated ( ) |
Used to complete diagnostic logic as well as associated model tags with diagnostic logic Associated tags will be displayed in the diagnostic advisory folder in Sentinel’s asset explorer. Any model tag used in Modelindications() is automatically associated with the diagnostic | (Model model, List<AssetTag> assetTags) model: A name of a model in the asset blueprint. Only one model may be specified assetTags: A list of asset tags to associated with the diagnostic. If the asset blueprint tag alias is not assigned to model no association will be created | If (ModelIndications(Mechanical,[H],[Tag1, Tag2]) >=2 ) then Priority(5) else IsAssociated(Mechanical,[Tag3]) |
History ( ) | Returns a value of from a point in a tag history | (List<Float> history, Integer index) history: A list of tag history index: The index (datapolls) back from current of to return a value. An index of 0 will return the current value | history(Tag.Actual(5), 4) |
Position ( ) |
Returns the index of a specific value in a tag's history If the value is in the tag's history more than once, the most recent (closest to 0) index will be returned. If the value is not in the tag's history -1 will be returned | (List<double> history, double value) history: A list of tag history value: The value to find | postition(Tag.Actual(5), 200 ) |
NaN ( ) | Returns a NaN (not a number) that is useful for passing into other functions when it is not desired to specify an input (For example, the lower or upper threshold in Average() ) | - | Average([Tag1, Tag2, Tag3], NaN(), Tag1.ActualHigh) |