Skip to content

Add valve and actuator enum types#54

Draft
agarnhart wants to merge 2 commits intoProject-Haystack:masterfrom
agarnhart:valve-actuator-enums-v2
Draft

Add valve and actuator enum types#54
agarnhart wants to merge 2 commits intoProject-Haystack:masterfrom
agarnhart:valve-actuator-enums-v2

Conversation

@agarnhart
Copy link
Contributor

Depends on #53.

7 new Enum types for valve/actuator classification:

  • ValveFunction — piping role (11 values: isolation, control, balancing, bypass, check, mixing, diverting, pressureReducing, expansion, safety, relief). Scoped to single-select piping role — pressureIndependent and thermostatic are feature markers per Add Valve and Damper abstract base specs #53.
  • ValveBodyType — physical construction (ball, butterfly, gate, globe, needle, plug)
  • ValvePorts — port configuration (twoWay, threeWay, fourWay)
  • ActuatorFailPosition — fail-safe mode (failOpen, failClosed, failInPlace, failToPosition)
  • ActuatorDirection — signal mapping (directActing, reverseActing)
  • ActuatorControlAction — control behavior (modulating, twoPosition, floating)
  • ActuatorMechanism — drive type (electricMotor, pneumatic, hydraulic, solenoid)

actuatorDirection added as a slot on Actuator — it's the one classification that's an active input to control logic and belongs directly on the spec.

Files: ph/enums.xeto, ph/equip.xeto

Introduce Valve and Damper as abstract Equip bases for non-actuated
equipment. ValveActuator and DamperActuator become intersection types
(Actuator & Valve, Actuator & Damper). Adds *thermostatic global marker
for feature layering on valves.
7 new Enum types for valve/actuator classification:
ValveFunction (11 values), ValveBodyType, ValvePorts,
ActuatorFailPosition, ActuatorDirection, ActuatorControlAction,
ActuatorMechanism. Adds actuatorDirection slot on Actuator.

ValveFunction scoped to piping role — pressureIndependent and
thermostatic are feature markers, not function values.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant