ddctCommunity-rt (ddc-talk Community Module)
Greetings, ddc-talk Community!
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.
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:
-
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.
-
On Setpoint (onSetpoint): The value at which the output will switch from false to true.
-
Off Setpoint (offSetpoint): The value at which the output will switch from true to false
-
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:
- 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.
- Min Setpoint (minSetpoint): The minimum value to which the setpoint can be adjusted.
- Max Setpoint (maxSetpoint): The maximum value to which the setpoint can be adjusted.
- 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.

