Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions src/xeto/ph/enums.xeto
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,41 @@
// Auto-generated 17-Jan-2025
//

// Control behavior of an actuator. Determines whether the actuator
// positions continuously (modulating), snaps between discrete states
// (twoPosition), or is driven by raise/lower signals without position
// feedback (floating).
ActuatorControlAction: Enum {
modulating // continuous proportional positioning (0-100%)
twoPosition // discrete open/closed (binary)
floating // motor driven by raise/lower signals, no position feedback
}

// Relationship between command signal direction and physical position.
// The Haystack convention is 0% = closed and 100% = open. The
// actuatorDirection tells tools when the raw BAS signal is inverted.
ActuatorDirection: Enum {
directActing // 0% signal = closed, 100% signal = open
reverseActing // 0% signal = open, 100% signal = closed
}

// Position an actuator assumes on loss of control signal or power.
// Applies to both valve and damper actuators.
ActuatorFailPosition: Enum {
failOpen // actuator drives/springs to fully open
failClosed // actuator drives/springs to fully closed
failInPlace // actuator holds last position (no spring return)
failToPosition // actuator drives to a configurable intermediate position
}

// Physical mechanism used by the actuator to produce motion.
ActuatorMechanism: Enum {
electricMotor // gear motor actuator (rotary or linear)
pneumatic // compressed air diaphragm or piston
hydraulic // hydraulic fluid piston
solenoid // electromagnetic coil (linear, typically on/off)
}

// Status of point's current value reading. The [ph::PhEntity.curVal] is only available
// when curStatus is "ok" or "stale". However a "stale" value should
// be used with caution since the local system does not have a fresh value.
Expand Down Expand Up @@ -521,6 +556,40 @@ PrimaryFunction: Enum {
zoo <key:"Zoo">
}

// Valve body construction type
ValveBodyType: Enum {
ball // quarter-turn spherical closure element
butterfly // quarter-turn rotating disc
gate // linear multi-turn wedge or knife
globe // linear rising-stem plug
needle // fine-adjustment variant of globe
plug // quarter-turn tapered or cylindrical plug
}

// Functional role of a valve in a piping system
ValveFunction: Enum {
balancing // proportional flow balancing
bypass // diverts flow around equipment
check // prevents reverse flow (non-return)
control // modulating or two-position BAS control
diverting // splits one inlet to two outlets
expansion // thermal expansion relief
isolation // on/off service isolation
mixing // blends two inlets to one outlet
pressureIndependent // flow-limiting with integral differential pressure control
pressureReducing // downstream pressure regulation
relief // overpressure safety relief
safety // code-required overpressure protection (ASME rated)
thermostatic // self-actuated temperature regulation
}

// Number of ports on a valve body
ValvePorts: Enum {
twoWay // single inlet, single outlet
threeWay // two inlets/one outlet or one inlet/two outlets
fourWay // two inlets, two outlets (rare)
}

// Enumeration of weather conditions
WeatherCondEnum: Enum {
unknown
Expand Down
34 changes: 28 additions & 6 deletions src/xeto/ph/equip.xeto
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@ AcEvsePort: EvsePort {
// hydraulics, or pneumatics.
Actuator: Equip {
actuator
actuatorFailPosition: ActuatorFailPosition?
actuatorDirection: ActuatorDirection?
actuatorControlAction: ActuatorControlAction?
actuatorMechanism: ActuatorMechanism?
}

// Air Handling Unit: An enclosure with a fan that delivers air to a space
Expand Down Expand Up @@ -174,12 +178,19 @@ Crac: Fcu {
crac
}

// Actuator to regulate the flow of air.
DamperActuator: Actuator {
// Equipment to regulate the flow of air in ductwork. Dampers may be
// manually operated or automated via an actuator. Non-actuated dampers
// such as manual balancing dampers, backdraft dampers, and fire dampers
// use this spec directly. BAS-controlled dampers use DamperActuator.
Damper: Equip <abstract> {
damper
ductSection: DuctSection?
}

// Actuator to regulate the flow of air.
DamperActuator: Actuator & Damper {
}

// DC Electricity meter.
// See [ph.doc::Meters] chapter.
DcElecMeter: ElecMeter {
Expand Down Expand Up @@ -481,11 +492,22 @@ Ups: Equip {
ups
}

// Actuator to regulate the flow of fluid.
ValveActuator: Actuator {
// Equipment to regulate the flow of fluid in piping. Valves may be
// manually operated, self-actuated, or automated via an actuator.
// Non-actuated valves such as manual isolation valves, check valves,
// pressure-reducing valves, and thermostatic mixing valves use this
// spec directly. BAS-controlled valves use ValveActuator.
Valve: Equip <abstract> {
valve
pipeFluid: Fluid?
pipeSection: PipeSection?
valveFunction: ValveFunction?
valvePorts: ValvePorts?
valveBodyType: ValveBodyType?
pipeFluid: Fluid?
pipeSection: PipeSection?
}

// Actuator to regulate the flow of fluid.
ValveActuator: Actuator & Valve {
}

// Variable air volume terminal unit. VAV systems use a constant air
Expand Down