Using Tridium’s Sedona 1.
2 Components with Workbench
This tutorial assists in the understanding of the Sedona components provided in Tridium’s Sedona-1.2.28
release. New with the 1.2 release is that the Sedona components, previously concentrated in one Control kit,
are now organized in smaller kits under a functional name. Components discussed in this document can be
found in the following kits:
• basicSchedule
• datetimeSTD
• func
• hvac
• logic
• math
• pricomp
• timing
• types
Sedona components are deployed in kits of which there are three types – Tridium-release, custom hardware-
independent, and custom hardware-dependent. This tutorial only addresses the Tridium-release components
which can be found in any Sedona application. By Tridium-release we are referring to Tridium release 1.2.28.
Custom components deployed in custom kits are provided by developers from the Sedona community. It is up
to the developer to explain how their custom components function. They are not explained here. However,
the techniques found in this tutorial can be applied to any Sedona project.
The intent of this tutorial is not to teach how to create HVAC applications using Sedona because Sedona can be
used anywhere where control of processes is required. It is only intended to introduce the basic Sedona
components which can be assembled onto a wire sheet by integrators thereby creating applications.
This tutorial was conducted using Niagara Workbench as the Sedona tool so the appearance of the
components and the configuration of parameters are unique to this tool. Other Sedona tools such as the
Sedona Application Editor create a somewhat different appearance of the components and use different
methods for configuration. However, all the examples in the tutorial can be implemented with any Sedona
tool.
Variable Types
Although there are several variable types used by Sedona, three are the most interesting — Boolean, Float and
Integer. You can define constants for each type and use converting components to change the data
representation to a different type.
Configuring Constants
© Contemporary Controls Page 2 February 2017
Using Write Components
Converting Between Component Types
© Contemporary Controls Page 3 February 2017
Float-to-Boolean and Boolean-to-Float Conversion
© Contemporary Controls Page 4 February 2017
Negating a Boolean Variable — Inverting Your Logic
© Contemporary Controls Page 5 February 2017
Boolean Product — “ANDing” Boolean Variables
© Contemporary Controls Page 6 February 2017
Boolean Sum — “Oring” Boolean Variables
© Contemporary Controls Page 7 February 2017
Exclusive OR — A OR B but Not Both
Cascading Logic Blocks and Unused Inputs
© Contemporary Controls Page 8 February 2017
© Contemporary Controls Page 9 February 2017
Boolean, Float or Integer Selection
© Contemporary Controls Page 10 February 2017
© Contemporary Controls Page 11 February 2017
De-Multiplexing
© Contemporary Controls Page 12 February 2017
Float Addition
Float Subtraction
© Contemporary Controls Page 13 February 2017
Float Multiplication
© Contemporary Controls Page 14 February 2017
Float Division
Finding Minimums and Maximums
© Contemporary Controls Page 15 February 2017
Rounding Off Floats
Averaging Successive Readings
© Contemporary Controls Page 16 February 2017
On-Delays and Off-Delays
© Contemporary Controls Page 17 February 2017
Using the Timer
Using One-Shots — Mono-Stable Multivibrators
© Contemporary Controls Page 18 February 2017
Creating Ramps — A-Stable Multivibrators
© Contemporary Controls Page 19 February 2017
Comparing Two Floats
A Simple Clock — the TickToc
© Contemporary Controls Page 20 February 2017
Introducing Counters
© Contemporary Controls Page 21 February 2017
Operating on Real-World Signals — Hysteresis and Limiting
Handling Non-Linear Signals
© Contemporary Controls Page 22 February 2017
Simple Set-Reset Flip Flop — Bi-Stable Multivibrator
© Contemporary Controls Page 23 February 2017
The Loop Component — Basic PID Controller
© Contemporary Controls Page 24 February 2017
Linear Sequencer — Bar-Graph Representation of a Float
© Contemporary Controls Page 25 February 2017
Reheat Sequencer — Four Staged Outputs from a Float Input
© Contemporary Controls Page 26 February 2017
Reset — Scaling a Float Input between Two Limits
Tstat — Basic On/Off Temperature Controller
© Contemporary Controls Page 27 February 2017
Real-Time Clock and Scheduling
© Contemporary Controls Page 28 February 2017
Priority Arrays
© Contemporary Controls Page 29 February 2017