CalcNode
An invisible widget which can perform a calculation on a set of input PVs and provides the output as a PV local to the screen.
Since different UI tools use different syntax to configure their equivalent calc tools, the calculation attribute here should be written as a general python statement. The supported operators are bitwise, negation, comparators, basic math, exponents, and boolean operations.
- Special Attributes
Name | Type | Description |
---|---|---|
pv | String | The name used to reference the output values |
A | String | Input PV, the value of which can be referenced as A in the calculation |
B | String | Input PV, the value of which can be referenced as B in the calculation |
C | String | Input PV, the value of which can be referenced as C in the calculation |
D | String | Input PV, the value of which can be referenced as D in the calculation |
calc | String | The calculation to perform, provided in python syntax |
- Example
# If the motor reports having GAIN_SUPPORT, show enable/disable LED
EnableCalc: !Calc
A: "{motor-pv}.MSTA"
calc: "(A&2048)==2048"
pv: "{motor-pv}:TorqueDisplay"
EnableLED: !VStretch:Group
visibility: "{motor-pv}:TorqueDisplay"
children:
- !VCenter:Group
children:
- !Apply:OnOffLED
size: "{on-off-width}"
control-pv: "{motor-pv}.CNEN"