PAB
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
}