Difference between revisions of "PAB"
Line 2: | Line 2: | ||
The PAB condition output is also available for use in selected protocols. | The PAB condition output is also available for use in selected protocols. | ||
− | There are two types of PAB available: | + | == Types == |
− | + | There are two types of PAB available: | |
− | + | ||
+ | # '''RANGE''' - Evaluation YES/NO (true/false) | ||
+ | # '''ZONE''' - Evaluation using specified intervals | ||
+ | |||
Each type uses specific variables and is described in detail below. | Each type uses specific variables and is described in detail below. | ||
PABs can work with the specified quantities: | PABs can work with the specified quantities: | ||
− | + | * Current: OUTPUTS/1/CURRENT '''[mA]''' | |
− | + | * Load: OUTPUTS/8/LOAD '''[W]''' | |
− | + | * Energy: OUTPUTS/4/POWER '''[Wh]''' | |
− | + | * Output no. 1 state: OUTPUTS/1/STATE '''[int 0/1]''' | |
− | General structure for defining a variable is: | + | General structure for defining a variable is: <INPUT/OUTPUT>/ID/<monitored variable> |
− | + | == PAB - RANGE == | |
True/False-based evaluation. If the monitored value is in specified interval for a time period defined in `timeHysteresis`, PAB evaluates as `True`. Otherwise it evaluates as `False`. | True/False-based evaluation. If the monitored value is in specified interval for a time period defined in `timeHysteresis`, PAB evaluates as `True`. Otherwise it evaluates as `False`. | ||
− | + | === Structure === | |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 29: | Line 32: | ||
|- | |- | ||
| source | | source | ||
− | | OUTPUTS/ | + | | OUTPUTS/'''x'''/(LOAD/CURRENT/POWER) <br> INPUTS/'''x'''/STATE |
− | | The monitored variable. | + | | The monitored variable. '''x''' indicates input / output number. |
|- | |- | ||
| timeHysteresis | | timeHysteresis | ||
| int | | int | ||
− | | [s] Monitored value must be present in defined interval for amount of time defined here. Eg: If the time hysteresis is equal to 5, monitored value must be within a defined interval for at least 5s. Only then it will be evaluated. | + | | [s] Monitored value must be present in defined interval for amount of time defined here. |
+ | |||
+ | Eg: If the time hysteresis is equal to 5, monitored value must be within a defined interval for at least 5s. Only then it will be evaluated. | ||
|- | |- | ||
| lowerBound | | lowerBound | ||
Line 45: | Line 50: | ||
|} | |} | ||
− | + | == PAB - ZONE == | |
Zone-based evaluation. 1 or more zones can be set. Zones are divided using the values specified in the `thresholds` variable. | Zone-based evaluation. 1 or more zones can be set. Zones are divided using the values specified in the `thresholds` variable. | ||
− | Monitored value must be present in defined interval for amount of time defined here. The PAB condition is evaluated as a number (integer) equal to the interval order. Eg. At two specified intervals, the PAB value can be 0, 1, or 2. | + | Monitored value must be present in defined interval for amount of time defined here. The PAB condition is evaluated as a number (integer) equal to the interval order. |
+ | |||
+ | Eg. At two specified intervals, the PAB value can be 0, 1, or 2. | ||
+ | |||
+ | === Structure === | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Variable | ||
+ | ! Value | ||
+ | ! Description | ||
+ | |- | ||
+ | | type | ||
+ | | ZONE | ||
+ | | PAB type | ||
+ | |- | ||
+ | | source | ||
+ | | OUTPUTS/'''x'''/(LOAD/CURRENT/POWER) <br> INPUTS/'''x'''/STATE | ||
+ | | The monitored variable. '''x''' indicates input / output number. | ||
+ | |- | ||
+ | | timeHysteresis | ||
+ | | int | ||
+ | | [s] Monitored value must be present in defined interval for amount of time defined here. | ||
− | + | Eg: If the time hysteresis is equal to 5, monitored value must be within a defined interval for at least 5s. Only then it will be evaluated. | |
− | + | |- | |
− | + | | thresholds | |
− | + | | list[int] | |
− | + | | lower-bounds of individual zones intervals | |
− | + | |} | |
− | | thresholds | list[int] | | ||
− | + | == Examples == | |
− | + | The condition evaluates to `True` immediately as the current value appears between 100 and 200 mA | |
− | + | <code> | |
{ | { | ||
"type": "RANGE", | "type": "RANGE", | ||
Line 66: | Line 91: | ||
"upperBound": 200, | "upperBound": 200, | ||
"timeHysteresis": 0 | "timeHysteresis": 0 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | The condition evaluates to `True` when the current value is between 100 and 200 mA for 5s. | ||
+ | |||
+ | <code> | ||
+ | {"type": "RANGE", | ||
+ | "source": "OUTPUTS/1/CURRENT", | ||
+ | "lowerBound": 100, | ||
+ | "upperBound": 200, | ||
+ | "timeHysteresis": 5} | ||
+ | </code> | ||
+ | |||
+ | The condition is evaluated according to the specified zones as soon as the current value is in one of the zones for 10s. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Eg: If the current is 130mA for at least 10s, the condition is evaluated as 2 (zone number). | |
− | |||
− | + | <code> | |
− | |||
− | |||
{ | { | ||
"type": "ZONES", | "type": "ZONES", | ||
Line 95: | Line 121: | ||
"timeHysteresis": 10 | "timeHysteresis": 10 | ||
} | } | ||
− | + | </code> | |
− | |||
− | |||
− |
Revision as of 16:23, 19 October 2021
The PAB (Power Analyzing Block) define sets of conditions for measured variables (current, voltage, S0 pulses etc.). Various rules can be set based on these conditions. Rules can perform actions such as sending alarm to the Cloud service, restarting outputs, etc. The PAB condition output is also available for use in selected protocols.
Types
There are two types of PAB available:
- RANGE - Evaluation YES/NO (true/false)
- ZONE - Evaluation using specified intervals
Each type uses specific variables and is described in detail below.
PABs can work with the specified quantities:
- Current: OUTPUTS/1/CURRENT [mA]
- Load: OUTPUTS/8/LOAD [W]
- Energy: OUTPUTS/4/POWER [Wh]
- Output no. 1 state: OUTPUTS/1/STATE [int 0/1]
General structure for defining a variable is: <INPUT/OUTPUT>/ID/<monitored variable>
PAB - RANGE
True/False-based evaluation. If the monitored value is in specified interval for a time period defined in `timeHysteresis`, PAB evaluates as `True`. Otherwise it evaluates as `False`.
Structure
Variable | Value | Description |
---|---|---|
type | RANGE | PAB type |
source | OUTPUTS/x/(LOAD/CURRENT/POWER) INPUTS/x/STATE |
The monitored variable. x indicates input / output number. |
timeHysteresis | int | [s] Monitored value must be present in defined interval for amount of time defined here.
Eg: If the time hysteresis is equal to 5, monitored value must be within a defined interval for at least 5s. Only then it will be evaluated. |
lowerBound | int | lower bound of the monitored value |
upperBound | int | upper bound of the monitored value |
PAB - ZONE
Zone-based evaluation. 1 or more zones can be set. Zones are divided using the values specified in the `thresholds` variable. Monitored value must be present in defined interval for amount of time defined here. The PAB condition is evaluated as a number (integer) equal to the interval order.
Eg. At two specified intervals, the PAB value can be 0, 1, or 2.
Structure
Variable | Value | Description |
---|---|---|
type | ZONE | PAB type |
source | OUTPUTS/x/(LOAD/CURRENT/POWER) INPUTS/x/STATE |
The monitored variable. x indicates input / output number. |
timeHysteresis | int | [s] Monitored value must be present in defined interval for amount of time defined here.
Eg: If the time hysteresis is equal to 5, monitored value must be within a defined interval for at least 5s. Only then it will be evaluated. |
thresholds | list[int] | lower-bounds of individual zones intervals |
Examples
The condition evaluates to `True` immediately as the current value appears between 100 and 200 mA
{
"type": "RANGE",
"source": "OUTPUTS/1/CURRENT",
"lowerBound": 100,
"upperBound": 200,
"timeHysteresis": 0
}
The condition evaluates to `True` when the current value is between 100 and 200 mA for 5s.
{"type": "RANGE",
"source": "OUTPUTS/1/CURRENT",
"lowerBound": 100,
"upperBound": 200,
"timeHysteresis": 5}
The condition is evaluated according to the specified zones as soon as the current value is in one of the zones for 10s.
Eg: If the current is 130mA for at least 10s, the condition is evaluated as 2 (zone number).
{
"type": "ZONES",
"source": "OUTPUTS/2/CURRENT",
"thresholds": [
50,
100,
150,
200
],
"timeHysteresis": 10
}