Difference between revisions of "PAB"

From wiki.netio-products.com
Jump to navigation Jump to search
Line 1: Line 1:
The PAB (Power Analyzing Block) is a function with periodically evaluated sets of conditions for measured variables (current [mA], voltage, S0 pulses etc.). Based on each PAB state one or several RULEs can be executed. Each [https://wiki.netio-products.com/index.php?title=Rules '''Rule'''] can perform several actions (Set Output, Short Off (restart) output, Toggle output or send Alarm state to the NETIO Cloud service. Based on this Alarm state can NETIO Cloud send email to defined recipient.
+
The PAB (Power Analysis Block) is a function available for NETIO devices that periodically evaluates sets of conditions. Based on these conditions, subsequent [https://wiki.netio-products.com/index.php?title=Rules '''Rules'''] can be executed. These conditions can consist of one or more of following variables:
All PABs are listed in the JSON protocol wit their current states. It can be used by 3rd party software.
+
* Current [mA]
 +
* Energy [Wh]
 +
* Load [W]
 +
* Power Factor
 +
* S0 pulses
  
== Types ==
+
Rules can then perform several actions described in section [https://wiki.netio-products.com/index.php?title=Rules '''Rules'''].
There are two types of PAB available:
+
Every PAB is internally evaluated as having a discrete state which can be used as an input to a Rule mentioned above. State value is different for each type of PAB (described below). This state is also available in JSON protocol and therefore can be read externally.
  
# '''RANGE''' - Function state = '''YES/NO''' (TRUE/FALSE) - For example: O1 current <200 mA - 1000 mA>.
+
There are two types of PABs available: '''RANGE''' & '''ZONES'''. Each type has different states and configuration options.
# '''ZONE''' -  Function state = '''One of predefined value intervals''' - For example: O1 current = 1 (0 = <0-100mA>, 1 = <100-500mA>, 2 = <501-16000mA>)
 
  
  
PABs can work with the specified quantities:
+
= RANGE =
* Current: OUTPUTS/1/CURRENT '''[mA]'''
+
True/False-based evaluation. Detects whether a monitored value lies in specified interval (range) for a period of time. PAB evaluates to <code>TRUE</code> or <code>FALSE</code>.
* Load: OUTPUTS/2/LOAD '''[W]'''
+
Interval is specified by lower <code>lowerBound</code> and upper <code>upperBound</code> boundaries. PAB evaluates to <code>TRUE</code> if a variable defined in <code>source</code> lies within for a period of time defined in <code>timeHysteresis</code>.
* Energy: OUTPUTS/4/POWER '''[Wh]'''
+
 
* Output No. 8 state: OUTPUTS/8/STATE '''[int 0/1]'''
+
== Configuration Structure ==
General structure for defining a variable is: <INPUT/OUTPUT>/ID/<monitored variable>
+
{| class="wikitable"
 +
|-
 +
! Variable
 +
! Value
 +
! Description
 +
|-
 +
| type
 +
| RANGE
 +
| PAB type
 +
|-
 +
| source
 +
| OUTPUTS/'''x'''/(LOAD/CURRENT/POWER)
 +
| 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
 +
|}
 +
 
 +
== Examples ==
 +
 
 +
=== Immediate evaluation ===
 +
PAB evaluates to <code>TRUE</code> immediately as Output 1 '''Current''' value appears '''between 100 and 200 mA'''
 +
<nowiki>
 +
{
 +
  "type": "RANGE",
 +
  "source": "OUTPUTS/1/CURRENT",
 +
  "lowerBound": 100,
 +
  "upperBound": 200,
 +
  "timeHysteresis": 0
 +
}</nowiki>
 +
 
 +
=== Evaluation with delay ===
 +
PAB evaluates to <code>TRUE</code> when Output 1 '''Load''' is '''between 200 and 300 Watts for 5s'''.
 +
 
 +
<nowiki>
 +
{
 +
  "type": "RANGE",
 +
  "source": "OUTPUTS/1/CURRENT",
 +
  "lowerBound": 200,
 +
  "upperBound": 300,
 +
  "timeHysteresis": 5
 +
}</nowiki>
 +
 
 +
 
 +
= ZONES =
 +
Opposed from a previous type, ZONE-type PAB detects, whether a monitored variable finds itself in a specified zone. State of PAB indicates what zone number (index) is the measured variable currently in. Zones are defined by their <code>thresholds</code> (lower bounds) and there must be at least one threshold specified.
 +
Monitored value must be present in a defined interval for period of time defined in <code>timeHysteresis</code>.
 +
 
 +
== Structure ==
 +
{| class="wikitable"
 +
|-
 +
! Variable
 +
! Value
 +
! Description
 +
|-
 +
| type
 +
| ZONE
 +
| PAB type
 +
|-
 +
| source
 +
| OUTPUTS/'''x'''/(LOAD/CURRENT/POWER)
 +
| 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 of integers
 +
| lower-bounds of individual zones intervals
 +
|}
 +
 
 +
== Examples ==
 +
 
 +
PAB is evaluated according to the specified zones when the Output 2 '''Current''' value is in one of the zones for 10s.
 +
Zone numbers are as following:
 +
* '''0''': 0 - 49 mA
 +
* '''1''': 50 - 99 mA
 +
* '''2''': 100 - 149 mA
 +
* '''3''': 150 - 199 mA
 +
* '''4''': 200+ mA
 +
 
 +
Eg: If the Current value is 130mA for at least 10s, PAB is evaluated as 2.
 +
 
 +
<nowiki>
 +
{
 +
  "type": "ZONES",
 +
  "source": "OUTPUTS/2/CURRENT",
 +
  "thresholds": [
 +
    50,
 +
    100,
 +
    150,
 +
    200
 +
  ],
 +
  "timeHysteresis": 10
 +
}</nowiki>

Revision as of 10:53, 18 February 2022

The PAB (Power Analysis Block) is a function available for NETIO devices that periodically evaluates sets of conditions. Based on these conditions, subsequent Rules can be executed. These conditions can consist of one or more of following variables:

  • Current [mA]
  • Energy [Wh]
  • Load [W]
  • Power Factor
  • S0 pulses

Rules can then perform several actions described in section Rules. Every PAB is internally evaluated as having a discrete state which can be used as an input to a Rule mentioned above. State value is different for each type of PAB (described below). This state is also available in JSON protocol and therefore can be read externally.

There are two types of PABs available: RANGE & ZONES. Each type has different states and configuration options.


RANGE

True/False-based evaluation. Detects whether a monitored value lies in specified interval (range) for a period of time. PAB evaluates to TRUE or FALSE. Interval is specified by lower lowerBound and upper upperBound boundaries. PAB evaluates to TRUE if a variable defined in source lies within for a period of time defined in timeHysteresis.

Configuration Structure

Variable Value Description
type RANGE PAB type
source OUTPUTS/x/(LOAD/CURRENT/POWER) 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

Examples

Immediate evaluation

PAB evaluates to TRUE immediately as Output 1 Current value appears between 100 and 200 mA

{
  "type": "RANGE",
  "source": "OUTPUTS/1/CURRENT",
  "lowerBound": 100,
  "upperBound": 200,
  "timeHysteresis": 0
}

Evaluation with delay

PAB evaluates to TRUE when Output 1 Load is between 200 and 300 Watts for 5s.

{
  "type": "RANGE",
  "source": "OUTPUTS/1/CURRENT",
  "lowerBound": 200,
  "upperBound": 300,
  "timeHysteresis": 5
}


ZONES

Opposed from a previous type, ZONE-type PAB detects, whether a monitored variable finds itself in a specified zone. State of PAB indicates what zone number (index) is the measured variable currently in. Zones are defined by their thresholds (lower bounds) and there must be at least one threshold specified. Monitored value must be present in a defined interval for period of time defined in timeHysteresis.

Structure

Variable Value Description
type ZONE PAB type
source OUTPUTS/x/(LOAD/CURRENT/POWER) 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 of integers lower-bounds of individual zones intervals

Examples

PAB is evaluated according to the specified zones when the Output 2 Current value is in one of the zones for 10s. Zone numbers are as following:

  • 0: 0 - 49 mA
  • 1: 50 - 99 mA
  • 2: 100 - 149 mA
  • 3: 150 - 199 mA
  • 4: 200+ mA

Eg: If the Current value is 130mA for at least 10s, PAB is evaluated as 2.

{
  "type": "ZONES",
  "source": "OUTPUTS/2/CURRENT",
  "thresholds": [
    50,
    100,
    150,
    200
  ],
  "timeHysteresis": 10
}