diff --git a/src/xeto/ph/enums.xeto b/src/xeto/ph/enums.xeto index 6a8069f..1e6f612 100644 --- a/src/xeto/ph/enums.xeto +++ b/src/xeto/ph/enums.xeto @@ -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. @@ -521,6 +556,40 @@ PrimaryFunction: Enum { 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 diff --git a/src/xeto/ph/equip.xeto b/src/xeto/ph/equip.xeto index bcf531c..2e1a71c 100644 --- a/src/xeto/ph/equip.xeto +++ b/src/xeto/ph/equip.xeto @@ -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 @@ -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 { damper ductSection: DuctSection? } +// Actuator to regulate the flow of air. +DamperActuator: Actuator & Damper { +} + // DC Electricity meter. // See [ph.doc::Meters] chapter. DcElecMeter: ElecMeter { @@ -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 { 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