ddctCommunity-rt Module

ddctCommunity-rt (ddc-talk Community Module)

Greetings, ddc-talk Community!

:memo: This module is currently in development and not yet available for use. This topic will be actively maintained and updated as the project progresses.

I am thrilled to announce the first addition to our open-source module series: ddctCommunity-rt. This module is a collaborative effort aimed at enhancing and extending the capabilities of existing engineering blocks within the Tridium Niagara framework, as well as introducing new, innovative blocks.

What is ddctCommunity-rt?

ddctCommunity-rt is an extended control module designed to provide more flexibility and functionality to your Niagara projects. By integrating this module, users can leverage enhanced control strategies and new engineering blocks that are not available in the standard Niagara kit.

Key Features:

  • Extended Engineering Blocks: Building on the robust foundation of existing blocks, we have added new functionalities to meet more complex control requirements.
  • New Blocks: Introducing entirely new blocks that allow for advanced control and monitoring capabilities.
  • Open Source: As part of our commitment to the community, this module will be open source, allowing for continuous improvement and collaboration from all users.

Future Plans:

This is just the beginning! We have many more exciting features and modules planned for the future. Watch this topic and stay tuned for updates and releases.

Join the Discussion:

We would love to hear your thoughts, suggestions. This is a module built for the community by the community, and we are deeply interested in learning about the building blocks you wish you had.

Your feedback is crucial in helping us develop and incorporate new features that meet your needs. Join the discussion and be a part of this exciting journey.

Thank you for your support and happy coding!

Current Engineering Blocks:

These are engineering blocks that are currently available in the ddctCommunity module.

Hysteresis:

The Hysteresis block in the ddctCommunity module is designed to manage the switching behaviour of a system, preventing rapid oscillation between states when the input signal fluctuates around a threshold. This block is handy in control systems for maintaining stability and avoiding frequent toggling, which can cause wear and tear on components or undesirable system behaviour.

:eyeglasses: The Hysteresis block can operate in direct or inverse control. This is determined by the on and off setpoints. If the on setpoint is > off setpoint the block acts with direct control. If the off setpoint is > on setpoint the block acts in inverse control.

Functionality:

The Hysteresis block operates similarly to the Distech hysteresis function, providing a more versatile solution compared to the standard thermostat (TStat) blocks available in other modules. It effectively implements a hysteresis loop, introducing a controlled lag in response to changes in the input signal to prevent rapid switching.

Parameters:

  1. Control Value In (controlValueIn): This is the input signal that the hysteresis block monitors. It could be temperature, pressure, humidity, or any other measurable parameter.

  2. On Setpoint (onSetpoint): The value at which the output will switch from false to true.

  3. Off Setpoint (offSetpoint): The value at which the output will switch from true to false

  4. Output (Out): This is the controlled output signal that switches states based on the input signal and the defined thresholds.

Working Principle:

  • When the input signal exceeds the on Setpoint (onSetpoint), the output switches to the true state.

  • Once in the true state, the output remains true until the input signal drops below the off Setpoint (offSetpoint).

  • When the input signal goes below the off Setpoint, the output switches to the false state.

  • The output remains in the false state until the input signal exceeds the on Setpoint again.

Setpoint Reset:

The Setpoint Reset block in the ddctCommunity module is designed to dynamically adjust a control setpoint based on an input signal. This block is particularly useful in control systems where the setpoint needs to be modulated in response to varying conditions, ensuring optimal system performance and efficiency.

Functionality:

The Setpoint Reset block allows for automatically adjusting control setpoints based on an input signal. This dynamic adjustment helps maintain system stability and performance by responding to environmental changes or other control parameters.

Parameters:

  1. Control Value In (controlValueIn): This is the input signal that the Setpoint Reset block monitors. It could be temperature, pressure, humidity, or any other measurable parameter.
  2. Min Setpoint (minSetpoint): The minimum value to which the setpoint can be adjusted.
  3. Max Setpoint (maxSetpoint): The maximum value to which the setpoint can be adjusted.
  4. Output Setpoint (outSetpoint): The dynamically adjusted setpoint based on the input signal and the defined min and max setpoints.

Working Principle:

  • The input signal (controlValueIn) is monitored continuously.
  • Based on the input signal, the output setpoint (out) is adjusted within the range defined by the minimum setpoint (minSetpoint) and maximum setpoint (maxSetpoint).
  • This dynamic adjustment ensures that the system operates within optimal parameters.

Example Use Case:

Consider an air handling unit (AHU) where the static pressure setpoint needs to be adjusted to keep the maximum damper position of the associated variable air volume (VAV) boxes within a threshold:

  • Min Setpoint (minSetpoint): 200 pa
  • Max Setpoint (maxSetpoint): 100 pa
  • Control Value In (controlValueIn): Maximum damper position of the VAV boxes
  • Minimum Threshold (criticalZoneMinThreshold): The minimum allowable position of the max damper position.
  • Maximum Threshold (criticalZoneMaxThreshold): The maximum allowable position of the max damper position,

As the maximum damper position of the VAV boxes increases, the static pressure setpoint of the AHU is adjusted dynamically within the range of 200 pa to 100 pa to ensure the maximum damper position always remains within the range. When within the range, there is no change to the setpoint.

1 Like

6 posts were split to a new topic: Niagara Demo License?

Hi.

For the setpoint reset there should also be an option to reverse the action.

Ex. When you use it for temperature control. When the Input raises above the max critical zone it should lower the out because needed to the discharge temperature to maintain the roomtemperature between the critical zone parameters.

1 Like

@fvdb1981 This is a good idea, I’ve created the issue card on YouTrack. Currently I’m working up on finishing the history API. When done i’ll move onto this if someone else hasn’t already. Appreciate the feedback :slight_smile:

Setpoint Reset - i assume there is a time aspect? It increments when above every X seconds?

Hysteresis - more of a question than a request. Do you see any value to add functionality to switch 0r invert the output if it is within deadband for an extended period of time. Ive used Tstat blocks to stage up boiler and chillers, but found that modulating equipment can get stuck in the dead band. I find that I might have four chillers running at 25% or ideally I want three chillers running at 33%.

Thx for your development efforts

2 Likes

For the setpoint reset, that’s going to depend. A trim and respond where a setpoint is reset based on something like terminal load, then yes you will have an increment/decrement of X time (usually minutes).

If it’s based off return and such? No time step at all. That’ll be just a ratio.

Supposedly Tridium’s kitControl is going to have a hysteresis in 4.15 but don’t know if it’ll be a true hysteresis with an onSP and offSP.

That’s a block can be easily written though.

For the record, the Tstat block is the more garbage block Tridium has had in its arsenal from the jump and it should’ve always been a Hysteretic function rather than a thermostatic function.

1 Like

Charles. Thank you for the reply and apologies for not completely understanding. In your reply, “based off return and such”, what are the increment and decrement slot variables doing in this setpoint reset object? Thx

In this example they are doing a static pressure reset based upon the most open VAV. This is reading in pascals vs "WC. This is saying that when the max damper position of a VAV is above 90, it will start to increment the setpoint upward by .50 pascals. If the damper position were to go below 80, it will start to decrement the setpoint downward by .50 pascals.

This a type of setpoint reset, but more specifically it’s called a trim and respond program.

Another type of setpoint reset is a linear reset. Typically this is based off outside air, return air, etc. So a good example of that would be that we reset the Hot Water Setpoint based off Outside Air Temperatures. So from 20°F to 60°F we would reset the setpoint from 180°F to 120°F.

Return Air Temperature resets usually reset the Discharge Air Temperature off an Air Handling Unit. However, depending upon where you are in the US (I’m based in the US, Giantsbane is Austrailian (I believe), The Discharge Air Temperature could be based on a double reset, one off Return Air Temp, and Limiting that Return Air Humidity. That would be a linear reset as we aren’t looking at any kind of zone in particular.

Discharge Air Temperature can also be reset based upon a trim and respond as well. In Ashrae Guideline 36 (G36) this is based off cooling requests. Others could base it off Terminal Load of the VAVs.

I hope that makes sense.

1 Like

I am asking spifically about the setpoint reset object in this post. I am certain there is time aspect. Is that time (specifically in this objective) adjustable or hard coded?
Thx

It appears to be an adjustable time. I assume that it’s just not a summary slot but if you were bring this object into the wiresheet and go to its property sheet, it would be there.

@Charles_Johnson is correct in his response. The interval is indeed adjustable, and while I referred to it as a “setpoint reset,” it is more accurately described as a “trim and respond” mechanism.

I developed this approach specifically for managing the supply air pressure reset of an Air Handling Unit (AHU) that has Variable Air Volume (VAV) units connected to it. The goal is to maintain the maximum damper position of the associated VAVs within a range of 80% to 90%, though this range is adjustable based on specific requirements. This functionality is not limited to air handling; it is equally beneficial for resetting the chilled water setpoint, where a similar approach is employed. In this case, the aim is to keep the maximum chilled water valve in the system operating within a specified band.