Rubix Wires: HVAC Nodes

Rubix Wires: HVAC Nodes

This article describes the Rubix Wires nodes that are in the HVAC category. 

HVAC

The HVAC Nodes are a wide variety of nodes that perform HVAC related functions.  This includes setpoint and equipment control functions, fault monitoring, psychometric calculations, and conversions.

Toggle Duration

This node receives a button press to activate a switch for a set duration of time. Additionally, the button can be configured if held to cancel the switch activation. This node is commonly used for after-hours applications.

Inputs

  1. pushButton - Boolean input value, when input momentarily changes value from `false` to `true`, `output` changes to `true` for the `runtime` duration. If `Long hold for OFF?` is enabled in Settings, `output` will revert to `false` regardless of remaining runtime if `pushButton` is `true` for a longer duration than the setting `OFF push delay`.
  2. runtime (minutes) - Numeric input value to set the duration that the button activates `output` to `true` for. Time units other than minutes can be confiured in Settings.

Outputs

  1. output - Boolean output value, which will be `true` when `pushButton` changes value momentarily to `true`. Will remain `true` for the `runtime` duration unless off push delay is configured.
  2. remainingRuntime - Numeric output value, in minutes, of the remaining runtime that `output` will remain true.

Settings

  1. Name - Name of the node.
  2. Runtime - Runtime numeric value. Fallback for wired input `runtime (minutes)`.
  3. Units - Time unit of `Runtime` can be changed (seconds, minutes, hours).
  4. Long hold for OFF? - Toggle switch to enable the ability of a button hold (`pushButton` remains `true` for a period of time).
  5. OFF push delay (seconds) - Time value in seconds to set the minimum time `pushButton` must remain `true` for `output` to revert to `false`.

Operation

`output` will be `true` for the amount of time `runtime` is configured to be when `pushButton` momentarily changes value from `false` to `true`. `runtime` time unit can be changed from Settings. If `Long hold for OFF?` is enabled in Settings, `OFF push delay (seconds)` sets the minimum time that `pushButton` must remain `true` to then change `output` to `false`, cancelling the original activation of the button.

Sensor Fault

This node monitors a sensor value, and if the value is out of the expected range, for a longer duration than a set time, the node raises a fault.

Inputs

  1. enable - Boolean input value to enable or disable the node. `true` to enable and `false` to disable.
  2. sensor - Numeric input value from the sensor. This is the value that will be checked if in an expected range.
  3. faultDelay (minutes) - Numeric input value to set a minimum duration the `sensor` value must be out of the expected range for to trigger a fault.
  4. lowLimit - Numeric input value for the minimum expected value for `sensor`. If `sensor`value is below this value, for longer than `faultDelay`, `flatline` will output `true`.
  5. highLimit - Numeric input value for the maximum expected value for `sensor`. If `sensor`value is above this value, for longer than `faultDelay`, `flatline` will output `true`.

Outputs

  1. fault - Boolean output value of fault status. `true` if fault exists, `false` if fault doesn't exist.
  2. outOfRange - Boolean output value that will be `true` whenever `sensor` value is not between the `lowLimit` and `highLimit` value. When `sensor` value is in the normal expected range, outputs `false`.
  3. flatline - Boolean output value of the status of fault after a set time duration. If `fault` has been `true` for longer than `faultDelay` time value, `flatline` will be `true`. When `sensor` value is in the normal expected range, outputs `false`.

Settings

  1. Name - Name of the node.
  2. Enable - Enable switch to enable or disable the node.
  3. Fault Delay - Time duration that the sensor has to be out of range for a fault to be raised.
  4. Units - Time unit of `Fault Delay`.
  5. Minimum Sensor Value - Minimum expected value from the sensor. Fallback for wired `lowLimit`.
  6. Maximum Sensor Value - Maximum expected value from the sensor.Fallback for wired `highLimit`
  7. Delay Out Of Range? - Enable or disable a short delay `outOfRange` for when a sensor's value quickly changes to an outlier for a very short period of time yet reverts back to suitable values.

Operation

`lowLimit`is the lower limit and `highLimit` is the upper limit for the expected `sensor` value. If `sensor` not between `lowLimit` and `highLimit`, `fault` and `outofRange` will output `true`. If `sensor` value remains out of range for longer than `faultDelay`, `flatline` will output `true`. `fault`, `flatline`, and `outOfRange` will return to `false`. Additional `faultDelay` time units other than minutes can be configured from Settings.

Status Mismatch

This node compares an input with an expected value, and raises a fault if this value does not match the expected value. The raising of this fault can be delayed on a configurable duration to avoid temporary fluctuations in sensor data.

Inputs

  1. enable - Boolean input value to enable or disable the node. `true` to enable and `false` to disable.
  2. status - Input to be monitored and checked is matching `command'.
  3. command - Input of the expected value that `status` should equal.
  4. faultDelay (minutes) - Numeric input value to set a minimum duration the `sensor` value must be out of the expected range for to trigger a fault.

Outputs

  1. fault - Boolean output of status of fault. If `status` does not equal `command`, will output immediately `true` regardless of `faultDelay` duration.
  2. ON cmd fail - Boolean output that changes to `true` from `false` when a fault is detected. Returns to `false` when fault no longer detected.
  3. OFF cmd fail - Boolean output that changes to `true` from `false` when a fault is no longer detected.
  4. statusDropout - Boolean output that changes to `true` from `false` if any fault is detected. Does not return to `false` unless the node is disabled and re-enabled.

Settings

  1. Name - Name of the node.
  2. Enable - Toggle switch to enable or disable the node.

Operation

`command` is the expected value of `status`. When `status` does not equal `command`, `fault` outputs `true` if `fault` is `true` for longer than `faultDelay` duration. `ON cmd fail` outputs `true` when a fault occurs and outputs `false`the moment there is no longer a fault. `OFF cmd fail` outputs `true` 

Temperature Alarm

This node raises an alarm if either a temperature drops below a certain value or above a certain value. Temperature values can be a fixed range, or be based on offsets off a setpoint.

Inputs

  1. enable - Boolean input value to enable or disable the node. `true` to enable and `false` to disable.
  2. zoneTemp - Numeric input value of the temperature sensor, the value that will be monitored for changes.
  3. setpoint - Numeric input value of the point that all temperature offsets are reference against.
  4. highTempOffset - Numeric input value for high temperature offset value. If `sensor` is greater than `setpoint` + `highTempOffset` for longer than `alarmDelay` duration, `highTempAlarm` will be `true`.
  5. lowTempOffset - Numeric input value for low temperature offset value. If `sensor` is less than `setpoint` - `lowTempOffset` for longer than `alarmDelay` duration, `lowTempAlarm` will be `true`.
  6. alarmDelay - Time value in minutes to set the minimum time `sensor` must remain out of the set temperature range for `highTempAlarm` or `lowTempAlarm` to ouput `true`.

Outputs

  1. outputJSON - JSON formatted output string that includes the current properties of the node.
  2. highTempAlarm - Boolean output value that is `true` when `sensor` is above the set range of temperature for longer than `alarmDelay` duration.
  3. lowTempAlarm - Boolean output value that is `true` when `sensor` is below the set range of temperature for longer than `alarmDelay` duration.

Settings

  1. Name - Name of the node.
  2. Enable - Toggle switch to enable or disable the node.
  3. Setpoint - Numeric input value of the point that all temperature offsets are reference against. Fallback for wired input value `setpoint`.
  4. Low Temp Alarm Enable - Toggle switch to enable or disable `lowTempAlarm` output. If disabled, `lowTempAlarm` will output `false` regardless of `sensor` value.
  5. High Temp Alarm Enable - Toggle switch to enable or disable `highTempAlarm` output. If disabled, `highTempAlarm` will output `false` regardless of `sensor` value.
  6. Alarm Limits Type - Drop-down selection to pick the type of alarm required. The `Setpoint Offsets` alarm option is where the suitable temperature range is set based around offsets from `setpoint` input. `Defined Range` alarm option is where a specific range is set from fixed values.
  7. Low Temp Offset - Fallback for wired `lowTempOffset`. Option only shown if `Alarm Limits Type` is `Setpoint Offsets`.
  8. HighTemp Offset - Fallback for wired `HighTempOffset`. Option only shown if `Alarm Limits Type` is `Setpoint Offsets`.
  9. Low Temp Limit - Lower limit value for temperature range when `Alarm Limit Type` is `Defined Range`. Option only shown if `Alarm Limits Type` is `Defined Range`.
  10. Higher Temp Limit - Higher limit value for temperature range when `Alarm Limit Type` is `Defined Range`. Option only shown if `Alarm Limits Type` is `Defined Range`.
  11. Alarm Delay - Time value to set the minimum time `sensor` must remain out of the set temperature range for `highTempAlarm` or `lowTempAlarm` to ouput `true`. Fallback from wired input `alarmDelay`.
  12. Units - Time unit of `Alarm Delay' (seconds, minutes, hours).

Operation

`zoneTemp` is the temperature sensor to be monitored. If `Alarm Limits Type` is set to `Setpoint Offsets`, `setpoint` is numeric that the offsets (`lowTempOffset` and `highTempOffset`) are based on.  If `Alarm Limits Type` is set to `Defined Range`, lower limit can be set from `Low Temp Limit` in Settings, and higher limit can be set from `High Temp Limit`. `alarmDelay` is the minimum time that `sensor` value must be out of range before `highTempAlarm` (for values above higher limit) or `lowTempAlarm` (for values below lower limit) to change to `true`. `outputJSON` outputs a JSON formatted string that contains current properties of the node.

Energy-Conversion

This node converts a value of an energy units to multiple other energy units. The energy units that can be converted are kilowatt (kW), tons of refrigeration (tons), British thermal unit per hour (Btu/h), and electrical horsepower (hp).

Inputs

There is a single input available for this node. This input can be configured in Settings with `Input Type` and will reflect the chosen energy unit value to be converted to other energy units.

Outputs

There are three outputs available for this node. The outputs available will be the three remaining power unit values other than the `Input Type` value.

Settings

  1. Name - Name of the node.
  2. Input Type - Drop-down to select the unit type of input value.
  3. Precision - Number of decimal places required on outputs.

Operation

Input name will vary with selection of `Input Type` in Settings, with the outputs being the remaining three power unit types. Precision of output values (decimal places) can be configured in Settings with `Precision`.

Volume-Conversion

This node converts a value of a volume unit to multiple other volume units. The volume units that can be converted are cubic metre (m3), cubic foot (f3),  gallon (g), and litre (l).

Inputs

There is a single input available for this node. This input can be configured in Settings with `Input Type` and will reflect the chosen energy unit value to be converted to other energy units.

Outputs

There are three outputs available for this node. The outputs available will be the three remaining power unit values other than the `Input Type` value.

Settings

  1. Name - Name of the node.
  2. Input Type - Drop-down to select the unit type of input value.
  3. Precision - Number of decimal places required on outputs.

Operation

Input name will vary with selection of `Input Type` in Settings, with the outputs being the remaining three volume unit types. Precision of output values (decimal places) can be configured in Settings with `Precision`.

Temperature-Conversion

This node converts an input of a temperature unit value to another single temperature unit. The temperature units that can be converted are Celsius, Fahrenheit, Kelvin, and Rankine.

Inputs

  1. input - Numeric input value of temperature unit to be converted. Unit value type configured in Settings with `Conversion Type`.

Outputs

  1. output - Numeric output value of converted temperature unit. Unit value type configured in Settings with `Conversion Type`.

Settings

  1. Name - Name of the node.
  2. Conversion Type - Drop-down to select the unit type of input value.
  3. Precision - Number of decimal places required on outputs.

Operation

`Conversion Type` in Settings selects the required temperature conversion required. `input` is the temperature value needing to be converted, and `output` is the converted temperature. Precision (decimal spaces) can be configured in Settings with `Precision`.

PAC Unit Control

This node controls a Packaged Air Conditioning system.  Supports: heating/cooling control, configurable number of stages, economizer control, 

Inputs

  1. enable - Boolean enable.  Must be 'true' for compressor staging or economizer control to be active; outputs will be 'false' or '0' while enable is 'false'.
  2. zoneTemp - Control Temperature, to be maintained at setpoint.
  3. setpoint - Setpoint temperature to control to.  See setpoint strategy detailed below.
  4. CLG offset - Offset to be added to the setpoint, which defines the temperature above which compressor stages will be started (in conjunction with delay settings).
  5. HTG offset - Offset to be subtracted from the setpoint, which defines the temperature below which the RV and Compressor stages will be started (in conjunction with delay settings).
  6. stageUpDelay (minutes) - The delay (in minutes) between compressor stages starting.  When the Control Temperature (zoneTemp) is above Setpoint + CLG Offset, or Control Temperature (zoneTemp) is below Setpoint - HTG Offset, the compressors will be started with the configured Stage Up Delay time between stages.
  7. modeDelay (minutes) - The delay (in minutes) between heating to cooling or cooling to heating mode changes.
  8. econoAllow - Enables or Disables the Economiser (Outdoor Air Damper) output.  If this setting is 'false' econoMode and OADamper outputs will remain 'false' and '0' respectively.
  9. OATemp - Outdoor Air Temperature input to be used for Economiser control.
  10. econoHigh - The high limit temperature for economizer mode. If the Outdoor Air Temperature (OATemp) is greater than the econoHigh setting, Economizer mode will not function.
  11. econoLow - The low limit temperature for economizer mode. If the Outdoor Air Temperature (OATemp) is less than the econoLow setting, Economizer mode will not function.
  12. fanStatus - Fan Status input.  If 'Require Fan Status' is 'true', the node will not operate RV or Compressor Stages without `fanStatus` input being 'true'.
  13. clgLockout -  If this input is 'true' the node will disable cooling mode even when temperature is greater than Setpoint + CLG offset.
  14. htgLockout - If this input is 'true' the node will disable heating mode even when temperature is less than Setpoint - HTG offset.

Outputs

  1. outputJSON - JSON formatted output string that includes the current properties of the node.
  2. CLG Mode - Boolean output. Will be 'true' when the node is controlling in Cooling Mode.
  3. HTG Mode - Boolean output. Will be 'true' when the node is controlling in Heating Mode.
  4. compStage -  Numeric output of the current compressor stage (integer).
  5. econoMode - Boolean output Will be 'true' when Economiser Mode is active, otherwise will output `false`.
  6. OADamper - Economiser Outdoor Air Damper command. Output will be between 0 and 100. 
  7. RV - Boolean output value of the Reversing Valve command. Output will be 'true' when the node is controlling in Heating Mode.
  8. Comp1/Comp2/Comp#/... -  Corresponding Compressor outputs will be 'true' based on staging program. Compressor stages will be enabled in both heating and cooling modes (heat pump type control).

Settings

  1. Name - Name of the node.
  2. Enable - Boolean enable.  Must be 'true' for compressor staging or economizer control to be active; outputs will be 'false' or '0' while enable is 'false'.  Fallback for wired enable input.
  3. Setpoint -Setpoint temperature to control to.  See setpoint strategy detailed below.  Fallback for wired setpoint input value.
  4. Setpoint Logic - This setting affects the Compressor stage OFF logic. 
    1. 'Condition to Setpoint' `true` will result in all Compressor stages being disabled when the Control Temperature reaches Setpoint.
    2. 'Condition past Setpoint' will result in compressor stages being disabled when the Control Temperature reaches Setpoint + CLG Offset (cooling mode) and Setpoint - HTG Offset (heating mode). 
  5. CLG Offset - Offset to be added to the setpoint value, which defines the temperature above which compressor stages will be started (in conjunction with delay settings).  Fallback for wired CLG Offset input.
  6. HTG Offset - Offset to be subtracted to the setpoint value, which defines the temperature below which compressor stages will be started (in conjunction with delay settings).  Fallback for wired HTG Offset input.
  7. Stage Up Delay (Minutes) - The delay (in minutes) between compressor stages starting. When the Control Temperature is above Setpoint + CLG Offset, or Control Temperature is below Setpoint - HTG Offset, the compressors will be started with the configured Stage Up Delay time between stage start times.  Fallback for wired stageUpDelay (minutes) input.
  8. Mode Change Delay (Minutes) - The delay (in minutes) between turning from cooling mode to heating more, or from heating mode to cooling mode.  Fallback for wired modeDelay (minutes) input.
  9. # Compressor Stages - The number of compressor stages required.  Each compressor stage will have a corresponding Comp1/Comp2/Comp#... output added to the node.
  10. Allow Economy Mode - Toggle switch to enable or disable the Economiser (Outdoor Air Damper) output.  If this setting is 'false' econoMode and OADamper outputs will remain 'false' and '0' respectively.  Fallback for wired econoAllow input.
  11. Economy Conditions Deadband - Defines the deadband used for economiser high and low limits. Outdoor Air Temperature must fall within (econoHigh - deadband) and (econoLow + deadband) for economiser mode to become active. 
  12. Econo OA High Temp - The high limit temperature for economizer mode. If the Outdoor Air Temperature (OATemp) is greater than the econoHigh setting, Economizer mode will not function.  Fallback for wired econoHigh input.
  13. Econo OA Low Temp - The low limit temperature for economizer mode. If the Outdoor Air Temperature (OATemp) is less than the econoLow setting, Economizer mode will not function. Fallback for wired econoLow input.
  14. Require Fan Status? - Boolean value to enable operation to only occur if fanStatus is `true`.  
  15. Fan Status OFF Delay (Seconds) - This is the delay time (in seconds) where the fan status can be 'false' but the node outputs will not be disabled.  This is to allow for short term fan status dropout.  
  16. Lockout Cooling Mode - If this input is 'true' the node will disable cooling mode even when temperature is greater than Setpoint CLG offset.  Fallback for wired econoHigh input.
  17. Lockout Heating Mode - If this input is 'true' the node will disable heating mode even when temperature is less than Setpoint HTG offset.  Fallback for wired econoLow input.

Operation

This node provides discrete heat and cool staging control to maintain a setpoint temperature.  The node can be configured for up to 20 compressor stages.  This node also provides economizer control (0->100%) by opening the outdoor air damper proportionally as the Control Temp increases between Setpoint and Setpoint+Cooling Offset, while Outdoor Air conditions are within economizer limits.

Setpoint Modes
There are 2 different modes of setpoint control: Condition To Setpoint and Condition Past Setpoint.  These 2 modes affect the compressor stage shutdown temperature.  
Condition To Setpoint
In this mode compressor stages will have all shut down by the time the Control Temperature (zoneTemp) reaches Setpoint.  This means that the operating temperature control range will be above setpoint (during cooling season), and below setpoint (during heating season).

Condition To Setpoint Figure Description:

  1. Control Temperature is above Setpoint + CLG Offset but Fan Status is 'False' so cooling mode does not activate.
  2. Fan Status becomes 'true' while Control Temperature is above Setpoint + CLG Offset, so Cooling Mode, and Compressor Stage 1 become 'true'.
  3. Control Temperature is still above Setpoint + CLG Offset, and Stage Up Delay duration has elapsed since Compressor Stage 1 was enabled, so Compressor Stage 2 becomes 'true'.
  4. Control Temperature is still above Setpoint + CLG Offset, and Stage Up Delay duration has elapsed since Compressor Stage 2 was enabled, so Compressor Stage 3 becomes 'true'. Also at this time the Fan Status has become 'false', Cooling Mode continues to run because the Fan Status OFF Delay has not elapsed.
  5. Fan Status becomes 'true' again. Cooling Mode continues to operate (no change).
  6. Control Temperature falls below Setpoint + CurrentCompressorStageMinusOne(2)*CLG Offset/#ComprssorStages(3). So Compressor Stage 3 becomes 'false'.
  7. Control Temperature falls below Setpoint + CurrentCompressorStageMinusOne(1)*CLG Offset/#ComprssorStages(3). So Compressor Stage 2 becomes 'false'.
  8. Control Temperature falls below Setpoint + CurrentCompressorStageMinusOne(0)*CLG Offset/#ComprssorStages(3). So Cooling Mode, and Compressor Stage 1 become 'false'.
  9. Control Temperature falls below Setpoint - HTG Offset, however Heating Mode does not start because the Mode Change Delay has not elapsed.
  10. Control Temperature still below Setpoint - HTG Offset and Mode Change Delay duration has elapsed, so Heating Mode, Reversing Valve, and Compressor Stage 1 becomes 'true'.
  11. Control Temperature still below Setpoint - HTG Offset and Stage Up Delay duration has elapsed since Compressor Stage 1 was enabled, so Compressor Stage 2 becomes 'true'.
  12. Control Temperature rises above Setpoint - CurrentCompressorStageMinusOne(1)*HTG Offset/#ComprssorStages(3). So Compressor Stage 2 becomes 'false'.
  13. Fan Status becomes 'false'Heating Mode continues to run because the Fan Status OFF Delay has not elapsed.
  14. Fan Status OFF Delay duration elapses, so Heating Mode, Reversing Valve, and All Compressor Stages become 'false'.

Condition Past Setpoint
In this mode compressor stages will continue to run when Control Temperature (zoneTemp) passes Setpoint.  This means that the operating temperature control range will be centered on the setpoint temperature during heating and cooling season.

Condition Past Setpoint Figure Description:

  1. Control Temperature is above Setpoint + CLG Offset [24deg] but Fan Status is 'False' so cooling mode does not activate.
  2. Fan Status becomes 'true' while Control Temperature is above Setpoint + CLG Offset [24deg], so Cooling Mode, and Compressor Stage 1 become 'true'.
  3. Control Temperature is still above Setpoint + CLG Offset [24deg], and Stage Up Delay duration has elapsed since Compressor Stage 1 was enabled, so Compressor Stage 2 becomes 'true'.
  4. Control Temperature is still above Setpoint + CLG Offset [24deg], and Stage Up Delay duration has elapsed since Compressor Stage 2 was enabled, so Compressor Stage 3 becomes 'true'. Also at this time the Fan Status has become 'false', Cooling Mode continues to run because the Fan Status OFF Delay has not elapsed.
  5. Fan Status becomes 'true' again. Cooling Mode continues to operate (no change).
  6. Control Temperature falls below (Setpoint - CLGOffset) + (CLGOffset*2/#ComprssorStages(3)) * CurrentCompressorStageMinusOne(2) [22.66deg]. So Compressor Stage 3 becomes 'false'.
  7. Control Temperature falls below (Setpoint - CLGOffset) + (CLGOffset*2/#ComprssorStages(3)) * CurrentCompressorStageMinusOne(1) [21.33deg]. So Compressor Stage 2 becomes 'false'.
  8. Control Temperature falls below (Setpoint - CLGOffset) + (CLGOffset*2/#ComprssorStages(3)) * CurrentCompressorStageMinusOne(0) [20deg]. So Cooling Mode, and Compressor Stage 1 become 'false'. Control Temperature is now below Setpoint - HTG Offset, but the Mode Change Delay duration has not elapsed, so Heating Mode does not start.
  9. Control Temperature is still below Setpoint - HTG Offset [20deg], and the Mode Change Delay duration has elapsed, so Heating Mode, Reversing Valve, and Compressor Stage 1 become 'true'.
  10. Control Temperature has risen and then fallen back below Setpoint - HTG Offset [20deg], and the Stage Up Delay duration has elapsed since Compressor Stage 1 enable, so Compressor Stage 2 becomes 'true'
  11. Control Temperature rises above (Setpoint + HTGOffset) + (HTGOffset*2/#ComprssorStages(3)) * CurrentCompressorStageMinusOne(1) [22.66deg]. So Compressor Stage 2 becomes 'false'.
  12. Control Temperature rises above (Setpoint + HTGOffset) + (HTGOffset*2/#ComprssorStages(3)) * CurrentCompressorStageMinusOne(0) [24deg]. So Heating Mode, Reversing Valve, and Compressor Stage 1 become 'false'.

PID

This node provides Proportional-Integral-Derivative (PID) controller functionality.  A PID controller provides an adaptive control output value which regulates a process;  the PID is based off a process variable (the value that changes as a result of the control output), and a setpoint (the value that the PID controller will try to maintain the process variable at).  Proportional, Integral, and Derivative factors are configured/tuned to the specific process being controlled.

Inputs

  1. enable - Boolean enable.  Must be 'true' for PID output values; output will be the manual value or '0' while enable is 'false'. 
  2. processVariable - Numeric input that is being controlled by the output value (via the process), to be maintained at setpoint.
  3. setpoint - Numeric input that the processVariable is being controlled to. 
  4. minOut - Numeric minimum value that output is allowed to be while enable is 'true'.
  5. maxOut - Numeric maximum value that output is allowed to be while enable is 'true'.
  6. inP - Numberic Proportional factor of the PID calculation.  The error amount (defined by processVariable setpoint) is multiplied by the inP value; this value is the first term that makes up the total output value.
  7. inI - Numberic Integral factor of the PID calculation.  inI is set in units of "Repeats Per Second" (a lower value corresponds to a slower PID control).  The error amount (defined by processVariable setpoint) is multiplied by the inI value; this value is added to the existing integral value and defines the second term that makes up the total output value.
  8. inD - Numberic Derivative factor of the PID calculation.  inD is rarely used (set to 0) for HVAC applications.  inD is a multiplication factor which is applied to the difference between the current processVariable value and the previous processVariable value; This value is the final term that makes up the total output value.
  9. direction - Boolean input that defines the direction of the PID output in relation to the error amount (defined by processVariable setpoint).  When direction is 'true' the PID controller will be in Direct/Cooling mode.  When direction is 'false' the PID controller will be in Reverse/Heating mode.  
  10. interval (seconds) - Numeric value (set in Seconds) which define the recalculation period. 
  11. bias - Numeric value which is the starting value of the integral term when the PID node is first enabled.
  12. manual - Numeric value which is passed to output when enable is 'false'.
  13. reset - Boolean input.  On 'false' to 'true' transition the integral term will be set to zero. 

Outputs

  1. output - Numeric output which is updated at each recalculation period (defined by interval).  The output value is the result of the Proportional, Integral, and Derivative terms added together.  When enable is 'false' output will be set to the manual value. 

Settings

  1. Name - Name of the node.
  2. setpoint - Numeric input that the processVariable is being controlled to.  Fallback to wired setpoint input.
  3. minOut - Numeric minimum value that output is allowed to be while enable is 'true'.  Fallback to wired minOut input.
  4. maxOut - Numeric maximum value that output is allowed to be while enable is 'true'.  Fallback to wired maxOut input.
  5. P - Numberic Proportional factor of the PID calculation.  The error amount (defined by processVariable setpoint) is multiplied by the inP value; this value is the first term that makes up the total output value.  Fallback to wired inP input.
  6. I - Numberic Integral factor of the PID calculation.  inI is set in units of "Repeats Per Second" (a lower value corresponds to a slower PID control).  The error amount (defined by processVariable setpoint) is multiplied by the inI value; this value is added to the existing integral value and defines the second term that makes up the total output value.  Fallback to wired inI input.
  7. D - Numberic Derivative factor of the PID calculation.  inD is rarely used (set to 0) for HVAC applications.  inD is a multiplication factor which is applied to the difference between the current processVariable value and the previous processVariable value; This value is the final term that makes up the total output value.  Fallback to wired inD input.
  8. Direction (OFF = Reverse, ON = Direct) - Boolean value that defines the direction of the PID output in relation to the error amount (defined by processVariable setpoint).  When direction is 'true' the PID controller will be in Direct/Cooling mode.  When direction is 'false' the PID controller will be in Reverse/Heating mode.  Fallback to wired direction input.
  9. Interval - Numeric value (set in Seconds) which define the recalculation period.  Minimum value is 500ms.  Fallback to wired interval input.
  10. Bias - Numeric value which is the starting value of the integral term when the PID node is first enabled.  Fallback to wired bias input.
  11. Manual - Numeric value which is passed to output when enable is 'false'.  Fallback to wired manual input.

Operation

When enable is 'false', output will match manual value.  When enable is 'true', the output value will be updated at a period defined by the interval value (set in seconds), to a value between minOut and maxOut, based on the PID output calculation.  The PID output is calculated by summing the 3 terms: Proportional, Integral, and Derivative.  The Proportional term is defined by the error amount (defined by the processVariable setpoint) multiplied by the inP value.  The Integral term involves adding to the previous Integral term; the error amount (defined by processVariable setpoint) is multiplied by the inI value; this value is added to the existing integral value.  The Derivative term (which is rarely used for HVAC applications), is defined by multiplying the difference between the current processVariable value and the previous processVariable value, by the inP value.  When direction is 'true' the output will increase when the processVariable is greater than setpoint (Direct/Cooling); when direction is 'false' the output will increase when the processVariable is less than the setpoint (Reverse/Heating).





    • Related Articles

    • Rubix Wires: Node Reference Guide

      This article provides links to the descriptions of each Rubix Wires Node, grouped by category.   Preparation Rubix Wires: Getting Started Guide Rubix Wires: Working with Nodes Rubix Wires: Flow Programming Rubix Wires Node Categories The following ...
    • Rubix Wires: Latch Nodes

      This article describes the Rubix Wires nodes that are in the Latch category. Latch The `Latch` category contains value latching functionality for each data type.  Latch nodes will maintain an output value between trigger events. Any-Latch This node ...
    • Rubix Wires: Trigger Nodes

      This article describes the Rubix Wires nodes that are in the Trigger category. Trigger The `Trigger` category contains a variety of nodes that output values based on a trigger condition, or provide a trigger output. Change-Of-Value This node provides ...
    • Rubix Wires: Switch Nodes

      This article describes the Rubix Wires nodes that are in the Switch category. Switch The `Switch` category contains nodes that are used to direct the flow of data.  They can be though of like train track switches, controlling which track the train ...
    • Rubix Wires: Protocols/MQTT Nodes

      This article describes the Rubix Wires nodes that are in the Protocols/MQTT category. Protocols/MQTT The `Protocols/MQTT` category contains nodes that are used in sending and receiving data using the MQTT standard protocol. Client This node connects ...