Skip to content

Add EnumAttr base type and valve/actuator attrs#55

Draft
agarnhart wants to merge 3 commits intoProject-Haystack:masterfrom
agarnhart:valve-actuator-attrs
Draft

Add EnumAttr base type and valve/actuator attrs#55
agarnhart wants to merge 3 commits intoProject-Haystack:masterfrom
agarnhart:valve-actuator-attrs

Conversation

@agarnhart
Copy link
Contributor

Depends on #54.

EnumAttr completes the Attr type family alongside StrAttr, NumberAttr, DateAttr.

6 typed attr specs split by whether the engineer or manufacturer provides the value:

  • Design: ValveFunctionDesignAttr, ActuatorFailPositionDesignAttr
  • Rated: ValvePortsRatedAttr, ValveBodyTypeRatedAttr, ActuatorControlActionRatedAttr, ActuatorMechanismRatedAttr

The test for spec vs attr: does changing this property change which points you need or how you interpret the data? If yes, it belongs on the spec (like actuatorDirection). If no, it's nameplate or design data and belongs in ph.attrs.

Files: ph.attrs/base.xeto, ph.attrs/valve.xeto (new), ph.attrs/actuator.xeto (new)

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.
EnumAttr completes the Attr type family alongside StrAttr, NumberAttr,
DateAttr. Adds 6 typed attr specs split by design (engineer-specified)
vs rated (manufacturer nameplate):

Design: ValveFunctionDesignAttr, ActuatorFailPositionDesignAttr
Rated: ValvePortsRatedAttr, ValveBodyTypeRatedAttr,
       ActuatorControlActionRatedAttr, ActuatorMechanismRatedAttr
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