From c9312456a90c2722629bfcbb7c68c11cb3143e15 Mon Sep 17 00:00:00 2001 From: Rick Jennings Date: Fri, 28 Aug 2026 09:46:16 -0400 Subject: [PATCH] ph.doc & ph.points: add open/close points --- src/xeto/ph.doc/PointPatterns.md | 17 ++++++++++++++++- src/xeto/ph.points/actuator.xeto | 6 ++++++ src/xeto/ph.points/misc.xeto | 15 +++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/src/xeto/ph.doc/PointPatterns.md b/src/xeto/ph.doc/PointPatterns.md index 3ba5dc8..7d17f90 100644 --- a/src/xeto/ph.doc/PointPatterns.md +++ b/src/xeto/ph.doc/PointPatterns.md @@ -11,7 +11,7 @@ found on equipment. This chapter describes the patterns these specs follow so that points are modeled consistently across equipment and can be queried by their Xeto types. -# Run and Enable +# Binary Run and Enable The on/off state of equipment is modeled with [ph.points::RunPoint]: - [ph.points::RunCmd]: commands equipment to run or stop running @@ -26,6 +26,21 @@ conjunction with a run point: Permission from an enable command may be required for a run command to take effect. +# Binary Open and Close +The open/close state of two-position equipment, such as an actuator +(e.g., for a damper or valve), a door, or a circuit breaker, is +modeled with [ph.points::OpenPoint]: + + - [ph.points::OpenCmd]: commands equipment to open or close + - [ph.points::OpenSensor]: senses the actual open/close state of + equipment + +These generic points may be specialized for particular equipment, such +as [ph.points::ActuatorOpenCmd] and [ph.points::ActuatorOpenSensor] +for an actuator. Use the open/close pattern for two-position +equipment, and the modulating pattern below for equipment whose +position varies continuously from 0% to 100%. + # Controlling Equipment Capacity Equipment with more than simple on/off control varies its capacity either in discrete stages or by continuous modulation. The two may diff --git a/src/xeto/ph.points/actuator.xeto b/src/xeto/ph.points/actuator.xeto index 38462b3..2ee5f01 100644 --- a/src/xeto/ph.points/actuator.xeto +++ b/src/xeto/ph.points/actuator.xeto @@ -6,6 +6,12 @@ // 26 Aug 2026 Rick Jennings Creation // +// Sensor for open/close state of an actuator +ActuatorOpenSensor : OpenSensor { actuator } + +// Command for open/close state of an actuator +ActuatorOpenCmd : OpenCmd { actuator } + // Sensor for modulating actuator position. Position is measured as a // percentage where 0% is closed and 100% is fully open. ActuatorModulatingSensor : ModulatingSensor { actuator } diff --git a/src/xeto/ph.points/misc.xeto b/src/xeto/ph.points/misc.xeto index f0c2238..ad5c29b 100644 --- a/src/xeto/ph.points/misc.xeto +++ b/src/xeto/ph.points/misc.xeto @@ -75,6 +75,21 @@ HeatEnableCmd : EnableCmd { stage: Int? } +// Point associated with the open/close state of equipment +OpenPoint : BoolPoint { + open + enum: Obj +} + +// Open and close enumeration +OpenEnum: Enum { close, open } + +// Sensor for open/close state of equipment +OpenSensor : OpenPoint & SensorPoint + +// Command for open/close state of equipment +OpenCmd : OpenPoint & CmdPoint + // Boolean alarm condition AlarmSensor : BoolPoint & SensorPoint { alarm }