Current Status:
Suggested By: @Rosenthaler
You Track: DDC-9
Gitlab Branch: DDC-9
Description:
A block to exercise a valve.
It has a status input to see if the equipment is running and a valve input and output.
Exercise at a specific time each day, for 5 [adjustable] minutes unless the valve has had a value of >95% [adjustable] within the last 24 [adjustable] hours.
[Option]
Don’t exercise if the status input is “true”. Maybe queue for when the status is false.
This component has been developed and is now in the beta testing phase. I left out the que for when status is false, simply because I forgot
. However after some testing i’m not sure it is required.
![]()
How to Use the Valve Exercise Block in Niagara
The Valve Exercise Block is a custom component created to automatically exercise a valve at scheduled intervals. This helps prevent the valve from sticking due to lack of use. Below is a step-by-step guide to help you understand how to use this component effectively in your Niagara system.
Key Features
- Scheduled Valve Exercise: The valve will be exercised at a specific time each day or at an interval (customisable).
- Avoidance Mechanism: If the valve has been exercised since the last scheduled exercise, it won’t be exercised again. This is determined by the adjustable valve threshold. If the threshold is exceeded, the valve is flagged as “exercised.”
- Manual Override Protection: If the system status indicates that the equipment is running, the valve exercise will be skipped to avoid interfering with normal operation.
- Customisable Exercise Duration: You can set how long the valve remains open during the exercise.
Properties and Actions
- Status Input (
statusIn
)
- Type: Boolean
- Purpose: Indicates whether the equipment is running. If
true
, the valve exercise will be skipped.
- Exercise Schedule (
exerciseSchedule
)
- Type: Time Trigger
- Purpose: Defines the time at which the valve exercise should occur daily or interval.
- Valve Input (
valveIn
)
- Type: Numeric
- Purpose: Represents the current position of the valve (your valve control logic write into this property)
- Exercise Duration (
exerciseDuration
)
- Type: Relative Time
- Purpose: The duration for which the valve should remain fully open during the exercise.
- Last Exercise Time (
lastExerciseTime
)
- Type: Absolute Time (Read-Only)
- Purpose: Records the last time the valve was exercised.
- Valve Threshold (
valveThreshold
)
- Type: Integer
- Purpose: The percentage threshold above which the valve is considered exercised.
- Is Exercising (
isExercising
)
- Type: Boolean (Read-Only)
- Purpose: Indicates whether the valve is currently being exercised.
- Valve Exceeded Threshold (
valveExceededThreshold
)
- Type: Boolean (Read-Only)
- Purpose: Indicates whether the valve has exceeded the defined threshold since the last exercise.
- Output (
out
)
- Type: Numeric
- Purpose: Controls the position of the valve during normal operation and exercise.
- Actions
- Exercise Valve (
exerciseValve
): Manually trigger the valve exercise (or automatically triggered by the schedule. - Release Exercise (
releaseExercise
): Stops the exercise and returns the valve to its normal position and resumes normal passthrough control.
How It Works
- Schedule
- The component uses a time trigger to exercise the valve at a specific time each day (or at an interval). This time is set by you in the
exerciseSchedule
property.
- Avoid Re-exercising
- Before starting an exercise, the block checks if the valve has been exercised since the last scheduled exercise. If it has, the exercise is skipped.
- Exercising the Valve
- When the exercise begins, the valve will fully open (output set to 100%) for the duration specified in the
exerciseDuration
property. - The
isExercising
property will be set totrue
during this period.
- Returning to Normal
- After the exercise duration, the
releaseExercise
action is triggered. This resets the valve to its normal position based on the current input, and theisExercising
flag is set tofalse
.
- Skipping Exercises
- If the
statusIn
input indicates the equipment is running, the exercise is automatically skipped to prevent interference with normal operation.